Repository navigation
✨ [feat] codex: full lane-result validation and pinned wave summary keys - #70
Merged
Merged
Conversation
- validate the whole Codex result against the lane's --output-schema (types, required keys, no extra keys, priorFindings null or three integer counts) - anything else prints status: failed and exits 1; a valid result still prints unchanged - tests/test-codex-lane.sh covers non-string prUrl, an extra key, missing notFixed and valid null results - tests/test_codex_lane_schema.py pins the status enum and field names to STAGE_SCHEMA Closes #34 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
- tests/test-codex-wave-contract.sh reads the summary keys from workflows/super-board-wave.js and checks normal, bounced, halted-while-grading, verification-readiness and skills-readiness Codex waves - fix: the two up-front halt summaries in scripts/super-board-codex-wave.sh now carry prUrl and priorFindings (null) - move the stubbed codex into tests/fixtures/fake_codex.py so both Codex suites share it Closes #36 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Qodo reviews are paused for this user.Troubleshooting steps vary by plan Learn more → On a Teams plan? Using GitHub Enterprise Server, GitLab Self-Managed, or Bitbucket Data Center? |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Note
⏳ In review · round 1 · ✅ 8/8 AC · Closes #34 · Closes #36 · head
996a65dProblem
scripts/super-board-codex-lane.sh, aftercodex execreturns--output-schema(six required keys, no extras)status,columnanddetail, so a non-stringprUrl, an extra key or a half-filledpriorFindingspassed through as validSTAGE_SCHEMAinworkflows/super-board-wave.jsscripts/super-board-codex-wave.sh, the hand-built card summariesprUrlandpriorFindings, unlike the workflow's summarysuper-board run --codexand the orchestrator's Reconcile step (part of First-class Codex and OpenCode support with shared workflow core and native adapters #30)Solution
priorFindingsnull or three integer counts (booleans rejected). Anything else printsstatus: failedand exits 1tests/test_codex_lane_schema.pyreads both schemas from source (Pythonastfor the lane,nodeforSTAGE_SCHEMA) and fails if the status enum, field names orpriorFindingskeys differprUrl: nullandpriorFindings: nulltests/test-codex-wave-contract.shreads the summary keys from the workflow'ssummaryobject and checks every card in normal, bounced, halted-while-grading, verification-readiness and skills-readiness waves, plus a booleanhaltedcodexmoved totests/fixtures/fake_codex.pyso both Codex suites share it; it also takesSB_CODEX_TEST_RESULTfor verbatim resultsAcceptance criteria
prUrl, an extra key, orpriorFindingsmissingnotFixedprintstatus: failedand exit 1↳
tests/test-codex-lane.sh"malformed result must fail" (8 cases)prUrl: nullandpriorFindings: null, prints unchanged and exits 0↳
tests/test-codex-lane.sh"valid result must print unchanged" (null and filled cases)STAGE_SCHEMA's status enum or property names differ from the lane schema↳
tests/test_codex_lane_schema.py; checked red by adding an enum value and renamingbranch↳
tests/test-codex-wave-contract.sh; red before the fix on the readiness halt (missingprUrl,priorFindings)codex↳ same test, plus both readiness halts
workflows/super-board-wave.js↳ checked red by renaming
lastLanein the workflowbash tests/run-safety.shpasses on python 3.9↳ PASS 61 suites
bash tests/run-safety.shpasses on python 3.12↳ PASS 61 suites
Iteration history
bash tests/run-safety.sh→ PASS 61 suites (py3.9, py3.12) ·996a65dRisk
🟢 Low · stricter validation on one launcher; a schema-valid lane result prints unchanged. The wave change only adds two null keys to halt summaries.
🤖 Generated with Claude Code