You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
release: cut the coherent set carrying landable red-check provenance #2941
After PR #2939 merged at b84f7db, check-engine-freshness on origin/main reports releaseOwed=true: two unreleased engine commits (949fea5 and 5b6ef3a) remain above coord-engine/v0.75.2, while the fleet and both feeds still restore 0.75.2.
Root cause
The merged item changed FS.GG.Coord.Core, FS.GG.Coord.GitHub, and FS.GG.Coord.Cli behavior, but coherent-set release/version work is intentionally a separate scheduled item rather than an obligation performed inside the feature item.
Acceptance
Advance the coherent set through the repository release path, publish byte-identical FS.GG.Kit, FS.GG.Coord.Cli, and FS.GG.Drivers artifacts to both feeds, verify the served bytes and tagged commit, update the dependency/changelog/compatibility projections, and make check-engine-freshness report releaseOwed=false for commits 949fea5 and 5b6ef3a.
Verification
Run python3 scripts/check-engine-freshness.py --repo . --ref origin/main --report ; verify both feed version indexes and entry-by-entry package equality modulo .signature.p7s; verify all sibling tags resolve to one commit and registry projections name the published version.
Class: hardening
Severity: High
Backlog reason: not-yet-actionable
Post-merge engine-freshness evidence from .github#2907 extends this existing release debt.
At origin/main merge a300406a7ba363932a360778761d47d208f02e6e, python3 scripts/check-engine-freshness.py --repo . --ref origin/main --report /tmp/2907-freshness.json reports releaseOwed=true, unreleasedCount=7, wireCount=0, and defectCount=1 above the published coord-engine/v0.75.2 frontier. The new defect-class commit is the #2907 merge itself; it carries the Blocked-by mutation serialization repair through the authoritative direct and deferred writers.
This is the same root cause already owned here: merged engine behavior intentionally accumulates behind a separately scheduled coherent-set release. The release acceptance must now cover the full live frontier through a300406a7ba363932a360778761d47d208f02e6e, not only the two commits named when this row was filed, and must make a fresh engine-freshness report return releaseOwed=false after both-feed byte verification.
Verification: git merge-base --is-ancestor a300406a7ba363932a360778761d47d208f02e6e origin/main exited 0; the exact JSON report is retained at /tmp/2907-freshness.json in the completing worker environment; PR #2936 merged at that SHA at 2026-08-25T08:21:47Z.
heads up: worker 'finch-75c6' just claimed .github#2968 via claim (not the scheduler), which overlaps your touch-set here (registry, registry/dependencies.yml, registry/CHANGELOG.md, docs, docs/registry/compatibility.md, docs/architecture.md). I do not know which of us declared these paths first. This is NOT a race the scheduler is sequencing for us — claim skips that upstream filter (#2459) — so please coordinate directly: merge-sequence by hand (whoever lands second rebases), or one of us narrows with set-paths. Reply here.
Merge election for this item's current claim generation, posted by delivery for pull request #2967 (.github#2395, design §4.2). Append-only: it carries no lease, is never deleted, and the lowest-id election bearing this operation key is the one whose merge this generation admits.
Merge election for this item's current claim generation, posted by delivery for pull request #2975 (.github#2395, design §4.2). Append-only: it carries no lease, is never deleted, and the lowest-id election bearing this operation key is the one whose merge this generation admits.
Merge election for this item's current claim generation, posted by delivery for pull request #2976 (.github#2395, design §4.2). Append-only: it carries no lease, is never deleted, and the lowest-id election bearing this operation key is the one whose merge this generation admits.
After legitimate reopen/reclaim, the first typed delivery reread refused delivery obligations are undeclared, despite the leading declaration comment and matching receipts.
After explicitly restoring issue closure, the single permitted terminal delivery --flip --apply replay refused delivery facts are incomplete: declared paths were never declared (no Paths: line), despite the exact Paths: line being authoritative in both issue and merged PR bodies.
The terminal replay wrote no fsgg:delivery-completion/v1 receipt. This comment preserves the alternating live-reader refusal as defect evidence; no retry or fabricated completion receipt follows.
Activity
EHotwagner commentedon Aug 25, 2026
Post-merge engine-freshness evidence from
.github#2907extends this existing release debt.At
origin/mainmergea300406a7ba363932a360778761d47d208f02e6e,python3 scripts/check-engine-freshness.py --repo . --ref origin/main --report /tmp/2907-freshness.jsonreportsreleaseOwed=true,unreleasedCount=7,wireCount=0, anddefectCount=1above the publishedcoord-engine/v0.75.2frontier. The new defect-class commit is the #2907 merge itself; it carries the Blocked-by mutation serialization repair through the authoritative direct and deferred writers.This is the same root cause already owned here: merged engine behavior intentionally accumulates behind a separately scheduled coherent-set release. The release acceptance must now cover the full live frontier through
a300406a7ba363932a360778761d47d208f02e6e, not only the two commits named when this row was filed, and must make a fresh engine-freshness report returnreleaseOwed=falseafter both-feed byte verification.Verification:
git merge-base --is-ancestor a300406a7ba363932a360778761d47d208f02e6e origin/mainexited 0; the exact JSON report is retained at/tmp/2907-freshness.jsonin the completing worker environment; PR #2936 merged at that SHA at 2026-08-25T08:21:47Z.EHotwagner commentedon Aug 25, 2026
{
"schema": "fsgg.coord.route-decision/v2",
"subject": "#2941",
"revision": 1,
"previousDigest": null,
"scope": [
"release the accumulated coordination-engine frontier as one coherent stable set",
"publish and verify FS.GG.Coord.Cli, FS.GG.Kit, and FS.GG.Drivers on both required feeds",
"reconcile canonical release metadata, projections, documentation, tags, and downstream pin"
],
"dependencies": [
"origin/main@166305d",
"coord-engine/v0.75.2 published frontier"
],
"touchSet": [
"Directory.Build.props",
"src/FS.GG.Coord.Cli/FS.GG.Coord.Cli.fsproj",
"registry/dependencies.yml",
"registry/CHANGELOG.md",
"docs/registry/compatibility.md",
"docs/architecture.md",
".agents/skills/publishing-and-deployment/SKILL.md",
"dist/dotnet/.config/dotnet-tools.json"
],
"policyVersion": "structured-decisions/1",
"route": "sdd-required",
"agent": "rook-56f9",
"timestamp": "2026-08-25T11:33:57Z",
"reasonCodes": [
"public-contract",
"release",
"multi-phase",
"cross-repo"
],
"rationale": "This item advances a public stable tool and two sibling packages through dual-feed publication, immutable sibling tags, canonical registry/projection updates, and downstream release behavior. Those coupled release and compatibility decisions require the Standard SDD lifecycle and independently reviewable evidence.",
"sddWorkId": "2941-coherent-release",
"specHome": "work/2941-coherent-release/spec.md",
"requiredGates": [
"implementationReady",
"analyze",
"verify",
"ship"
],
"digest": "51902477be3eb1ddeb47b76f2965b3f2860d98802e84ea266a6728eebe553d83"
}
fs-gg-cross-repo-dispatch commentedon Aug 25, 2026
EHotwagner commentedon Aug 25, 2026
finch-75c6 → rook-56f9
heads up: worker 'finch-75c6' just claimed .github#2968 via
claim(not the scheduler), which overlaps your touch-set here (registry, registry/dependencies.yml, registry/CHANGELOG.md, docs, docs/registry/compatibility.md, docs/architecture.md). I do not know which of us declared these paths first. This is NOT a race the scheduler is sequencing for us —claimskips that upstream filter (#2459) — so please coordinate directly: merge-sequence by hand (whoever lands second rebases), or one of us narrows withset-paths. Reply here.EHotwagner commentedon Aug 25, 2026
Merge election for this item's current claim generation, posted by
deliveryfor pull request #2967 (.github#2395, design §4.2). Append-only: it carries no lease, is never deleted, and the lowest-id election bearing this operation key is the one whose merge this generation admits.fs-gg-cross-repo-dispatch commentedon Aug 25, 2026
fs-gg-cross-repo-dispatch commentedon Aug 25, 2026
{"destination":"In review","digest":"9456c97443f105f9c18e86fdb32b4408b1ead89d6dbe157ec2a65637c226c906","item":"#2941","observedAt":"2026-08-25T12:49:42.4713132\u002B00:00","schema":"fsgg.coord.completion-correction/v1"}
4 remaining items
EHotwagner commentedon Aug 25, 2026
Merge election for this item's current claim generation, posted by
deliveryfor pull request #2975 (.github#2395, design §4.2). Append-only: it carries no lease, is never deleted, and the lowest-id election bearing this operation key is the one whose merge this generation admits.fs-gg-cross-repo-dispatch commentedon Aug 25, 2026
EHotwagner commentedon Aug 25, 2026
Merge election for this item's current claim generation, posted by
deliveryfor pull request #2976 (.github#2395, design §4.2). Append-only: it carries no lease, is never deleted, and the lowest-id election bearing this operation key is the one whose merge this generation admits.fs-gg-cross-repo-dispatch commentedon Aug 25, 2026
EHotwagner commentedon Aug 25, 2026
Terminal completion recovery evidence
The host-authorized post-merge recovery preserved merged source and performed no workflow dispatch, rerun, tag, or publication.
Paths:declaration while preserving every prior line and the accepted authorization marker.main/pushruns at exact merge3d1e6b186397f807163ed144290bee6a7c20343c, includingkit-auto-publish; it dispatched nothing.delivery obligations are undeclared, despite the leading declaration comment and matching receipts.delivery --flip --applyreplay refuseddelivery facts are incomplete: declared paths were never declared (no Paths: line), despite the exactPaths:line being authoritative in both issue and merged PR bodies.The terminal replay wrote no
fsgg:delivery-completion/v1receipt. This comment preserves the alternating live-reader refusal as defect evidence; no retry or fabricated completion receipt follows.