Skip to content

Repair merged review-doctrine gate regressions - #1534

Open
Chris0Jeky wants to merge 12 commits into
mainfrom
fix/1531-review-doctrine-gaps
Open

Repair merged review-doctrine gate regressions#1534
Chris0Jeky wants to merge 12 commits into
mainfrom
fix/1531-review-doctrine-gaps

Conversation

@Chris0Jeky

@Chris0Jeky Chris0Jeky commented Jul 27, 2026

Copy link
Copy Markdown
Owner

Important

PARKED at exact head f2000136a6dd75a6961b067311ec5746e80b86f8; do not merge.

The final exact-head connector pass and an independent current-base re-review found three unresolved merge blockers: ordinary informational comments are treated as undisposed findings; CONTRIBUTING.md still routes contributors through a duplicate self-review workflow; and the multi-request final snapshot has no closing OID/mergeability read to detect concurrent head/base drift. A fourth MEDIUM finding concerns brittle prose-based smoke assertions and is tracked by #1544's one-time cleanup.

The bounded pipeline has exhausted its two review/fix rounds. Per the convergence ceiling, this PR stays open and ready-for-review with the blocker threads visible; #1532 owns the remaining repair. Green hosted checks do not override the parked review verdict.

Summary

Repair the review-doctrine gaps that PR #1531 merged before its findings were addressed, now reconciled with current main.

  • route Taskdeck review and merge decisions through the canonical review-and-ship pipeline while retaining Taskdeck-specific lenses and local proving checks
  • require exact-head/base independent-review evidence under repository authority
  • remove duplicate local reviewer-count, fix-loop, re-review, aging, and finding-disposition rules
  • preserve the issue-to-PR open/unmerged handoff contract and exact PR-create hook payload
  • keep the live Claude/Codex mirrors aligned until their separately tracked retirement under Adopt agent-harness T3 profile: harness right-sizing plan #1291
  • record the shipped/remediation reality in STATUS and MASTERPLAN

Current-base repair — exact head f2000136a6dd75a6961b067311ec5746e80b86f8

Base: 3ee5a8bf9e2774fd39a70858a92b81ef648cde4a

A signed merge of current main resolved the two overnight-manual conflicts without restoring a copied tier row. The bounded fix rounds repaired these previously confirmed merge blockers:

  • HIGH — canonical merge bypass: both Codex and Claude manuals re-enter review-and-ship after Taskdeck-local checks and use its merge action only when the pipeline and declared authority permit.
  • HIGH — stale external-state snapshot: the pre-merge gate refreshes PR OIDs/mergeability, every comment/review/thread source through its final cursor, and checks after local tests and immediately before the verdict; drift fails closed.
  • HIGH — valid reviewer-worker evidence rejected: only the PR author, implementation worker, and coordinator are excluded. A distinct declared read-only reviewer artifact is valid when it records both exact OIDs.
  • HIGH — local aging waiver contradicted the canonical floor: fixed in f2000136. Both manuals now delegate post-push eligibility/observation to the canonical pipeline without copying a duration or polling rule; smoke rejects the obsolete waiver.
  • MEDIUM — unconditional Secrets scan: CLEAN: valid but non-blocking; tracked as [Gate] Derive the pre-merge secrets verdict from real scan evidence #1543 with fail-closed acceptance criteria instead of expanding this HIGH-only fix round.

The 12 pre-final-review threads have recorded dispositions and are resolved. Four exact-head threads remain: three confirmed merge blockers parked under #1532, plus one non-blocking smoke-hardening finding tracked by #1544. The existing hook smoke matrix exercises the attempted final-snapshot, reviewer-independence, canonical-merge-handoff, and post-push-delegation contracts.

Exact-head local verification

  • py -3 -B scripts/agent_hooks/smoke_test.py — PASS (Hook behavior smoke matrix passed)
  • node scripts/check-docs-governance.mjs — PASS
  • node scripts/check-golden-principles.mjs — PASS
  • node scripts/check-github-ops-governance.mjs — PASS
  • git diff --check — PASS
  • DCO — 12/12 current-base PR-range commits contain Signed-off-by:
  • exact-head Required CI / CI Extended / CodeQL — running
  • final fresh exact-head/current-base independent re-review of f2000136 — completed with PARK verdict and three merge blockers
  • automatic connector result — arrived with two P1 and two P2 threads; all triaged, no routine manual review request sent

Backend, frontend, and Playwright suites were not run locally: no product source, project file, workflow, or UI behavior changed. Hosted required lanes remain the integration gate.

Documentation

  • docs/STATUS.md updated
  • docs/IMPLEMENTATION_MASTERPLAN.md updated
  • docs/REVIVAL_PLAN.md and affected execution/runbook surfaces remain aligned
  • docs/TESTING_GUIDE.md / manual checklist — not applicable to this instruction/hook-only behavior change

Risk and follow-ups

The changed surface is executable agent instruction and gate behavior, not documentation-only. Residual risk is instruction interpretation drift; exact smoke contracts, fresh independent review, cursor-complete comment triage, and hosted checks are the merge gate. #1543 owns truthful secrets-verdict evidence, #1544 owns the bounded one-time policy-copy cleanup, #1291 owns eventual Codex-mirror retirement, and #1269 retains its non-review scope.

Closes #1532

Signed-off-by: Chris0Jeky <jeky.tck@gmail.com>
Signed-off-by: Chris0Jeky <jeky.tck@gmail.com>
…doctrine

Signed-off-by: Chris0Jeky <jeky.tck@gmail.com>

# Conflicts:
#	docs/IMPLEMENTATION_MASTERPLAN.md
#	docs/STATUS.md
Signed-off-by: Chris0Jeky <jeky.tck@gmail.com>
Signed-off-by: Chris0Jeky <jeky.tck@gmail.com>
@Chris0Jeky

Copy link
Copy Markdown
Owner Author

Review-fix evidence — exact head f2b991f8d93b47c0cd7b9a53dce4debffb54b9ee

This follow-up settles the eight validated findings from PR #1531 review 4787433305:

  1. HIGH — issue-to-PR external-state contract: 2bdd8163918bdb10f69af18c2d664303c6fe05d6 limits the canonical workflow to merge readiness and preserves the unmerged handoff.
  2. HIGH — required T3 independent review: 2bdd8163918bdb10f69af18c2d664303c6fe05d6 makes the first independent pass mandatory in both batch wrappers; only additional lenses are optional.
  3. MEDIUM — Fable two-reviewer/aging copy: 2bdd8163918bdb10f69af18c2d664303c6fe05d6 delegates reviewer count, disposition, convergence, and waiting to the canonical pipeline.
  4. MEDIUM — runtime risk-lens parity: 2bdd8163918bdb10f69af18c2d664303c6fe05d6 restores the Claude sensitive-surface flag and aligns Codex wording.
  5. MEDIUM — pre-merge fix loop: 2bdd8163918bdb10f69af18c2d664303c6fe05d6 turns pre-merge into a fail-closed evidence gate that returns untriaged work to review-and-ship.
  6. MEDIUM — PR-create hook doctrine copy: f1532a465130ce885e9e4a3ca20170cb8cd3c8b7 reduces the hook to one pointer and adds an exact-output smoke assertion.
  7. MEDIUM — missed worker/batch/OpenAI directives: 2bdd8163918bdb10f69af18c2d664303c6fe05d6 replaces standalone fix/re-review instructions with canonical routing.
  8. MEDIUM — canonical delivery docs: f1532a465130ce885e9e4a3ca20170cb8cd3c8b7 adds the transition; f2b991f8d93b47c0cd7b9a53dce4debffb54b9ee reconciles it with the live fact that Collapse review doctrine to one home (agent-harness#101) #1531 already merged and [Bug] Repair merged review-doctrine gate regressions from PR #1531 #1532 now owns remediation.

The global-skill availability suggestion remains declined with live evidence: both runtime skill copies exist on this host; agent-harness#101 requires links instead of a restored repo-local pipeline; BLUEPRINT.md names claude-config as the shared source. The live .codex mirror remains deliberately separate under #1291.

Local proof

  • global law parity: 86 mirrored obligations / 12 laws / 25 Codex items
  • docs governance and golden-principles checks: pass
  • Python compilation and configured hook smoke matrix: pass
  • operational doctrine reference sweep: no superseded phrases
  • git diff --check origin/main..HEAD: pass
  • DCO: all five PR-range commits signed off
  • working tree: clean

No backend/frontend/UI behavior changed; those suites are intentionally left to hosted regression gates.

@Chris0Jeky

Copy link
Copy Markdown
Owner Author

@codex review

@Chris0Jeky Chris0Jeky moved this from Pending to Review in Taskdeck Execution Jul 27, 2026
@Chris0Jeky

Copy link
Copy Markdown
Owner Author

Project-state verification (fresh read after writes): issue #1532 = Now / Priority I; PR #1534 = Review / Priority I. GitHub MCP does not expose ProjectV2 field mutation, so the repository-documented gh project item-edit fallback was used for these four targeted fields, followed by a separate 1,505-item project read filtered to the two exact content numbers.

Signed-off-by: Chris0Jeky <jeky.tck@gmail.com>

@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: f2b991f8d9

ℹ️ 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 thread .codex/skills/taskdeck-issue-batch-orchestrator/SKILL.md Outdated
Comment thread .codex/skills/taskdeck-worktree-issue-worker/SKILL.md
Comment thread docs/agentic/OVERNIGHT_LOOP.fable.md Outdated
Comment thread .claude/skills/pre-merge-gate/SKILL.md Outdated
Comment thread scripts/agent_hooks/smoke_test.py Outdated
Signed-off-by: Chris0Jeky <jeky.tck@gmail.com>
@Chris0Jeky

Copy link
Copy Markdown
Owner Author

Final fix-round evidence — exact head 9607d10f0cfc3ae0458a62e7d5ecf496fb7aa737

The fresh independent review identified three additional in-scope gaps, all fixed in the bounded repair round:

  • MEDIUM — stale Codex issue-worker route: 1106460b971a257ff6f01cdf8650663bba26818f replaces .codex/config.toml's self-review instruction with canonical review-pipeline handoff.
  • MEDIUM — batch block could reopen its own fix loop: 9607d10f0cfc3ae0458a62e7d5ecf496fb7aa737 scopes CI/comment mechanics to a fix batch selected by review-and-ship and explicitly says it is not another finding-disposition or review/fix cycle.
  • HIGH — pre-merge gate could report READY without an arrived T3 review: 9607d10f0cfc3ae0458a62e7d5ecf496fb7aa737 requires an arrived independent review at the exact head/base, reads review summaries and resolved-thread state, rejects requests/reactions/worker-authored reviews/coordinator scans as proof, and routes missing evidence or red CI back to the owning canonical/recovery lane.

The docs wording was also made state-neutral in 1106460b971a257ff6f01cdf8650663bba26818f, so it remains true after merge.

Scoped verification at the final local head:

  • docs governance + golden principles: pass
  • configured hook smoke + Python compilation: pass
  • .codex/config.toml parse: pass
  • global law parity: 86 obligations / 12 laws / 25 Codex items
  • final doctrine reference sweep: pass
  • targeted review-gate contract assertions: pass
  • git diff --check: pass
  • DCO: all seven PR-range commits signed off
  • working tree: clean

The prior comment records the first eight finding mappings at the then-current head; this comment supersedes its five-commit count and supplies the final fix-round evidence.

@Chris0Jeky

Copy link
Copy Markdown
Owner Author

@codex review

@Chris0Jeky

Copy link
Copy Markdown
Owner Author

Disputed review-lens scope line — declined/informational

The .codex/skills/taskdeck-pr-review-loop/SKILL.md instruction Do not merge PRs is retained. It is a capability/scope guard for the read-only Taskdeck review-lens role, not a repository merge-policy rule: the skill identifies itself as Taskdeck-specific lenses over the global review-and-ship pipeline, and its tooling section delegates pipeline ownership while prohibiting that reviewer from mutating merge/settings state. The owning coordinator/pipeline remains free to merge when the declared gate passes. Removing this guard would broaden a reviewer role's external-write authority without fixing the reviewed bypass, so no commit is warranted.

@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: 9607d10f0c

ℹ️ 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 thread .claude/skills/pre-merge-gate/SKILL.md Outdated
Comment thread docs/IMPLEMENTATION_MASTERPLAN.md
Comment thread .claude/skills/pre-merge-gate/SKILL.md Outdated
Signed-off-by: Chris0Jeky <jeky.tck@gmail.com>
Signed-off-by: Chris0Jeky <jeky.tck@gmail.com>

@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: ec264ebc42

ℹ️ 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 thread .claude/skills/pre-merge-gate/SKILL.md Outdated
Signed-off-by: Chris0Jeky <jeky.tck@gmail.com>

@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: 3db668ce73

ℹ️ 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 thread docs/agentic/OVERNIGHT_LOOP.codex.md
Comment thread .claude/skills/pre-merge-gate/SKILL.md Outdated
Comment thread .claude/skills/pre-merge-gate/SKILL.md Outdated
…ine-gaps

Signed-off-by: Chris0Jeky <jeky.tck@gmail.com>

# Conflicts:
#	docs/agentic/OVERNIGHT_LOOP.claude.md
#	docs/agentic/OVERNIGHT_LOOP.codex.md

@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: 6e70341a51

ℹ️ 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 +44 to +45
If any comment lacks a recorded disposition from the global `review-and-ship` pipeline, report the
PR as blocked and stop. This gate does not create a separate finding-disposition or fix loop.

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 Limit disposition checks to actionable findings

When a PR has any ordinary informational comment—such as a successful bot notice, status update, or maintainer note—this condition blocks it because such comments naturally have no review-and-ship finding disposition. The surrounding checks and lines 81–84 only require dispositions for actionable findings, so retain that narrower scope rather than making every issue or review comment a permanent merge blocker.

AGENTS.md reference: AGENTS.md:L5-L7

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

Confirmed HIGH / merge blocker. The condition directly converts normal status, bot-success, and maintainer notes into permanent blockers. The bounded two-round pipeline is exhausted, so this remains unresolved and the PR is parked; #1532 owns the repair.

Signed-off-by: Chris0Jeky <jeky.tck@gmail.com>

@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: f2000136a6

ℹ️ 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".


## Delivery update (2026-07-27, agentic review-doctrine consolidation)

- **Single review-workflow home (`#1531` merged; remediation `#1532` / PR `#1534`):** Taskdeck's local instructions, skills, overnight manuals, and PR-create hook are reduced to routing, Taskdeck-specific lenses, and repository mechanics while the estate-wide `review-and-ship` skill owns the executable pipeline. PR `#1531` landed before two HIGH and six MEDIUM exact-head review findings were repaired; the bounded remediation restores the issue-to-PR external-state contract, the mandatory T3 independent pass, policy-neutral Fable/pre-merge/worker/hook routing, runtime-mirror risk-lens parity, and current documentation. This supersedes the review/aging portion of `#1269` without rewriting historical delivery records. The live `.codex` mirror is retained until its separately tracked retirement under `#1291`.

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 Route the surviving contributor self-review rule

The claimed single-home transition remains incomplete for normal contributors: CONTRIBUTING.md:284-304 is the active pull-request process, and lines 300-301 still require a separate reviewer-style self-review before requesting review. Anyone following that entrypoint therefore receives parallel review doctrine instead of routing the PR directly to review-and-ship; update that instruction before recording the local workflow as reduced to routing and repository mechanics.

AGENTS.md reference: AGENTS.md:L5-L7

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

Confirmed HIGH / merge blocker for this executable instruction change. The active contributor entrypoint still mandates a parallel reviewer-style loop, directly preserving the review rabbit hole this PR claims to remove. No third fix cascade: the PR is parked and #1532 owns the repair.

Comment on lines +61 to +63
Immediately after the local checks, rerun the Step 1 PR query, every Step 2 comment/review/thread
read through its final cursor, and `gh pr checks`. This is the final external-state snapshot used by
the verdict. Compare its `headRefOid` and `baseRefOid` with the initial values. If either OID changed,

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 Close the refreshed snapshot with another OID query

When the base or head changes after Step 4's opening PR query but before the comment, thread, and check reads finish, this procedure has no closing query with which to detect that change and can validate evidence against the obsolete OIDs. Fresh evidence beyond the earlier refresh fix is that the implemented sequence performs the Step 1 query only once at the start of the multi-request snapshot while nevertheless claiming it can detect changes during that snapshot; re-read and compare the OIDs after the final external-state request before issuing the verdict.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

Confirmed HIGH / merge blocker after independent current-base review. Without a closing OID/mergeability read, a concurrent push or base move can combine stale H1 identity with later H2 comments/checks and incorrectly declare readiness. This remains unresolved under parked #1532.

Comment thread scripts/agent_hooks/smoke_test.py
@Chris0Jeky

Copy link
Copy Markdown
Owner Author

Parked after bounded final review — exact head f2000136

The final connector pass and an independent review against main@3ee5a8bf agree that the PR is not merge-ready:

  • HIGH: ordinary informational comments are treated as missing finding dispositions.
  • HIGH: CONTRIBUTING.md still mandates a parallel reviewer-style self-review.
  • HIGH: the final multi-request snapshot lacks a closing OID/mergeability read, so concurrent head/base drift can escape detection.
  • MEDIUM: prose-wrapping-sensitive smoke assertions are weak and noisy; tracked by [Harness] Remove Taskdeck-local review-policy copies and route to canon #1544 and resolved as non-blocking.

All four findings have one-pass dispositions on their threads. The three blockers remain unresolved. The pipeline has exhausted its two review/fix rounds, so there is no third fix cascade: this ready-for-review PR stays open and parked, and #1532 remains the owning task.

Local exact-head evidence remains valid for what it exercised: hook smoke PASS, docs governance PASS, Golden Principles PASS, GitHub-ops governance PASS, git diff --check PASS, DCO 12/12. Hosted checks are evidence, but cannot override unresolved merge blockers.

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

Labels

None yet

Projects

Status: Review

Development

Successfully merging this pull request may close these issues.

[Bug] Repair merged review-doctrine gate regressions from PR #1531

1 participant