Skip to content

docs(devlog): record the Wave 3/4 final outcome and the review-binding gap - #1869

Merged
lidge-jun merged 1 commit into
devfrom
codex/wave34-final-outcome
Aug 16, 2026
Merged

docs(devlog): record the Wave 3/4 final outcome and the review-binding gap#1869
lidge-jun merged 1 commit into
devfrom
codex/wave34-final-outcome

Conversation

@lidge-jun

@lidge-jun lidge-jun commented Aug 16, 2026

Copy link
Copy Markdown
Owner

Summary

Devlog-only. Closes out devlog/_plan/260816_wave34_closeout/ with the final issue disposition, the remote suite numbers per merged head, and two findings worth keeping.

Issue disposition against the Wave 3/4 objective:

Issue State
#1686, #1802, #1835, #1798, #1789, #1791, #1784, #1834, #1830, #1524 CLOSED
#1049 OPEN — deferred with a corrected plan
#1795 OPEN — NEEDS_HUMAN, evidence requested

The #1524 finding. The hop-eligible code never fired, and reordering it still did not fire. formatErrorResponse runs classifyError, whose "context window" remap rewrote the proxy's own input_admission_refused code before the decision could see it — and the refusal message necessarily contains that phrase, so the remap was guaranteed to fire on exactly the case it broke. It survived earlier review because the regression test hand-built an envelope the proxy does not emit: a green test proving a shape that never reaches production.

The ablation lesson. The first ablation disabled only the structured-code arm and still passed, because a message.includes fallback caught the case. An ablation that does not fail has not proven the mechanism it was aimed at.

A process gap, recorded honestly. REVIEW-BINDING-01 is unreachable in the Codex desktop runtime: review-observer.js records a verdict only for a subagent whose payload carries agent_type === "explorer", but this runtime's spawn_agent has no agent_type parameter at all. Two plan-audit rounds ended with correctly formatted LAUNCH/VERDICT signoffs and both stayed in_flight, so A→B was unreachable rather than merely unattempted. The cycle was closed with orchestrate reset rather than by hand-editing goalplan.json, which would have been the exact self-attestation the observer exists to prevent. Also logged to .codexclaw/friction.jsonl.

Verification

Nothing in the build, typecheck, or test path reads from devlog/. privacy:scan does, and these documents contain no credentials, tokens, account identifiers, or home paths.

Remote Linux suite numbers recorded in the doc, each verified against the exact head by reading git log --oneline -1 on the remote first:

Head pass skip fail
798ecbfb7 12684 15 16
acfedae0a (#1861) 12687 15 16
6cd5b04b3 (#1862) 12687 15 16
bc6019bae (#1864) 12695 15 16

The 16 failures are identical in every run and are bun-not-on-PATH harness cases. No regression.

Checklist

  • Targets dev
  • Documentation only — no src/, tests/, or gui/ changes
  • No security or pre-disclosure material
  • Tests — not applicable
  • Docs-site update — not applicable; devlog/ is maintainer-facing

Summary by CodeRabbit

  • Documentation
    • Added a Wave 3/4 closeout summary covering issue dispositions, contributor pull request status, and verification outcomes.
    • Documented classification and remapping findings, including ablation results and exact-head verification.
    • Recorded process gaps related to unavailable agent-type support and incomplete review-observer verdicts.
    • Consolidated final outcomes and follow-up context for improved project traceability.

…g gap

Closes out the unit with the issue disposition table, the remote suite numbers
per merged head against the dev baseline, and two things worth keeping.

The #1524 finding: the hop-eligible code never fired, and the reorder alone
still did not fire. formatErrorResponse runs classifyError, whose "context
window" remap rewrote the proxy's own input_admission_refused code before the
decision could see it -- and the refusal message necessarily contains that
phrase, so the remap was guaranteed to fire on exactly the case it broke. It
survived review because the test hand-built an envelope the proxy does not
emit: a green test proving a shape that never reaches production.

The ablation lesson: the first ablation disabled only the structured-code arm
and still passed, because a message.includes fallback caught the case. An
ablation that does not fail has not proven the mechanism it was aimed at.

Also records that REVIEW-BINDING-01 is unreachable in this runtime.
review-observer.js records a verdict only for agent_type === "explorer", but
this runtime's spawn_agent has no agent_type parameter, so two correctly signed
plan-audit rounds stayed in_flight. The cycle was closed with orchestrate reset
rather than by hand-editing goalplan.json, which would have been the exact
self-attestation the observer exists to prevent.
@github-actions

Copy link
Copy Markdown
Contributor

Deterministic PR hygiene checks passed.

@github-actions github-actions Bot added the documentation Improvements or additions to documentation label Aug 16, 2026
@coderabbitai

coderabbitai Bot commented Aug 16, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: d069c545-9d77-4a87-8e8f-cf0470a40d1a

📥 Commits

Reviewing files that changed from the base of the PR and between 13d3113 and b1117f7.

📒 Files selected for processing (1)
  • devlog/_plan/260816_wave34_closeout/120_outcome.md

📝 Walkthrough

Walkthrough

The closeout document adds issue dispositions, contributor PR status, analysis of the #1524 classification defect, exact-head Linux verification results, and the REVIEW-BINDING-01 process limitation.

Changes

Wave 3/4 closeout

Layer / File(s) Summary
Issue dispositions and contributor status
devlog/_plan/260816_wave34_closeout/120_outcome.md:144-171
Adds issue classifications and records contributor PR review status or blocking evidence.
#1524 failure-path analysis
devlog/_plan/260816_wave34_closeout/120_outcome.md:172-187
Documents the classifyError remapping path, the proxy-envelope mismatch in regression tests, and the need for factor-isolated ablations.
Verification and review-process results
devlog/_plan/260816_wave34_closeout/120_outcome.md:188-221
Records exact-head remote Linux results, persistent bun path failures, stale-branch-point failures, and the unavailable spawn_agent agent_type support affecting REVIEW-BINDING-01.

Estimated code review effort: 2 (Simple) | ~10 minutes

Suggested reviewers: wibias

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/wave34-final-outcome

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@lidge-jun
lidge-jun merged commit ebda8e5 into dev Aug 16, 2026
16 of 17 checks passed

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b1117f70cb

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +216 to +219
The cycle was closed with `orchestrate reset` instead. Hand-editing `goalplan.json` to inject a
verdict was available and deliberately not done: that is precisely the self-attestation the
observer exists to prevent. Logged to `.codexclaw/friction.jsonl`; the real fix belongs in
codexclaw, either widening the matcher or accepting a launch-id-bearing signoff from any subagent

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Move the unfixed review-binding bypass out of the devlog

Because the codexclaw fix has not shipped, this section publicly documents both an integrity-control bypass—injecting a verdict into goalplan.json—and the implementation changes needed to close it. That is pre-disclosure reasoning for an unfixed defect, so move these details to .tmp/ until the fix or advisory is public, leaving only an already-public outcome in the repository.

AGENTS.md reference: AGENTS.md:L115-L119

Useful? React with 👍 / 👎.


---

# Final outcome — Wave 3/4 closeout

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Archive the closed unit under _fin

This new section explicitly records the campaign's final closeout, but the commit leaves the unit under devlog/_plan, where it continues to appear as active work. Move the whole 260816_wave34_closeout directory to devlog/_fin in this commit so the repository's planning inventory reflects the terminal outcome.

AGENTS.md reference: AGENTS.md:L75-L78

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant