Ship Delivery Cadence 1.2.0 pipeline in mini - #19
Conversation
Synchronize Delivery Cadence 1.2.0 from full-pack commit 9027c84 with state v3, operation readiness, recovery and publication obligations. Preserve KBD authority and copied harness routes. Assisted-by: Codex:GPT-6 [agent team, Node.js, Git]
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: 492548685b
ℹ️ 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".
| attempt.dispatchRequest = { command: adapter.command, args: clone(adapter.args), cwd: adapter.cwd, timeoutMs: adapter.timeoutMs ?? 30000, secretEnv: clone(adapter.secretEnv ?? []), | ||
| request: { schemaVersion: 1, attemptId: attempt.id, correlationId: attempt.correlationId, candidateId: obligation.candidateId, | ||
| contentManifestDigest: obligation.contentManifestDigest, sourceRefs: clone(candidate.sourceRefs), releaseVersion: input.releaseVersion, | ||
| effects, expectedPredecessor: clone(input.expectedPredecessor), authorityRefs: clone(input.authorityRefs) } }; |
There was a problem hiding this comment.
Block legacy obligations until source identity is reconciled
When migrating v1/v2 state with publication debt, migrateState creates a legacy candidate whose contentManifestDigest is null; candidateDigest converts that to undefined, and this request consequently loses the field when serialized. I reproduced a publication attempt and receipt without any content-manifest digest being accepted as succeeded and fulfilling the legacy obligation, despite the migration initially marking it reconcile-legacy-publication-evidence. Require a valid frozen digest or an explicit replacement/reconciliation before creating the attempt so unknown legacy provenance cannot receive publication credit.
AGENTS.md reference: skills/AGENTS.md:L24-L27
Useful? React with 👍 / 👎.
| export function publicationAdmission(state) { | ||
| const pending = unresolvedObligations(state).filter(obligation => !(state.releaseAttempts ?? []).some(a => a.obligationId === obligation.id && active(a))); | ||
| const inFlight = new Set((state.releaseAttempts ?? []).filter(active).map(a => a.obligationId)); | ||
| return { allowed: pending.length <= 1 && inFlight.size <= 1, pending: pending.length, inFlight: inFlight.size, | ||
| reason: pending.length > 1 ? 'Publication pending capacity exceeded; reconcile owed candidates before unrelated admission' : inFlight.size > 1 ? 'Multiple in-flight releases require reconciliation' : null }; |
There was a problem hiding this comment.
Enforce the pending-release limit before admitting work
With one unresolved obligation and no active attempt, this returns allowed: true, even though profiles are fixed to maxPendingReleases: 1. In count mode (especially every: 1), admission() therefore permits another iteration, and completing it creates a second pending obligation; I reproduced the queue growing from one to two before the guard finally blocked further work. Reject admission when the pending count is already at the configured limit, while still allowing the separately bounded in-flight release.
Useful? React with 👍 / 👎.
Assisted-by: Codex:GPT-6 [filesystem, git]
Delivery Cadence previously kept development behind long build/publication work and lacked a reliable operation contract when scope split into child phases. This adds one authorized isolated work-ahead scope, frozen source candidates, recoverable process/effect receipts, feature-operation readiness and separate publication obligations in skill 1.2.0/state v3. KBD remains the completion and approval authority.
The copied full/mini CLIs performed actual build/launch/feature, overlap, cancellation, recovery, migration and receipt operations on macOS. Final adversarial findings were reproduced and corrected; only affected cases repeated. Shared payloads match across six source/package locations. No unit or per-edit suites ran.
Native Windows execution remains pending. Synthetic publication receipts establish local reconciliation only. Existing Boss consumer gaps are documented and automatic dispatch remains blocked; no Boss/Obsidian production changes or application release are included.