AGENTS.md: two stale file references, two internal restatements, and two doc-vs-enforcement mismatches
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 125k
- Forks
- 19.5k
- PR merge metrics
- PR metrics pending
Description
What is the type of issue? Documentation is incorrect
What is the issue?
First: AGENTS.md is one of the most accurate agent-context files we've audited — commit citations check out (e.g. the 3c7f013f9735/#16630 RPITIT precedent matches its PR exactly), every justfile recipe and test helper it names exists, and the nested codex-rs/tui/src/bottom_pane/AGENTS.md cleanly complements it. The items below are drift, not quality problems. All verified at 41ece455b7fa (2026-08-11).
- Stale path (line 35):
codex-rs/codex-mcp/src/mcp_connection_manager.rsno longer exists — renamed toconnection_manager.rsin #34522, with the central type renamedMcpConnectionManager→McpConnectionSetin #34708. Both landed after AGENTS.md's most recent edit (f73a072246, 2026-07-08). - Stale reference (lines 264-265):
app-server-protocol/src/protocol/v2.rsis listed as a file, but it became av2/module directory (~20 submodules) in #21251 (2026-05-05);v1.rsis still flat, so the asymmetry reads as intentional when it isn't. - Restatement: the
skip_serializing_ifban at lines 278-280 is repeated near-verbatim at lines 291-292 in the same section. - Restatement + vague qualifier:
chatwidget.rsgrowth discipline is stated at lines 54-57 (high-touch file list) and again at lines 60-61, the second copy hinging on an undefined "unless the change is trivial". - Doc-vs-enforcement mismatch (line 184-187): the file's only bolded "Requirement:" — insta snapshot coverage for UI-affecting changes — has no automated backing: no workflow or script checks snapshot presence (verified with word-boundary greps; naive
instagreps false-positive on "install"), and.github/CODEOWNERShas no entry forcodex-rs/tui/. Either a check or softer wording would make the doc match reality. - Dual-toolchain expectation gap (lines 64-70): contributors are told to verify with Cargo-native commands (
just test→ nextest,just fix→ cargo clippy), but the sole required status check (CI requiredvia blocking-ci.yml) runs tests and clippy through Bazel (bazel test //...,bazel build --config=clippy); rust-ci.yml contributes only rustfmt, cargo-shear, and a custom lint. Local-green therefore doesn't guarantee CI-green (independent target graphs/pins). One sentence in AGENTS.md setting that expectation would save contributors a surprise.
Where did you find it? AGENTS.md at repo root, cross-checked against the live branch ruleset (gh api repos/openai/codex/rules/branches/main), .github/workflows/{blocking-ci,rust-ci,bazel}.yml, and the commit history of each referenced path. Found during an automated AGENTS.md audit (rent-check); every claim above was independently re-verified before filing.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the root AGENTS.md and compare its cited paths and guidance with .github/workflows/{blocking-ci,rust-ci,bazel}.yml and the referenced commit history. Review the stale paths, duplicate guidance, snapshot requirement, and Cargo-versus-Bazel verification notes. Done means AGENTS.md accurately names current files and describes the documented checks without contradictions or unsupported requirements.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, rust
- Domain
- ci-cd, documentation
- Issue type
- Documentation
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 68/100