Skip to content

Commit 1430ff2

Browse files
authored
Merge pull request #173 from maystudios/worktree-agent-a086a70f
docs(agents): add Anti-Rationalization tables and Tier 2 docs
2 parents 8fdaf9d + df64d34 commit 1430ff2

File tree

3 files changed

+60
-0
lines changed

3 files changed

+60
-0
lines changed

templates/agents/AGENTS.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,3 +92,29 @@ All skills use `user-invocable: false` -- agents auto-invoke them based on descr
9292
## Planner Read-Only Enforcement
9393

9494
The `planner` agent runs with `permissionMode: plan`. This enforces read-only access to the filesystem -- the planner can analyze the codebase and return plan content, but cannot execute commands that modify source files or run builds. This prevents the planner from accidentally beginning execution during the planning phase.
95+
96+
## Tier 2 — Agent Teams
97+
98+
When `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` is set and Claude Code supports it, MaxsimCLI can use multi-agent orchestration via Agent Teams.
99+
100+
### Activation
101+
102+
Tier 2 activates when:
103+
1. Environment variable `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` is set to `1`
104+
2. A `TeamCreate` probe succeeds (feature is available in the runtime)
105+
106+
If either condition fails, all workflows gracefully degrade to Tier 1 (subagents via the `Agent` tool).
107+
108+
### Communication
109+
110+
Teams coordinate exclusively through:
111+
- **Task lists**`.claude/tasks/{team-name}/` for pending work
112+
- **GitHub Issues** — Phase tracking, task sub-issues, plan comments
113+
- **Handoff contracts** — Structured output posted as GitHub Issue comments
114+
- **SendMessage** — Direct inter-agent messages within the same team
115+
116+
### Hooks
117+
118+
Two hooks support Tier 2 operations:
119+
- `maxsim-teammate-idle` (TeammateIdle) — Checks for pending tasks and assigns idle teammates
120+
- `maxsim-task-completed` (TaskCompleted) — Runs verification gates (test, build, lint) before allowing task completion

templates/agents/executor.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,23 @@ When the plan frontmatter includes a `requirements` field, populate the `## Requ
8585

8686
Every requirement ID from the plan MUST have an entry.
8787

88+
## Anti-Rationalization Table
89+
90+
These phrases are NEVER acceptable as evidence. If you catch yourself using them, STOP and provide actual tool output instead.
91+
92+
| Forbidden Phrase | Why It Fails |
93+
|---|---|
94+
| "should work" | Describes expectation, not observed outcome |
95+
| "I already checked" | Not verifiable in this session |
96+
| "tests were passing before" | Stale evidence; fresh run required |
97+
| "this is obviously correct" | Correctness is measured, not assessed by inspection |
98+
| "I think it's fine" | No tool output, no claim |
99+
| "the logic is sound" | Logic can be sound and still produce wrong output |
100+
| "nothing changed in that area" | Changes in dependencies, configs, and imports are invisible to this claim |
101+
| "it worked in my local run" | Local run is not this session's evidence unless tool output is shown |
102+
| "we can verify later" | Verification deferred is verification skipped |
103+
| "this is low risk" | Risk level does not substitute for evidence |
104+
88105
## Completion Gate
89106

90107
Before returning results:

templates/agents/planner.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,23 @@ After writing the plan, verify backward from the phase goal:
8888

8989
If gaps exist, add tasks to close them before finalizing.
9090

91+
## Anti-Rationalization Table
92+
93+
These phrases are NEVER acceptable as evidence. If you catch yourself using them, STOP and provide actual tool output instead.
94+
95+
| Forbidden Phrase | Why It Fails |
96+
|---|---|
97+
| "should work" | Describes expectation, not observed outcome |
98+
| "I already checked" | Not verifiable in this session |
99+
| "tests were passing before" | Stale evidence; fresh run required |
100+
| "this is obviously correct" | Correctness is measured, not assessed by inspection |
101+
| "I think it's fine" | No tool output, no claim |
102+
| "the logic is sound" | Logic can be sound and still produce wrong output |
103+
| "nothing changed in that area" | Changes in dependencies, configs, and imports are invisible to this claim |
104+
| "it worked in my local run" | Local run is not this session's evidence unless tool output is shown |
105+
| "we can verify later" | Verification deferred is verification skipped |
106+
| "this is low risk" | Risk level does not substitute for evidence |
107+
91108
## Completion Gate
92109

93110
Before returning, verify the plan:

0 commit comments

Comments
 (0)