Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
b877c7b
docs(specs): native-review recovery design — codex reviewer on both s…
SSFSKIM Jul 11, 2026
701e19c
docs(plan): native-review recovery implementation plan; spec ORIENT d…
SSFSKIM Jul 11, 2026
cf6d5be
docs(spec): native-review recovery — spike verdicts (nested marker, d…
SSFSKIM Jul 11, 2026
ff6df70
feat(reviewing-prs): review-engine.sh — one native codex review invoc…
SSFSKIM Jul 11, 2026
1e67513
feat(reviewing-prs): native engine block + merged fallback — one code…
SSFSKIM Jul 11, 2026
8927788
feat(reviewing-prs): sweep retries ENGINE-UNAVAILABLE reviewers — in-…
SSFSKIM Jul 11, 2026
6e9ed14
feat(orchestrating-daemons): export CODEX_CODE_MODE_HOST_PATH for nes…
SSFSKIM Jul 11, 2026
de94e30
docs(reviewing-prs): SKILL.md — recovered native engine, single fallb…
SSFSKIM Jul 11, 2026
60912b0
docs(spec): acceptance recall finding — definite-bug probe proves cor…
SSFSKIM Jul 11, 2026
29dd9fb
fix(reviewing-prs): avoid signaling stale reviewer pid
SSFSKIM Jul 11, 2026
cc4dd0a
fix(reviewing-prs): isolate engine state from reviewed tree
SSFSKIM Jul 11, 2026
407b7af
fix(reviewing-prs): inherit custom codex authentication
SSFSKIM Jul 11, 2026
f4b2209
test(reviewing-prs): isolate engine defaults
SSFSKIM Jul 11, 2026
f9ec89f
fix(reviewing-prs): isolate concurrent review artifacts
SSFSKIM Jul 11, 2026
2797a80
fix(reviewing-prs): isolate untrusted review criteria
SSFSKIM Jul 11, 2026
5440462
test(orchestrating-daemons): isolate worker env defaults
SSFSKIM Jul 11, 2026
7c85af3
feat(reviewing-prs): minimal fixed policy × untrusted-carrier reconci…
SSFSKIM Jul 11, 2026
5098d92
docs: SD-4 dogfood cell PASSED + native-review recovery retrospective
SSFSKIM Jul 11, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 33 additions & 6 deletions docs/doperpowers/2026-07-10-codex-workers-shakedown.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,12 +62,29 @@ number in a local clone, so a **manual** review shakedown needs no runner.
correctness **and** the ticket's spec-compliance criteria, posts findings
+ a verdict, and transitions the board (or comments on a PR with no linked
issue). The review-trail comment names `codex` as the engine.
- [ ] **SD-4 · review × Claude.** Same PR (or SD-2's), dispatched with
`WORKER_ENGINE=claude` or `engine:claude` → `daemon-spawn.sh` Claude
reviewer, with the `fallback-claude` block.
- **Acceptance:** a Claude reviewer produces findings + verdict over the
same diff and criteria; review-trail names `claude`. Confirms both the
engine switch and the differing fallback blocks.
- [ ] ~~**SD-4 · review × Claude.**~~ OBSOLETE 2026-07-12 — the native-review
recovery (`specs/2026-07-12-native-review-recovery-design.md`) deleted the
Claude reviewer fallback and the per-species fallback blocks this cell was
written to exercise; the reviewer is codex-only now. The `engine:claude`
worker SHELL still exists (calls the same `review-engine.sh` non-nested)
but has no separate engine to shake down. Superseded by SD-5 below.

### SD-5 · review × Codex × native engine (native-review recovery) — PASSED 2026-07-12

- [x] **SD-5 · native `codex exec review` end-to-end.** PASSED 2026-07-12
(doperpowers PR #9 — the recovery branch reviewing itself, dogfood).
Codex worker (gpt-5.6-sol, xhigh) ran `review-engine.sh` NESTED: 3 native
review rounds against `origin/main...HEAD`, 7 findings verified against
the code and ALL routed FIX NOW (7 commits pushed to the PR head),
round 3 clean → approve. Tier judgment correct on all four failing
clauses (size >150 lines, base=default branch, auth risk surface, no CI
checks) → HUMAN tier, `confident-ready` label, no board writes (no
linked ticket). Zero `sandbox_apply` / code-mode-host errors. The worker
ran with the PRE-minimization criteria (commit 0d00934 landed mid-review);
its own round-2 [P1] (PR/ticket text elevated into developer
instructions) produced the untrusted-carrier hardening that was then
reconciled with the human's minimal-content directive (spec Revision
Notes 2-4).

## Recommended path (covers all four, no runner)

Expand Down Expand Up @@ -285,6 +302,16 @@ command-running work (pure-inference nested calls do work — FU-6's probe).
- All three SD-3 rounds were protocol-clean failures (honest trails,
correct parks, no fabricated verdicts). Round 4 runs the in-thread
design.
- **Correction (2026-07-12):** "structurally dead" is overturned — the
`sandbox_apply` wall is skipped by running the INNER codex with
`-c sandbox_mode="danger-full-access"` (it only skips self-profiling;
the outer profile still confines every child), plus
`CODEX_CODE_MODE_HOST_PATH=$HOME/.local/bin/codex-code-mode-host` for a
third, newly-found wall (nested codex misresolves the code-mode host to
`/usr/local/bin/`). Nested `codex exec review --base` verified
end-to-end (rc=0, both planted findings). The in-thread design this FU
produced is superseded by
`specs/2026-07-12-native-review-recovery-design.md`.

### Remaining engine asymmetries — audited, deliberate (not gaps)

Expand Down
806 changes: 806 additions & 0 deletions docs/doperpowers/plans/2026-07-12-native-review-recovery.md

Large diffs are not rendered by default.

22 changes: 22 additions & 0 deletions docs/doperpowers/specs/2026-07-10-codex-workers-design.md
Original file line number Diff line number Diff line change
Expand Up @@ -709,3 +709,25 @@ mechanical rather than lucky.
`codex-run.*` sets that no live meta's `event_log` references, called at
spawn/resume, plus purge-time removal of a daemon's own run files. Both
reviewed and green across the codex, daemon, and review-dispatch suites.
6. **2026-07-12 (native-review recovery — two conclusions overturned).**
Live spikes (codex-cli 0.144.1, gpt-5.6-sol) overturned two of this
spec's load-bearing conclusions. (a) Task 2's "no working invocation at
all" for `codex exec review --base` + custom criteria (Revision Note 2's
promotion of the cookbook form to "the only confirmed path") holds only
for criteria as the positional `[PROMPT]` — criteria as a **config
value** (`-c developer_instructions="…"`) pass the clap parser and
compose correctness + spec-compliance in one native call (rc=0, full
multi-commit range, compact `-o` verdict). (b) FU-7's "codex-in-codex is
structurally dead on macOS for command-running work" (recorded in the
shakedown doc, reflected in the in-thread engine-block design) is
overturned by an environment recipe: `SSL_CERT_FILE` (FU-6), inner
`-c sandbox_mode="danger-full-access"` (skips the impossible second
Seatbelt profile; the outer profile still confines all children), and
`CODEX_CODE_MODE_HOST_PATH=$HOME/.local/bin/codex-code-mode-host`
(nested codex misresolves the code-mode host) — verified end-to-end:
a nested `codex exec review --base` under a seatbelted outer codex
returned rc=0 with both planted findings. The species-split engine
design (Codex reviews in-thread / Claude calls the cookbook form) is
**superseded** by `specs/2026-07-12-native-review-recovery-design.md`:
one native `codex exec review` engine for both species, owned by a
substrate script.
Loading