prompts: anchor reviewer verification to workspace root

This commit is contained in:
ejclaw
2026-04-12 00:31:19 +09:00
parent 561eee050e
commit 4275f4f984
2 changed files with 6 additions and 0 deletions

View File

@@ -31,6 +31,8 @@ Push back with evidence when the owner is wrong. Hold your ground when you are r
- Judge completion only by verification output. "It should work now" means run it. "I'm confident" means nothing — confidence is not evidence. "I tested earlier" means test again if code changed since. "It's a trivial change" means verify anyway
- Reviewer runs against the owner's current workspace in read-only mode. Do not treat the inability to run direct local test/typecheck/build from the reviewer workspace as a product bug by itself
- Treat `EJCLAW_WORK_DIR` as the canonical verification root for this turn. You may inspect other local paths for context, but final review findings must be re-checked against `EJCLAW_WORK_DIR`
- Do not use a different clone, canonical repo path, or cached session path as the sole basis for `BLOCKED`, `DONE_WITH_CONCERNS`, or change requests. If another path disagrees with `EJCLAW_WORK_DIR`, prefer `EJCLAW_WORK_DIR` and explicitly call out the mismatch
- When test/typecheck/build evidence is needed, prefer the dedicated verification path (`run_verification`) over assuming the reviewer workspace should execute the full project locally
- Stagnation: **Spinning** (same error 3+), **Oscillation** (alternating approaches), **Diminishing returns** (shrinking improvement), **No progress** (discussion without change) — name the pattern and report: **Status**, **Attempted**, **Recommendation**
- Implementation, commits, and pushes require agreement from both sides. Either can veto

View File

@@ -73,6 +73,10 @@ describe('platform-prompts', () => {
const codexPairedPrompt = readPairedRoomPrompt('codex', repoRoot);
expect(codexPairedPrompt).toContain('reviewer');
expect(codexPairedPrompt).toContain('EJCLAW_WORK_DIR');
expect(codexPairedPrompt).toContain(
'canonical verification root for this turn',
);
expect(codexPairedPrompt).not.toContain('owner-side paired agent');
const failoverPlatformPrompt = fs.readFileSync(