Add harness controller workflow gates#36
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0663815f3d
ℹ️ 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".
| NR <= minimum_line { | ||
| next | ||
| } | ||
| /^### QA Evaluation #[0-9]+/ { |
There was a problem hiding this comment.
When qa_evaluation_mode=required, this parser accepts any ### QA Evaluation #N heading and only looks for an accepted verdict after it, so a journal with ### QA Evaluation #11 and - QA result: accepted passes assistant_phase_review_missing_reason_key and lets stop-review complete. That bypasses the documented terminal round-10 cap for QA loops; parse the QA evaluation number/Round: N of 10 here and reject rounds outside 1..10.
Useful? React with 👍 / 👎.
| if (low ~ /(^|[^[:alnum:]_])accepted([^[:alnum:]_]|$)/) return "accepted" | ||
| if (low ~ /(^|[^[:alnum:]_])rejected([^[:alnum:]_]|$)/) return "rejected" | ||
| if (low ~ /(^|[^[:alnum:]_])blocked([^[:alnum:]_]|$)/) return "blocked" |
There was a problem hiding this comment.
Prioritize rejected QA verdicts over accepted text
For compact QA result lines, this returns accepted before checking for rejected or blocked, so a rejected summary that also mentions accepted criteria, e.g. QA Evaluator result: rejected; accepted 3/4 criteria, is normalized as accepted and the review gate completes. Negative terminal verdicts should take precedence when the value contains mixed prose.
Useful? React with 👍 / 👎.
Summary
references/qa-evaluation-loop.md, keepingassistant-review/SKILL.mdto routing and load-boundary guidance.Status: COMPLETEandStatus: COMPLETEDjournals as inactive so completed task state is not injected into new prompts; preserveStatus: NOT DONEas active.Validation
bash tests/test-hooks.sh --filter workflow-phase-gates-> 68 passed, 0 failedbash tests/test-hooks.sh --filter stop-review-> 66 passed, 0 failedbash tests/test-hooks.sh --filter task-journal-resolver-> 4 passed, 0 failedbash tests/test-hooks.sh --filter session-start-> 17 passed, 0 failedbash tests/test-hooks.sh --filter post-compact-> 5 passed, 0 failedbash tests/test-hooks.sh --filter workflow-enforcer-> 45 passed, 0 failedbash tests/test-hooks.sh --filter workflow-guard-> 18 passed, 0 failedbash tests/test-hooks.sh --filter "codex default install"-> 1 passed, 0 failedbash tests/p0-p4/review-loop-cap-contracts.sh-> 4 passed, 0 failedbash tests/p0-p4/qa-evaluator-contracts.sh-> 8 passed, 0 failedbash tests/p0-p4/installed-hook-smoke.sh-> 1 passed, 0 failedbash tests/p0-p4/codex-hook-reinstall-contracts.sh-> 1 passed, 0 failedbash tests/test-p0-p4-contracts.sh-> 226 passed, 0 failedbash tools/plugins/sync-plugin-skills.sh --check./install.sh --agent codex --dry-runbash tools/skills/validate-skills.sh --skill skills/assistant-reviewbash tools/skills/validate-skills.sh --skill skills/assistant-workflowbash tools/skills/validate-skills.sh --skill skills/assistant-skill-creatorgit diff --checkReview