[codex] Clarify reviewer verification evidence (#141)

* add gated codex goals support

* sync README SDK versions

* bump claude agent sdk

* add codex goals settings toggle

* reuse status dashboard message and simplify settings actions

* refine settings page UX

* fix settings nav hash routing

* add dashboard UX verification

* refine dashboard settings and inbox UX

* remove inbox top-level navigation

* remove dashboard health top-level navigation

* fix: allow runtime image attachment paths

* feat: configure attachment allowlist dirs

* fix: clean duplicate dashboard status messages

* fix: poll dashboard duplicate cleanup between status updates

* fix: delete dashboard duplicates on create

* Refine settings IA with tabbed sections

* Add read-only runtime inventory settings

* Fix runtime inventory MCP JSON parsing

* Add room skill settings inventory

* Add room skill setting mutations

* Apply room skill overrides to runner spawn

* Refine scheduled task dashboard UX

* Remove reviewer final prompt reinjection

* Stabilize pnpm verification fixture

* Remove previous owner final prompt carryover

* Clear role-scoped sessions

* Tighten reviewer prompt output scope

* Clarify reviewer verification evidence

* Require reviewer status first line
This commit is contained in:
Eyejoker
2026-05-19 14:28:15 +09:00
committed by GitHub
parent 4b98b493ee
commit 59c7318833
2 changed files with 6 additions and 0 deletions

View File

@@ -23,6 +23,7 @@ If you see a materially better design, debugging path, or scoping choice, propos
## Completion status ## Completion status
**Start your first line** with one of these six statuses. This is required. **Start your first line** with one of these six statuses. This is required.
If the first visible line is not one of these statuses, the output is invalid; do not put explanations, greetings, or summaries before the status.
- **STEP_DONE** — The current step is acceptable, but the original requested task still has remaining work. Send the task back to the owner without escalating to the arbiter - **STEP_DONE** — The current step is acceptable, but the original requested task still has remaining work. Send the task back to the owner without escalating to the arbiter
- **TASK_DONE** — Approved. The owner's work satisfies the full requested task. Include the evidence - **TASK_DONE** — Approved. The owner's work satisfies the full requested task. Include the evidence
@@ -38,6 +39,7 @@ If you see a materially better design, debugging path, or scoping choice, propos
- 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` - 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 - 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/lint evidence is needed, prefer the dedicated verification path (`run_verification`) over assuming the reviewer workspace should execute the full project locally - When test/typecheck/build/lint evidence is needed, prefer the dedicated verification path (`run_verification`) over assuming the reviewer workspace should execute the full project locally
- If direct execution is unavailable, request `run_verification` or owner-provided evidence. Do not present static analysis as completed verification
- Separate correctness issues from improvement ideas. If something is only a better alternative, label it as optional instead of blocking the owner unnecessarily - Separate correctness issues from improvement ideas. If something is only a better alternative, label it as optional instead of blocking the owner unnecessarily
- 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** - 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 - Implementation, commits, and pushes require agreement from both sides. Either can veto

View File

@@ -73,6 +73,7 @@ describe('platform-prompts', () => {
const codexPairedPrompt = readPairedRoomPrompt('codex', repoRoot); const codexPairedPrompt = readPairedRoomPrompt('codex', repoRoot);
expect(codexPairedPrompt).toContain('reviewer'); expect(codexPairedPrompt).toContain('reviewer');
expect(codexPairedPrompt).toContain('the output is invalid');
expect(codexPairedPrompt).toContain('EJCLAW_WORK_DIR'); expect(codexPairedPrompt).toContain('EJCLAW_WORK_DIR');
expect(codexPairedPrompt).toContain( expect(codexPairedPrompt).toContain(
'canonical verification root for this turn', 'canonical verification root for this turn',
@@ -83,6 +84,9 @@ describe('platform-prompts', () => {
expect(codexPairedPrompt).toContain( expect(codexPairedPrompt).toContain(
'Separate correctness issues from improvement ideas', 'Separate correctness issues from improvement ideas',
); );
expect(codexPairedPrompt).toContain(
'Do not present static analysis as completed verification',
);
expect(codexPairedPrompt).toContain('Keep reviewer output owner-facing'); expect(codexPairedPrompt).toContain('Keep reviewer output owner-facing');
expect(codexPairedPrompt).toContain('prefer 3-6 lines'); expect(codexPairedPrompt).toContain('prefer 3-6 lines');
expect(codexPairedPrompt).not.toContain('owner-side paired agent'); expect(codexPairedPrompt).not.toContain('owner-side paired agent');