Skip to content

docs: update tester role description for coder-owns-tests [doc-updater] - #2943

Merged
jwbron merged 2 commits into
mainfrom
egg/doc-update-coder-owns-tests
Jun 2, 2026
Merged

docs: update tester role description for coder-owns-tests [doc-updater]#2943
jwbron merged 2 commits into
mainfrom
egg/doc-update-coder-owns-tests

Conversation

@james-in-a-box

@james-in-a-box james-in-a-box Bot commented Jun 2, 2026

Copy link
Copy Markdown
Contributor

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 coverage
  • README.md Implement phase description: was "tester writes and adversarially runs regression tests"; now "tester reviews-and-hardens the coder's tests"
  • docs/guides/agent-teams.md review adjacency table: updated tester row to reflect review-and-harden model instead of writing-from-scratch

The docs/reference/agent-roles.md and docs/guides/concurrent-execution.md already contained accurate descriptions of the new model.

Triggered by: f8d320a50

Authored-by: egg

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

@egg-reviewer egg-reviewer Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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:

  1. Coder row, File Access column — says "All files except docs, tests, .egg-state/, .github/". This is wrong: per f8d320a and the docstring at shared/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 with docs/reference/agent-roles.md line 200, which the table links to and which correctly states the coder authors its own tests.

  2. 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.md and docs/guides/concurrent-execution.md are accurate as the PR description claims, and the existing .egg-state/ matches don't apply (skipped per review rules).

— Authored by egg

@james-in-a-box

This comment has been minimized.

@james-in-a-box

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.
@james-in-a-box

james-in-a-box Bot commented Jun 2, 2026

Copy link
Copy Markdown
Contributor Author

Response to review feedback

Thanks — you're right, the Agent Roles table in docs/guides/sdlc-pipeline.md was the missing piece of the docs sync. Both rows fixed in this PR.

Blocking — incomplete docs sync (rows 607–608)fixed-in-PR (commit 7f9b1ef)

  • Coder row, File Access: removed tests from the except-list and added a parenthetical noting that tests are coder-writable and intentionally overlap the tester scope, pointing readers at Agent Roles Reference §coder for the full carve-out story. I kept .egg-state/ rather than narrowing to .egg-state/contracts/ because the actual blocklist in shared/egg_restrictions/patterns.py blocks the whole .egg-state/ directory (with agent-outputs/ and agent-anchors/ carved back via block_exempt_patterns); narrowing the column to contracts/ would have been a different inaccuracy. The linked reference page covers the full carve-out detail.
  • Tester row, Purpose: rewrote to the reviews-and-hardens framing, mirroring the README.md line 67 change — "Reviews-and-hardens the coder's tests, adds missing regression and adversarial coverage, runs linters, NACKs with a failing test when a bug is found."

— Authored by egg

@james-in-a-box

This comment has been minimized.

@egg-reviewer egg-reviewer Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No agent-mode design concerns. Documentation-only sync with the coder-owns-tests change from f8d320a.

— Authored by egg

@james-in-a-box

This comment has been minimized.

@egg-reviewer egg-reviewer Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

@james-in-a-box

james-in-a-box Bot commented Jun 2, 2026

Copy link
Copy Markdown
Contributor Author

egg review completed. View run logs

4 previous review(s) hidden.

@jwbron
jwbron merged commit c8446f8 into main Jun 2, 2026
31 checks passed
james-in-a-box Bot added a commit that referenced this pull request Jun 2, 2026
…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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant