Skip to content

Emit coordination telemetry and provenance at workflow checkpoints - #290

Merged
justin808 merged 33 commits into
mainfrom
aw-d-205206-workflows
Aug 3, 2026
Merged

Emit coordination telemetry and provenance at workflow checkpoints#290
justin808 merged 33 commits into
mainfrom
aw-d-205206-workflows

Conversation

@justin808

@justin808 justin808 commented Jul 31, 2026

Copy link
Copy Markdown
Member

Why

Coordinated batches need durable, backend-neutral telemetry and verified execution provenance. Without these contracts, closeout can silently infer missing backend state, lose route/host identity, or report incomplete assignment and audit evidence as if it were complete.

Outcome

This PR:

  • emits typed coordination events at existing help, escalation, intervention, error, and lifecycle checkpoints;
  • records verified pack SHA plus coordinator and per-lane worker model/effort/host provenance, preserving explicit UNKNOWN when facts cannot be authenticated;
  • keeps planning, execution, pause/continue, PR monitoring, and backend-neutral documentation synchronized;
  • enforces current-wave assignment completeness and the exact batch-audit closeout command;
  • synchronizes the canonical signed launch-observation payload, including actual_host after launch_token, and the exact legacy pre-host migration rule across all six authoritative surfaces;
  • keeps Lane Card provenance grammar plural (PR URLs / issue URLs) across the workflow and both batch prompts, with a non-vacuous contract guard.

Scope

  • Current head: 4f626084a03ae23b336aa18e1807e097b04ae64f
  • Tree: d025594886b2a03b5d0037c97502a32b0a8bd8c7
  • Parent: d34553551969402c3b622baf19374c125e9a1b66
  • Frozen base and merge-base: e2106ebcb657ca38b93656d3bfc5487a4da70a83
  • Authorized diff: exactly 18 paths, +1993/-147
  • Final Lane Card URL-grammar correction: exactly four paths, +15/-3

PR #290 was squash-merged by maintainer justin808 as 282a87aaf4bf1dd602723efddc78252f7a138235 from exact reviewed head 4f626084a03ae23b336aa18e1807e097b04ae64f. The merge commit's sole parent is 015970aa752827b501ec37be421612361fd5b9d6, and its tree d2f46622f558a5a64e75133ef8a00466f3500da1 exactly matches the independently constructed combined-tip tree.

Verification

  • Exact detached M1 bin/validate: PASS on attempt 2, exit 0, 1,084 seconds; RuboCop 115 files/0 offenses; log SHA-256 2ccfad48d66b66c17222eb6c3e2b8cb985249e9e000f0150ddb53f88afb19ea5.
  • Attempt 1 remains recorded as an unwaived harness-configuration failure: runner umask 077 made the unchanged mode-comparison fixture non-discriminating. Attempt 2 changed only the validator child umask to 022.
  • Focused contracts: model routing 21/1,291; telemetry 29/3,258; goal 76/1,102; dispatcher 74/831; signed runtime targets 5/230; policy 16/405; prompt, syntax, RuboCop, and diff checks PASS.
  • Independent QA: CLEAN across every authorized hunk; 207/207 unsafe mutations rejected with zero survivors.
  • Independent checker: CLEAN and publication-safe; P0/P1/P2/P3/Must-Fix/BLOCKING/DISCUSS all zero.
  • Protected merge helpers and tests retain the exact frozen-base blobs and executable modes.
  • Trusted stage-dependency gate reproduced byte-for-byte with no blockers or base refresh and checker eligible.
  • Security preflight: SECURITY_PREFLIGHT_OK; no API coverage, untrusted/hidden participant, untrusted/metadata queue, or suspicious-text findings requiring action.
  • Current-head hosted gates: Lint PASS, validate PASS, claude-review PASS, and CodeRabbit PASS/approved.
  • Final review inventory: all 40/40 review threads resolved, no unresolved current-head feedback, and the post-merge late bot/thread sweep is clean.
  • Combined-tip validation against 015970aa752827b501ec37be421612361fd5b9d6: PASS, exit 0, 1,644 seconds; RuboCop 117 files/0 offenses; log SHA-256 f3e238954b249ca7772413f0f6b8c3ed9aceb63a8f737c42dbed671395710a6e.
  • Completed-batch audit: CLEAN and replay-ready with no blockers; durable receipt.
  • Changelog and formatting suggestions: terminal maintainer accepted-deferral; no changelog issue, PR, or scope expansion was created.

Confidence note: exact-head validation, independent QA/checker review, dependency replay, security preflight, hosted CI, review convergence, combined-tip validation, readiness v2, and merge authentication are complete. Issues #205 and #206 are closed by the exact-head merge.

Codex Decision Log

  • Resolved: origin/main advanced after the frozen-base candidate was validated and had two overlapping paths.
    • Decision: Preserve the exact authenticated candidate, validate the synthetic combined tip against 015970aa, and authenticate the final squash-merge tree.
    • Outcome: Combined-tip validation passed, and merge 282a87aaf4bf1dd602723efddc78252f7a138235 has the identical d2f46622f558a5a64e75133ef8a00466f3500da1 tree.

QA Evidence

  • QA required: yes
  • QA lane status: satisfied
  • Scope checked: every hunk across exactly 18 paths, including the four-path Lane Card URL-grammar correction and all signed payload/migration surfaces
  • Automated checks: focused suites above, full detached M1 validation, and 207 independent negative controls
  • Manual checks: plural URL grammar across all prompt surfaces, payload ordering, legacy confirmed-history replay, pending activation fence, current signed nonempty actual_host, documentation/code/test parity, and protected-helper parity
  • User-visible UI change: no
  • Findings: none
  • Release-blocking status: clear
  • Process-gap disposition: checklist+replay

Closes #205
Closes #206

@coderabbitai

coderabbitai Bot commented Jul 31, 2026

Copy link
Copy Markdown

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

Walkthrough

The PR adds batch provenance manifests, typed coordination telemetry, prompt-contract validation, ownership-recovery guidance, telemetry-completeness checks, and outcome-bound remediation authority for PR-batch workflows.

Changes

PR-batch coordination contracts

Layer / File(s) Summary
Provenance manifest and registration
docs/coordination-backend.md, skills/plan-pr-batch/SKILL.md, skills/pr-batch/SKILL.md, skills/triage/SKILL.md, workflows/pr-processing.md
Batch planning and registration now record pack identity, coordinator and worker routes, lane hosts, and registration evidence.
Prompt and execution contracts
skills/plan-pr-batch/SKILL.md, skills/pr-batch/SKILL.md, skills/triage/SKILL.md, skills/plan-pr-batch/scripts/check_goal_prompt_size.rb, skills/pr-batch/bin/goal-completion-contract-test.rb, workflows/pr-processing.md
Generated prompts and execution rules now require objective text, manifest data, exact current-wave assignment, worker ownership, dependencies, QA, and structured closeout content.
Typed telemetry and closeout checkpoints
docs/coordination-backend.md, skills/continue/SKILL.md, skills/pause/SKILL.md, skills/pr-batch/SKILL.md, skills/pr-monitoring/SKILL.md, workflows/pr-processing.md
Help, escalation, error, intervention, drain, and closeout checkpoints now use typed private-backend events with best-effort and UNKNOWN handling.
Telemetry and remediation contract validation
skills/pr-batch/bin/coordination-telemetry-contract-test.rb, skills/pr-batch/bin/goal-completion-contract-test.rb, bin/validate
Ruby contract tests validate manifests, prompts, event mappings, audit semantics, transport behavior, and outcome-bound remediation authority. bin/validate runs the telemetry contract test.

Estimated code review effort: 4 (Complex) | ~45 minutes

Sequence Diagram(s)

sequenceDiagram
  participant BatchPlanner
  participant PRBatchWorker
  participant PrivateBackend
  participant Coordinator
  BatchPlanner->>PrivateBackend: register provenance manifest
  PRBatchWorker->>PrivateBackend: emit typed coordination event
  Coordinator->>PrivateBackend: run telemetry-completeness audit
  PrivateBackend-->>Coordinator: return audit result
Loading

Possibly related PRs

Suggested reviewers: ihabadham

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Linked Issues check ✅ Passed The changes address typed events and closeout auditing [#205], plus manifest provenance, routes, hosts, and prompt propagation [#206].
Out of Scope Changes check ✅ Passed The changes stay within workflow telemetry, provenance, documentation, validation, and contract tests required by [#205] and [#206].
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the pull request's main changes: coordination telemetry and provenance at workflow checkpoints.
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch aw-d-205206-workflows

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.

@coderabbitai coderabbitai 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.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@workflows/pr-processing.md`:
- Line 1167: Define the canonical manifest lane provenance mapping at
workflows/pr-processing.md:1167-1167 as repeatable
lane-id-to-host-and-worker-route entries, then mirror it at
skills/plan-pr-batch/SKILL.md:585-585 and skills/pr-batch/SKILL.md:526-526.
Update skills/plan-pr-batch/scripts/check_goal_prompt_size.rb:18-20 to validate
the revised mapping, and update
skills/pr-batch/bin/coordination-telemetry-contract-test.rb:10-12 to assert it
across all prompt templates.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: dfd35691-d4da-4bf3-9cd8-d7de17508dd9

📥 Commits

Reviewing files that changed from the base of the PR and between 777c4a8 and 1b70679.

📒 Files selected for processing (10)
  • bin/validate
  • docs/coordination-backend.md
  • skills/continue/SKILL.md
  • skills/pause/SKILL.md
  • skills/plan-pr-batch/SKILL.md
  • skills/plan-pr-batch/scripts/check_goal_prompt_size.rb
  • skills/pr-batch/SKILL.md
  • skills/pr-batch/bin/coordination-telemetry-contract-test.rb
  • skills/pr-monitoring/SKILL.md
  • workflows/pr-processing.md

Comment thread workflows/pr-processing.md Outdated
@claude

claude Bot commented Jul 31, 2026

Copy link
Copy Markdown

Review

This PR adds workflow-side telemetry/provenance guidance (typed coordination events, batch provenance manifest) across the pr-batch/pr-processing doc family, plus a new contract test. Overall the additive telemetry guidance (help_requested/escalation_requested/error/human_intervention, pack_sha/coordinator_route/worker_route manifest) is well cross-referenced and backed by a new contract test (skills/pr-batch/bin/coordination-telemetry-contract-test.rb), consistently wired into bin/validate. A few issues worth a look before merge:

1. Goal: field name collision in the compacted Goal Prompt template (bug)

To make room for the new Manifest: line under the character budget, the template's top-level Objective: ... field was renamed to Goal:... in all three copies (workflows/pr-processing.md:1162, skills/pr-batch/SKILL.md:521, skills/plan-pr-batch/SKILL.md:580). But the same template already has a per-item field a few lines below: Goal: one-line outcome. (under Items:). The template now uses the identical label Goal: for two different concepts at two different scopes (whole-batch purpose vs. per-target one-line outcome), distinguished only by indentation. This is easy to misparse, especially since this text is pasted verbatim into Codex/Claude as literal instructions. It's also now inconsistent with skills/plan-pr-batch/SKILL.md:510 ("Batch Plan Format" still says - Objective:) and with prose elsewhere that still calls it "batch objective" (workflows/pr-processing.md:1373, skills/triage/SKILL.md). This rename isn't mentioned anywhere in the PR description. Recommend keeping a distinct label (e.g. Objective: or Batch Goal:) for the top-level field.

2. Silent loss of the Final-closeout checklist in the compact template

The old line - Final: canonical closeout; links/tests/blockers/next+confidence/UNKNOWN+authority+QA+state. was replaced with just Final: canonical closeout; (no bullet, no enumeration) in all three copies of the template. That enumerated checklist string doesn't appear anywhere else in the repo after this change (verified via grep) — it's simply gone, apparently to save characters for the new Manifest: line. This isn't called out in the PR description, and it removes the only place the compact, copy-pasted prompt spelled out what a final handoff must include, relying entirely on the reader following through to the full Coordinator Closeout Lane section instead.

3. Similarly, the - Apply Batch QA Lane; include QA Evidence. execution-rule bullet was dropped

It looks like this was folded into the Batch QA Lane: field itself (now Batch QA Lane:<apply owner/scope+QA Evidence|none+rationale>), so this one is probably fine, but combined with #2 it's part of an unadvertised compaction/rewording pass bundled into a PR that's framed as purely additive telemetry work. Worth confirming in the PR description that this compaction was intentional and reviewed as carefully as the new telemetry lines.

4. Minor: test helper's section-boundary logic doesn't respect heading level

In coordination-telemetry-contract-test.rb, extract_section finds the end of a section by searching for the next ^###\s+ (h3) heading, regardless of whether the starting heading is h2 or h3. For an h2 section like "## Review Comment Handling", if there's an intervening ## heading before the next ###, the extracted "section" silently spans into the next h2 section too (I confirmed this happens for "## Review Comment Handling", which currently bleeds into the unrelated "## Merge Endgame Debounce And Waiver Soak" section before hitting the next ###). It happens not to cause a false pass today because the asserted phrases land inside the intended section, but the helper would give false confidence if a future edit put the required phrase in the wrong (but adjacent) section. Consider tracking heading level so the boundary also stops at any heading of equal-or-higher level.

Nitpick

Whitespace/formatting compaction in the template is inconsistent — some fields dropped the space after the colon (Repo:OWNER/REPO, merge_authority:<...>) while others kept it (Coordinator model/effort: <model/class>/<effort>.). Not a functional issue, just a style inconsistency worth a pass if the budget allows.

Nothing security-sensitive here (pure documentation/prompt text plus self-contained Ruby test scripts reading local repo files).

@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: 1b70679104

ℹ️ 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 workflows/pr-processing.md Outdated
@claude

claude Bot commented Aug 1, 2026

Copy link
Copy Markdown

Review

Overview

This PR adds workflow-side telemetry/provenance for PR-batch coordination: four typed coordination events (help_requested, escalation_requested, error, human_intervention) at existing checkpoints, a backend-neutral batch provenance manifest (pack_sha, coordinator_route, per-lane host/worker_route), a gated agent-coord batch-audit closeout check, and a new contract test (coordination-telemetry-contract-test.rb) that cross-validates the docs/skills/workflow files stay in sync. It's bundled with an unrelated compaction pass on the pasteable Goal-mode prompt templates to keep them under the character budget.

The new contract test is solid: it round-trips the operational-signal table, the JSON manifest example, exact command-occurrence counts, and the help_requested.reason precedence text across every synced file, and it has its own unit tests for the markdown-section extractor. I manually verified the counts it asserts (telemetry audit: unavailable, the exact agent-coord batch-audit … command) against the current files and they match.

Issue found: dropped execution-rule instruction

The character-budget compaction of the three synced Goal-mode prompt templates (workflows/pr-processing.md, skills/pr-batch/SKILL.md, skills/plan-pr-batch/SKILL.md) silently drops the line:

- Apply Batch QA Lane; include QA Evidence.

It was merged/collapsed with the adjacent "Run gates; merge only when…" bullet, but the actual "apply the Batch QA Lane / include QA Evidence" imperative is gone from all three copies — not just reworded. E.g. in workflows/pr-processing.md:

-- Apply Batch QA Lane; include QA Evidence.
-- Run gates; merge only when `merge_authority` is `auto_merge_when_gates_pass` or explicit merge approval exists, release+gates pass; document confidence data in the PR description.
+merge only when `merge_authority` is `auto_merge_when_gates_pass`|explicit merge approval;release+gates pass;document confidence data in the PR description

The Batch QA Lane: field itself is still declared in the template header, but nothing in the execution rules now tells the coordinator/workers to actually apply it or include QA Evidence in the handoff. Grepping the whole repo post-change turns up zero occurrences of "Apply Batch QA Lane". Since check_goal_prompt_size.rb's required_all_prompt_phrases list doesn't assert for this phrase either, nothing catches the loss. This looks like unintentional collateral damage from the unrelated compaction work bundled into this PR rather than an intended behavior change — worth restoring (or confirming it's genuinely redundant with something else) before merge.

Minor / style

  • The compaction introduces inconsistent colon-spacing across the template (Repo:OWNER/REPO vs Preflight: issue/PR=>... vs Batch size target: <...>;wave: <...> — space after colon sometimes, not others, sometimes only on one side of a line). Since this is a human/agent-facing prompt meant to be pasted, the inconsistent style is a minor readability regression purely in service of the character budget. Not a blocker, but consider a documented convention if further squeezing is needed again.
  • The prompt-compaction and the QA-lane bullet drop are unrelated to this PR's stated telemetry/provenance scope — might be worth splitting into a separate PR for clarity/blame, though not required.

Security/perf

No security or performance concerns beyond the above — this PR only touches documentation/prompt-template text and a Ruby contract test; no executable/runtime code paths change. The new literal agent-coord batch-audit --batch-id <id> --json template is fine as documentation since <id> is coordinator-generated, not attacker-controlled input.

@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: 072b7feb65

ℹ️ 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 skills/plan-pr-batch/scripts/check_goal_prompt_size.rb
Comment thread workflows/pr-processing.md Outdated
Comment thread skills/pr-batch/SKILL.md Outdated
Comment thread skills/plan-pr-batch/SKILL.md Outdated

@coderabbitai coderabbitai 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.

Actionable comments posted: 2

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
skills/pr-batch/bin/coordination-telemetry-contract-test.rb (2)

218-230: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Reject altered agent-coord executables.

The negative lookbehind accepts other-agent-coord batch-audit --batch-id <id> --json because the immediate prefix still ends with agent-coord . Scan every batch-audit invocation and require its executable token to equal agent-coord.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@skills/pr-batch/bin/coordination-telemetry-contract-test.rb` around lines 218
- 230, Update test_authoritative_closeout_surfaces_use_exact_batch_audit_command
to reject any batch-audit invocation whose executable token is not exactly
agent-coord, including prefixed names such as other-agent-coord. Scan each
batch-audit command in the checked files and validate the complete executable
token rather than relying on the current negative lookbehind.

154-160: 🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick win

Validate manifest field values.

Lines 155-160 only validate key presence. A manifest can use null or an empty string for coordinator_route, worker_route, or host and still pass. Require each provenance value to be a non-empty string, with UNKNOWN as the explicit fallback.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@skills/pr-batch/bin/coordination-telemetry-contract-test.rb` around lines 154
- 160, Strengthen the manifest assertions around coordinator_route, each lane’s
worker_route, and host so every provenance value is validated as a non-empty
string, while permitting UNKNOWN as the explicit fallback. Update the checks in
the existing manifest and lanes iteration without changing the required key
sets.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@skills/pr-batch/bin/coordination-telemetry-contract-test.rb`:
- Around line 232-243: Update
test_batch_audit_fails_closed_only_for_an_advertised_capability to extract each
closeout section from the workflow, coordination document, and PR batch skill
content before asserting. Within every extracted section, verify
AUDIT_CAPABILITY appears in the gating condition and AUDIT_UNAVAILABLE is
recorded at the expected count, rather than matching both independently across
the whole file.

In `@skills/pr-batch/SKILL.md`:
- Around line 793-800: Restrict the telemetry-completeness audit flow to
backends with a defined audit contract, specifically `agent-coord` compatible
backends. Update the surrounding `coordination_backend` capability logic so
unsupported or unknown backends record `telemetry audit: unavailable` and
continue, while only `agent-coord batch-audit --batch-id <id> --json` results
can trigger blocking closeout behavior.

---

Outside diff comments:
In `@skills/pr-batch/bin/coordination-telemetry-contract-test.rb`:
- Around line 218-230: Update
test_authoritative_closeout_surfaces_use_exact_batch_audit_command to reject any
batch-audit invocation whose executable token is not exactly agent-coord,
including prefixed names such as other-agent-coord. Scan each batch-audit
command in the checked files and validate the complete executable token rather
than relying on the current negative lookbehind.
- Around line 154-160: Strengthen the manifest assertions around
coordinator_route, each lane’s worker_route, and host so every provenance value
is validated as a non-empty string, while permitting UNKNOWN as the explicit
fallback. Update the checks in the existing manifest and lanes iteration without
changing the required key sets.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 8e290168-e602-4f22-96f9-039f61eb047b

📥 Commits

Reviewing files that changed from the base of the PR and between 1b70679 and 072b7fe.

📒 Files selected for processing (7)
  • docs/coordination-backend.md
  • skills/plan-pr-batch/SKILL.md
  • skills/plan-pr-batch/scripts/check_goal_prompt_size.rb
  • skills/pr-batch/SKILL.md
  • skills/pr-batch/bin/coordination-telemetry-contract-test.rb
  • skills/pr-batch/bin/goal-completion-contract-test.rb
  • workflows/pr-processing.md
🚧 Files skipped from review as they are similar to previous changes (2)
  • docs/coordination-backend.md
  • workflows/pr-processing.md

Comment thread skills/pr-batch/bin/coordination-telemetry-contract-test.rb
Comment thread skills/pr-batch/SKILL.md Outdated
@claude

claude Bot commented Aug 1, 2026

Copy link
Copy Markdown

Review: Emit coordination telemetry and provenance at workflow checkpoints (PR #290)

Overview
This PR is a large, docs/prompt-only change (no application code) that:

  • Adds a Batch Provenance Manifest and Operational Signal Events section to docs/coordination-backend.md.
  • Wires four typed events (help_requested, escalation_requested, human_intervention, error) into the existing checkpoints across workflows/pr-processing.md, skills/pr-batch, skills/pause, skills/continue, skills/pr-monitoring.
  • Adds a Manifest: line (pack SHA, coordinator/worker route, host) to the canonical pasteable $pr-batch goal-prompt template, and compacts several other lines in that same template (dropping spaces/blank lines) to stay under the prompt's character budget.
  • Adds a new contract test (skills/pr-batch/bin/coordination-telemetry-contract-test.rb, 357 lines) that asserts the new sections/phrases are present verbatim across all synchronized files, and wires it into bin/validate.

Since this repo's actual logic is almost entirely markdown prompt specs enforced by string-matching Ruby tests, I focused on cross-file consistency of the templates/phrases rather than traditional runtime bugs. I verified (via grep) that the exact 'agent-coord batch-audit --batch-id --json' command occurs the number of times the new test expects (2 in workflows/pr-processing.md, 1 each in docs/coordination-backend.md and skills/pr-batch/SKILL.md), and that the new numbered closeout steps don't leave any stale cross-references to old step numbers.

Findings
Posted as inline comments:

  1. Template dialect fork - the canonical $pr-batch goal-prompt template (workflows/pr-processing.md, skills/pr-batch/SKILL.md, skills/plan-pr-batch/SKILL.md) was compacted (bullets/spaces stripped) to make room for the new Manifest: line, but skills/triage/SKILL.md's 'exact line' requirements for its own generated prompts were left in the old, spaced/bulleted form, even though the same Manifest: line was inserted there too. This forks what was previously one shared phrase set into two dialects that must now be kept in sync by hand (see the new TRIAGE_* duplicate constants added to check_goal_prompt_size.rb).
  2. Inconsistent bullets within one list - in the compacted Execution rules: block, some items lost their leading dash (Base:..., Current wave:..., Workers:..., Apply Batch QA Lane..., merge only when..., Final:...) while others kept it (- Resolve $pr-batch, - Bind actors, - Dispatch: pending, - For coordination, - ask=>), in both workflows/pr-processing.md and skills/pr-batch/SKILL.md. Looks like an artifact of manual character-budget trimming rather than an intentional distinction.

Nothing else stood out as a functional bug; the extensive contract-test additions look internally consistent with the doc changes (spot-checked several of the new assertions against the actual file contents).

Comment thread skills/triage/SKILL.md Outdated
Comment thread workflows/pr-processing.md

@coderabbitai coderabbitai 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.

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
skills/plan-pr-batch/SKILL.md (2)

379-379: 📐 Maintainability & Code Quality | 🟠 Major | ⚡ Quick win

Remove the hardcoded consumer-repository documentation path.

The shared skill hardcodes docs/coordination-backend.md. Consumer repositories may not contain that path. Resolve repository-specific documentation through the corresponding AGENTS.md seam key instead.

As per coding guidelines, shared skills/*/SKILL.md files must not hardcode consumer-repository paths.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@skills/plan-pr-batch/SKILL.md` at line 379, Replace the hardcoded
docs/coordination-backend.md reference in the Batch Provenance Manifest guidance
with resolution through the corresponding AGENTS.md seam key. Keep the
documentation lookup repository-specific and ensure the shared SKILL.md contains
no consumer-repository path.

Source: Coding guidelines


585-586: 🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

Preserve verified provenance in both goal templates.

Both templates use opaque placeholders that do not require a verified pack value or expose each lane's worker model, effort, host, and binding source. Update both templates to use explicit field grammar and UNKNOWN fallbacks. The separate Lane Card does not replace manifest provenance.

  • skills/plan-pr-batch/SKILL.md#L585-L586: define explicit pack_sha and per-lane worker fields.
  • skills/pr-batch/SKILL.md#L524-L527: apply the same manifest grammar.

Based on the PR objective, goal prompts must preserve verified provenance without inventing unavailable values.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@skills/plan-pr-batch/SKILL.md` around lines 585 - 586, Update the
goal-template provenance grammar at skills/plan-pr-batch/SKILL.md:585-586 to use
explicit pack_sha and per-lane worker model, effort, host, and binding fields
with UNKNOWN fallbacks, while retaining the no-guesses rule. Apply the same
manifest grammar at skills/pr-batch/SKILL.md:524-527; ensure both templates
preserve verified provenance and do not rely on the separate Lane Card or invent
unavailable values.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@skills/plan-pr-batch/scripts/check_goal_prompt_size.rb`:
- Around line 875-884: Update the prompt-size fixtures in the first and second
ready-item definitions to use the canonical completion text from the triage
skill’s documented item shape, replacing the shortened Done when text with the
required merge_authority final-state wording and PR/no-PR evidence or no-fix
rationale.

---

Outside diff comments:
In `@skills/plan-pr-batch/SKILL.md`:
- Line 379: Replace the hardcoded docs/coordination-backend.md reference in the
Batch Provenance Manifest guidance with resolution through the corresponding
AGENTS.md seam key. Keep the documentation lookup repository-specific and ensure
the shared SKILL.md contains no consumer-repository path.
- Around line 585-586: Update the goal-template provenance grammar at
skills/plan-pr-batch/SKILL.md:585-586 to use explicit pack_sha and per-lane
worker model, effort, host, and binding fields with UNKNOWN fallbacks, while
retaining the no-guesses rule. Apply the same manifest grammar at
skills/pr-batch/SKILL.md:524-527; ensure both templates preserve verified
provenance and do not rely on the separate Lane Card or invent unavailable
values.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 576263ab-d6e6-405d-b322-c039fb999d0a

📥 Commits

Reviewing files that changed from the base of the PR and between 072b7fe and 543b27e.

📒 Files selected for processing (7)
  • docs/coordination-backend.md
  • skills/plan-pr-batch/SKILL.md
  • skills/plan-pr-batch/scripts/check_goal_prompt_size.rb
  • skills/pr-batch/SKILL.md
  • skills/pr-batch/bin/coordination-telemetry-contract-test.rb
  • skills/triage/SKILL.md
  • workflows/pr-processing.md
🚧 Files skipped from review as they are similar to previous changes (2)
  • docs/coordination-backend.md
  • workflows/pr-processing.md

Comment thread skills/plan-pr-batch/scripts/check_goal_prompt_size.rb Outdated

@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: 543b27e739

ℹ️ 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 workflows/pr-processing.md Outdated
Comment thread workflows/pr-processing.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: 43653cc084

ℹ️ 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 workflows/pr-processing.md
Comment thread docs/coordination-backend.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: 6644e102fd

ℹ️ 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 workflows/pr-processing.md
* origin/main:
  Gate completed-batch publication on terminal scope and QA (#308)
  Add guarded merge submission seam (#304)
  Fix exact-head readiness when status rows omit SHA (#307)

# Conflicts:
#	workflows/pr-processing.md
@claude

claude Bot commented Aug 3, 2026

Copy link
Copy Markdown

Review

This PR wires four typed coordination events (help_requested, escalation_requested, error, human_intervention) into the existing pause/continue/monitoring/triage/pr-batch checkpoints, adds a backend-neutral batch provenance manifest (pack_sha, coordinator_route, per-lane host/worker_route), and threads actual_host into the signed launch-confirmation v2 payload. It's almost entirely markdown-spec + contract-test changes; the one functional code change is in skills/pr-batch/bin/dispatcher-capability-preflight.

Code quality / correctness

  • The actual_host addition to dispatcher-capability-preflight (launch_observation_payload, confirmation_shape?) is small, well-scoped, and directly closes a real gap: previously a v2 launch confirmation didn't bind the host into the signed observation, so a dispatcher could claim codex while the lane actually ran on claude without that being falsifiable from the signature. The new nonempty_string?(confirmation["actual_host"]) check plus the field's inclusion in the RSA-SHA256-signed canonical payload fixes that, and it's backed by new negative tests (blank actual host, tampered actual host) in dispatcher-capability-preflight-test.rb. Good, targeted change.
  • All new executable-invocation contracts (agent-coord batch-audit, drain-event emission, registration reconciliation) are consistently specified as fixed-executable + ordered-argv, explicitly forbidding shell interpolation/eval/sh -c, and require deadline + process-group termination (bin/agent-coord-bounded). That's the right pattern for anything that shells out based on backend-advertised or otherwise less-trusted input.
  • Emission of the new typed events is consistently specified as best-effort / non-blocking and additive to the existing prose packets (never replacing them), and explicitly deduplicated against backend auto-emitted lifecycle events (claim.acquired, claim.released, phase.changed). The typed event transport: unavailable vs. UNKNOWN distinction (only an attempted write against an advertised transport can degrade to UNKNOWN) is a sensible way to avoid manufacturing false negatives when a backend simply doesn't support the feature.

Maintenance risk

  • The same long paragraphs (route/attestation rules, registration reconciliation rules, the Manifest: prompt line, etc.) are duplicated verbatim across docs/coordination-backend.md, workflows/pr-processing.md, skills/pr-batch/SKILL.md, skills/plan-pr-batch/SKILL.md, and skills/triage/SKILL.md. This matches the existing repo convention (goal prompts must be self-contained/pasteable), but it means every future wording tweak has to be replicated byte-for-byte in 4-5 places, and the new coordination-telemetry-contract-test.rb (938 lines) exists almost entirely to enforce that synchronization via literal string/regex matching. It works, and the negative/mutation-style tests are thorough, but it's a heavy, brittle mechanism — worth being aware this test file will need touching for almost any future wording change to these sections.
  • The goal-prompt templates were also compacted (blank lines removed, ; ;, <field>: <field>:) to keep the new Manifest: / Current wave: lines under the Codex 4,000-character budget. That's a reasonable trade against a hard budget constraint, but it does reduce human readability of the pasteable prompt text (e.g. Repo:OWNER/REPO, merge_authority:<none|ask|auto_merge_when_gates_pass>). Not a blocker since the budget math is enforced by check_goal_prompt_size.rb, just flagging the readability cost.

Minor

  • No CHANGELOG.md entry under [Unreleased] #### Added for this change, even though closely comparable prior features (e.g. the dispatcher-capability preflight itself, the coordination-participation declaration) each got one. Worth adding one, or confirming it's handled by a separate /update-changelog pass.
  • Backward-compat note: because actual_host is now part of the canonical signed payload for v2 launch observations, any already-signed v2 confirmation produced before this change (i.e., signed without actual_host in the payload) will fail signature verification after rollout. That's presumably fine given these are short-lived, freshly-generated per-launch, but worth confirming there's no in-flight-batch scenario where an old signer and new verifier could coexist during a rollout window.

Security

No concerns beyond what's noted above — the argv/no-shell-eval requirements, the signed-payload host binding, and the fail-closed treatment of UNKNOWN/missing evidence throughout are all solid.

Comment thread skills/pr-batch/bin/dispatcher-capability-preflight Outdated
Comment thread skills/pr-batch/SKILL.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: 401750c269

ℹ️ 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 skills/pr-batch/bin/dispatcher-capability-preflight Outdated
Comment thread workflows/pr-processing.md Outdated
Comment thread workflows/pr-processing.md
@claude

claude Bot commented Aug 3, 2026

Copy link
Copy Markdown

Review Summary

This PR adds workflow-side telemetry/provenance (typed help_requested/escalation_requested/error/human_intervention events, batch-registration manifest with pack_sha/coordinator_route/per-lane host+worker_route, and an actual_host field threaded through the launch-confirmation signing/migration path) across docs/coordination-backend.md, workflows/pr-processing.md, and the pr-batch/plan-pr-batch/pause/continue/pr-monitoring/triage skills, plus a large new contract test (coordination-telemetry-contract-test.rb).

What looks solid

  • skills/pr-batch/bin/dispatcher-capability-preflight: the actual_host addition to the signed launch-observation payload, the backward-compatible pre_actual_host_v2_confirmation_shape? path (parseable as history only, never usable to activate launch-pending), and the signature verification against the legacy (pre-actual_host) canonical payload are all correctly implemented and well covered by new tests (dispatcher-capability-preflight-test.rb), including tampering/identity-mismatch rejection.
  • Security posture: every new subprocess-invoking code path (typed-event emission, batch-registration writes, the agent-coord batch-audit closeout check) consistently mandates executable+argv separation, "no shell evaluation" (eval/sh -c explicitly forbidden), a finite hard deadline, and process-group TERMKILL termination. This is good, consistently-applied defense against shell-injection/hangs for what are effectively LLM-driven subprocess invocations.
  • Fail-safe design: typed-event emission and registration writes are explicitly best-effort/non-blocking when unsupported, but fail closed (UNKNOWN, activation blocked) once a capability is advertised and then fails — a sensible split between "backend doesn't support this" and "backend claimed support and lied."

Issues found (see inline comments)

  1. Likely unintended "URLs" → "URL" regression in the Lane Card contract line, introduced by the prompt-compaction pass bundled into this PR. It's now inconsistent across workflows/pr-processing.md, skills/pr-batch/SKILL.md, skills/plan-pr-batch/SKILL.md (singular) vs. skills/triage/SKILL.md (still plural, unchanged) — and the surrounding prose describes two Lane Card URL fields (dashboard_url, pr_url), so plural was correct. No contract test pins the exact line text, so this isn't caught automatically.
  2. Uneven bullet-prefix formatting left behind by the same compaction pass — within one "Execution rules:" list, some lines keep - and others don't, in the same 3 files.

General observations (not blocking, worth a second look)

  • Scope creep: this PR's diff mixes two things — the stated telemetry/provenance feature, and an unrelated mechanical compaction of the Goal Prompt templates (dropping spaces after :/;, collapsing blank lines, merging some bullets) in workflows/pr-processing.md, skills/pr-batch/SKILL.md, and skills/plan-pr-batch/SKILL.md. This appears driven by the Codex prompt character budget (new Manifest:/Current wave: lines needed room), but bundling it with the feature change makes the diff much harder to review line-by-line and is where both issues above slipped in.
  • Heavy duplication: the ~15-line "Typed-event transport is optional…" paragraph is repeated near-verbatim across at least 6 files (docs/coordination-backend.md, skills/continue/SKILL.md, skills/pause/SKILL.md, skills/pr-batch/SKILL.md, skills/pr-monitoring/SKILL.md, workflows/pr-processing.md). This is presumably required by the "self-contained skill file" constraint and is guarded by contract tests, but it's a real maintenance cost — every future wording change to this rule requires touching 6+ files in lockstep.

Overall this is a large but internally consistent and well-tested change (the PR's own contract-test suite is quite aggressive about catching drift between the synchronized surfaces). The two findings above are the concrete gaps that suite didn't catch.

Comment thread CONTEXT.md
@claude

claude Bot commented Aug 3, 2026

Copy link
Copy Markdown

Review: Emit coordination telemetry and provenance at workflow checkpoints

Overview

This PR extends the pr-batch coordination framework with:

  • typed telemetry events (help_requested, escalation_requested, human_intervention, error) emitted at existing checkpoints, with a documented optional/fail-open transport and bounded, shell-free subprocess execution;
  • a backend-neutral "Batch Provenance Manifest" (pack SHA, coordinator/worker route, per-lane host) registered before launch and reconciled after each confirmed launch;
  • an actual_host field added to the signed dispatcher-launch-observation payload, plus a fail-closed migration path for pre-actual_host v2 confirmations that were signed before this change.

The change is almost entirely additive prose (SKILL/workflow docs + docs/coordination-backend.md) backed by a large new Ruby contract-test suite (coordination-telemetry-contract-test.rb), with a small, well-scoped edit to the actual executable, skills/pr-batch/bin/dispatcher-capability-preflight.

Code quality / correctness

  • Signature migration logic is sound. I traced confirmation_shape? / current_v2_confirmation_shape? / pre_actual_host_v2_confirmation_shape? / confirmation_qualifies? in dispatcher-capability-preflight. The split correctly implements "pre-actual_host v2 confirmations are parseable as history but can never activate a pending assignment": confirmation_qualifies? (used to gate confirmed-active transitions) only accepts current_v2_confirmation_shape?, never the pre-migration shape, and structural validation (confirmation_shape?, including assignment_identity? and the nested-UNKNOWN check) is still enforced at the single call site (fail_input(...) unless confirmation_shape?(...)) before either qualifying function is reached. I did not find a downgrade path: stripping actual_host from a current confirmation invalidates its signature (payload changes), and forging actual_host onto a legacy record likewise invalidates its signature against the legacy (host-less) canonical payload.
  • Fail-closed defaults throughout: missing/blank/unsigned/UNKNOWN actual_host blocks activation rather than silently defaulting; unadvertised typed-event/registration transports degrade to a distinct non-blocking "unavailable" state rather than being conflated with an authenticated write failure.
  • Shell-injection posture is good and explicit: every new subprocess contract (typed-event emission, batch registration, telemetry audit) repeats "resolve executable + ordered opaque argv, no shell evaluation, run in its own process group with a hard deadline, TERM then KILL," and this is enforced by dedicated contract-test assertions (refute_match POSITIVE_SHELL_EVALUATION_PATTERN, and a check that the audit command is never presented as literal shell text).
  • Maintainability concern (flagged inline): the same very long paragraph is duplicated verbatim across 6 files (CONTEXT.md, docs/agent-workflows-model-routing.md, docs/pr-batch-skills.md, skills/pr-batch/SKILL.md, skills/triage/SKILL.md, workflows/pr-processing.md), and this PR adds yet more content that must stay byte-identical across all six. This is an existing pattern in the repo, not introduced here, and is defended by a real contract test, but it's a real ongoing cost — any future wording tweak is a 6-file, test-gated edit.
  • The compacted goal-prompt template (skills/plan-pr-batch/scripts/check_goal_prompt_size.rb, workflows/pr-processing.md, skills/plan-pr-batch/SKILL.md) trims spaces/blank lines (e.g. Lane Card:claim/... instead of Lane Card: claim/...) to make room for the new Manifest: line under the Codex 4,000-character budget. The three copies I compared (workflow, pr-batch skill, plan-pr-batch skill) stayed in sync, and with_items's regex was correctly loosened to match the now-blank-line-free template.

Security

No vulnerabilities found. The new signed-payload and manifest-provenance logic is fail-closed by design (UNKNOWN propagates rather than being inferred/guessed), trust anchor resolution/ownership checks are unchanged, and all new subprocess seams are explicitly specified and tested against shell-evaluation regressions.

Test coverage

Coverage is unusually thorough for this kind of change: the new coordination-telemetry-contract-test.rb (952 lines) and additions to dispatcher-capability-preflight-test.rb / model-routing-contract-test.rb don't just assert presence of the new prose, they assert mutants of it fail (deleted clauses, reordered clauses, whitespace-only field values, positive "with shell evaluation" wording, etc.), and there's a positive test (test_pre_actual_host_v2_confirmation_replays_only_as_confirmed_history) plus a negative test (test_pre_actual_host_v2_confirmation_still_rejects_tampering_and_identity_mismatch) exercising the actual signature-migration code path end to end, not just the docs. I did not execute the suite myself (long-running per the PR description), but the logic these tests target checks out under manual reading.

Minor observations

  • docs/coordination-backend.md's "Batch Provenance Manifest" section is clear about when a field must be UNKNOWN vs. a real value, and the contract test explicitly rejects whole-entry/whole-route UNKNOWN collapse, which is a nice guard against an agent taking a shortcut under time pressure.
  • Nothing in the diff appeared to touch privileged code paths (merge, publish, credentials) beyond what's already gated by the existing preflight/trust-anchor mechanisms.

Overall this is a well-tested, internally consistent change with sound fail-closed security properties in the one piece of real executable logic it touches. My main suggestion is the cross-file duplication noted inline — worth a follow-up if there's ever appetite to reduce the six-way sync surface.

@justin808

Copy link
Copy Markdown
Member Author

Address-review summary

Scan scope: full history via check all reviews at exact head 4f626084a03ae23b336aa18e1807e097b04ae64f on 2026-08-03.

Mattered

  • All previously verified blockers remain fixed on the exact current head, including signed actual_host, required registration update/upsert behavior, bounded typed-event emission, legacy pre-host replay isolation, and plural Lane Card URL grammar.
  • The prior migration discussion is satisfied by authenticated-history-only replay for legacy records plus fresh signed-host activation; no additional change is required.
  • Current-head hosted validation, Lint, claude-review, and CodeRabbit all pass; GitHub reports the PR approved, mergeable, and clean.

Optional

Skipped

  • Pure bot status, positive review summaries, acknowledgments, and duplicate historical observations require no action.
  • Full pagination found 17 review summaries, 74 inline comments after the rationale reply, 14 issue comments, and 40 review threads; every thread is resolved and every substantive item has a terminal handled or declined outcome.

Deferred-work tracking: none; no new issue or task was created.

Next default scan starts after this comment. Say check all reviews to rescan the full PR.

@justin808

Copy link
Copy Markdown
Member Author

head_sha: 4f62608
triggered_gates:

  • architectural-product-judgment
  • autonomous-merge-policy-change
  • changed-lines-limit
  • commit-count-limit
  • public-compatibility
    rollback_disposition: Code-only rollback is established; exact-head validation, QA, and independent review are clean.
    decision: approve
    approved_by: justin808
    source: direct-user-task
    evidence: Direct maintainer authorization in Codex task 019f78be-b37f-7860-a765-a070a8b88305, bound to this exact head after terminal hosted checks and review-thread clearance.
    ...

@justin808
justin808 merged commit 282a87a into main Aug 3, 2026
26 checks passed
@justin808
justin808 deleted the aw-d-205206-workflows branch August 3, 2026 19:44
justin808 added a commit that referenced this pull request Aug 3, 2026
…gned-launch-readiness

* origin/main:
  Emit coordination telemetry and provenance at workflow checkpoints (#290)

# Conflicts:
#	CONTEXT.md
#	docs/agent-workflows-model-routing.md
#	docs/pr-batch-skills.md
#	skills/pr-batch/SKILL.md
#	skills/pr-batch/bin/dispatcher-capability-preflight
#	skills/pr-batch/bin/model-routing-contract-test.rb
#	skills/triage/SKILL.md
#	workflows/pr-processing.md
justin808 added a commit that referenced this pull request Aug 4, 2026
…-policy

* origin/main:
  Emit coordination telemetry and provenance at workflow checkpoints (#290)
justin808 added a commit that referenced this pull request Aug 9, 2026
…/pr291-redesign-implementation

* commit '6239fd0afa5bb7d87cd3fb09cc22ae30bcf1e369':
  Fix locale-dependent test, surface policy-only CLAUDE.md follow-ups, add read-only seam-drift audit (#337)
  Add PR #377 changelog entry (#382)
  Make PR descriptions human-first (#377)
  Remove unsupported signed-launch enforcement (#374)
  Emit coordination telemetry and provenance at workflow checkpoints (#290)
  Add explicit multi-language lint CI (#313)
  Reconcile later-completed audit targets (#315)
  Report source lines in security preflight findings (#311)
  Gate completed-batch publication on terminal scope and QA (#308)
  Add guarded merge submission seam (#304)
  Fix exact-head readiness when status rows omit SHA (#307)
  fix: allow YAML timestamps in action scanner (#305)
  Pin workflow dependencies and define release trust boundary (#295)
  Support direct merges without merge queues (#297)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant