Repository navigation
Conversation
Resolve the three open questions (new delivery-run aggregate with an optional pipeline-run reference, evidence stored as reference and hash only, no rejection of an unseen head commit) and document the existing delivery state (delivery:setup:* storage and the file checkpoint store). Two questions on the relation to that state remain open. The ADR stays Proposed. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011c1gCVpVzPiTk9yVgUSiMU
Propose a separate delivery-run aggregate beside delivery:setup:*, with an immutable snapshot of the resolved configuration, and a complementary relation to the file checkpoint store with an idempotent, conflict-explicit reconciliation protocol and conservative resume. Document the local file-store portability limit. The ADR stays Proposed. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011c1gCVpVzPiTk9yVgUSiMU
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a1ef025447
ℹ️ 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".
Require same-project and same-task validation when a delivery run links a pipeline run, keep delivery gates and pipeline stages independent with no implicit mapping, specify the immutable configuration snapshot alongside the dynamic floor, and require a durable pending marker so retention never prunes an unregistered checkpoint. The ADR stays Proposed. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011c1gCVpVzPiTk9yVgUSiMU
Make the pending marker durable before publication so a crash cannot leave an unregistered checkpoint prunable, and limit pending to checkpoints of a Runtime delivery run so offline retention is unchanged. Verify task-to-project ownership at creation, define the set-once pipeline link and the registration identity, report whether an enforced pipeline governs the task independently of the link, record gate forms in the snapshot and floor additions, never label delivery:next as effective, and correct the lowering-below-floor rule. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011c1gCVpVzPiTk9yVgUSiMU
|
@codex review Review the head |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 33eca25ccd
ℹ️ 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".
…tions Define how a delivery run is created: the client sends the resolved configuration as data, the Runtime re-validates it and never reads caller-local files, and the snapshot is recorded as claimed. Note that delivery:setup:* does not hold the profile or gate selection. Make floor additions durable pending entries with an idempotent identity that a reset or handoff carries, so a failed registration cannot make a required gate be forgotten. The ADR stays Proposed. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011c1gCVpVzPiTk9yVgUSiMU
Record whether an external review command is configured in the snapshot, state that delivery:setup:* keys stay outside it, keep floor additions append-only in the file store so an outage cannot lose a registered one, keep a task on the Runtime path once a run exists, define at most one open run per task with reported handling of a superseded run's pending items, and clarify floor-addition identity, handoff listing, refusal ownership and the canonical hash. The ADR stays Proposed. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011c1gCVpVzPiTk9yVgUSiMU
|
@codex review Review the head |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 20a31ff6bf
ℹ️ 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".
Add the floor additions already determined for a task to the creation input, validated like any other and registered atomically with the run, so a run created part-way through a task cannot start without the gates its floor already required. The ADR stays Proposed. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011c1gCVpVzPiTk9yVgUSiMU
|
@codex review Review the head |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0260bc7171
ℹ️ 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".
…n field Require the complete set of inherited floor additions in the creation input (explicitly empty when none), require the client to read its local state before creating a run, and state that completeness is a client obligation the Runtime cannot verify, with an omission caught at the next floor evaluation point. The ADR stays Proposed. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011c1gCVpVzPiTk9yVgUSiMU
Drop part-way run creation and run supersession, which required inheriting floor determinations the offline handoff packet does not record. A task has one delivery run, created at preflight, so no floor additions or checkpoints exist to inherit; migrating an offline task or adopting a changed configuration mid-task is left to a separate decision. Also define "client" as the skill acting through the CLI, state that no command removes a recorded addition, state the floor-entry packet property instead of a mechanism, and restrict clearing a pending marker to a successful registration. The ADR stays Proposed. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011c1gCVpVzPiTk9yVgUSiMU
…re outcome Make creation idempotent on project, task and snapshot hash so a retry after a lost reply is safe, state that an unreachable Runtime or failed creation at preflight leaves the task on the offline path, order creation before the preflight floor evaluation, give a run a terminal state, align Decision 2, and extend the known limitations to unregistered floor entries and delivery restarts. The ADR stays Proposed. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011c1gCVpVzPiTk9yVgUSiMU
|
@codex review Review the head |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: d73e7902cb
ℹ️ 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".
Make a creation-pending marker durable before a creation request so an uncertain outcome blocks checkpoints and gates until an idempotent retry shows whether a run exists, limit the offline fallback to a Runtime confirmed unreachable with no request sent, treat typed rejections as stop conditions, and compare the complete creation payload (including the pipeline run reference) for idempotency. The ADR stays Proposed. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011c1gCVpVzPiTk9yVgUSiMU
|
@codex review Review the head |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 71009443fb
ℹ️ 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".
…ation-pending marker The marker now holds the complete creation payload and an uncertain-outcome retry replays exactly that payload, so a changed configuration or pipeline link cannot turn the retry into a conflict or a divergent run. Claude-Session: https://claude.ai/code/session_01Q21NUKiVwrCvpZ5YgzjM5W
…r questions Stop list now names not found as including ownership; a creation conflict and a marker whose outcome is never learned are explicit limitations with two open owner questions. Marker replay is not a creation, and the handoff packet lists the marker. Claude-Session: https://claude.ai/code/session_01Q21NUKiVwrCvpZ5YgzjM5W
…flict reply Question A: an approval cannot prove that no delivery run exists, so no abandon command is recommended; the idempotent retry resolves the marker, and a lost Runtime is a separate authority-rebind decision. The conditions any abandon must meet are listed. Question B: a conflict may identify the existing run (same project and task only, read-only); adoption is a separate explicit, audited, compatibility-checked step and never automatic. ADR-0031 stays Proposed. Claude-Session: https://claude.ai/code/session_01FKM37BV4LS8Rc8ny5GCwXy
…h invariant 3 The offline rule now excludes tasks holding a creation-pending marker or a creation stop. Replay compares the immutable recorded creation payload and an exact match returns the run before re-validation. Question B states that it amends invariant 3 (a conflict keeps the marker). The abandon conditions name the nonce cost and the undefined authorization; adoption compares the stored marker payload, not the current configuration. Claude-Session: https://claude.ai/code/session_01FKM37BV4LS8Rc8ny5GCwXy
… persist creation stops Review hardening. The marker records the identity of the Runtime the request was addressed to, and a retry answered by another Runtime is refused, so a replacement Runtime cannot resolve the old authority's marker. A typed rejection writes a durable creation-stop record before the marker is cleared, so a restart or handoff still finds the stop and never classifies the task as offline. Claude-Session: https://claude.ai/code/session_01FKM37BV4LS8Rc8ny5GCwXy
…a creation stop Review hardening. The rule that forbids creating a run once a handoff packet exists now exempts the retry of a recoverable creation stop (validation or not found), so the documented correct-and-retry path is not turned into a permanent stop by the handoff. A conflict stop stays unrecoverable by retry. Claude-Session: https://claude.ai/code/session_01FKM37BV4LS8Rc8ny5GCwXy
A crash after the pending marker and before publication left a marker with nothing to register. Such an unpublished intent is republished or recorded as cancelled, reported, and then cleared; no pinning guarantee for published checkpoints changes. Claude-Session: https://claude.ai/code/session_01FKM37BV4LS8Rc8ny5GCwXy
|
Update for head 21ddb66 (docs only, ADR-0031 stays Proposed): Question A (no abandon command recommended; safe-recovery conditions listed) and Question B (conflict may name the same-project run read-only; adoption separate, explicit, never automatic) are presented for owner decision. Review fixes: offline rule excludes pending/stop tasks, replay compares the recorded payload, creation stop persisted before clearing the marker, retry bound to the original Runtime identity, recovery of unpublished checkpoint intents. Evidence: |
avalla
left a comment
There was a problem hiding this comment.
Independent ChatGPT ADR review — HEAD 21ddb66 (static source review, not Codex CLI)
Technical verdict: no newly confirmed P1/P2 contradictions in the reviewed proposal. Reviewed the creation-pending and creation-stop records, stored canonical creation payload, Runtime identity pinning, idempotent replay, checkpoint registration and retention, cross-project pipeline ownership and the separation between delivery gates and pipeline stages. The revised draft addresses the previous reported ambiguities as proposed future invariants.
Owner decisions still open, not silently approved: Question A (no unsafe abandon/offline fallback under uncertain creation) and Question B (whether a same-project conflict may disclose the existing run, with any adoption separate and explicit). Keep ADR-0031 Proposed until the owner decides; merging a proposal is not acceptance or implementation.
Evidence: GitHub workflows on this HEAD are green. I did not execute the implementation tests locally (documentation-only PR). The PR description's consolidation note names an earlier HEAD and should be updated.
Gate: This is not a successful repository-aware Codex CLI review; the configured external-review requirement is separately pending.
…decided Invariant 1 allowed the pipeline run reference to be set once after creation, but the Decision lists no operation that does it. Say so explicitly and leave the operation, and whether it exists, to the implementation plan and the owner. Also restore Prettier conformance of the file, which the proposal had lost. The ADR stays Proposed. Claude-Session: https://claude.ai/code/session_01FKM37BV4LS8Rc8ny5GCwXy
The ADR said the skill reads the Runtime-stored setup through task-delivery-config.ts, which only validates the local YAML. The reader is setup-resolution.ts, which runs delivery:setup:show. Name both correctly. Claude-Session: https://claude.ai/code/session_01FKM37BV4LS8Rc8ny5GCwXy
|
Hardening cycle closed on |
Summary
delivery:setup:*storage (migration0050_task_delivery_setup, M19-T4) and the file checkpoint store (M19-T2).delivery:setup:*with an immutable snapshot of the resolved configuration, and a complementary relation to the file checkpoint store with an idempotent, conflict-explicit reconciliation protocol and conservative resume.Scope
Documentation only, one file:
docs/adr/ADR-0031-runtime-owned-delivery-state.md. The ADR stays Proposed; this PR is the review and approval point for the proposal. No code, migration or Runtime behavior changes.Validation
git diff --checkclean.bun run checknot run: documentation-only change.Review focus
delivery:setup:*the intended direction?🤖 Generated with Claude Code
https://claude.ai/code/session_011c1gCVpVzPiTk9yVgUSiMU
Hardening update (2026-10-19) - HEAD
f6b7b02Documentation only; ADR-0031 stays Proposed and no owner decision was made.
task-delivery-config.tswith reading the Runtime setup; the reader issetup-resolution.ts(delivery:setup:show), now named correctly.Evidence:
bun run checkexit 0 onf6b7b02(3455 passed, 239 skipped; one earlier run failed on the timing-bounddashboard-task-graphtest under concurrent load, a file this PR does not touch, and it passes 3/3 in isolation); GitHub CI 13/13 green;git diff --checkclean. Independent read-only review: 1 P3 (the script name), fixed.Still for the owner, unchanged: Question A (abandoning a creation-pending marker) and Question B (a creation conflict naming the existing run). Merging this PR is not acceptance of the ADR.
External review (Codex): not satisfied on the final head. The Codex CLI and the GitHub connector are unavailable (usage limit); no other review stands in for it. The independent review below is by a subagent of the same model family, not Codex.