docs: AGENTS.md for every assistant, a code of conduct, an accessibility statement #1009

Merged
tiagoagueda merged 2 commits from 939-agents-md into main 2026-10-19 09:30:10 +00:00
Owner

Closes #939
Closes #1007
Closes #1008
Closes #1011

  • #939 — CLAUDE.md is renamed to AGENTS.md and worded for any assistant. The new CLAUDE.md is the single line @AGENTS.md, as the Claude Code docs recommend: not a symlink, and not the per-person /config option. tests/test_contribution_rules.py holds CLAUDE.md to that one import. README, CONTRIBUTING, the tests that read the file and the core/cells.py docstring now point at AGENTS.md, and .github/README.md is regenerated.
  • #1007 — CODE_OF_CONDUCT.md is the Contributor Covenant 2.1 as published. The contact is filled in with the maintainer's address, and a preface names the spaces it covers (Forgejo, Weblate, the GitHub mirror). The preface also says plainly that, with one maintainer, a report about the maintainer has nobody else to go to yet. It is registered in THIRD-PARTY.md (CC BY 4.0).
  • #1008 — ACCESSIBILITY.md, the statement #41 asked for:
    • WCAG 2.2 AA as the aim, with the status "partially conformant", because no complete manual audit has been published;
    • what is done, and the options under Settings → Accessibility;
    • how it is checked (axe-core in both themes, the page-coverage test, the template lints);
    • the known limits;
    • how to report a barrier without an account;
    • what an instance's operator still answers for.
  • #1011 — found on this branch when its rebase was force-pushed: CI's translation guard crashed with git merge-base <before> HEAD exiting 128, because the commit the branch pointed at before the push was no longer in the checkout. A base the guard cannot find now makes it read the branch since origin/main, as a new branch already did, and say so. Every commit the push brought is still read. A test covers it.

The README and CONTRIBUTING link both new files, and a test keeps those links in place.

Library check: the code of conduct is the standard Contributor Covenant rather than one written here. The guard fix is two calls to git.

Model use: written with Claude Code, and reviewed by the person who opens the PR.

Full unit suite: 18,991 passed locally before the rebase. After it, the doc, changelog and guard tests pass.

🤖 Generated with Claude Code

Closes #939 Closes #1007 Closes #1008 Closes #1011 - **#939** — `CLAUDE.md` is renamed to `AGENTS.md` and worded for any assistant. The new `CLAUDE.md` is the single line `@AGENTS.md`, as the Claude Code docs recommend: not a symlink, and not the per-person `/config` option. `tests/test_contribution_rules.py` holds `CLAUDE.md` to that one import. README, CONTRIBUTING, the tests that read the file and the `core/cells.py` docstring now point at `AGENTS.md`, and `.github/README.md` is regenerated. - **#1007** — `CODE_OF_CONDUCT.md` is the Contributor Covenant 2.1 as published. The contact is filled in with the maintainer's address, and a preface names the spaces it covers (Forgejo, Weblate, the GitHub mirror). The preface also says plainly that, with one maintainer, a report about the maintainer has nobody else to go to yet. It is registered in `THIRD-PARTY.md` (CC BY 4.0). - **#1008** — `ACCESSIBILITY.md`, the statement #41 asked for: - WCAG 2.2 AA as the aim, with the status "partially conformant", because no complete manual audit has been published; - what is done, and the options under Settings → Accessibility; - how it is checked (axe-core in both themes, the page-coverage test, the template lints); - the known limits; - how to report a barrier without an account; - what an instance's operator still answers for. - **#1011** — found on this branch when its rebase was force-pushed: CI's translation guard crashed with `git merge-base <before> HEAD` exiting 128, because the commit the branch pointed at before the push was no longer in the checkout. A base the guard cannot find now makes it read the branch since `origin/main`, as a new branch already did, and say so. Every commit the push brought is still read. A test covers it. The README and CONTRIBUTING link both new files, and a test keeps those links in place. **Library check:** the code of conduct is the standard Contributor Covenant rather than one written here. The guard fix is two calls to git. **Model use:** written with Claude Code, and reviewed by the person who opens the PR. Full unit suite: 18,991 passed locally before the rebase. After it, the doc, changelog and guard tests pass. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
docs: AGENTS.md for every assistant, a code of conduct, an accessibility statement
Some checks failed
CI / Unit tests and coverage (Python 3.14) (push) Failing after 40m34s
CI / Checks: lint, migrations, catalogues, settings, built files (push) Successful in 3m47s
CI / Browser tests (Chromium) (push) Failing after 48m57s
CI / Security audit (push) Successful in 1m34s
CI / Database tests on PostgreSQL (push) Successful in 5m58s
Every Python / Unit tests (Python 3.12) (push) Failing after 28m2s
Every Python / Unit tests (Python 3.13) (push) Successful in 28m44s
CI / Unit tests and coverage (Python 3.14) (pull_request) Successful in 12m13s
CI / Checks: lint, migrations, catalogues, settings, built files (pull_request) Successful in 2m22s
CI / Database tests on PostgreSQL (pull_request) Successful in 3m20s
CI / Security audit (pull_request) Successful in 51s
CI / Browser tests (Chromium) (pull_request) Successful in 27m40s
a7cc52b933
The instructions for AI assistants lived in CLAUDE.md, which only Claude Code reads. They
are now AGENTS.md, the file Codex, Copilot, Cursor and others read, worded for any
assistant, and CLAUDE.md is the single line `@AGENTS.md`: an import works on every Claude
Code version and setting, where reading AGENTS.md beside CLAUDE.md is a per-person option
and a symlink breaks on Windows clones. A test holds CLAUDE.md to that one line, so a rule
cannot land where only one assistant would see it. README, CONTRIBUTING, the tests that
read the file and a docstring point at AGENTS.md.

CODE_OF_CONDUCT.md adopts the Contributor Covenant 2.1 as published, with the contact
filled in and a preface naming the spaces it covers (Forgejo, Weblate, the mirror) and
saying plainly that, with one maintainer, a report about the maintainer has nobody else to
go to yet. THIRD-PARTY.md registers it (CC BY 4.0).

ACCESSIBILITY.md is the statement #41 asked for: WCAG 2.2 AA as the aim, "partially
conformant" because no complete manual audit has been published, what is done, the
options under Settings -> Accessibility, how axe-core and the lints check it, the known
limits, how to report a barrier without an account, and what an operator still answers for.

Closes #939
Closes #1007
Closes #1008

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
tiagoagueda force-pushed 939-agents-md from a7cc52b933
Some checks failed
CI / Unit tests and coverage (Python 3.14) (push) Failing after 40m34s
CI / Checks: lint, migrations, catalogues, settings, built files (push) Successful in 3m47s
CI / Browser tests (Chromium) (push) Failing after 48m57s
CI / Security audit (push) Successful in 1m34s
CI / Database tests on PostgreSQL (push) Successful in 5m58s
Every Python / Unit tests (Python 3.12) (push) Failing after 28m2s
Every Python / Unit tests (Python 3.13) (push) Successful in 28m44s
CI / Unit tests and coverage (Python 3.14) (pull_request) Successful in 12m13s
CI / Checks: lint, migrations, catalogues, settings, built files (pull_request) Successful in 2m22s
CI / Database tests on PostgreSQL (pull_request) Successful in 3m20s
CI / Security audit (pull_request) Successful in 51s
CI / Browser tests (Chromium) (pull_request) Successful in 27m40s
to 84dc738913
Some checks failed
CI / Checks: lint, migrations, catalogues, settings, built files (push) Failing after 1m47s
CI / Database tests on PostgreSQL (push) Successful in 3m22s
CI / Unit tests and coverage (Python 3.14) (push) Successful in 12m24s
CI / Security audit (push) Successful in 43s
CI / Browser tests (Chromium) (pull_request) Has been cancelled
CI / Unit tests and coverage (Python 3.14) (pull_request) Has been cancelled
CI / Checks: lint, migrations, catalogues, settings, built files (pull_request) Has been cancelled
CI / Database tests on PostgreSQL (pull_request) Has been cancelled
CI / Security audit (pull_request) Has been cancelled
CI / Browser tests (Chromium) (push) Has been cancelled
Every Python / Unit tests (Python 3.13) (push) Has been cancelled
Every Python / Unit tests (Python 3.12) (push) Has been cancelled
2026-10-19 06:21:52 +00:00
Compare
Read the branch from origin/main when the guard's base is gone
All checks were successful
CI / Database tests on PostgreSQL (push) Successful in 3m44s
CI / Security audit (push) Successful in 51s
CI / Unit tests and coverage (Python 3.14) (push) Successful in 12m34s
CI / Checks: lint, migrations, catalogues, settings, built files (push) Successful in 2m15s
CI / Browser tests (Chromium) (push) Successful in 29m35s
CI / Unit tests and coverage (Python 3.14) (pull_request) Successful in 12m13s
CI / Checks: lint, migrations, catalogues, settings, built files (pull_request) Successful in 2m19s
CI / Database tests on PostgreSQL (pull_request) Successful in 3m34s
CI / Security audit (pull_request) Successful in 43s
CI / Browser tests (Chromium) (pull_request) Successful in 29m16s
Every Python / Unit tests (Python 3.12) (push) Successful in 12m41s
Every Python / Unit tests (Python 3.13) (push) Successful in 12m38s
83a360197c
On a push, CI hands the translation guard github.event.before, the commit the branch
pointed at before the push. A force-push leaves that commit out of the checkout, so
`git merge-base <before> HEAD` exited 128 and the step died with a traceback, as it did on
this branch after its rebase. A base git does not know now takes the path a new branch
already took: every commit since the branch left origin/main, which includes every commit
the push brought, so nothing goes unread. The guard says which path it took.

Closes #1011

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Postulo/postulo!1009
No description provided.