docs: update tester role description for coder-owns-tests [doc-updater] - #2943
Conversation
Correct stale descriptions of the tester's responsibilities in README.md and docs/guides/agent-teams.md to reflect that the coder now authors its own tests (#2936). The tester no longer writes regression tests from scratch; it reviews-and-hardens the coder's tests, adds missing coverage, and adversarially probes the implementation. Authored-by: egg
There was a problem hiding this comment.
Review
The three edits in this PR (two in README.md, one in docs/guides/agent-teams.md) are accurate and match the new model introduced by f8d320a: the coder authors its own tests, the tester reviews-and-hardens.
However, the PR's stated purpose is to "update documentation to reflect changes from f8d320a" — and the audit missed two stale entries in docs/guides/sdlc-pipeline.md's Agent Roles table (lines 607-608) that describe the old model. The natural place to fix these is here, in this docs-sync PR.
Blocking — incomplete docs sync
docs/guides/sdlc-pipeline.md, lines 607-608:
| **Coder** | Execution | Implements code changes | All files except docs, tests, `.egg-state/`, `.github/` (blocklist-complement; see [Agent Roles Reference](../reference/agent-roles.md#coder)) |
| **Tester** | Execution | Finds gaps, writes tests, runs linters and reports issues to coder | Test files and infrastructure only: ... |
Both rows are out of date:
-
Coder row, File Access column — says "All files except docs, tests,
.egg-state/,.github/". This is wrong: per f8d320a and the docstring atshared/egg_restrictions/patterns.py:186(tests are now coder-writable (see docstring); kept for signature parity), the coder can write to tests. The blocklist should now read "docs,.egg-state/contracts/,.github/" (tests removed). This is also internally inconsistent withdocs/reference/agent-roles.mdline 200, which the table links to and which correctly states the coder authors its own tests. -
Tester row, Purpose column — says "Finds gaps, writes tests, runs linters and reports issues to coder". This is the same from-scratch-author framing the PR is removing from README.md and agent-teams.md. It should reflect the reviews-and-hardens model, mirroring the README line 67 change: e.g. "Reviews-and-hardens the coder's tests, adds missing regression + adversarial coverage, runs linters, NACKs with a failing test when a bug is found."
f8d320a did touch this file (the HANDOFF example near line 1353 and the Tester narrative near line 1423), so the omission of the Agent Roles table from that commit appears to be an oversight. PR #2943 is the right place to close that gap — it's a docs-sync PR for exactly this purpose, in the same docs subtree.
Non-blocking
- Nothing else stood out.
docs/reference/agent-roles.mdanddocs/guides/concurrent-execution.mdare accurate as the PR description claims, and the existing.egg-state/matches don't apply (skipped per review rules).
— Authored by egg
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
The Agent Roles table in docs/guides/sdlc-pipeline.md still described the pre-f8d320a50 model. Update both stale rows: - Coder File Access: remove "tests" from the except-list (tests are coder-writable per shared/egg_restrictions/patterns.py); note the intentional overlap with the tester. - Tester Purpose: replace the from-scratch-author framing with the reviews-and-hardens model, mirroring the README.md update.
Response to review feedbackThanks — you're right, the Agent Roles table in Blocking — incomplete docs sync (rows 607–608) —
— Authored by egg |
This comment has been minimized.
This comment has been minimized.
There was a problem hiding this comment.
No agent-mode design concerns. Documentation-only sync with the coder-owns-tests change from f8d320a.
— Authored by egg
This comment has been minimized.
This comment has been minimized.
There was a problem hiding this comment.
Re-review
The new commit (7f9b1ef) addresses both blocking concerns from my prior review against 4b4ed7f.
Coder row (line 607) — fixed. tests removed from the except-list; the parenthetical now notes the intentional coder/tester overlap on the test scope and points readers to agent-roles.md#coder for the full carve-out story.
I'd flagged the column as needing .egg-state/contracts/ rather than the bare .egg-state/, but the producer's response is correct and I was wrong: shared/egg_restrictions/patterns.py:222 blocks the whole .egg-state/ directory, with agent-outputs/, agent-anchors/, and a few sandbox/skills paths carved back via block_exempt_patterns. Calling that out as contracts/ only would have introduced a different inaccuracy. The linked reference page covers the carve-back detail; keeping the table coarse is the right call.
Tester row (line 608) — fixed. Rewritten to the reviews-and-hardens framing, consistent with the README.md line 67 update and agent-roles.md.
Sweep for remaining drift. I grepped docs/ and README.md for residual writes regression tests / writes tests / adversarially runs regression tests patterns. The only remaining "tester … writes" / "writes … test" hits are either:
- the historical-motivation paragraph at
docs/reference/agent-roles.md:171("the coder naturally writes tests, the gateway used to 403 the push…") — explaining the driver for the new model, accurate as written, or - references to the tester's allowed test-file writes (
agent-roles.md:258,:269,:280), which remain correct under the new model.
No further docs are out of sync with f8d320a.
CI is green at this HEAD. Approving.
— Authored by egg
|
egg review completed. View run logs 4 previous review(s) hidden. |
…r] (#2943) * docs: update tester role description for coder-owns-tests model Correct stale descriptions of the tester's responsibilities in README.md and docs/guides/agent-teams.md to reflect that the coder now authors its own tests (#2936). The tester no longer writes regression tests from scratch; it reviews-and-hardens the coder's tests, adds missing coverage, and adversarially probes the implementation. Authored-by: egg * docs: update Agent Roles table in sdlc-pipeline.md for coder-owns-tests The Agent Roles table in docs/guides/sdlc-pipeline.md still described the pre-f8d320a50 model. Update both stale rows: - Coder File Access: remove "tests" from the except-list (tests are coder-writable per shared/egg_restrictions/patterns.py); note the intentional overlap with the tester. - Tester Purpose: replace the from-scratch-author framing with the reviews-and-hardens model, mirroring the README.md update. --------- Co-authored-by: jwbron <8340608+jwbron@users.noreply.github.com> Co-authored-by: egg-reviewer[bot] <261018737+egg-reviewer[bot]@users.noreply.github.com>
Update documentation to reflect changes from f8d320a (Let the coder author its own tests; tester reviews-and-hardens #2936):
README.md"Adversarial tester" bullet: was "it writes regression tests and probes"; now accurately states the tester reviews-and-hardens the coder's tests and adds missing coverageREADME.mdImplement phase description: was "tester writes and adversarially runs regression tests"; now "tester reviews-and-hardens the coder's tests"docs/guides/agent-teams.mdreview adjacency table: updated tester row to reflect review-and-harden model instead of writing-from-scratchThe
docs/reference/agent-roles.mdanddocs/guides/concurrent-execution.mdalready contained accurate descriptions of the new model.Triggered by: f8d320a50
Authored-by: egg