diff --git a/src/components/Footer.astro b/src/components/Footer.astro index 5fd71b7..e815504 100644 --- a/src/components/Footer.astro +++ b/src/components/Footer.astro @@ -5,7 +5,10 @@ import { menuItems, contactEmail } from '../data/settings.js'; import Lockup from './Lockup.astro'; import Socials from './Socials.astro'; -const navItems = menuItems.filter((item) => !item.submenuItems); +// Top-level pages, plus the entries of dropdowns marked `inFooter`. +const navItems = menuItems.flatMap((item) => + item.submenuItems ? (item.inFooter ? item.submenuItems : []) : [item] +); const year = new Date().getFullYear(); ---
diff --git a/src/data/settings.js b/src/data/settings.js index b2d34d7..1c7d357 100644 --- a/src/data/settings.js +++ b/src/data/settings.js @@ -44,8 +44,19 @@ export const menuItems = [ url: '/publications', }, { - title: 'License', - url: '/license', + title: 'Policies', + // Entries of this dropdown also appear in the footer's Navigate column. + inFooter: true, + submenuItems: [ + { + title: 'License', + url: '/license', + }, + { + title: 'AI use', + url: '/ai', + }, + ], }, { title: 'People & Contact', diff --git a/src/layouts/Base.astro b/src/layouts/Base.astro index 78dcd5c..97b0dd6 100644 --- a/src/layouts/Base.astro +++ b/src/layouts/Base.astro @@ -80,6 +80,7 @@ const jsonLd = { publications: '/publications', people: '/people', license: '/license', + ai: '/ai', // Module documentation sites (separate repos on this domain). aragog: '/aragog/', calliope: '/CALLIOPE/', diff --git a/src/pages/ai.astro b/src/pages/ai.astro new file mode 100644 index 0000000..ad8015e --- /dev/null +++ b/src/pages/ai.astro @@ -0,0 +1,130 @@ +--- +import Base from '../layouts/Base.astro'; +import { contactEmail } from '../data/settings.js'; +--- + +

In brief: our core values

+ +

Since early 2026, AI coding tools have been part of how PROTEUS and its modules are developed. +They change how code, tests, and documentation get written, and they raise a fair question for anyone who runs the code or reads a paper built on it: can the results still be trusted? +Three values decide how we use these tools:

+ +
    +
  1. +

    People are responsible for the code and the science.

    + +

    Every commit, pull request, review, and merge has a named person behind it, who answers for every line, whether they typed it or a tool drafted it. +An AI tool cannot take that responsibility, so it is never an author.

    +
  2. +
  3. +

    A result is trusted because it was checked.

    + +

    Fluent output is not evidence. +Code earns trust through tests, validation against independent results, and review by a maintainer, the same standard we apply to code written by hand.

    +
  4. +
  5. +

    We are open about how the work is done.

    + +

    Our commitment to open development covers our tools too. +This page is our disclosure, and the instructions the agents work under are committed to the public repositories, where anyone can read them.

    +
  6. +
+ +

The sections below explain how each choice follows from these values:

+ + + +

How we use AI tools

+ +

We mainly use Claude Code, Anthropic's coding agent, with models from the Fable, Opus, and Sonnet families. +It works in a developer's local copy of a repository: it reads the code, proposes and makes changes, runs the tests, and drafts commit messages and documentation, all at the developer's request.

+ +

Typical tasks are drafting and refactoring code, writing tests, searching a large code base, and revising and extending documentation. +The developer decides what to build, which physics to implement and from which papers, and what is submitted for review.

+ +

The instructions the agents follow are public. +The PROTEUS repository carries them in AGENTS.md files next to the code they apply to. +They hold the same coding, testing, and physics rules that apply to every contributor, such as the requirement that every element mass, oxygen included, is conserved across the coupled model.

+ +

Responsibility stays with people

+ +

All users and developers take full responsibility for the contributions they commit, whether they wrote them by hand or with an AI tool. +The name on a commit, a pull request, or a review is the name of the person who answers for it. +Nothing is merged unread: a maintainer reviews every pull request to PROTEUS before it is merged, as set out in the contributing guidelines.

+ +

Much of the work can be handed to a tool: boilerplate, searches across the code, first drafts, and mechanical refactors. +Some of it cannot. +The developer has to understand the code they submit, judge whether the result is scientifically correct, and make the decision to merge.

+ +

AI tools are not authors of our code, papers, or reviews. +Publishing ethics bodies take the same view: the Committee on Publication Ethics states that AI tools cannot be listed as authors, because they cannot take responsibility for the work. +The Journal of Open Source Software, where the PROTEUS software paper is under review, asks authors to affirm that human team members reviewed, modified, and validated all AI-generated content.

+ +

Verification before trust

+ +

Language models are trained to produce plausible text, and in our experience they tend to agree with the framing they are given. +Confident output can feel like verification when nothing has been checked. +For a scientific code the danger is confirmation bias: a developer's hypothesis shapes the request, the tool confirms it fluently, and the error sits in the part nobody checked.

+ +

We therefore treat what an AI tool produces as a claim until something independent of the tool confirms it. +We ask every contributor for these checks:

+ + + +

None of this is specific to AI. +It is the standard we apply to code written by hand, and it matters more now that writing code has become cheap.

+ +

Disclosure

+ +

This page is our disclosure for the project as a whole. +AI tools are part of the everyday workflow of PROTEUS development, so we state their use here, once. +Commit messages and pull request descriptions then describe the change itself, what changed and why, and do not name the tool or the model that helped write it. +Responsibility for each change is carried by the person named on it, and a tool label on most commits would tell a reader little about how carefully a change was checked.

+ +

Others draw this line differently. +The Software Freedom Conservancy recommends recording AI assistance for each contribution in machine-readable form in the commit log, and the Apache Software Foundation suggests a Generated-by token in commit messages. +We have weighed these recommendations and chose disclosure at the level of the project, and we will revisit that choice if the expectations of our users or of the journals change.

+ +

Papers follow the rules of their journal. +Our own papers disclose AI use as each journal requires, and the PROTEUS software paper submitted to the Journal of Open Source Software includes the AI usage disclosure section that journal asks of every submission.

+ +

AI tools and open source

+ +

Our license page commits PROTEUS to building only on fully open source code. +The AI tools we use are proprietary services, and they are development tools in the same category as an editor or a code-hosting platform. +Nothing in PROTEUS calls them, depends on them, or ships with them, and running PROTEUS needs no AI service.

+ +

Code drafted with an AI tool enters our repositories the way any other contribution does: through a pull request, under the license of that repository. +The contributor is responsible for making sure it can. +That includes the case where a tool reproduces code from another project. +Such code has to be credited and released under a compatible license, as it would if it had been copied by hand.

+ +

Whether AI-generated code is protected by copyright is not settled. +In its January 2025 report on copyrightability, the US Copyright Office concluded that copyright protects original human expression in a work that also contains AI-generated material, that it does not extend to purely AI-generated material, that prompts alone do not give sufficient human control, and that each case has to be judged on its own facts. +Other jurisdictions may reach different conclusions. +In our development a person directs, reviews, selects, and modifies every change, which is the kind of human contribution that report describes, but we do not claim that this settles the question for every line. +As we read it, users lose nothing either way: code that turns out not to be protected by copyright carries no conditions at all, and everything else is available under the license of its repository.

+ +

Questions and discussion

+ +

AI tools, journal requirements, and the law on AI output are all changing quickly, and we will update this page when our practice changes. +We welcome questions, corrections, and disagreement on any part of it.

+ +

You can reach us through GitHub Discussions, open an issue on the relevant repository, or email {contactEmail}.

+