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
[COORD-EFF-02.C] F# supported-route preflight and batched enrollment (Design C) #4941
Programme/root assigns one source owner and one independent reviewer, and integrates. Batched enrollment reuses the existing #4874 and its intake_process_fix owner.
(1) A closed supported-route preflight in the Coordination CLI. It returns typed SupportedForNextStage | Unsupported | Unknown, with exact reasons, for the selected route and next stage. Unknown is never treated as supported.
Filed 2026-10-30 by Root/fdev under the user ruling recorded on #3010. Protected enrollment is pending (owner: Root intake).
Next action
Root dispatches the source owner after Design B's CLI registration surface is known, to avoid touching the same CLI surface concurrently. The #4874 inventory can start now.
Root/fdev: the #4874 cohort-wrapper inventory and design proposal are dispatched as read-only preparation. Root will dispatch implementation once that proposal is in and #4940's CLI registration surface is known.
The constructor is rebuilt for every cohort, with NU1403 cache failures.
Concurrent unrelated edits stopped applies in cohorts 84 and 88.
The 82–86 wrapper scripts were not retained: their custody was absent after the VM migration. That evidence is limited to the carrier documents and PR bodies.
Hard stop found: the installed reader's payloadRows refuses more than 100 rows, and the enrolled population is 93. Only 7 more rows fit, including #4940 and #4941 themselves. Root decision: lifting the cap is a coordinated protocol and CLI release change and is added to this Delivery's scope, released with the batched route. Until then the preflight must report Unsupported(RowCapExceeded).
Root decisions on the design:
Placement: a pure planner in FS.GG.Coord.GitHub/V2Enrollment.fs/.fsi, reusing prepareProgrammeBinding, programmeCommitment, authenticateProgrammeEnrollment and the readDeclaredPlan grammar.
Generated inputs: prior payload bytes are spliced, not re-serialized. Native facts come from a separate online resolve-issues step. Admission is generated only as a draft, with its decision text derived from the prepared changes. The runtime binding is derived by authentication.
Refusals: closed typed codes, never printing payload or nonce.
Preflight:SupportedForNextStage | Unsupported(reason, supplier) | Unknown(gap), where Unknown never exits 0. It covers the enrollment route (including the installed plan grammar and the row cap), routine delivery and publication-writer registration.
Delivery in three PRs:
the planner, prepare-successor and its controls (now);
Project 3's auto-add put them on the board as unenrolled, unselected memberships with no Status, Track or Work level. Membership went from 98 to 105.
After that, the installed caller's guarded board-v2 migration-prepare refused even a single-issue Status preparation. The failure custody says malformed-or-refused and nativeMutationDispatched=false.
The read-only board-v2 inspect exited 3, with 67 "final source/planning barrier … changed/became unavailable" failed reads.
Root/fdev, 2026-10-30: PR 1 is delivered.#4950 was merged after an independent APPROVE at fe8870b0.
What landed:
the pure planner V2Enrollment, which splices bytes, authenticates the predecessor and dry-runs through the installed constructor;
the extracted installed plan grammar. A 600,000-case differential check against the base version found 0 mismatches;
the plan-successor, prepare-successor, bind-runtime and render-carrier subcommands;
15 code-only refusals. The cohort 89 r1 Outcome-URL case refuses with PlanNotAdmitted, and the cap boundary holds at 98+2 accepted and 99+2 refused;
a private replay of cohort 89 r2, which is byte-identical.
coord-engine passed. The only red check is the unrelated, non-required telemetry-host-package hosted-image admission, which is being repaired separately.
Added to PR 2 scope (Root disposition of the review's O1–O5):
O1:prepare-successor must re-validate the appended rows with the grammar and the 3008 check, or bind an appended-row digest into the receipt. A hand-edited payload currently passes to a commitment.
O2: split the coarse codes, for example input-unreadable, custody-unavailable and git-read-failed. Map a CreateNew race to OutputExists.
O4: JSON-escape planWith/rowFragment, and keep SuccessorPlan out of %A printing.
Next is PR 2: the preflight core plus the enrollment route, and the online resolve-issues that emits the fsgg.board-v2-native-facts/1 shape.
Root/fdev, 2026-10-31: coherent 0.114.0 release, step 1 (candidate) is admitted. The source is main489571bf (#5034 merged).
A quiet window starts now. Root stopped its armed merges, and holds every .github merge from now until the candidate artifact is retained. It holds again through the preflight and publish, once those are admitted.
Dispatch conditions. The executor checks all of these immediately before dispatching:
coord-engine has finished on 489571bf with a named result; it must be success.
The post-merge settlement run for 489571bf has finished, and Coordination.Authority main has had no bot commits for 5 minutes or more.
The queue is draining, at about 30 queued or fewer.
origin/main and the publication-writer lock are re-read at dispatch.
Rules: one dispatch only, attempt 1. If main moves, record the SHA and writer and stop.
Steps 3–6 each need their own admission. Refs #4730
Engine check:coord-engine passed at 489571bf. The docs commit doesn't touch the engine.
Queue: 1.
Quiet window. It starts now and lasts until step 5's readback is accepted. Root merges nothing to .github during that time.
Admitted steps. Each runs only if the previous one succeeded exactly:
Candidate: dispatch once, with a re-read of main and the publication-writer lock at dispatch.
Retain: the run id, artifact id and archive sha256, plus a local re-hash and the seven members.
Preflight:publish=false with the same triple.
Publish:publish=true, one dispatch, after checking that Authority main has been quiet for 5 minutes or more. Accepted irreversible effects: nuget.org 0.114.0 for FS.GG.Coord.Cli, FS.GG.Kit and FS.GG.Drivers (unlist only), the coherent-set/v0.114.0 tag, the journal, the release and assets, and the org feed. Forward re-dispatches for the same triple to the documented checkpoints (the 0.113 precedent) are admitted. Anything else stops.
Readback: tag, release, assets, both feeds and the journal.
Install on fdev:update-fsgg-coord-cli. Rollback is to repoint to coord-0.113.0. Telemetry wave 2 is paused, so the producer swap is safe now.
Hard stops:
main moves;
any refusal or an unexpected approval prompt;
a digest mismatch;
a failure after genesis that isn't a documented forward checkpoint;
the 90-minute stage clock runs out.
On any of these, stop and report. Nothing is retried blindly. Refs #4730
Coherent 0.114.0 release, steps 1–6 evidence (executor), 2026-10-31. Admission: Root's comment of 11:12Z on this issue. Source main3c13e67f (#5034 rebind at 489571bf plus the docs-only #5104); main never moved during any run below. Nothing was retried blindly.
1. Candidate. Run 41212952997, attempt 1, one dispatch at 15:02:56Z, success 15:09:37Z. Pre-dispatch: main and the lock re-read, queue 1, 0.114.0 absent on tags and nuget.org, coord-engine success at 489571bf.
2. Retain. Artifact 13046712832 (6 files plus manifest = seven members: three nupkgs, release-manifest.json, previous-stable-channel.json, two standalone telemetry evidence files). Raw archive sha256 366883225c323ad9d0e04cd18bfc52fa4f4edc493a5126b1d8d1ff5eb93c7ded; GitHub's digest and my local re-hash agree. Manifest: version 0.114.0, source 3c13e67f, previous 0.113.0 (sha256:14c8ba3f…ab908), content sha256:250a010e27ebcc43007ea72bbdf01fddbabc45c2a85feabde3268d095d91d01c.
3. Preflight. Run 41213587294, publish=false, same triple, success. No approval prompt; both feeds reported 0.114.0 absent; "no journal, tag, feed or release was changed".
4. Publish. Three runs, all attempt 1, same triple, publish=true, Authority main quiet for hours before the first (last bot commit 09:29Z). This is the 0.113 path (#4640): two documented forward checkpoints, then promotion.
41213850664 stopped at generation 4: ordinary draft lookup identity is malformed or duplicate, effects {tag: verified, draft: intent}, draft applied. Byte-identical to 0.113's first publisher result (run 39961563619).
41214306162 ended as checkpoint at generation 14: nuget:FS.GG.Kit visibility probe window exhausted (the 0.113 second run).
41215698288 finished 15:58:46Z: complete, publicationComplete=True, journal generation 33, all 16 effects verified, promote verified. No approval prompt in any run.
5. Readback (my own reads and hashes).
Tag coherent-set/v0.114.0 is 3c13e67f.
Release id 430012073, published 15:57:29Z, not draft, not prerelease, latest, body release-successor:sha256:250a010e…d01c. Seven assets: the three nupkgs and both standalone evidence files are byte-identical to the candidate members; release-manifest.json is the promoted file (descriptor and contentId equal the candidate's); stable-channel.json records 0.114.0, source 3c13e67f, content 250a010e…, promotedAt 15:54:06Z.
nuget.org serves 0.114.0 for FS.GG.Coord.Cli, FS.GG.Kit and FS.GG.Drivers; each differs from the release nupkg only by the added .signature.p7s (no content differences).
Journal ref coord114-enrollment-context-20261031-01: generation 33 in the final run result; Authority shows "Release successor generation 33" at 15:57:58Z. All github:* and nuget:* effects verified.
Unknown from my side: the org feed itself (HTTP 403 with my token); the journal's hosted observations of github:* are the only evidence, as for 0.113.
6. Install on fdev./opt/fdev/bin/update-fsgg-coord-cli installed coord-0.114.0 and repointed ~/.local/bin/fsgg-coord-engine; fsgg-coord-engine --version reads 0.114.0.0. coord-0.113.0 is retained, so rollback is repointing that link. The engine now registers enrollment, route-preflight and context-view. fdev's startup script will install the newest release on restart, which is now 0.114.0.
Root/fdev, 2026-10-31: steps 5 and 6 are accepted. Coherent 0.114.0 is published, read back and installed on fdev.
Readback: issuecomment-6545762715.
Live board read: Root verified it with the 0.114.0 reader. The read (board-v2 migration-prepare) now succeeds on the 222-row board, after rebinding the scope to the executing 0.114.0 assemblies (adapter f76941b2…, CLI 2e21c9a6…, source 3c13e67f).
Quiet window: lifted, and .github merges resume.
Next, still owed for this Delivery: the first real batched-enrollment use of the #4941 planner, enrolling the 124 auto-added Delivery cards.
#4941 first real batched enrollment: held at the first stage, 2026-10-31 17:09Z (worker for Root/fdev). No native writes, no carrier, no PR.
Route run so far, using installed coherent 0.114.0 (FS.GG.Coord.GitHub.dllf76941b2…):
enrollment resolve-issues: exit 0, "native facts resolved; issues=114; read-only". All 114 rows are issues, Project members and fully visible, with no human Roadmap. All 15 plan documents are on main.
ProjectAutoAdd: Unknown. It lists exactly 128 bare memberships, which is the target population.
RuntimeBindingIntegrity: Unknown, because no runtime binding was supplied at this stage.
Every other check is SupportedForNextStage: predecessor 93 rows authenticated against 2bad5247…, row cap 93+114≤250, payload 37,938 B, binding 62,879 chars, and plan grammar, toolchain lock and memory headroom.
Following the stop rule, I did not run enrollment plan or anything after it.
Root decisions needed before a retry:
(a) ConstructorIdentity. Options:
rebuild the constructor at live main (the named supplier, which brings back per-cohort builds);
pass --main-revision 3c13e67f… as an explicit operator assertion, backed by the empty constructor-path diff;
fix the check in source so it compares constructor-relevant content to the installed release.
With the check as it is, the installed-release route is Unsupported whenever main has moved past the release source.
(b) Roadmap per row. Root's targets set Status, Work level and Track only, but both the planner (plan) and initialPlanning require a Roadmap. My draft request gives each of the 114 rows its natively verified parent's enrolled Roadmap. All 128 parents and states were checked natively, with 0 mismatches. For the 8 children of Coordination#1026, the #… fragment is dropped, because a protectedDoc cannot carry one.
(c) 14 items with no route:
FsQuint#50 and SC2.Client#49: their repositories are outside the binding's 9, so they would be refused with RepositoryOutsideBinding.
Cohort90 apply progress, 2026-10-31 18:54Z (worker for Root/fdev): 25 of 29 small scopes are complete. That is 100 of the 113 remaining cards, plus batch 1's 19 delivered effects.
Each scope. A rate guard, a fresh absent-only migration-prepare (0 unexpected deltas), one apply, then a GraphQL readback. Every completed scope read back 4/4 with 0 wrong and 0 missing. Apply times were 137–258 s, with no ceiling partials and no rate pauses.
One drift. Unity.Client#28 was closed at 16:31Z, and automation set it to Done. The s19 prepare correctly refused to overwrite that value. Root retargeted the card to Done, and any card closed at prepare time now targets Done.
No native write outside the planner's migration route. No raw item-edit was used.
The apply record PR follows the last scope. Refs #4730
Cohort90, the first real batched enrollment through the #4941 planner: done, 2026-10-31 19:08Z (worker for Root/fdev).
Enrollment. The planner route on installed 0.114.0 appended 114 rows to cohort 89's 93, for 207 rows, with no per-cohort wrapper or constructor rebuild. The stages were resolve-issues, route-preflight for each stage, then plan, prepare, render-carrier, the carrier PR #5116 (merged dc9ac5b0), and bind-runtime. The commitment is d2eb7066…a56a. Separate code verified the prefix, the header and both commitments.
Board. All 114 cards now carry their decided Status, Track, Roadmap and Work level. The final per-batch GraphQL readback found 114 of 114 cards complete, with 0 wrong and 0 missing values.
Status: Done 38, Blocked 29, Backlog 27, In progress 9, Ready 6, In review 5.
423 absent-value effects were sent (Work level 114, Track 114, Roadmap 114, Status 81). Each has an HTTP 200 receipt and a readback. Nothing was overwritten, and no raw item-edit ran.
Record. The apply record PR #5133 is with Root. Receipts are at ~/.local/share/fs-gg-private/enroll-4941-cohort90-20261031/receipts.json (fdev, private). One correction to my 16:09 comment: it was stamped 17:09Z by mistake; the actual time was about 16:09Z.
Remaining #4941 acceptance (telemetry readout through the existing readers) stays with Root. Refs #4730
Coherent 0.114.1 release, evidence (executor), 2026-11-01. Authorized by programme decision 6 (#4730). Source main6eca8110 (rebind #5157 merged on fbd36a18); main was 6eca8110 at every poll from the candidate dispatch to the last publisher run, so nothing moved it. The route first needed the rebind in #5157: the candidate workflow, CURRENT_RELEASE and the feed-readiness choice were still bound to 0.114.0 (follow-up #5156).
Candidate. Run 41272965252, attempt 1, one dispatch 04:24:20Z, success 04:32:57Z, after coord-engine success at 6eca8110, queue 1, lock free, Authority quiet. Artifact 13069734892, archive sha256 d004b44e33da9246df1baf705ac51e287bc9ac4c34a18d671bfb2d9516315e00 (GitHub digest and my local re-hash agree), seven members. Manifest: 0.114.1, source 6eca8110, previous 0.114.0 (sha256:250a010e…d01c), content sha256:976a8119dfba1ac8b8312bc74e96df14e97e1bbe4f0ac7c1bb1d59e3e035e0f1. The new steps "Bind the pinned dispatch source and stable version" and "Refuse a changed release closure or newly occupied version before retention" both passed.
Preflight.41273554810, publish=false, success; both feeds report 0.114.1 absent; no approval prompt.
Publish. Three publish=true runs, attempt 1, same triple, no approval prompt, no refusal outside the documented checkpoints.
41273799443 stopped at generation 4 (ordinary draft lookup identity is malformed or duplicate; tag verified, draft intent), the 0.113/0.114.0 checkpoint.
41274051028 ended as a checkpoint at generation 16: nuget:FS.GG.Drivers visibility probe window exhausted (Kit and Coord.Cli already verified). The Drivers package became visible on nuget.org about 6 minutes later, and I waited for it before the next dispatch. This is the 0.114.0 generation-14 checkpoint class, with Drivers instead of Kit.
Readback. Tag coherent-set/v0.114.1 is 6eca8110. Release 430365711, published 05:16:41Z, not draft, not prerelease, latest. The three nupkgs and both telemetry evidence files are byte-identical to the candidate; release-manifest.json is the promoted file (descriptor and contentId equal the candidate's); stable-channel.json records 0.114.1, 6eca8110, 976a8119…, promotedAt 05:13:40Z. nuget.org serves 0.114.1 for Coord.Cli, Kit and Drivers, each differing from the release file only by .signature.p7s. Authority shows "Release successor generation 33" at 05:17:07Z. Unknown from my side: the org feed (403 for my token), covered by the journal's hosted receipts as for 0.113 and 0.114.0.
Install on fdev.update-fsgg-coord-cli installed coord-0.114.1 and repointed the link; fsgg-coord-engine --version reads 0.114.1.0. coord-0.114.0 and coord-0.113.0 are retained (rollback is repointing the link). The reader identity changed by hand, as for 0.114.0 (#5120): installed FS.GG.Coord.GitHub.dll sha256 9eb9b9d3d1ec2af7e6db574df3cbf48f1128c96c246782ee6e98b1df846a9d23, embedded revision 1.0.0+6eca811012f4ccc674cfa02c751500da9edd79c8; fsgg-coord-engine.dll sha256 81e8ee97fa524227d8b6d97bfc4ec348b7b3964eb4f3683d2862e6d890c2a36d.
Runtime binding: new file runtime-binding207-r0114_1.json (mode 0600, original kept, only artifactSha256 and recipeRevision changed, same length): sha256 86fb8f377e3257540e6e52e8ebae3d047b7206d22eb9d5a328ce2547d246cdee (from eba7a946…f9a5).
Status scope: new file active-status-scope-0.114.1.json beside the original (which is unchanged): sourceRevision, artifactSha256 and cliArtifactSha256 changed; sha256 71226d4ca7137d3452cc2e1c2982ac60bbe73d44d444798d7469bd49d103f141 (from 4f0e7b23…4583). Root's tooling still points at the old name.
207-row inspect (the #5121 test).board-v2 inspect --binding-file <207-row binding> --report-file NEW with a private TMPDIR: exit 0, 05:19:52Z to 05:21:49Z (116.7 s), no refusal, attempted 207, selected 207, mutationAttempts 0, populationGap null, membershipGap null (0.114.0 exited 3 after 2,502 reads with "bounded refresh deadline/request ceiling reached"). 21 items Verified, 186 Unknown; no Archived item. Per-item reads sum 3,079 (13–15 each); GraphQL rate fell 158 points (4888 to 4730, an upper bound, other sessions share the token). A first attempt failed in 0.1 s with "bounded binding/history input unavailable" because I had created the run directory world-readable; no native read happened, and the one re-run was with mode 0700. Report sha256 89e7b723…. selectionCoverage stays "Partial .8" (attributed action, prerequisite, intake, resource and reservation suppliers are missing), unchanged by the reader.
Local notes: /home/developer/scratch-cli-release/ (candidate, three publisher result artifacts, readback); private files and the report under ~/.local/share/fs-gg-private/.
Activity
EHotwagner commentedon Oct 30, 2026
Root/fdev: the #4874 cohort-wrapper inventory and design proposal are dispatched as read-only preparation. Root will dispatch implementation once that proposal is in and #4940's CLI registration surface is known.
EHotwagner commentedon Oct 30, 2026
Root/fdev, 2026-10-30: the read-only #4874 inventory and design proposal are complete.
Inventory findings:
rootDecision. Cohort 89 r1 had a hand-typed bogusSourceRevisionIdand an unvalidated Roadmap value (the Outcome URL), which the installed reader refused as "Human Roadmap differs from the admitted owning plan". That wrong value became protected history (coord: enroll GAME-RENDER-MULTI-01 Outcome and Deliveries #4931) and needed docs: add GAME-RENDER-MULTI-01 owning plan #4932 and coord: re-enroll GAME-RENDER-MULTI-01 with owning-plan roadmap #4933 to supersede it.Hard stop found: the installed reader's
payloadRowsrefuses more than 100 rows, and the enrolled population is 93. Only 7 more rows fit, including #4940 and #4941 themselves. Root decision: lifting the cap is a coordinated protocol and CLI release change and is added to this Delivery's scope, released with the batched route. Until then the preflight must reportUnsupported(RowCapExceeded).Root decisions on the design:
FS.GG.Coord.GitHub/V2Enrollment.fs/.fsi, reusingprepareProgrammeBinding,programmeCommitment,authenticateProgrammeEnrollmentand thereadDeclaredPlangrammar.tools/BoardV2Importstays a thin offline wrapper now. The shipped surface is the engine, registered after [COORD-EFF-02.B] F# scoped context view with bounded evidence (Design B) #4940 lands.resolve-issuesstep. Admission is generated only as a draft, with its decision text derived from the prepared changes. The runtime binding is derived by authentication.SupportedForNextStage | Unsupported(reason, supplier) | Unknown(gap), where Unknown never exits 0. It covers the enrollment route (including the installed plan grammar and the row cap), routine delivery and publication-writer registration.prepare-successorand its controls (now);PR 1 is dispatched now.
EHotwagner commentedon Oct 30, 2026
Root/fdev decision, 2026-10-30, under the user ruling recorded on #3010. Seven auto-added board cards are removed from Project 3.
What happened
board-v2 migration-preparerefused even a single-issue Status preparation. The failure custody saysmalformed-or-refusedandnativeMutationDispatched=false.board-v2 inspectexited 3, with 67 "final source/planning barrier … changed/became unavailable" failed reads.Decision
Process findings, owner Root
Unsupported, or Root should narrow or disable auto-add.EHotwagner commentedon Oct 30, 2026
Root/fdev, 2026-10-30: PR 1 is delivered. #4950 was merged after an independent APPROVE at
fe8870b0.What landed:
V2Enrollment, which splices bytes, authenticates the predecessor and dry-runs through the installed constructor;plan-successor,prepare-successor,bind-runtimeandrender-carriersubcommands;PlanNotAdmitted, and the cap boundary holds at 98+2 accepted and 99+2 refused;coord-enginepassed. The only red check is the unrelated, non-requiredtelemetry-host-packagehosted-image admission, which is being repaired separately.Added to PR 2 scope (Root disposition of the review's O1–O5):
prepare-successormust re-validate the appended rows with the grammar and the 3008 check, or bind an appended-row digest into the receipt. A hand-edited payload currently passes to a commitment.CreateNewrace toOutputExists.planWith/rowFragment, and keepSuccessorPlanout of%Aprinting.Next is PR 2: the preflight core plus the enrollment route, and the online
resolve-issuesthat emits thefsgg.board-v2-native-facts/1shape.EHotwagner commentedon Oct 31, 2026
Root/fdev, 2026-10-31: coherent 0.114.0 release, step 1 (candidate) is admitted. The source is
main489571bf(#5034 merged).A quiet window starts now. Root stopped its armed merges, and holds every
.githubmerge from now until the candidate artifact is retained. It holds again through the preflight and publish, once those are admitted.Dispatch conditions. The executor checks all of these immediately before dispatching:
coord-enginehas finished on489571bfwith a named result; it must be success.489571bfhas finished, and Coordination.Authoritymainhas had no bot commits for 5 minutes or more.origin/mainand the publication-writer lock are re-read at dispatch.Rules: one dispatch only, attempt 1. If
mainmoves, record the SHA and writer and stop.Steps 3–6 each need their own admission. Refs #4730
EHotwagner commentedon Oct 31, 2026
Root/fdev, 2026-10-31: the coherent 0.114.0 release is admitted end to end, at the owner's request. This supersedes the lapsed step-1 window.
Source and preconditions
main3c13e67f. That is Rebind the coherent release route to 0.114.0 over promoted 0.113.0 (Refs #4941, Refs #4730) #5034's rebind at489571bfplus one docs-only report (docs: report Coordination progress at 09:16 UTC, 31 October (Refs #4730) #5104).coord-enginepassed at489571bf. The docs commit doesn't touch the engine.Quiet window. It starts now and lasts until step 5's readback is accepted. Root merges nothing to
.githubduring that time.Admitted steps. Each runs only if the previous one succeeded exactly:
mainand the publication-writer lock at dispatch.publish=falsewith the same triple.publish=true, one dispatch, after checking that Authoritymainhas been quiet for 5 minutes or more. Accepted irreversible effects: nuget.org 0.114.0 for FS.GG.Coord.Cli, FS.GG.Kit and FS.GG.Drivers (unlist only), thecoherent-set/v0.114.0tag, the journal, the release and assets, and the org feed. Forward re-dispatches for the same triple to the documented checkpoints (the 0.113 precedent) are admitted. Anything else stops.update-fsgg-coord-cli. Rollback is to repoint tocoord-0.113.0. Telemetry wave 2 is paused, so the producer swap is safe now.Hard stops:
mainmoves;On any of these, stop and report. Nothing is retried blindly. Refs #4730
EHotwagner commentedon Oct 31, 2026
Coherent 0.114.0 release, steps 1–6 evidence (executor), 2026-10-31. Admission: Root's comment of 11:12Z on this issue. Source
main3c13e67f(#5034 rebind at489571bfplus the docs-only #5104);mainnever moved during any run below. Nothing was retried blindly.1. Candidate. Run 41212952997, attempt 1, one dispatch at 15:02:56Z, success 15:09:37Z. Pre-dispatch:
mainand the lock re-read, queue 1, 0.114.0 absent on tags and nuget.org,coord-enginesuccess at489571bf.2. Retain. Artifact
13046712832(6 files plus manifest = seven members: three nupkgs,release-manifest.json,previous-stable-channel.json, two standalone telemetry evidence files). Raw archive sha256366883225c323ad9d0e04cd18bfc52fa4f4edc493a5126b1d8d1ff5eb93c7ded; GitHub's digest and my local re-hash agree. Manifest: version 0.114.0, source3c13e67f, previous 0.113.0 (sha256:14c8ba3f…ab908), contentsha256:250a010e27ebcc43007ea72bbdf01fddbabc45c2a85feabde3268d095d91d01c.3. Preflight. Run 41213587294,
publish=false, same triple, success. No approval prompt; both feeds reported 0.114.0 absent; "no journal, tag, feed or release was changed".4. Publish. Three runs, all attempt 1, same triple,
publish=true, Authoritymainquiet for hours before the first (last bot commit 09:29Z). This is the 0.113 path (#4640): two documented forward checkpoints, then promotion.ordinary draft lookup identity is malformed or duplicate, effects{tag: verified, draft: intent}, draft applied. Byte-identical to 0.113's first publisher result (run 39961563619).checkpointat generation 14:nuget:FS.GG.Kitvisibility probe window exhausted (the 0.113 second run).complete,publicationComplete=True, journal generation 33, all 16 effectsverified, promote verified. No approval prompt in any run.5. Readback (my own reads and hashes).
coherent-set/v0.114.0is3c13e67f.430012073, published 15:57:29Z, not draft, not prerelease, latest, bodyrelease-successor:sha256:250a010e…d01c. Seven assets: the three nupkgs and both standalone evidence files are byte-identical to the candidate members;release-manifest.jsonis the promoted file (descriptor and contentId equal the candidate's);stable-channel.jsonrecords 0.114.0, source3c13e67f, content250a010e…, promotedAt 15:54:06Z..signature.p7s(no content differences).coord114-enrollment-context-20261031-01: generation 33 in the final run result; Authority shows "Release successor generation 33" at 15:57:58Z. Allgithub:*andnuget:*effects verified.github:*are the only evidence, as for 0.113.6. Install on fdev.
/opt/fdev/bin/update-fsgg-coord-cliinstalledcoord-0.114.0and repointed~/.local/bin/fsgg-coord-engine;fsgg-coord-engine --versionreads0.114.0.0.coord-0.113.0is retained, so rollback is repointing that link. The engine now registersenrollment,route-preflightandcontext-view. fdev's startup script will install the newest release on restart, which is now 0.114.0.board-v2 migration-preparereads the 222-row board. It needs the reviewed runtime binding and integrator observations held by Root, andmigration-prepareis a guarded preparation I was not given custody for. I verified only the version and the command registration. Remaining acceptance for [COORD-EFF-02.B] F# scoped context view with bounded evidence (Design B) #4940 and [COORD-EFF-02.C] F# supported-route preflight and batched enrollment (Design C) #4941 (real use of each, telemetry readout) is separate.Local notes:
/home/developer/scratch-cli-release/(candidate zip and members, three publisher result artifacts, readback files).EHotwagner commentedon Oct 31, 2026
Root/fdev, 2026-10-31: steps 5 and 6 are accepted. Coherent 0.114.0 is published, read back and installed on fdev.
board-v2 migration-prepare) now succeeds on the 222-row board, after rebinding the scope to the executing 0.114.0 assemblies (adapterf76941b2…, CLI2e21c9a6…, source3c13e67f)..githubmerges resume.Next, still owed for this Delivery: the first real batched-enrollment use of the #4941 planner, enrolling the 124 auto-added Delivery cards.
EHotwagner commentedon Oct 31, 2026
#4941 first real batched enrollment: held at the first stage, 2026-10-31 17:09Z (worker for Root/fdev). No native writes, no carrier, no PR.
Route run so far, using installed coherent 0.114.0 (
FS.GG.Coord.GitHub.dllf76941b2…):enrollment resolve-issues: exit 0, "native facts resolved; issues=114; read-only". All 114 rows are issues, Project members and fully visible, with no human Roadmap. All 15 plan documents are onmain.route-preflight --route ProgrammeEnrollmentSuccessor --stage PlanSuccessor --online: exit 10,Unsupported.ConstructorIdentity: Unsupported,ConstructorDiffersFromMain, supplierConstructorBuild. The installed constructor is at3c13e67f; livemainisd4ce5093. The three commits since then (ci: advisory v1-writer-census check on PRs that touch a census-tracked file (Refs #4730) #5099, Add the pod image learn-pod-app:r1 source and the role entrypoint #5027, board-currency: rule-set v2, override, carry and identity-less Unknown (Refs #5094) #5101) don't touchsrc/FS.GG.Coord.GitHub,src/FS.GG.Coord.Cliortools/BoardV2Import, but the check compares revisions, not content.ProjectAutoAdd: Unknown. It lists exactly 128 bare memberships, which is the target population.RuntimeBindingIntegrity: Unknown, because no runtime binding was supplied at this stage.2bad5247…, row cap 93+114≤250, payload 37,938 B, binding 62,879 chars, and plan grammar, toolchain lock and memory headroom.Following the stop rule, I did not run
enrollment planor anything after it.Root decisions needed before a retry:
main(the named supplier, which brings back per-cohort builds);--main-revision 3c13e67f…as an explicit operator assertion, backed by the empty constructor-path diff;With the check as it is, the installed-release route is
Unsupportedwhenevermainhas moved past the release source.plan) andinitialPlanningrequire a Roadmap. My draft request gives each of the 114 rows its natively verified parent's enrolled Roadmap. All 128 parents and states were checked natively, with 0 mismatches. For the 8 children of Coordination#1026, the#…fragment is dropped, because aprotectedDoccannot carry one.RepositoryOutsideBinding.migration-prepareaccepts at most 100selectedIssues/initialPlanning, so the apply needs at least two scopes.Count note: the targets file has 40 Done rows (33 already Done and missing only Track/Work level, plus 7 closed with all fields empty), not 38.
Receipts:
~/.local/share/fs-gg-private/enroll-4941-cohort90-20261031/receipts.json(fdev, private). Refs #4730EHotwagner commentedon Oct 31, 2026
Cohort90 apply progress, 2026-10-31 18:54Z (worker for Root/fdev): 25 of 29 small scopes are complete. That is 100 of the 113 remaining cards, plus batch 1's 19 delivered effects.
dc9ac5b0, andbind-runtimeexited 0. Root authorized a reader-identity hand rebind tof76941b2…/3c13e67f(No designed stage rebinds reader identity after a coherent upgrade #5120). Root accepted the 207-rowinspectqualification as Unknown, because it hit the reader's request ceiling (inspect refresh request/deadline ceiling not scaled with the row cap; 207 rows exhaust it at about 2,500 reads #5121).migration-prepare(0 unexpected deltas), one apply, then a GraphQL readback. Every completed scope read back 4/4 with 0 wrong and 0 missing. Apply times were 137–258 s, with no ceiling partials and no rate pauses.item-editwas used.The apply record PR follows the last scope. Refs #4730
EHotwagner commentedon Oct 31, 2026
Cohort90, the first real batched enrollment through the #4941 planner: done, 2026-10-31 19:08Z (worker for Root/fdev).
Enrollment. The planner route on installed 0.114.0 appended 114 rows to cohort 89's 93, for 207 rows, with no per-cohort wrapper or constructor rebuild. The stages were
resolve-issues,route-preflightfor each stage, thenplan,prepare,render-carrier, the carrier PR #5116 (mergeddc9ac5b0), andbind-runtime. The commitment isd2eb7066…a56a. Separate code verified the prefix, the header and both commitments.Board. All 114 cards now carry their decided Status, Track, Roadmap and Work level. The final per-batch GraphQL readback found 114 of 114 cards complete, with 0 wrong and 0 missing values.
item-editran.Root decisions:
--main-revision 3c13e67fassertion (ConstructorIdentity compares commit ids, not planner content; installed-release route fails whenever main moves #5113);inspectaccepted as Unknown (inspect refresh request/deadline ceiling not scaled with the row cap; 207 rows exhaust it at about 2,500 reads #5121);Excluded or held, 14 cards:
Record. The apply record PR #5133 is with Root. Receipts are at
~/.local/share/fs-gg-private/enroll-4941-cohort90-20261031/receipts.json(fdev, private). One correction to my 16:09 comment: it was stamped 17:09Z by mistake; the actual time was about 16:09Z.Remaining #4941 acceptance (telemetry readout through the existing readers) stays with Root. Refs #4730
EHotwagner commentedon Oct 31, 2026
Root/fdev: the 11 no-Status cards excluded from cohort 90 are triaged.
.github#4935with its SDK-PATCH children [SDK-PATCH-01] Rendering release-toolchain re-qualification for SDK 10.0.403 #4943, [SDK-PATCH-01] Q6 telemetry collector/host on aspnet 10.0.14 and .github root global.json #4945, [SDK-PATCH-01] Q2 Coordination supply chain to SDK 10.0.403 #4946, [SDK-PATCH-01] Shared WASM release toolchain to SDK 10.0.403 #4947, State the Wizard SDK host requirement for 10.0.403 #5089, Track the SDK-PATCH owner gaps #5090, Templates#831 and Templates#832, plus SC2.Client#49. Root set Status, Work level and Track on each by direct guarded writes:Enrollment of these cards stays held as before: SDK-PATCH under #5114, and SC2 outside the binding repositories.
EHotwagner commentedon Nov 1, 2026
Root/fdev acceptance: Done-when met.
EHotwagner commentedon Nov 1, 2026
Coherent 0.114.1 release, evidence (executor), 2026-11-01. Authorized by programme decision 6 (#4730). Source
main6eca8110(rebind #5157 merged onfbd36a18);mainwas6eca8110at every poll from the candidate dispatch to the last publisher run, so nothing moved it. The route first needed the rebind in #5157: the candidate workflow,CURRENT_RELEASEand the feed-readiness choice were still bound to 0.114.0 (follow-up #5156).Candidate. Run 41272965252, attempt 1, one dispatch 04:24:20Z, success 04:32:57Z, after
coord-enginesuccess at6eca8110, queue 1, lock free, Authority quiet. Artifact13069734892, archive sha256d004b44e33da9246df1baf705ac51e287bc9ac4c34a18d671bfb2d9516315e00(GitHub digest and my local re-hash agree), seven members. Manifest: 0.114.1, source6eca8110, previous 0.114.0 (sha256:250a010e…d01c), contentsha256:976a8119dfba1ac8b8312bc74e96df14e97e1bbe4f0ac7c1bb1d59e3e035e0f1. The new steps "Bind the pinned dispatch source and stable version" and "Refuse a changed release closure or newly occupied version before retention" both passed.Preflight. 41273554810,
publish=false, success; both feeds report 0.114.1 absent; no approval prompt.Publish. Three
publish=trueruns, attempt 1, same triple, no approval prompt, no refusal outside the documented checkpoints.ordinary draft lookup identity is malformed or duplicate; tag verified, draft intent), the 0.113/0.114.0 checkpoint.checkpointat generation 16:nuget:FS.GG.Driversvisibility probe window exhausted (Kit and Coord.Cli already verified). The Drivers package became visible on nuget.org about 6 minutes later, and I waited for it before the next dispatch. This is the 0.114.0 generation-14 checkpoint class, with Drivers instead of Kit.complete,publicationComplete=True, generation 33, all 16 effects verified.Readback. Tag
coherent-set/v0.114.1is6eca8110. Release430365711, published 05:16:41Z, not draft, not prerelease, latest. The three nupkgs and both telemetry evidence files are byte-identical to the candidate;release-manifest.jsonis the promoted file (descriptor and contentId equal the candidate's);stable-channel.jsonrecords 0.114.1,6eca8110,976a8119…, promotedAt 05:13:40Z. nuget.org serves 0.114.1 for Coord.Cli, Kit and Drivers, each differing from the release file only by.signature.p7s. Authority shows "Release successor generation 33" at 05:17:07Z. Unknown from my side: the org feed (403 for my token), covered by the journal's hosted receipts as for 0.113 and 0.114.0.Install on fdev.
update-fsgg-coord-cliinstalledcoord-0.114.1and repointed the link;fsgg-coord-engine --versionreads0.114.1.0.coord-0.114.0andcoord-0.113.0are retained (rollback is repointing the link). The reader identity changed by hand, as for 0.114.0 (#5120): installedFS.GG.Coord.GitHub.dllsha2569eb9b9d3d1ec2af7e6db574df3cbf48f1128c96c246782ee6e98b1df846a9d23, embedded revision1.0.0+6eca811012f4ccc674cfa02c751500da9edd79c8;fsgg-coord-engine.dllsha25681e8ee97fa524227d8b6d97bfc4ec348b7b3964eb4f3683d2862e6d890c2a36d.runtime-binding207-r0114_1.json(mode 0600, original kept, onlyartifactSha256andrecipeRevisionchanged, same length): sha25686fb8f377e3257540e6e52e8ebae3d047b7206d22eb9d5a328ce2547d246cdee(fromeba7a946…f9a5).active-status-scope-0.114.1.jsonbeside the original (which is unchanged):sourceRevision,artifactSha256andcliArtifactSha256changed; sha25671226d4ca7137d3452cc2e1c2982ac60bbe73d44d444798d7469bd49d103f141(from4f0e7b23…4583). Root's tooling still points at the old name.207-row inspect (the #5121 test).
board-v2 inspect --binding-file <207-row binding> --report-file NEWwith a privateTMPDIR: exit 0, 05:19:52Z to 05:21:49Z (116.7 s), no refusal,attempted207,selected207,mutationAttempts0,populationGapnull,membershipGapnull (0.114.0 exited 3 after 2,502 reads with "bounded refresh deadline/request ceiling reached"). 21 items Verified, 186 Unknown; no Archived item. Per-itemreadssum 3,079 (13–15 each); GraphQL rate fell 158 points (4888 to 4730, an upper bound, other sessions share the token). A first attempt failed in 0.1 s with "bounded binding/history input unavailable" because I had created the run directory world-readable; no native read happened, and the one re-run was with mode 0700. Report sha25689e7b723….selectionCoveragestays "Partial .8" (attributed action, prerequisite, intake, resource and reservation suppliers are missing), unchanged by the reader.Local notes:
/home/developer/scratch-cli-release/(candidate, three publisher result artifacts, readback); private files and the report under~/.local/share/fs-gg-private/.