feat: v6.3.0 pipeline hardening — auth/authz bug-class, pr-monitoring pattern, completion trust-boundary, hook stdout-JSON discipline, reminder dedup (#41/#58/#59/#60/#61)#62
Merged
Conversation
added 16 commits
June 1, 2026 01:04
Contributor
There was a problem hiding this comment.
Pull request overview
v6.3.0 “pipeline hardening” release that addresses recurring autonomy pipeline issues by strengthening hook robustness (stdout JSON discipline), reducing repeated reminder noise (session dedup + reset), and documenting new review/process guardrails (auth/authz chain composition, CI wait pattern, completion trust boundary). It also adds CI coverage for hook regression tests and bumps plugin version + release notes.
Changes:
- Harden
hooks/run-hook.cmdto emit valid-JSON-or-empty on stdout (recover block JSON behind warnings) + add a dedicated stdout-discipline regression test. - Add once-per-session dedup for
pretool-pr-review-reminder, reset onpre-compact-snapshot, and expand hook contract tests accordingly. - Document new plan-phase auth/authz chain-composition bug-class, pr-monitoring CI-wait polling pattern, and Implement-N completion trust boundary; add CI workflow to run hook tests; bump to 6.3.0 with release notes.
Reviewed changes
Copilot reviewed 18 out of 18 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| tests/hook-stdout-discipline.sh | New regression test verifying wrapper stdout JSON discipline and jq-absent passthrough. |
| tests/hook-contracts.sh | Adds contract coverage for pr-review reminder dedup + post-compaction reset behavior. |
| skills/subagent-driven-development/SKILL.md | Documents “completion is not trusted until lead-verified” trust boundary. |
| skills/pr-monitoring/SKILL.md | Documents host-scoped, sanctioned CI-wait polling pattern (bash loop vs background agent). |
| skills/adversarial-design-review/SKILL.md | Adds plan-phase auth/authz chain-composition bug-class row. |
| RELEASE-NOTES.md | Adds v6.3.0 release notes summarizing the hardening changes. |
| hooks/run-hook.cmd | Captures hook stdout and enforces valid-JSON-or-empty output when jq is available. |
| hooks/pretool-pr-review-reminder | Adds quote-stripped matching and once-per-session reminder dedup marker. |
| hooks/pre-compact-snapshot | Clears pr-reminder marker for the current session prior to early-exit, enabling re-emit post-compaction. |
| docs/plans/2026-06-01-pipeline-hardening-4issues.md.scope-lock | Adds scope-lock hash for the v6.3.0 plan. |
| docs/plans/2026-06-01-pipeline-hardening-4issues.md | Adds implementation plan detailing tasks, verification, and rollout. |
| docs/plans/2026-06-01-pipeline-hardening-4issues-design.md | Adds design doc covering goals, non-goals, and rationale/ADR references. |
| decisions/0003-implement-n-completion-trust-boundary.md | Adds ADR documenting why completion is a trust boundary (lead verification) vs hook-enforced invariant. |
| agents/team-conventions.md | Updates role rules for Implement-N completion discipline + lead verification gate. |
| .github/workflows/hooks-check.yml | Adds CI workflow intended to run hook contract + stdout-discipline tests on relevant changes. |
| .cursor-plugin/plugin.json | Version bump to 6.3.0. |
| .claude-plugin/plugin.json | Version bump to 6.3.0. |
| .claude-plugin/marketplace.json | Version bump to 6.3.0. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
+9
to
+24
| pull_request: | ||
| paths: | ||
| - 'hooks/**' | ||
| - 'tests/hook-contracts.sh' | ||
| - 'tests/hook-stdout-discipline.sh' | ||
| jobs: | ||
| hooks: | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - uses: actions/checkout@v4 | ||
| - name: Install jq | ||
| run: sudo apt-get update && sudo apt-get install -y jq | ||
| - name: Hook contract tests | ||
| run: bash tests/hook-contracts.sh | ||
| - name: Hook stdout discipline tests | ||
| run: bash tests/hook-stdout-discipline.sh |
added 4 commits
June 1, 2026 01:58
…filter on PR (Copilot/CodeQL review)
Contributor
Author
|
Review addressed in c19accf:
|
This was referenced Jun 1, 2026
Closed
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.
Summary
v6.3.0 pipeline-hardening release closing 5 recurring gate-miss / context-waste issues (one coherent PR, full pipeline: 3 design + 2 plan adversarial cycles, alignment PASS, scope locked, two-stage review APPROVED).
Closes #41, #58, #59, #60, #61.
Design / Plan / ADR
docs/plans/2026-06-01-pipeline-hardening-4issues-design.md(adversarial PASS @ cycle 3)docs/plans/2026-06-01-pipeline-hardening-4issues.md(plan-phase PASS @ cycle 2; alignment PASS; scope locked)Implement-Ncompletion is a lead-verified trust boundary, not a hook-blocked invariant (the hard-block is infeasible).Changes
adversarial-design-review— new plan-phase auth/authz chain-composition bug-class: walk the design's auth chain vs the plan's wiring; flag any gate enforced by a client-asserted value instead of server-side against an authenticated principal.pr-monitoring— sanctioned, host-scoped bash poll-loop CI-wait (claude-code: boundedrun_in_backgroundsleep-loop that blocks + re-invokes the lead once; codex/cursor: self-poll fallback). The prior background-Agent monitor early-exited ~6×/run.subagent-driven-development+team-conventions— completion trust-boundary: a flippedImplement: Nis a claim, not evidence; the lead runsverification-before-completionbefore trusting it. Hard-block infeasible (pre-tool payload lacks task subject + caller) → ADR 0003.run-hook.cmd— stdout JSON discipline: capture each hook's stdout, emit only valid-JSON-or-empty, recover a block decision even when a locale/diagnostic warning precedes it (route noise to stderr; jq-absent passthrough). Newtests/hook-stdout-discipline.sh.pretool-pr-review-reminder— emit the gh/Copilot reminder once per session (quote-strip match so a quoted--bodymentioninggh pr createdoesn't trip it; deduped via.claude/autodev-statemarker), reset bypre-compact-snapshotso it re-emits once post-compaction.hooks-check.ymlruns the hook contract + stdout-discipline tests on anyhooks//test change (so these fixes are regression-gated; a test that never runs is theater).Verification
tests/hook-stdout-discipline.sh— 0 failures (4 cases: warning+block-JSON recovered, noise→stderr, clean passthrough, jq-absent passthrough).tests/hook-contracts.sh— all pass (real hooks through the new wrapper; pretool-pr-review-reminder: emit gh-version/Copilot guidance once per session, not per PR #61 dedup/reset/false-positive/no-transcript).tests/skill-content-grep.sh/skill-cross-refs.sh/version-check.sh— PASS.grep -vxFfull-line diagnostic routing + atomic marker rewrite).🤖 Generated with Claude Code