Skip to content

Qualify the selected current SVG successor through the full public Wizard route #4709

Closed

Description

@EHotwagner

Owner

Programme/root owns complete4709 acceptance, source integration and qualified selection. Root has recovered current Templates ownership: one clean main worktree at f5fbd06ed9e6df40f9037c7acddf9eca3c6a14fc, no active implementation branch or open PR for4709. A new isolated source owner may be assigned only after qualified selection. Historical template_wasm_reference/chain game-template-installed-c retains4710 and its runtime/cleanup reservations; it is not reassigned or released. Producer owners retain publication authority. Current source continuation: svg_current_public_receiver retains sameowner PR728 source/review/ordinary-delivery responsibility under Programme/root; the earlier no-active-PR recovery statement is historical. Root retains native/Status/integration/runtime admission authority.

Done when

The exact selected current compatible public Wizard/SDD/Templates/Rendering successor completes the plan full-Wizard SVG creation and actual workspace runtime assertions, with omitted/default and promised explicit lifecycle/bundle behavior mapped to independently read-back package/default identities. Reuse compatible existing receiver setup and knowledge evidence without substituting a Templates-only result.

Current deliverable

FS-GG/FS.GG.Rendering#1460 (OPEN, normal PR, head 7a0391c0b79b7e4080da271cafb61c027b0d03ae, merge state CLEAN; read-only dispatcher App capability observer source — not merged)
FS-GG/FS.GG.Rendering#1459
FS-GG/FS.GG.Templates#728

Next action

Root reviews/integrates Rendering PR1460 (head 7a0391c0b79b7e4080da271cafb61c027b0d03ae; independent review APPROVE-WITH-NITS with nits repaired, all exact-head required checks green) through the normal merge boundary, then separately selects the actual metadata run of release-tag-capability at the merged main SHA and any later narrow writer/policy setup. The ruleset digest in the report is job-token-observed and must be confirmed under the administrator identity before it enters settlement admission bytes. No metadata run, settlement, tag, publication or retry is selected by the PR. Previous Next action (retained): Same Rendering owner continues bounded source for a separate protected read-only App capability observer, using existing inherited dispatcher App secret names and job-token policy/workflow visibility. It must not mint installation tokens, disable workflows, create tags or publish. Root integrates the reviewed source through normal exact-head CI, then separately selects the actual metadata run and any later narrow writer/policy setup. Existing Templates728 receiver owner and original settlement effect remain unchanged.

Acceptance evidence

Rendering PR1459 merged at0b0cfd7c1c3d60fc47264290e1477adccb9c92bd from independently reviewed18825e7256f6b27fd507fdce4d8b7ae64b3c18d8. All required exact-head checks passed; actual hosted F#47 boundary cases passed in128.201 seconds without credentials, plus25 settlement/26 tag/59 publisher pure controls. Review repaired late-create event-fence retention, DELETE-only retirement reserve and exactproducer shallow fetch. This accepts source only, preserving all original19/counters/bytes and full current publication/consumer obligations. Existing acceptance history is retained below.

Rendering PR1460 (2026-10-22, head 7a0391c0b79b7e4080da271cafb61c027b0d03ae, source only, not merged): adds .github/workflows/release-tag-capability.yml + scripts/release-tag-capability.py (GET-only closed-route observer; no installation-token mint; contents/actions read; guard step before App secrets), 46 local causal controls in scripts/test-release-tag-capability.py wired into the credential-free gate job, workflow-census pins and an Atlas boundary record. Independent review of 2de997e5 returned APPROVE-WITH-NITS (policy-digest identity caveat, HTTPException escape, readiness after refused re-read, vacuous git/credential/redirect controls, over-strict shapes, request-id sanitization), all repaired and delta re-verified at 82c86453, with two further nits applied at the head; a 23-mutation harness was fully killed. All required hosted checks incl. gate passed at the head. No metadata run, workflow state, credential, tag, package, policy or settlement effect was performed; originalTransportOutcome remains Unknown.

Blocked on

Settlement source PR1459 is accepted and merged. Actual dispatcher App/installation contents+workflows grant, job-token policy visibility, immutable exact-ref rules and live event fences remain unverified. Available inherited credentials permit bounded protected metadata source preparation; no external token request is justified before that observation. Historical receive-pack outcome stays Unknown; current convergence, publication and Templates receiver acceptance are still required.

Current deliverable: The FIRST explicitly admitted original0323 full receiver/Studio-font/AT run now exists: https://github.com/FS-GG/FS.GG.Rendering/actions/runs/39526276388 , attempt1, main15ed353384fdf817cf7cf663dd2e4cf589a746c6 invoking immutable Templates357. The single POST received HTTP204 at01:15:42.550641UTC and a complete native census independently read back exactly one run created01:15:44UTC. Caller static job118981545837 passed; new-cohort qualification job118981587854 started01:15:56UTC and passed source/archive/preflight/fresh-SDK-root and pinned setup stages before browser-host provisioning. Historical caller full job is intentionally skipped. These are actual start/stage observations, not a successful qualification, publication or full acceptance.
Next action: Observe only original run39526276388/a1 within the same metadata4500 original ending02:26:46.859831UTC and the admitted hosted static5/qualification60 limits, retaining original reports and exact45-case/15-actionOrca/source/clock/staging/cleanup joins. Preserve Renderingmain15ed through terminal and retention. No resend, hosted rerun, publication, public-default change or Templates merge follows automatically; root independently reviews the actual scoped result. Existing357/public0321 material font failure remains separate and full4709/4644 acceptance stays open.

Accepted Orca-repair caller SOURCE milestone2026-10-21: RenderingPR1456 exact reviewed55d61292eedad79fceae5e3ad2175d61773de6f3 normal-squash merged ONCE to4e48c97533554ccece8db3db828c4cc327464050, parent15ed353384fdf817cf7cf663dd2e4cf589a746c6/treed78ea2fe05d1234a524480b31cacba44a6b05aeb. Exactly three callee literals moved357→genuine752 across the same two files; historical6a5 pin, actualevent/type guards, safe defaults, schema and readonlypermissions remain unchanged. RemoteTemplates branch/commit752 and identical callee workflow9a885328 were independently read before delivery. All24 current checks terminal (22SUCCESS/two intentionalSKIPs), all five required Actions-app checks, nativeCLEAN/exacthead/base/protection and actual tested-tree joins passed before the single effect; protectedPR/main/parent/tree readbacks matched. Actualstatic40+9controls/historypreflight passed; newfull0323 job SKIPPED onPR. No fullreceiver/Orca operation, credential probe, tag, feed/package write or publication was dispatched. Original failed39526276388, its accepted scoped45browser results, incomplete15-actionAT and sampled retirement limits remain unchanged. Current Templates752 sourceCI39528845209 again failed three genuine0321 late-font cases (13passed/3failed/21skipped); no waiver/Templatemerge readiness is claimed. PublicationReady remainsfalse and genuine receiver/AT/root binding remains unjoined; full Done when, Owner, history and reservations are preserved.

Owned metadata-custody coverage gap2026-10-21: the ordinary bare ghwatch observer retained genuine managed sessions43562 exit124 (observation timeout only) and15667 exit0 for the same original hostedrun39529085712/a1. The original local LinuxPID/PGID birth receipts were not retained; a session ID is not a PID and no independent original-group absence is claimed. Native CI completion and exact source-tree acceptance remain separate from host/local process-retirement proof. Preserve this coverage gap and use maintained observer identity custody at later boundaries; no retrospective PID invention, new cleanup, framework or reportingPR is selected.

Superseded Next action retained as history: Next action: Independently review the frozen same-owner source34 logging repair, which preserves the4MiB cap,15 real keyboard actions, allfour genuine speech observations/readiness,45 browser cases and original failure. Any normal source/caller-pin delivery and subsequent actual full qualification requires separate exact reviewed admission; no automatic rerun, cap increase, fake speech, publication, public-default adoption or Templates merge is selected. Existing Templates357/public0321 material source font failures remain separate and cannot be waived by this candidate browser result. Root keeps4709 then4644 In progress for active owned source diagnosis/recovery; no native Status mutation. Preserve complete Done when, historical4710 custody and all prior source/runtime/Unknown reservations.

Prior current-state observations retained as history before SECOND-full selection:

Current deliverable: FIRST original0323 hosted receiver run39526276388/a1 is terminal FAILURE, preserved without retry. Protected Rendering15ed invoked reviewed Templates357/original producer4ec and unchanged19 archives. Independent retained readback confirms all45 exact browser cases (15 per Chromium/Firefox/WebKit, including allseven strict Studio/font cases) passed once with zero skipped/flaky/unexpected; this is a scoped browser milestone. Actual Orca reached disposal and allfour genuine speech announcements, then its original4MiB diagnostic-log safeguard failed at4,199,889 bytes during navigation toward final action15. No finalEnter/journey/inner-success/full-binding exists; the15-action AT acceptance remains unmet. Cleanup reports62 known births observed-empty, no recordedremaining/Unknown and no reporting errors, subject to sampled ancestry/RSS limitations and unobserved detached descendants. Root independently accepted original retention and released the Rendering15ed operation horizon; no publication or full acceptance follows. Same TemplatesPR728 owner now has source-only logging repair79b6b9822eedca8f50d64bafa78b800d140fc6a8 frozen, with96 targeted inert controls passed; exact Ubuntu46.1-1ubuntu1 source hashes match hosted sources. Independent source review is pending; realOrca/runtime remains unqualified.
Next action: RenderingcallerPR1456 is source-delivered at protected4e48c97533554ccece8db3db828c4cc327464050/treed78ea2fe, rebinding only the three closed font-disposal refs to independently reviewed genuine Templates752a2ac1 on existingPR728. Root reserves that Renderingmain revision through the prospective next exact0323 operation terminal and retention. Same SVG receiver owner prepares only a DISABLED main-ref request with rendering-input-source=font-disposal and typed preflight-only=false; root must separately admit the fresh operation/profile and adjacent native guards. Original producer4ec/run39509314882/a1/artifact12305198394/rawZIP84647332 and all19 originalarchives remain unchanged. Firstfullrun39526276388/a1 remains failed: all45browsercases passed but the4MiB AT logcap refused before the final action;15-actionAT/root acceptance is unmet. Logging source repair and caller delivery are not runtime acceptance. Current genuine0321 material font failures and all full Done when/publication/installed promises remain unwaived.

Pre-send root ruling/current-state checkpoint retained as observed history:

Current deliverable: Programme/root explicitly selects the SECOND full original0.32.3 receiver/Studio-font/Orca qualification on protected Rendering4e48c97533554ccece8db3db828c4cc327464050/tree d78ea2fe05d1234a524480b31cacba44a6b05aeb, invoking independently reviewed Templates752a2ac1fa996c3235ac0330ffbcefb6b8301cb4. The source-only logging repair preserves the4MiB cap,15 real keyboard actions, allfour genuine speech observations/readiness,45 exact browser cases and higher-severity diagnostics without reserved-marker spoof bypass. The typed main request remains exactly rendering-input-source=font-disposal and boolean preflight-only=false. Root admits one POST only after fresh principal/protected-source/schema/original-producer/archive/no-equivalent-attempt/native/resource guards and this durable ruling/readback; no POST has yet occurred at this checkpoint. The unchanged hosted Ubuntu24 profile is static5/qualification60minutes, exact fresh SDK10.0.401/Node26.10/npm12.1/Playwright1.63, allthree browser families15 cases each, existing15-action realOrca journey with original300seconds/4MiB, admitted original archive/tool/NuGet/npm/audit/apt/browser/nativeAT setup and best-effort always retention/cleanup. It grants no publication/tag/feed/OIDC or acceptance waiver. New metadata original4500seconds began02:04:48.007209UTC before validation, ending03:19:48.007209UTC; CPU0/512MiB soft working set/private512MiB, with fresh20.73GiB effective memory headroom against root's declared10GiB aggregate reservation, not hard-quota/peak/global-containment proof. Root holds Renderingmain4e48 through this selected operation's terminal result and retention; FS-GG/.github bd60 is separately held. First run39526276388/a1 remains its preserved AT log-budget failure with browser45 scoped success; current Templates752 public0321 material13/3/21 FontFace failure still fences728 merge. Source acceptance and this concrete operation admission do not establish a successful second qualification.
Next action: Complete the fresh before-send main/source/no-equivalent-attempt readback, retain one possible-send record and send the exact selected main request once; uncertainty or any failed prerequisite means no resend. Independently identify the actual new run/attempt/jobs/protected source and verify4709 then4644 In-progress no-ops without Status writes. Observe only this new operation under the original metadata/hosted clocks, independently retaining original reports, all45 named outcomes, actual15-actionOrca/speech/process/cleanup/cold-staging/source/archive joins and first/secondary failures. Root separately accepts the scoped result before any publisher eligibility, public default adoption, broad source rerun or full promise closure. Do not rerun the first failed attempt, raise caps, fake speech, waive public0321 material failures, merge728, publish, or release historical4710/439+46 Unknown reservations.
### Preserved observed checkpoint before accepted full02 / publication preparation (2026-10-21)
Current deliverable: The SECOND root-selected full original0.32.3 receiver/Studio-font/Orca operation now exists as https://github.com/FS-GG/FS.GG.Rendering/actions/runs/39531420324 , attempt1, created02:09:19UTC on exact protected Rendering4e48c97533554ccece8db3db828c4cc327464050/tree d78ea2fe05d1234a524480b31cacba44a6b05aeb invoking immutable reviewed Templates752a2ac1fa996c3235ac0330ffbcefb6b8301cb4. One POST received HTTP204 at02:09:20.037447UTC; the immediate zero-run registration snapshot was retained, then a complete independent current-source census established exactlyone new run, actor1645484/workflow373414220. Static job118997955118 passed; full selected job118997996547 began02:09:31UTC and is in progress; historical job118997997727 and callee PR-static118997997869 are intentionally skipped. These are start/stage observations only. Fresh selected-source/schema/principal/native-status and original producer4ec/run39509314882a1/artifact12305198394/rawZIP84647332/all19archives/custody7dbd/raw3490Bplan89369 guards passed, with the durable root ruling/readback before POST. Existing hosted60minute/45browser/15realOrca/300second/4MiB acceptance remains exact; no publication/full qualification/merge is inferred. First full run39526276388/a1 remains its preserved AT log-budget failure with45 browser scoped pass; current Templates752 public0321 source13/3/21 FontFace failure still fences728 merge.
Next action: Observe only actual run39531420324/a1 under the SAME metadata4500 original02:04:48.007209–03:19:48.007209UTC and separate unchanged hosted/AT clocks. Independently retain original archive/reports,45 exact case names/results, genuine15-actionOrca/four speech/process/cleanup/cold-stage/source/package joins and first/secondary failures. No resend, first-attempt rerun, cap increase, fake speech, acceptance weakening or publication/merge is selected. Root retains Renderingmain4e48 through terminal+retention and separately owns scoped result/publisher/public-default/broad-source/fullpromise acceptance; FS-GG/.github bd60 remains separately held. Full Done when, parent promise, historical4710 custody and439+46 Unknown reservations remain intact. Root keeps4709 then4644 In progress for meaningful owned source/runtime continuation; Status readbacks are no-ops, no Status writes.
Prior active fields before rendering4709-settlement-source-start
Current deliverable: None
Next action: Programme/root and EHotwagner/FS-GG.Rendering repository owner/GitHub provider must obtain an authenticated original receive-pack decision tied to run39541842303/a1, job119031172204, firstref/4ec and04:02:47.727566–48.642629Z proving acceptance or definite no-effect; alternatively separately qualify and authorize a maintained Rendering SAME-original-intent settlement/uncertainty-admission route. No replay/new-ID retry, tag/package effect or unsupported publisher is selected. Credential grants or present absence alone do not reopen this hold.
Prior active fields before reviewed settlement source landed; existing capability metadata next
Next action: Complete and independently review the settlement/admin/source-publisher guard changes and causal controls, then protected CI/normal source delivery. Root verifies existing admin/writer capabilities and effective immutable/event fences before separately admitting any same-intent settlement. Original transport outcome remains Unknown; package publication and full public Wizard qualification follow only their independently established prerequisites.

Rendering source owner /root/rendering_settlement_owner is implementing a maintained same-original-intent tag convergence route with original receipt binding, immutable create-only destinations and bounded workflow/event fencing. Templates svg_current_public_receiver retains existing PR728; root retains full4709 acceptance.

Acceptance evidence: 2026-10-21 original-tag-intent hold: root accepted source765eda5c6d75f11134c2d3011f0d9868e98c3f19/tree43034, all20 source checks and33 actual F# entry controls, plus fresh READ-ONLY preflight39541203598/a1/all5ZIPs7JSON/19completecensusABSENT/19scopeGET200/19public404. Accepted full02 browser45/nativeAT15/four speech/27 evidence and original19 producer4ec archives remain valid and distinct from publication. STAGE1 original tag run39541842303/a1 failed in cut job119031172204: only refs/tags/fs-gg-ui/v0.32.3→4ec6eafbbbf02264db9b0db4780c590abe0bf9cd was push-requested at04:02:47.727566Z; exit1/Unknown by04:02:48.642629Z, no acknowledgement, one read-only first-ref probe then stop. Both original plan/cut ZIPs and exact receipts are retained. Independent subsequent native reads show allthree refs ABSENT, but do not prove historical no-effect or settle the original Unknown. Classification says workflow-permission/remote-rejection; raw server cause was not retained/authenticated. Bounded source assessment confirms Rendering check/cut has no authenticated same-original-intent settlement or continuation. Proposed distinct administrative recovery was NOT admitted: a new identity, current absence, workflow fencing or credential grants alone cannot authorize resend. No disable/enable, replacement ref, rerun, publisher or notification effect occurred. Root holds the affected tag/publication path pending original authenticated transaction evidence OR a separately qualified authorized Rendering same-original-intent mechanism. Process finding owned by this4709 owner: tag helper captured but discarded raw failure output, leaving only classification/counts and preventing authenticated original-outcome diagnosis. Future logs cannot reconstruct this original; retain the eventual natural source diagnostic/Atlas capture gap, with no filler PR/framework or protected source change selected. Original source-plan publicationReady:false, source actualScreenReader:not-observed, separate genuine AT proof, historical failures/Unknowns and whole public/installed/downstream promise remain unchanged.

Preserved preceding acceptance checkpoint:
2026-10-21 SOURCE merge checkpoint: PR1458 merged normally as protected765eda5c6d75f11134c2d3011f0d9868e98c3f19/tree43034e402e4699cc66a5613f3bd3704f8e348fa6, parentbeed, after all20 current checks/all5 required contexts, independent review and native CLEAN/protection joins. Actual pinnedSDK401 F# typed186/45/15/4/27 predicate and all33 actual-entry controls passed67.520s without credentials/network/receipt; actual testedAPImerge c639 parentsbeed+9001 has the identical reviewed tree, and Deterministic checked out9001. Original watch01 timed out as an observer only (EOFfalse preserved, exact known groups absent); watch02 exited0/EOF/reaped and exact known groups absent. Fresh read-only preflight for final executor765 is prepared DISABLED with the genuine original4ec archives/full02 evidence and actual8input schema; root separate admission, fresh authority/collisions and a new original operation are required. No new preflight/tag/package/feed/publication effect follows this source merge. Effective writer authority and all public/installed/downstream promises remain unproved/open.

Preserved preceding acceptance checkpoint:
2026-10-21 source/read-only checkpoint: PR1457 merged normally as beed7ff901292d13b9242c381c1ff676201a8651/treeadd4f31f after all20 current checks and tested-tree joins. Root accepted only the new original READ-ONLY preflight39537924887/a1: all5 original ZIPs/seven JSON members verified, all19 complete active/deleted census ABSENT, all19 existing-ID scope GETs HTTP200 and public target404. Supported GitHub NuGet-client baseline restore passed while the separate direct archive403 remains historical/read-path evidence; effective writer acknowledgement remains unproved. Before any tag/package effect, composition diagnosis found the transitive F# writer still refused0323. The prior six-path source change and independent top-level review omitted that entry, despite the intentionally correct earlier read-only selector. Same owner repaired the complete existing entry/typed eligibility/controls in PR1458 https://github.com/FS-GG/FS.GG.Rendering/pull/1458 at independently reviewed9001e1898025172f390f29a7e9baf72dc2976144/tree43034e402e4699cc66a5613f3bd3704f8e348fa6, exactly five paths. Distinct closed0323 joins preserve raw plan89369/original4ec19 archives and full02 native AT;186/45/15/4/27 eligibility preserves both historical predicates.59 Python controls passed; actual pinnedSDK401 F# compilation and33 credential-free entry cases are pending on original gate39539364232/a1. Owned disposition: transitive writer-entry qualification must be inspected and actually executed in the existing no-credential source job, rather than inferred from top-level Python source tests; no duplicate standards/framework introduced. New source1800 retired185.802s and separate metadata1800 now owns this delivery. No tag, package/feed write, preflight rerun, publication or adoption is selected; all original promises, immutable plan/read qualification fields, failures and current authority Unknowns remain.

Preserved preceding acceptance checkpoint:
2026-10-21 source checkpoint: Rendering PR1457 https://github.com/FS-GG/FS.GG.Rendering/pull/1457 is OPEN at independently reviewed4fa8c6a81b03532840bbc8c760e555f6657199fd/treeadd4f31fe94c1706afab1ce04f06a17817008ba0, base4e48c97533554ccece8db3db828c4cc327464050. Exactly six maintained paths bind accepted full02 run39531420324/a1/artifact12315224479/root7dab9d3473110961508570af4ad7e95cbc05918dde4b23f2a61a64c8f6d02c4f to the qualified0.32.3 source route;57 source+26 tag controls and sole independent source review PASS. Original19 producer4ec archives/source run39509314882, immutable source plan publicationReady:false, separate source actualScreenReader:not-observed and genuine AT observation remain distinct. Historical0321/0322 attempts, GitHub baseline403 and current write-authority Unknowns remain. This qualifies SOURCE only; no publication/tag/feed/OIDC/full-runtime operation is selected. Current required/material hosted CI is pending on original39535743917/a1. Source1800 retired1013.928s; separate metadata1800 is active. Original source/control refusals and all full02 evidence are retained.

Preserved preceding active checkpoint (observed history):
Prior deliverable: Root accepted the second closed original Rendering 0.32.3 receiver/AT qualification, run 39531420324/attempt1, protected caller4e48c97533554ccece8db3db828c4cc327464050 and Templates752a2ac1fa996c3235ac0330ffbcefb6b8301cb4:45 exact single-attempt browser cases,186 Provider assertions,15 real Orca actions/four genuine speech observations and scoped custody/cleanup joins. Original producer4ec6eafbbbf02264db9b0db4780c590abe0bf9cd/run39509314882/a1/artifact12305198394 and all19 original archives remain unchanged. Full02 artifact12315224479/rawSHA256 d6df73c1baf26d7a75a7db7e13e0c0c55429a69e150ea4581f8afcbabb9aa2c5; independent root scoped acceptance7dab9d3473110961508570af4ad7e95cbc05918dde4b23f2a61a64c8f6d02c4f. This is scoped candidate receiver/AT acceptance, not publication, public adoption, Template728 merge or complete Delivery acceptance. First full39526276388 log-cap failure and historical public0.32.1 material font failures remain separate original evidence. Root released the4e48 qualification horizon after retention; historic512MiB watcher Unknown remains reserved.

Prior next action: Same SVG4709 owner is preparing closed publication progression with Rendering producer source owner: current protected release-source-guard deliberately refuses 0.32.3 acquisition/events/readiness, so first deliver a separately reviewed immutable full02 proof binding/validator/acquisition/event/tag source extension through the existing publisher route, preserving0.32.1/0.32.2 subjects and original19 bytes. Historical preflight39520796171 all19 NuGet verify-key HTTP200 authorization is retained separately from GitHub baseline archive403 and effective writer Unknown; fresh selected-executor source/authority/collision gates still precede any admitted publication. No publication POST, rebuild/repack, speculative public default or Template728 merge is selected. Root retains final source/profile/operation admission;4709 then4644 remain In progress for this active owned continuation. Full Done when and downstream/installed/default/lifecycle/bundle promises remain unchanged.

Blocked on: Exact current-source artifact12297901524, rather than earlier604 evidence, records Template0.19 candidate archiveSHAe1e3b3a27a1e498906a63ba5ca92a4f0adffd802b3f3e107cfb0d74e22fc0ec1 with public Rendering0.32.1/publicationfalse. Build succeeded with0warnings/errors, but actual Chromium timeout, replacement and stale-completion FontFace cases expected absence and observed presence:13passed/3failed/21skipped. These remain genuine supplier/consumer acceptance failures; no skip, weakening, repin or publication is inferred. Actual browser28 failed in7.685seconds on unsupported native browser child argv after discovering2tests/entering the first two-client case. Node-15 followed supervisor termination; original bothEOF=true/groupAbsent=false, Chromium settlementUnknown and postflightValueError remain. Root independently observed all13recordedPIDs/4groups absent later; that does not rewrite original custody or prove full retirement/ABI. Actual26 and all earlier failed operations remain unchanged. Unsupported Arch/stockvalidator, custom-executable/security/egress, loadedABI/ASPNetpatch, worker/font/two-client/formal/Orca and full4709/4644 acceptance remain open. Actual30 remains failed-original-preserved: primary proc-before/birth-unavailable for previously sampled ChromiumPID967944; serverPID967839 S-to-Z exe-link/process-disappeared was secondary. Original groupObservedAbsent=false, Chromium967868 terminalObserved=false/descriptorClosed=true and independent custody Unknowns are unchanged. The separate later observation found14 recorded PIDs/four groups absent with zero census gaps; no completed product assertions or whole containment are established. Staged inputs and selected originals were preserved, with no postflight secondary. Source31 uses only a previously qualified exact birth/role/group and its still-open original pidfd positive terminal event; missing proc metadata alone grants no authority, replacement/live/closed/unheld/unknown cases still refuse. Its92 inert controls are source evidence only. Separately, Rendering39500473725/a1 guard passed but package/template exact SDK10.0.401 gates observed10.0.402 under the current global latestFeature resolution; source custody/preflight/publisher were skipped, zero artifacts exist, publication was never selected. One original source-only POST is consumed with no replay. Current two-path repair is owned by rendering_review. Actual31 separately preserves callback primary MetadataReadFailure proc-before/birth-unavailable for new census-heldPID977910, with no prior successful shape/display transition or terminal-disposition qualification. Four previously qualified terminal births were handled correctly through the exact-held-terminal path; neither missing metadata nor later pidfd settlement retroactively qualifies the new birth. Original commandexit1/bothEOFtrue/groupObservedAbsenttrue/domainDescriptorClosepassed and all18per-role pidfd records terminal/closed are retained; command exit is secondary to the metadata first cause. Staged inputs/selected originals were preserved with no postflight secondary. Independent later observation found all15recordedPIDs/fourgroups absent with zero census gaps, scoped only to those records; unsampled transients/whole containment/loadedABI and all historical23/26/28/29/30Unknowns remain unchanged. Strictfont failure and whole-operation failure are independent; no full acceptance, source32 or retry is claimed.

svg-release-d.md .3–.5 and Completion boundary; svg-coherence-and-instancing-01.md .8 successor receiver; Genuine019 full SDD receiver evidence. Preserve accepted parent source/publication evidence at its original scope. Record actual PR/head, selected artifact/profile/operation, independent scoped result and native acceptance here after they exist; only the exact scoped results recorded here are supplied. Full original parent promise and history remain authoritative at https://github.com/FS-GG/.github/issues/4644; broader programme outcome: https://github.com/FS-GG/.github/issues/4644. This bounded source/receiver result does not close either broader promise. Accepted decomposition design: https://github.com/FS-GG/.github/issues/4701 and `docs/coordination/2026-10-19-board-clearing-lifecycle-design.md` (owning source plan; publication remains separate).

Root boundary readback preserves full Done when, existing owners and all original reservations. Accepted Templates726 source atc4c76e59. Explicit published020 cohort successor source7f9cd0e5d781a2918164b65e58d3fbded9ec42be passes80controls and independent review;019 proof stays scoped019.

Accepted scoped milestone2026-10-20 — Studio20/artifact21: Actual artifact21 completed two previously unstarted Python acquisition ports with exit0, EOF and observed command-group absence; root exit0/direct-driver-reaped in8.491seconds. Chromium1243 and ffmpeg1011 raw archives total122185580bytes, with289 safe extracted members/277660645bytes and six static ELF declarations independently hash-read back. Actual source URLs each followed one HTTPS307 redirect. Prior19/20 originals and3431 retained rows remain unchanged. This is artifact/static-declaration evidence only: no upstream signed digest, stock installation, official Arch support, loaded ABI, browser execution, worker/font behavior or detached-browser retirement acceptance. Complete original Done when, Owner, earlier history/evidence, Templates727 source and genuine public020/108 artifact identities, all remaining4709/4644 promises and inherited reservations remain unchanged. Both issues remain OPEN; this body proposal grants no Status change, closure, dispatch or reservation release.


Retained CI diagnosis2026-10-20: Candidate source job39490622991 compiled and completed Fable compilation, then exposed exactly three late-load FontFace failures with public Rendering0.32.1 (expected absent, observed present); aggregate13passed/17skipped is not a per-case positive receipt. Its source candidate Template0.19.0 SHA80d537aacb99419c9a6b7b86a003b41fab75e0077331d0e242c1a5ec1cf4e3fd is unpublished. The separate installedpublic job39490622964 intentionally consumes immutable Template0.13.0/Rendering0.31.0, but copies the current authoring observer; its new mounted-text assertion fails because that historical UI never mounted the text. This is a concrete observer/consumer contract mismatch, distinct from the0.32.1 late-cancel dependency. Root must reconcile explicit historical identity binding without weakening new font/real-text cases. These two jobs are not among the classic three requiredchecks, but their failures remain material and are not waived. No rerun, source edit, merge or native write occurred in diagnosis.


Current checkpoint supersedes only the earlier current-state paragraphs; all historical receipts above remain history. Accepted Server18, Studio19/20, artifact21 and tool22 milestones retain their original scopes. Full Done when and parent4644 promise, historical4710 owner/chain, five source-child holds and439+46 inherited/later Unknown reservations remain intact. This is a body proposal only, with no native write, dispatch, retry, closure or reservation release.


Actual browser29 checkpoint: The one separately root-admitted operation failed closed in7.691seconds, with no completed tests. Its typed refusal records browser-child-argv0 forPID950308 and missingtype count0; actual helper/executable identity remains Unknown, so no unobserved child shape is admitted. Postflight now verified stagedInputsPreserved and selectedOriginalsPreserved with no postflight secondary failure. Original groupObservedAbsent=false remains unchanged; final pidfd custody is terminal/closed. Root independent retirement proof80ee3f1d establishes13recordedPIDs/fourgroups absent with zero census gaps later, without rewriting original group observation or proving loadedABI/full retirement semantics. Actual26/28/29 and all original failed receipts remain immutable; no automatic retry is authorized. Static source diagnosis is active under the same owner.

Current scope boundary: Full Done when and parent4644 promise, historical4710 owner/chain, five source-child holds and439+46 inherited/later Unknown reservations remain intact. Root reconciles4709 then4644 as In progress for ongoing owned source/CI/runtime continuation. This body update changes no Status, ownership, admission, closure or reservation. Earlier source-recovery/no-active-PR and prospective-operation text is historical, superseded by the exact current checkpoints above.


Composition observation correction: The earlier pending statement recorded the then-observed in-progress job and remains historical evidence, not a failed or waived gate. A distinct admitted read now establishes job118876416924 terminalSUCCESS at2026-10-20T21:04:53Z and the exact tested merge commit/tree recorded above. Initial gh display refusal retained no log body; the separately authorized supported escape-sequence read went only to private raw custody and emitted closed checkout/hash scalars. No CI rerun, source change, strict-font weakening, producer publication claim or runtime acceptance occurred. Source Release C13passed/3failed/21skipped and original26/28/29 failures remain unchanged; root4709/4644 In progress decision and full Done when/parent promises remain intact.

Accepted Rendering source milestone2026-10-20: protected4ec6eafbbbf02264db9b0db4780c590abe0bf9cd/tree001c026e7b93ba971e59ece512c5c9cd384163c0; original run39509314882/a1 succeeded, SDK10.0.401/runtime10.0.13, original artifact12305198394 15,073,469B SHA84647332c124e511545787c8c3f8634d4f5177068521acfc86c93430ac73ef63 retained and independently verified. All19 original payloads/custody,17 API comparisons and three source browser font-late-disposal cases passed without repack. Matrix remains incomplete/AT unavailable, not AT acceptance. PriorSDK402 run39500473725 failure/zeroartifacts and subsequentHTTP422/no-run remain preserved. New disabled bindingPR1453 is SOURCE preparation only. Its original900s source-start receipt was not retained, so timing coverage is a gap; no start is inferred. Frozen source/control results remain factual; PR delivery uses a separately admitted300s metadata clock. This is4709/4644 Rendering, separate from Fable COMPLETE4766. Whole Done when/Owner/history and all publication/installed/runtime promises remain unchanged.

Owned Rendering process disposition2026-10-20: PR1453 same-owner test repairf1f2252b/tree8e613c9b addresses originalAPI job118941420617 shallow-checkout missing4ec failure through the pure source_bytes seam only; unchanged plan SHA, missing-history128 and wrong-byte refusal are causal controls. Production fetch/guard authority stays unchanged. Focused4/full51 passed and independent delta review accepted; current exact-head hostedCI remains pending. Review activation was delayed because rendering_review used send_message for an idle peer instead of the already-required followup_task (canonical work-board adapter lines382–386). This was an execution omission, not a missing policy: root reactivated the same reviewer, no duplicate rule/PR was introduced, and later idle-review boundaries must use followup_task and verify active/accepted state. That avoidable wait did not renew the original600 clock. Original900 source-start coverage gap and all previous failed runs remain preserved. No preflight/tag/publication or full4709 acceptance is granted.

Accepted disabled-binding SOURCE milestone2026-10-20: RenderingPR1453 normalmergedc72577bd9110520e6ff28ada9e35631a596963d6/tree8e613c9b02ddc8ae8218318de8e4379847a994f4, exactindependentlyreviewedf1f2252b andall24currentCIchecksSUCCESS. The originalshallowtestfailure andearliersource-clockgap remain history; no guards orfetchauthority wereweakened. Immutable0323 candidate binding is disabled/readinessfalse. Existing ordinary preflight request is prepared but NOTadmitted/dispatched: executorc725 andproducer4ec aredistinct; source-onlyfalse/font-disposaltrue/preflighttrue selects onlyguard+nonpublishingpreflight. FutureOIDCcredentialmint/authenticatedbaseline/census/scopeGETs requirefreshrootadmission/profile/mainfreeze andgenuineauthority/collisionreadbacks; no org403 clearance is inferred. No tag/publication/acquisition/newbrowserruntime wasselected; full4709/4644 remains open.

Owned transitive-selector disposition2026-10-20: Admission clarification caught missing0323 cases in ReleasePackageCensus.selectedPlanTuple, NuGetVerifyKey.scopeSourceFromReceipt and the verify-key wrapper BEFORE any preflightPOST/credential probe. The original nine-path proposal and independent top-level source review both missed these called closed selectors; the earlier disabled preflightpacket55f72f49 is superseded, never retried. Rendering same-owner follow-upsource038d0bad/tree9c9b5ab2 repairs the existing selectors/controlscripts plus the existing required API job so actual pinnedSDK401 runs both F#controls before credential-bearing ApiCompat. No localCLR or compiled acceptance is claimed; exact-head hosted execution must qualify them. Genuine immutable producer4ec plan is3490 rawbytes SHA89369de0c0944c66a52c6ed914cef78d6bb7670866baedf85cd8a198c5c46239, identical at executorc725 and joined to retainedcustody/binding/nativeblob. d0127bcd is the newline-stripped cheap-source-guard hash, not raw identity; the earlier message calling it raw was corrected before code/effects. Apply existing pipeline-preflight composition review to transitive selectors and their executable controls; no new framework/reportingPR. Historical writer mappings/readinessfalse, prior failures/source-clockgap and full4709/4644 AT/publication/installed promises remain unchanged.

Current source milestone2026-10-20: PR1454 exact038d0bad independentlyreviewed; actualrequired APIjob118952938628/run39517455760/a1 selected privateSDK10.0.401/compiler2bd619 and executed36finitecensuscontrols plus raw-plan/source/executor/roster/readonly19-inertGETcontrols before credential-bearingApiCompat, allPASS;51Pythoncontrols and17APIcomparisons passed. No localCLR ran. Only Deterministic job remainsunresolved at this boundary. Superseded Next action retained ashistory: Next action: Same owner SVG receiver retains4709/PR728 and full strictfont/runtime promises. Rendering source owner rendering_review has delivered SDK-context repair1452/4ec6eaf and qualified original source-only39509314882/a1 with retained original19archives/17API/three original-archive browser families; this is source qualification, not publication or full receiver acceptance. Root accepted scoped retention and independent review. Current owned supplier continuation is RenderingPR1453 exact96fb8588/tree0b7cde8a: independently reviewed disabled0323 immutable attempt binding, pending current required/material CI. Readiness remains false; genuine receiver/AT/root joins, authenticated publication prerequisites, whole coherent publication, public adoption and installed/downstream assertions remain open. No new browser retry, preflight, tag or publication is selected. Root retains all runtime/native/merge authority.

Accepted read-selector SOURCE milestone2026-10-21: PR1454 merged once normally to332de6b50ac2e1d1728d2584dbbea27daf34d147, parentc725/tree9c9b5ab2 exactreviewed038d andtestedcheckout. All20nativechecksSUCCESS, protectedCLEAN/head/base/protection/parents/readbacks verified. New exactdisabledpreflightrequesteb6fa5a6 retainsproducer4ec/3490-byte rawplan89369/originalcandidate12305198394; noPOST orpublicationauthority. This closes only the source-selector validation gap; authenticatedeffectivegrants/org403/collision observations and fullpublic/installed/AT acceptance remain unobserved. Superseded Next action retainedashistory: Next action: Same owner rendering_review retains current RenderingPR1454 exact038d0bad/tree9c9b5ab2 through normal source delivery; originalgate39517455760/a1 has actual API/F#controlsSUCCESS and only Deterministic118952938653 stillrunning. Source900window is retired after its boundedobserver; any further observation requires a distinct supported metadata window, not a rerun. Newreadselectors admit only genuine raw89369 plan for nonmutating scope observations; writerreadinessfalse/historicalallowlists unchanged. Root retains futurepreflight/admission/publication authority; old55f72request is superseded beforePOST. SVGreceiver/PR728 andfullstrictfont/AT/runtime/publiccohort/installedpromises remain under4709/4644. No new browser/preflight/tag/feed operation is selected.

Root selected original nonpublishing0323 preflight admission2026-10-21: exactrequesteb6fa5a6bff4a23f28bc1607a1debe3538380b6425168fc719edeb23370b2eb3, executormain332de6b50ac2e1d1728d2584dbbea27daf34d147/tree9c9b5ab2, immutableproducer4ec6eafbbbf02264db9b0db4780c590abe0bf9cd/raw3490B89369de0/original19archivecustody. Root freezes executormain through original result and retention. font=true/preflight=true/source=false selects sequentialguard then one publicubuntu-latestVM under existing documented4CPU/16GB/14GB class,360min/job and35dayworkflow includingqueue; no inventedpercommand/output/allcleanupbound. Root explicitly admits OIDC NuGetcredentialmint and authenticatedbaseline restore, complete19-ID active/deleted census and existing-IDscopeGETs, with no package/tag/feedwrites. Fresh authority/source/permissions/run-census/OPEN-Inprogress boundaries are being verified before ONE possible-sendPOST; uncertainty never permits retry. No run or successfulgrant/collisionresult is claimed yet. Writerreadinessfalse/AT/receiver/root/publication/installed/full4709/4644 acceptance remains unchanged; superseded55f72 is not reused.

Owned request-contract disposition2026-10-21: actual workflow_dispatch schema validation was omitted in the prepared packet and root review; validate-only belongs to workflow_call, not dispatch. GitHub refused the ONE originaleb6 POST withHTTP422; possible-send, originalresponse and zero-newrun nativecensus are preserved. No credentials minted or package/tag/feed effect occurred. Immediate request-preparation correction uses the exact332 protected workflow_dispatch mapping (notcall), validates all8 suppliedJSONtypes plus defaults/required flags, causally rejects the oldunsupportedkey and8wrongtype variants, and executes the actualYAMLshell/Python source-binding/executor guards through inertfetch/fixtureHEAD ports: exactroutePASS; wrongexecutor/source/version/mixedflags/writeattempt refuse. Onlyguard+nonpublishingpreflight jobs select; no hostedauthority or credential claim comes from these fixtures. Existing profile/native guards remain checked; oldeb6 is consumed/refused, corrected6c9 stilldisabled untilrootadmitsit. No duplicate standardsPR is introduced; preserve all historical failures/rawplan/source-clockgaps. Superseded Next action retainedashistory: Next action: Rendering same-owner PR1454 is source-delivered332de6b50ac2e1d1728d2584dbbea27daf34d147/tree9c9b5ab2 with independentreview, all20currentchecks and actualhostedSDK401/F#read-selectorcontrols PASS. Root next selects the exact separately admitted ordinary0323 nonpublishingpreflight using newexecutor332de6b5 and immutableproducer4ec/raw89369/original19archivecustody; preparedrequesteb6fa5a6 is DISABLED untilrootadmission/freshmainfreeze/authority-read profile. Old55f72 is superseded beforePOST. No credential probe, tag, publication, consumer/browserretry or installed adoption is selected merely by source delivery. SVGreceiver/PR728/fullstrictfont/AT/runtime/publiccohort and full4709/4644 promises remain open; writerreadinessfalse and historicalattempts unchanged.

Root corrected-request ruling2026-10-21: Root independently read exact workflow_dispatch and complete schema/branch proof, and admits ONE correctedrequest6c9beba29956381ddcc608f94297df92180b7e6cff129d988bafcc41184f59bc after fresh adjacentguards. The unsupported validate-only key is omitted; all8actualdispatch inputs are typed/proved. Originaleb6HTTP422/zero-run is preserved and is not replayed. Existing original1800localmetadata clock, existing hosted360min/job+35dayworkflow/OIDCmint/authenticatedbaseline+census+scopeGETscope and Renderingmain332 freeze remain unchanged; no renewed service lifetime. Source4ec/raw89369/original19custody remains immutable, writerreadinessfalse/fullAT/receiver/publication/installed acceptance remains open. No package/tag/feed writer is selected. Actualrun identity/result remains pending before this single effect.


Accepted scoped Rendering milestone2026-10-21: Root independently accepted original nonpublishing preflight39520796171/a1 at executor332de6b50ac2e1d1728d2584dbbea27daf34d147 against immutable producer4ec6eafbbbf02264db9b0db4780c590abe0bf9cd/raw3490B plan89369de0c0944c66a52c6ed914cef78d6bb7670866baedf85cd8a198c5c46239 and original19-archive custody. All five original ZIPs/seven sanitized members were retained and independently hash/size verified. Actual SDK10.0.401/runtime10.0.13, supported NuGet baseline0321 restore, all19 complete active/deleted GitHub target-absence censuses and all19 HTTP200 existing-ID NuGet scope observations passed. Historical direct baseline URL403 remains a separate diagnostic; it does not negate the supported-client restore. No package/tag/feed mutation occurred. Root released only this completed preflight main freeze. Effective GitHub whole-set writer grants remain unknown-before-attempt; read observations are not writer authorization. Original eb6HTTP422/no-run, source-clock gap and all earlier failures/Unknowns remain preserved. The disabled0323 attempt still has null receiver/AT/root joins and attemptReady=false; source acquisition and publication remain refused. Full Done when, Owner, history, inherited reservations and whole4709/4644 promises remain unchanged.

Superseded Next action retained as history: Next action: Original nonpublishingpreflightrequesteb6fa5a6 received definiteHTTP422 for unsupportedworkflow_dispatch input validate-only, with fresh complete zero-newrun census; no SDK/OIDC/feed/tag operation started. Same owner prepared corrected immutable request6c9beba29956381ddcc608f94297df92180b7e6cff129d988bafcc41184f59bc omitting only that unsupportedfalse input, with all8 dispatch keys/types/defaults/required fields and actualYAML/Python branch/profile/source/executor checks proved. Corrected request remains UNSENT pending root exacthash admission within the SAME original1800metadata clock; no renewal/retry of rejectedeb6. Renderingmain332 freeze remains root-owned. Full4709/4644/publication/AT/installed assertions and writerreadinessfalse remain unchanged.


Owned source checkpoint2026-10-21: Actual Renderingcaller schema/defaults/exclusivebranch/PRpreflight controls plus39 causal refusals passed; existing PyYaml structural read joins the genuine newcallee inputkeys/types and preserves oldjob/static/paths/default. Templates candidate adds required323Studio build/strictfont cases and mode-specificOrca prerequisites; its independent review/hosted acceptance remains pending. First local validation pointed at the historical Templates worktree; the exactHEADguard refused before source writes. Missing shell set-e then allowed only the unchanged old19-control script to run; that is not newcandidate qualification. The correct isolated Templatesworktree was recovered through gitworktree inventory, and corrected sequential set-e validation produced the actual new39-control result. Preserve this execution omission and first refusal; no new standard/framework is introduced. Existing instruction to guard dependent shell sequences applies. No local CLR/browser/runtime, push, dispatch, repack, tag or feed operation occurred.

Superseded Next action retained as history: Next action: Same Rendering supplier owner has completed accepted read-only preflight39520796171/a1 and retained all five sanitized artifacts. Root next selects a scoped source extension of the existing exact-original-archive Templates external-reference qualification and its Rendering caller for genuine0.32.3 producer4ec/artifact12305198394, preserving historical0321/0322 selectors and PR728 ownership. Existing actual Orca/AT-SPI2 and full receiver controls must run on that exact cohort before genuine receiver/AT/root qualification can populate a later reviewed attempt binding. Current binding remains attemptReady=false and writer acquisition/tag/publication refuses; no source assignment, runtime/credential probe or publication is selected by this diagnosis. Whole public Wizard/SDD/Templates/runtime/default/lifecycle/bundle/installed promise remains open.


Source milestone2026-10-21: Root accepted independent exact357b445 source review after the original209a1ad report-shape finding. The repaired validator joins genuine file/describe ancestry/leaf identities (four direct historical, four describe-nested historical, seven strict font cases); successful15-per-family outcomes remain strict and13 identity/population/outcome mutants refuse. Hermetic controls passed without local compiler/browser/runtime. Original209 review/controls and prior source604/1b source failures remain preserved. Prior1b actual source qualification had13passed/3failed/21skipped against published0321; it is not waived or renamed. First357 synchronize routine39523659617 used the old body marker and failed; a single guarded body update produced current exact-head routine39523710219 SUCCESS. New0323 reusable qualification remains not-run on the Templates PR (candidate job skipped); static39523660680 SUCCESS is source evidence only. Existing normal hosted PR qualification was explicitly admitted by root; original results/cleanup/evidence retain their own limits. Full Done when, Owner/history, all439+46 inherited Unknown reservations and separate4710 custody remain unchanged; no Status change, closure, publication or reservation release.

Superseded current deliverable retained as history: Current deliverable: Same owner svg_current_public_receiver retains PR728 through source review, ordinary delivery and required validation. Exact reviewed source1b0596bb340b75b998a4530fa0bbf4ae57b8d032/tree8653e5168eb35f96888ecccfdaf02ac49a25a960 is delivered against base40769d0503db70e057634c011a97152017b86b4b in https://github.com/FS-GG/FS.GG.Templates/pull/728 . The original three UI paths implement bounded Ready/Diagnostic waiting, mounted verified text, resource lifetime and strict genuine lifecycle cases. Five additional reviewed repair paths bind immutable public Template0.13/Rendering0.31 to its historical resource-roundtrip observer by exact archive/source/descriptor/reference/receiver-default/observer identities; current or mixed identities cannot select it. Current strict mounted-font assertions remain unchanged. Root independently accepted the source29 preparation and sealed its separate runtime admission; actual29 failed as recorded below. Exact-head current routine event39494734884 passed; earlier marker-race failures remain original history. Historical public receiver qualification39494651279 passed. Required kit, receiver validation and composition39494651113 passed. Actual composition checkout was refs/remotes/pull/728/merge at0a4c84a6a9b3a492fb58a8a38fab5aa0566681e7, independently joined to parents40769d0503db70e057634c011a97152017b86b4b and1b0596bb340b75b998a4530fa0bbf4ae57b8d032 and tree8653e5168eb35f96888ecccfdaf02ac49a25a960, exactly the reviewed source tree. Current-source Release C failure remains material; required-check success does not grant merge or full acceptance. Installed typed receivers and D.5 source qualification passed at this head. Current Release C source qualification39494651209 failed; no ready/merge/full acceptance claim. Current browser recovery: Actual30 failed on a metadata-lifetime observation gap; source31 callback/root preparation is now independently accepted with92 inert controls, preserving the unchanged Runner/protected owner and strict product tests. That source-only state is historical: root subsequently admitted actual31, whose separate partial results and original failure are recorded here; source qualification never grants product/runtime acceptance. Templates728 reviewed1b source/required-check/composition evidence remains unchanged. Actual31 establishes one genuine two-client authoritative-move PASS and source-bound geometry Worker1request/1response/1termination/0errors. The strict font case FAILS: one expected/one unexpected test,0skipped/0flaky. Genuine Noto blob09aee8065d25508f23a4c3d92cd777ac869c52d93fd868a88f025d888a7937d6 loaded exactly once and was revoked, but FontFacepresent=true violates the unchanged expected-absent assertion. This is a meaningful scoped partial result, not a whole-operation or full4709 PASS.

Superseded Next action retained as history: Next action: Same Rendering supplier owner prepared exact two-path caller candidatee6404211b11a25f6909cd6869917f725d3587bbc/treec2c09c9b6ebe9df2c5ba98d9fb2afb35877358c6 from protected332, pinning genuine Templates source209a1ad1e85b66ea019e609147afcd8aeaf92a9c under existing PR728 ownership. Root independent source review precedes normal PR/required CI and any separately admitted full qualification. New explicitfont-disposal route selects the exact retained0323 archives and proposed45 browser cases plus15-actionOrca; historical321/322/defaultcandidate routes remain unchanged. No runtime, credentials, publication, readiness or installed acceptance follows from source preparation. Whole original Done when remains open.


Accepted caller SOURCE milestone2026-10-21: RenderingPR1455 exact independently reviewed9b23ec33b7e6e64207aadb71cb5b925f505b19e6 normal-squash merged once to15ed353384fdf817cf7cf663dd2e4cf589a746c6, parent332de6b50ac2e1d1728d2584dbbea27daf34d147/tree47a272c8cc44b735f64f7f9a21260671d8a68eb7. Fresh head/base/nativeCLEAN/protection/all five required Actions-app checks passed before the single effect; all24 material checks were terminal (22SUCCESS, two intentionalSKIPs). ActualDeterministic checkout9b and API synthetic0e5517a6 parents332+9b/tree47a joined the reviewed tree. Actual static job executed40 caller/request plus9 context/handoff refusals and selected historicalpreflight only; actual historical archive preflight passed and new0323 full job was SKIPPED onPR. The caller pins real Templates357b445a87d803d6d591962b663c091ec35e230d; remote commit/workflow bytes were independently verified. Existing schema/defaults/historicalpins/readonlypermissions remain intact. Source-only context validation now checks actual event/typed inputs before dependent calls and forbids substituting local self-test mode in production. No fullreceiver, credential probe, tag, package/feed write or publication operation was selected. Immutable original4ec/archive/rawplan, disabled readiness/null receiver-AT-root joins, earlier failed runs/requests/source-clock gap, Owner, full Done when and inherited reservations remain unchanged.

Superseded Next action retained as history: Next action: Same owner observes the original357 PR728 required/material CI without reruns; current exact-head routine39523710219, static39523660680, kit and receiver validation passed while composition39523660640 and material source39523660650/public39523660478/typed39523660667/D5source39523660603 remain in progress at this read. Existing source job intentionally requires public0321 and cannot be relabeled0323. Rendering owner delivers its reviewed caller pinned to actual357; root separately selects the closed original0323 full receiver/Orca request after exact caller/source/profile review. Targeted genuine0323 qualification can support later Rendering publication only through all genuine acceptance/binding gates; actual public0323 can then support same-PR default adoption and broad source qualification. No merge on mechanical green while known material source/font failure remains unresolved, no speculative public pin and no automatic dispatch.


Root ruling2026-10-21: Programme/root selects the FIRST full original0323 receiver/Studio-font/AT qualification through the reviewed Rendering caller now protected at15ed353384fdf817cf7cf663dd2e4cf589a746c6/tree47a272c8cc44b735f64f7f9a21260671d8a68eb7, invoking immutable Templates357b445a87d803d6d591962b663c091ec35e230d. This is one workflow_dispatch on exact main with only rendering-input-source=font-disposal and preflight-only=false as a genuine boolean; requestSHA0b2c8e3e91a7311060b18af7fbeb686f876e2179790a99859634a9310ac51115 and reviewed protected-profileSHA45e861d163ebaf34d69951ca507dfbd6ec74c04eb89a828a206ce3f5f7c6ba4e are fixed. Renderingmain15ed is held through qualification terminal and original retention. Producer4ec6eafbbbf02264db9b0db4780c590abe0bf9cd/run39509314882/attempt1/artifact12305198394/15073469B/rawZIP84647332c124e511545787c8c3f8634d4f5177068521acfc86c93430ac73ef63, all19 original archives/custody7dbd4329546932c4c1d12767550b7b78aae85e32c81b354935b2c615b3e298c9 and RAW3490B plan89369de0c0944c66a52c6ed914cef78d6bb7670866baedf85cd8a198c5c46239 remain the closed subject. Fresh native source/principal/run/archive/schema and zero selected-executor-dispatch census are required before the single possible send; uncertainty refuses resend.

Admitted effect profile: existing Ubuntu24 caller static5minutes plus new-mode-only qualification60minutes, fresh exact SDK10.0.401 root, Node26.10.0/npm12.1.0/Playwright1.63, canonical SDK/Fable/Studio/vendor/npm/Vite/server builds and generated-private locks/cache-body joins,45 exact browser cases (8reference+7strictStudiofont per Chromium/Firefox/WebKit, one worker, no skipped/flaky/unexpected) and genuine15-action Orca with original300second session. Root explicitly admits the listed GitHub/SDK/NuGet metadata-trust-audit/package/npm-audit/native-lifecycle/Playwright/Ubuntu apt and native AT effects for this hosted qualification only. Job-token contents/actions remain read-only; no OIDC, publication, tag or feed writer is selected. Existing failure/clock/cleanup and original evidence obligations remain; always-upload/hosted retirement are best effort and not a universal containment or peak/quota assertion. The new metadata4500second original starts01:11:46.859831UTC and ends02:26:46.859831UTC, CPU0/512MiBsoft/private512MiB, covering guards, one possible POST, observation and retention; original hosted jobs/queue are separately bounded and no deadline is reset. Original retired1800second delivery and all earlier failures remain unchanged.

Scope remains open: Templates PR728 exact357 required checks and routine passed, with composition actual tested merge86a9331c28a34fe0fe27a678a37c4241d6ea7acf/tree39e649a85bcf204fda660ac8a773566ab565b1fa equal reviewed source. Its independent material source39523660650/a1 remains FAILED: currentTemplate019/publicRendering0321 compiled0warnings/0errors, Chromium13pass/3late-font failures/21skipped; timeout/replacement/stale native FontFace remained present when absence was required. Historical public, typed andD5 jobs passed. The new0323 counterpart is not yet run at this pre-dispatch ruling. No Templates merge on mechanical green, no failure waiver, public default repin, publication, installed or full4709/4644 acceptance follows. Full Done when, Owner/history, original439+46 Unknowns and separate4710 custody remain intact.

Superseded current deliverable retained as history: Current deliverable: Same owner svg_current_public_receiver retains PR728 through source, review and ordinary delivery. Exact reviewed Templates357b445a87d803d6d591962b663c091ec35e230d/tree39e649a85bcf204fda660ac8a773566ab565b1fa is now pushed and exact-head/body read back in https://github.com/FS-GG/FS.GG.Templates/pull/728 . Root accepted independent source review. It preserves the original strict TemplateUI font repair and historical public observer, and adds a distinct closed original0323 candidate route with genuine Studio build,45 browser cases (eight historical plus seven strict font cases in each family), existing15-action Orca, exact19-archive/source/raw-plan custody and new-only60minute envelope. This is accepted source only; no0323 full qualification, publication, public default adoption or complete4709 acceptance follows.

Superseded Next action retained as history: Next action: Rendering callerPR1455 is source-delivered at protected15ed353384fdf817cf7cf663dd2e4cf589a746c6/tree47a272c8, pinning genuine Templates357b445a on existingPR728. Same SVG receiver owner prepares only a DISABLED exact main-ref/font-disposal/full-phase request, anchored to that protected caller and original4ec producer/run39509314882/a1/artifact12305198394; root must separately admit/freeze the actual qualification. New0323-only scope is186 Provider assertions,15 strict browser cases per family (45 total) and15 actual Orca actions with cleanup under the reviewed mode-specific route. Historical321/322/default preflight behavior remains unchanged. Current Templates357 material Release C still fails three genuine0321 late-font cases (13passed/3failed/21skipped), so it is not waived or merge-ready. No full0323 run/publication/readiness/installed acceptance is claimed. Full original Done when and all reservations remain authoritative.


Actual first-full dispatch milestone2026-10-21: The FIRST explicitly admitted original0323 full receiver/Studio-font/AT run now exists: https://github.com/FS-GG/FS.GG.Rendering/actions/runs/39526276388 , attempt1, main15ed353384fdf817cf7cf663dd2e4cf589a746c6 invoking immutable Templates357. The single POST received HTTP204 at01:15:42.550641UTC and a complete native census independently read back exactly one run created01:15:44UTC. Caller static job118981545837 passed; new-cohort qualification job118981587854 started01:15:56UTC and passed source/archive/preflight/fresh-SDK-root and pinned setup stages before browser-host provisioning. Historical caller full job is intentionally skipped. These are actual start/stage observations, not a successful qualification, publication or full acceptance. Both issues remain In progress for meaningful owned qualification and producer recovery; no Status write, closure, reservation release or broader acceptance is selected. The complete pre-dispatch root ruling and all original deadlines/failures remain unchanged.

Superseded current deliverable retained as history: Current deliverable: Same4709 owner advances the explicitly root-selected FIRST full original0323 hosted receiver/Studio-font/Orca qualification through protected Rendering15ed and reviewed Templates357. The exact source-only milestones are accepted; the new qualification remains prospective until the single dispatch and independently retained actual result. Full public-Wizard/runtime/default/lifecycle/bundle/retained and parent promises remain open.

Superseded Next action retained as history: Next action: Complete fresh exact principal/source/native producer/original archive/schema/no-equivalent-attempt guards, retain this root ruling and In-progress no-op readbacks, then send the single admitted typed main request once and record its actual run identity promptly. Preserve original reports,45 case identities/outcomes and15-action Orca/clock/cold-staging/cleanup evidence. Root separately accepts the actual scoped result before any later producer publication, public default adoption, broad source rerun or full acceptance; uncertainty means no resend.


Source34 checkpoint superseded state retained as observed history:

Activity

  1. EHotwagner commented on Oct 21, 2026

    @EHotwagner
    ContributorAuthor

    For the FS-GG.Rendering repository owner / GitHub provider: please supply an authenticated terminal receive-pack decision for the original Rendering tag intent in run 39541842303 / attempt 1, job 119031172204.

    The request was refs/tags/fs-gg-ui/v0.32.3 → 4ec6eafbbbf02264db9b0db4780c590abe0bf9cd, requested 2026-10-21 04:02:47.727566 UTC, and returned exit 1 / Unknown by 04:02:48.642629 UTC. We need evidence tied to that original transaction establishing acceptance or definite rejection/no effect, including whether any write was accepted. Retained evidence contains classification/counts only; present ref absence does not settle the original outcome. If provider evidence is unavailable, please state that explicitly.

    Please acknowledge availability by 2026-10-21 12:00 UTC. If investigation is needed, provide the actual provider-result ETA. Programme/root will check this thread at that deadline or on a reply notification; no indefinite watcher is planned.

    No credential value, grant change, new tag, retry or publication is requested. This asks only about this exact original transaction and leaves the existing Blocked hold intact.

  2. EHotwagner commented on Oct 21, 2026

    @EHotwagner
    ContributorAuthor

    Decision/redesign intake requested by the user on 2026-10-21. Keep this existing owner and board item for the SVG publication uncertainty rather than creating a duplicate release task.

    Decision to prepare: compare obtaining the authenticated original receive-pack disposition with qualifying a maintained SAME-original-intent settlement/uncertainty-admission route. If the owner proposes a distinct replacement release instead, first document the consequences of both releases existing, immutable candidate/tag/package identities, consumer/default migration and how original uncertainty remains accounted for. A new version or intent is not itself settlement and must not be used as a replay workaround. Present the concrete supported option and its cost/remaining evidence to the user before selecting any release effect.

    Current original operation and complete acceptance remain those in this issue. Candidate browser/accessibility success does not establish publication or full Wizard adoption. This comment records requested decision work only: no retry, publication, tag mutation, original-operation release, acceptance waiver or Status change. The existing full promise, supplier/source owners and original failures remain intact.

  3. EHotwagner commented on Oct 21, 2026

    @EHotwagner
    ContributorAuthor

    Home targeted triage #4516 (comment) supplies no authentic original receive-pack decision or new custodian evidence. The original run39541842303/a1/job119031172204/firstref4ec transaction and exact cut interval remain held; Programme/root and @EHotwagner/Rendering repository owner/GitHub provider retain the existing recovery route. Current ref absence or credential grants cannot settle the historical effect; no blind replay or new identity is selected.

  4. EHotwagner commented on Oct 22, 2026

    @EHotwagner
    ContributorAuthor

    User-authorized safe redesign selects source implementation of SAME-original-intent convergence, retaining effectrendering-0323-original39509314882-a1 and original run39541842303/attempt1/job119031172204. Historical transport outcome remains Unknown unless authenticated provider evidence arrives. A separate verified current convergence claim may be accepted only under maintained qualified source, exact original receipt/producer/ref binding, immutable create-only destination policy, old-actor interference proof, and bounded workflow/event disable-drain-readback-restore gates. Present absence alone still authorizes no replay.

    Rendering source owner is WORKING in an isolated branch from765eda5; Templates PR728 and its owner remain unchanged. Root owns source review/integration, actual endpoint capability/effective policy checks, effect admission and full public receiver acceptance. Native repository metadata reports current principal admin access; endpoint capability is still separate. No workflow state, policy, credential, tag, package, notification or reservation effect has been changed. Original19 archives,186/45/15/4/27 evidence and full4709 promise remain.

  5. EHotwagner commented on Oct 22, 2026

    @EHotwagner
    ContributorAuthor

    Programme/root 2026-10-22: Rendering PR #1460 (read-only release-tag/App capability observer) merged as 6ff674d6f040e059e51029f5bbdd367dab9efa1f from exact head 7a0391c0. An independent exact-head review APPROVED it with no material findings: the GET-only adapter is closed, App secrets are scoped to one step after the guards, canaries are causal, the census pins exactly the two changed workflows, and settlementEligible/tagMutation/publication are hard-false. 20/20 checks pass. This is SOURCE only. Remaining, each separately root-admitted: one post-merge metadata observer dispatch to observe the actual App/installation grants; admin-identity confirmation of the ruleset digest before any admission bytes; the original receive-pack outcome stays Unknown; publisher eligibility, the public default and full #4709/#4644 acceptance stay open. Status stays In progress.

  6. EHotwagner commented on Oct 22, 2026

    @EHotwagner
    ContributorAuthor

    Programme/root 2026-10-22: one root-admitted post-merge observer run 39739259199 ran at attempt 1 on exact main 6ff674d6 and succeeded: result=observed, no gaps, 9 GET requests, no installation token minted, no tag or workflow mutation, no publication. Sanitized report SHA-256 1f1f5b59…ed67 is retained privately. Observed facts: App and installation identities matched; the installation has repositorySelection=all and includes the target. The grants on both are contents:write, administration:write, issues:write, pull_requests:write, organization_projects:write, packages:read, organization_administration:read, metadata:read, and no workflows permission. As a result writerPermissionCeilingCompatible=false, because the ceiling requires contents:write AND workflows:write. The Rendering ruleset census (job token, includes_parents) is empty, so immutablePolicyReady=false and digestJoinCandidate=false. Workflow inventory: 26 workflows, digest 7bc4c6eb…. Supplier inputs required before any settlement admission (org/repo admin = user): (1) grant the dispatcher App workflows: write, or select a different, correctly scoped writer route; (2) create an immutable release-tag ruleset on FS.GG.Rendering (deletion, non_fast_forward and update, with no bypass actors), as .github's release-tags-are-immutable ruleset does. Root then reconfirms the ruleset digest under the admin identity, and a fresh observer run is separately admitted. The original receive-pack outcome stays Unknown. Status → Blocked on these admin inputs.

  7. EHotwagner commented on Oct 22, 2026

    @EHotwagner
    ContributorAuthor

    Programme/root 2026-10-22: both admin inputs are now supplied by the user and verified. (1) The fs-gg-cross-repo-dispatch App and its FS-GG installation both grant workflows: write. Root-admitted observer 39744253808 (attempt 1, main 6ff674d6, no gaps) reports writerPermissionCeilingCompatible=true. (2) Tag ruleset 25621755 release-tags-are-immutable is active on FS.GG.Rendering with rules deletion, non_fast_forward and update. Admin-identity read: bypass_actors=[] and current_user_can_bypass=never. The include list is ~ALL plus one redundant literal pattern. The observer's immutablePolicyReady/digestJoinCandidate are false only because the job token cannot see bypass_actors, which is the expected job-token limitation; the admin read closes it, and settlement recomputes the digest as administrator anyway. Next, root separately admits same-original-intent settlement under the merged route. The original receive-pack outcome remains Unknown, and no tag was created or changed. Status → Ready.

  8. EHotwagner commented on Oct 22, 2026

    @EHotwagner
    ContributorAuthor

    Programme/root 2026-10-22: settlement admission ready, parked on two user-only credentials

    The user approved running the settlement now. Root prepared everything that doesn't need credentials:

    • Ruleset: release-tags-are-immutable now includes the three exact refs the settlement script requires (refs/tags/fs-gg-ui/v0.32.3, refs/tags/fs-gg-ui-template/v0.32.3, refs/tags/v0.32.3), plus ~ALL. It is active, has no bypass actors, and restricts update and deletion.
    • Admission: built and validated offline against the script's own admission() / immutable_policy() / identity / inventory checks. Admission sha256 8a1bbb69…d30c8, executor 6ff674d6, policy f081b403…, inventory 7bc4c6eb…. It is kept privately with an admin-PAT preflight tool.
    • Preconditions: all live preconditions were verified read-only:
      • no prior settlement run;
      • fenced workflows idle;
      • original artifacts unexpired and matching;
      • all three tags absent.
    • Settlement tests pass: 25/25 and 46/46.

    Freeze until the run: no merges to FS.GG.Rendering main and no edits to ruleset 25621755. Either one invalidates the admission.

    User steps:

    1. Admin PAT. Create a fine-grained token at https://github.com/settings/personal-access-tokens/new.
    2. Writer. This must be an installation token of the dispatcher App, with exactly contents:write, workflows:write, metadata:read on FS.GG.Rendering. It expires after 1 hour, so do this step last, right before telling root.
      • Mint it with the App's private key (App settings → Generate a private key) via POST /app/installations/{id}/access_tokens with {"repositories":["FS.GG.Rendering"],"permissions":{"contents":"write","workflows":"write","metadata":"read"}}.
      • Save it as the secret FSGG_SETTLEMENT_WRITER_TOKEN.
      • Never paste either token into chat or an issue.
    3. Tell root. Root then runs the admin-PAT preflight, dispatches exactly one settlement run with the admission bytes, independently reviews the result, and asks the user to delete both secrets afterwards.

    The original receive-pack outcome stays Unknown until settlement establishes same-intent convergence. Status stays Ready, parked on the user.

  9. EHotwagner commented on Oct 22, 2026

    @EHotwagner
    ContributorAuthor

    Programme/root 2026-10-22 decision (user-delegated): the settlement will not use user-provisioned credentials. A reviewed Rendering source change will derive three separately scoped credentials inside the job:

    • writer: an App installation token, minted in-job, scoped to FS.GG.Rendering with exactly contents:write, workflows:write and metadata:read;
    • workflow pause/restore: the job's GITHUB_TOKEN with actions:write only;
    • ruleset bypass reads: a separately minted App token with administration:read only.

    Each minted token's actual permissions are verified, both App tokens are revoked at job end, and causal controls plus an independent security review apply. The previously prepared admission (8a1bbb69…) is superseded because the executor will change. Root rebuilds and re-validates it on the reviewed merge, then admits one run. The parked request for user credentials is withdrawn.

  10. EHotwagner commented on Oct 22, 2026

    @EHotwagner
    ContributorAuthor

    Programme/root 2026-10-22: Rendering PR #1461 merged as 34db86d0 (main tree readback equal to head tree 2b9338bf). Independent security review: APPROVE-WITH-NITS, then APPROVE on the delta. All 20 checks pass; 42/42 mutants killed. Settlement now derives three credentials in-job, each confined to a closed route set:

    • actions: the job's GITHUB_TOKEN with actions:write and contents:read only;
    • reader: an App token with administration:read and metadata:read;
    • writer: an App token with contents:write, workflows:write and metadata:read, limited to the three admitted create-only ref POSTs.

    Each mint response is checked for exact permissions and a single repository; tokens are masked; both are revoked before restore, even on failure. No user credentials are needed. The prior admission (executor 6ff674d6) is superseded.

    Before dispatching the single-use settlement: the policy digest must be the one the minted reader identity sees, because ruleset bodies can differ by caller. A refusal would burn the one run. Root therefore dispatched a source change so the rerunnable read-only observer mints the same reader token, reports the exact readerPolicySha256, and revokes it. Root then rebuilds the admission on executor 34db86d0 (or its successor), has it independently reviewed, and dispatches exactly once.

  11. EHotwagner commented on Oct 22, 2026

    @EHotwagner
    ContributorAuthor

    fdev 2026-10-22: Rendering PR #1462 merged as 7905b726 (independent APPROVE; 79 controls; 34/34 mutants killed). Observer run 39770740316 succeeded at attempt 1 on 7905b726: result observed, no gaps; the reader token was minted with exactly {administration:read, metadata:read} and revoked. Finding: the reader identity's ruleset body has no bypass_actors field (same field set as the job token; readerPolicySha256 92d96d90…, immutablePolicyReady=false). A settlement run would therefore refuse with 'no-bypass proof missing' and burn its single run. The observer caught this safely, which is why it was added. fdev decision: mint the reader with administration:write, which GitHub requires for bypass_actors visibility, while keeping its code-enforced confinement to GET-only ruleset/ref routes. The job already holds the App key, so this adds no capability. A source PR is dispatched. The observer is then re-run, and must show immutablePolicyReady=true and a reader digest, before the admission is rebuilt and the settlement is dispatched once.

  12. EHotwagner commented on Oct 22, 2026

    @EHotwagner
    ContributorAuthor

    fdev 2026-10-22: Rendering PR #1463 merged as 9e8bd516 (independent APPROVE; 20/20 CI; 12/12 mutants killed). The reader is minted with exactly {administration:write, metadata:read}, with code-enforced confinement to GET-only ruleset/ref routes. Observer re-run 39773558346 (attempt 1, 9e8bd516, observed, no gaps): reader now sees bypass_actors; readerPolicy.immutablePolicyReady=true, readerPolicySha256 2fad9ce0…, token revoked, writer ceiling compatible, workflow inventory 7bc4c6eb…. The admission is being rebuilt on executor 9e8bd516 with policySha256 = the reader digest and validated offline. It then gets an independent review, and the settlement is dispatched exactly once. Freeze: no merges to Rendering main and no edits to ruleset 25621755 until the settlement completes.

  13. EHotwagner commented on Oct 22, 2026

    @EHotwagner
    ContributorAuthor

    fdev 2026-10-22: same-original-intent settlement COMPLETE. The single-use run 39774890888 ran at attempt 1 on executor 9e8bd516, with admission sha256 43af866d…. Before dispatch, an independent review returned GO; the admission was validated offline and the reader policy digest reproduced. All live preconditions were re-checked immediately before the one POST (HTTP 204).

    Receipt (settlement.json sha256 02d2a9b191ae70b662f31e6a3bf5135f6d76ebadae2bf5592ede75f3e3009255, retained privately):

    • result: passed, sameIntentConvergence: Verified;
    • refs/tags/fs-gg-ui/v0.32.3, refs/tags/fs-gg-ui-template/v0.32.3 and refs/tags/v0.32.3 → 4ec6eafbbbf02264db9b0db4780c590abe0bf9cd (the original producer intent), with pendingSubordinateRefs: [];
    • the fenced workflows (release-tags, release, template-dispatch) were disabled, drained and restored to active; cleanup: restored;
    • the writer and reader App tokens were both revoked (DELETE → 204);
    • publication and notification not-performed.

    originalTransportOutcome stays Unknown: settlement proves convergence, not what the original push did. Live readback confirms all three tags at 4ec6eafb and all fences active. The stray repo secret FSGG_SETTLEMENT_ADMIN_TOKEN (unused by the derived-credential route) is deleted. Remaining for #4709 (unchanged and separately admitted): publisher eligibility, public default, and the full public Wizard qualification. The Rendering main freeze is lifted.

  14. EHotwagner commented on Oct 22, 2026

    @EHotwagner
    ContributorAuthor

    fdev 2026-10-22: 0.32.3 publisher eligibility: local read-only rehearsal passed. Publication not dispatched, awaiting root admission.

    Executor is protected Rendering main 9e8bd5167179b0283f0eb2537a184c9ed6289305. The accepted settlement is run 39774890888/a1, artifact 12423109248 (sha256 245a4dbd…56ee), receipt 02d2a9b1…9255. The checks below ran locally against the maintained release.yml publisher entry points, using GET-only reads and a simulated executor context (GITHUB_*, run id 1). They are not hosted proof.

    • Static source guard (--font-disposal-attempt --executor-fence, source 4ec6, version 0.32.3): pass. Plan sha 89369de0…, 19 roster entries.
    • Publisher custody step (--acquire-bound-artifacts): pass.
      • accepted_tag_settlement: native run/artifact provenance, receipt bytes, and live refs all match. All three 0.32.3 refs (fs-gg-ui/v0.32.3, fs-gg-ui-template/v0.32.3, v0.32.3) resolve to commit 4ec6eafb.
      • Original producer artifact 12305198394 and qualification artifact 12315224479: both unexpired, with exact digests.
      • All 19 archives match custody 7dbd4329…, and release-custody verify passes.
      • Qualification facts: 186 / 15·15·15 / 15 AT / 4 speech / 27 members.
    • F# entry release-nuget-verify-key.fsx:
      • Controls: 5/5 PASS.
      • Pre-credential entry: passed the executor, input, settlement, journey and toolchain joins, then refused at stage=credential as expected, because no key is present locally. The local runtime is 10.0.12 and the receipt was relabelled to the hosted 10.0.13 for this rehearsal.
      • A mutated receipt digest refused at stage=input.
    • Publish-job gates on the 19 original archives:
    • Release lane (FS_GG_VERSION_COHERENCE_RELEASE_LANE=1) at the executor:
      • Version coherence: COHERENT (pin 0.32.3 == latest tag).
      • Template payload pins: STRUCTURAL OK.
    • Package.Tests, release-lane equivalent at the executor (-c Release, FS_SKIA_RUN_PACKAGE_CONSUMER_SMOKE=1, release lane on, local packed feed): 534/534 passed. Not rehearsed locally: template-product-tests. The executor 9e8bd516 changes no product paths from 4ec6 (only workflows, scripts, docs and eng/release). The job passed in source run 39509314882, and the gate's "Generated product gate" passed at 9e8bd516.
    • nuget.org flat-container: all 19 0.32.3 archives are absent. The GitHub Packages census still needs the hosted job token, because my local PAT gets 403 on the org packages API.

    Findings:

    1. The existing preflight-only route can no longer be used for 0.32.3. release-preflight.py refuses any existing tag ("tag collision") and the font attempt refuses scope-only mode. After settlement, hosted eligibility is therefore only established inside the publish job, before its first writer. That job runs the fresh 19 verify-key GETs, the complete census, and admitFontDisposal, all before any push.
    2. While the tags have no packages, gate.yml's non-required "Release publish gate" will report drift on the next Rendering main/PR run.

    Nothing in this rehearsal published anything, pushed a tag, minted a credential, or changed workflow or settings state. The original receive-pack outcome stays Unknown. Rendering main must not move between root's readback and the single dispatch. The full #4709/#4644 Done when stays open: public default and full public Wizard qualification follow publication through their existing owners.

    Proposed single admission (root to decide, not dispatched): POST repos/FS-GG/FS.GG.Rendering/actions/workflows/release.yml/dispatches.

    • ref=main, which must read back as 9e8bd516.
    • Inputs: version=0.32.3, font-disposal-attempt=true, source-sha=4ec6eafbbbf02264db9b0db4780c590abe0bf9cd, expected-executor-sha=9e8bd5167179b0283f0eb2537a184c9ed6289305, and accepted-tag-settlement set to the coordinates above (run 39774890888, attempt 1, artifact 12423109248, executor 9e8bd516).
    • All other inputs false or absent.

    It pushes the 19 original archives, GitHub Packages first and then nuget.org, with readback. Package versions are immutable, so there is no rollback. Any recovery is forward only, through the same probe/compare publisher, and needs separate admission. No resend on uncertainty.

  15. EHotwagner commented on Oct 22, 2026

    @EHotwagner
    ContributorAuthor

    fdev 2026-10-22: 0.32.3 publication dispatch: NO-GO on executor 9e8bd516 (independent review), fix in progress.

    • Verified: the executor and gate order, the settlement run/artifact/receipt (02d2a9b1…), the three tags → 4ec6eafb, nuget.org occupancy (404 for all 19 at 0.32.3), and that 0.32.3 is the correct next step for Templates [cross-repo] a worker in a per-item WORKTREE resolves no engine — the fan-out mechanism silently opts every worker out of the ADR-0034 shadow (#716 one layer over) #728's font cases.
    • Defect: under attempt 0323, every --record-event re-verifies the settlement with 6 GITHUB_TOKEN API calls. That is about 191 calls × 6 ≈ 1,150 requests, against the 1,000/h repo limit. It would likely fail mid nuget.org push, leaving an irreversible partial publication. The unit test mocks this path, so it was never exercised.
    • Remedy: a reviewed Rendering change so record reuses the custody-verified settlement file, with no network. Then a dispatch with the new executor SHA and the same settlement, after fdev re-review.
  16. EHotwagner commented on Oct 22, 2026

    @EHotwagner
    ContributorAuthor

    fdev 2026-10-22: The publish dispatch is still held. Its fix is reviewed but cannot merge: Rendering's required gate cannot pass until 0.32.3 is published.

    Independent dispatch review returned NO-GO on executor 9e8bd516. Every --record-event call re-ran the settlement's native authentication: about 191 calls × 6 GITHUB_TOKEN requests, roughly 1,150, against the 1,000/h repository limit, inside the push loops. Fix: Rendering #1464.

    • Record calls now reuse the receipt this job already authenticated, with no network. They join it on the receipt digest, this attempt's input binding, the 7 executor identity fields, and the receipt claims.
    • Tests run 191 real record calls with all transport counted and refused, plus 12 refusal cases. Suites: 62/53/80/26 OK. Native F# boundary: 47/47 locally.
    • Real-artifact local rerun at 456deaf6: 191 records, 0 gh calls. A different run id or a tampered cache refuses.
    • Independent fsgg-critic-best review: REQUEST-CHANGES at 4e4cfeb4 (committed .pyc files; fixed), then APPROVE at 456deaf645c60c37bbc8693da7d5a1c9750ad9c7.

    Merge blocker (structural, not caused by the PR). The required Deterministic gate fails at "API-surface mirror": NU1102, FS.GG.UI.* >= 0.32.3 not found on nuget.org.

    • refresh-api-surface-mirror.fsx reads the exact-head local feed only while the pin is ahead of the fs-gg-ui/v* tags.
    • The settlement created fs-gg-ui/v0.32.3, which closed that window. From now on, any Rendering PR, and main itself, needs 0.32.3 published before this gate can pass.
    • Template payload restore gate and Release publish gate (both non-required) fail for the same reason.

    The second required failure, API compatibility gate, timed out at the native-boundary 140-second budget on both attempts. The same timeout occurred on main pushes 7905b726 and 3464058d before this change, so it is intermittent and pre-existing.

    The publisher route itself is unaffected: Package.Tests passed 534/534 locally in the release lane with the tags present.

    Decision needed from root (no action taken):

    • (A) Admin merge of Record new-sdd-workspace 0.7.0 publication #1464 at 456deaf6 over the Deterministic gate failure, after a green rerun of the API compatibility gate. This is a branch-protection bypass and needs root admission.
    • (B) Extend the existing tagged-recovery mirror input (qualify-retained-api-mirror.py --select-original730, built for 0.32.0) to the settled 0.32.3 original archives, so the required gate passes normally. This is larger source work in a required gate path.
    • (C) Dispatch on 9e8bd516 despite the NO-GO. Not recommended.

    The original receive-pack outcome stays Unknown. No publication, tag, credential or settings effect occurred.

  17. EHotwagner commented on Oct 22, 2026

    @EHotwagner
    ContributorAuthor

    fdev 2026-10-22: Revised 0.32.3 publish dispatch, ready for re-review. Not dispatched.

    Rendering PR #1464 merged as fc2b177e22d66032fe8c2ead4fc3e9845fc2a350. Live refs/heads/main reads back as that SHA, and its tree is identical to the independently approved head 456deaf6.

    Fresh read-only readback:

    • All three 0.32.3 tags still point to commit 4ec6eafb.
    • Settlement artifact 12423109248, producer artifact 12305198394 and qualification artifact 12315224479 are unexpired, with matching digests.
    • release.yml, release-tags.yml and template-dispatch.yml are active.
    • The last release.yml run is still 39541203598, so no publish attempt exists.
    • nuget.org fs.gg.ui/0.32.3 returns 404.

    Proposed single operation: POST repos/FS-GG/FS.GG.Rendering/actions/workflows/release.yml/dispatches

    • ref: main, which must read back as fc2b177e22d66032fe8c2ead4fc3e9845fc2a350 immediately before the POST. No Rendering merges in between.
    • Inputs:
      • version: 0.32.3
      • font-disposal-attempt: true
      • source-sha: 4ec6eafbbbf02264db9b0db4780c590abe0bf9cd
      • expected-executor-sha: fc2b177e22d66032fe8c2ead4fc3e9845fc2a350
      • accepted-tag-settlement: {"run":39774890888,"attempt":1,"artifact":12423109248,"artifactSha256":"245a4dbdd0d52fafcc3517a4af28b7c256e4aa4bf9c4ce1492166034012b56ee","receiptSha256":"02d2a9b191ae70b662f31e6a3bf5135f6d76ebadae2bf5592ede75f3e3009255","executorSha":"9e8bd5167179b0283f0eb2537a184c9ed6289305"}
      • All other inputs false or absent: source-only, preflight-only, successor-attempt, bound-attempt.
    • The settlement executorSha stays 9e8bd516. It is compared with the settlement run's head, not with the publisher executor. The local acquisition at executors 00c4967b and 456deaf6 passed with it.

    Effects. In order:

    1. The static guard checks the settlement natively, once.
    2. package-tests and template-product-tests run.
    3. publish-packages acquires the original 19 archives, runs the [cross-repo] Advance registry fsgg-contracts version + package-version 2.0.1 → 2.1.0 (2.1.0 now live on the feed) — and correct the 2.0.1 annotation, which claims a '.fsi surface unchanged' that grew by 78 lines #1010 and .fsi gates, mints the OIDC nuget.org key, runs the F# verify-key, census and eligibility checks, and only then pushes to GitHub Packages and nuget.org, with readback.
    4. Event records now make no network requests.

    There is no rollback for immutable package versions. Recovery is forward only, through the same probe and compare-matched publisher, and needs separate admission. No resend on uncertainty.

    Timeout exposure (re-GO question), checked against release.yml at fc2b177e:

    • The 47-run native boundary harness (test-release-source-guard.py --native-font-disposal-boundary) is only in gate.yml:807. release.yml does not run it.
    • release.yml has no timeout-minutes (0 occurrences), so GitHub's default 360-minute job limit applies.
    • The publish path runs dotnet fsi once each at release.yml:1020 (5 verify-key controls, no wall-clock budget) and at :1021-1023 (release-nuget-verify-key.fsx).
    • Those scripts have network limits only: NuGetVerifyKey.fs:66 sets 10 s per request, and ReleasePackageCensus.fs:66-67 sets 15 s per request and 120 s for the whole census. Exceeding them refuses with exit 3.
    • The step at :1013 runs under set -euo pipefail (:1019), so any fsi failure or timeout ends it.
    • The first feed writer is dotnet nuget push at :1073, in the next step (:1037). That step is skipped after a prior failure.
    • Earlier dotnet fsi uses (:969 [cross-repo] Advance registry fsgg-contracts version + package-version 2.0.1 → 2.1.0 (2.1.0 now live on the feed) — and correct the 2.0.1 annotation, which claims a '.fsi surface unchanged' that grew by 78 lines #1010 product build, :988 .fsi check) and the needs: jobs package-tests (:210) and template-product-tests (:350) also come before any push.

    So a timeout or refusal costs only the admission and a short-lived OIDC key, not a partial publication.

    The original receive-pack outcome stays Unknown.

  18. EHotwagner commented on Oct 22, 2026

    @EHotwagner
    ContributorAuthor

    fdev 2026-10-22: 0.32.3 publication dispatched once, after an independent delta GO-WITH-CONDITIONS on executor fc2b177e (Rendering #1464).

    • Readback just before the POST: main = fc2b177e, the workflow is active, and there was no prior release run since 2026-10-21.
    • POST at 16:52:58Z: HTTP 204, giving run 39817794639 (workflow_dispatch, head fc2b177e).
    • Inputs: exactly as in 6346251493.
    • No re-dispatch or re-run without a separate admission. fdev will monitor and verify both feeds.
  19. EHotwagner commented on Oct 22, 2026

    @EHotwagner
    ContributorAuthor

    fdev 2026-10-22: Rendering 0.32.3 published to both feeds and independently verified on nuget.org. This completes the publication step only. #4709 stays open.

    Run. 39817794639, attempt 1, workflow_dispatch on protected main executor fc2b177e22d66032fe8c2ead4fc3e9845fc2a350, 16:53:00Z to 17:32:03Z, conclusion success.

    • Jobs: static guard, generated product, package consumption and publish all succeeded. Preflight and source custody were skipped by design.
    • The run used producer 4ec6eafb, original artifact 12305198394, and accepted settlement 39774890888 (receipt 02d2a9b1…9255).

    Run receipts (attempt artifact 12445821375, sha256 9babb0db…b2d0; my own download and read):

    • artifacts/packages: all 19 archives are byte-identical to the original producer archives. Custody 7dbd4329…98c9 is unchanged.
    • publisher-events.jsonl (e8640e9a…1d08): 191 events from executor fc2b177e, effect rendering-0323-original39509314882-a1.
      • github: probe requested 19, probe absent 19, push requested 19, push acknowledged 19, readback matched 1 (all19).
      • nuget: probe requested 38, probe absent 19, push requested 19, push acknowledged 19, readback matched 19.
    • nuget-key-scope.json (0e125953…3fc6): verify-key passed, with 19 of 19 HTTP 200 and no package mutation.
    • fresh-package-census.json (f7cf460b…3334): taken before any writer, under the Actions GITHUB_TOKEN. Overall ABSENT, mutation none.
    • github-packages-readback.json (13c459e0…5da): result pass, source nuget.pkg.github.com/FS-GG, 19 packages, all 19 original SHA-256 values present.
    • input-binding.json joins settlement 39774890888, receipt 02d2a9b1…, and run/attempt 39817794639/1.

    Independent feed verification (my own fetches; any credential was passed only to a child process and never recorded):

    • nuget.org: all 19 FS.GG.UI* 0.32.3 archives are present on the flat-container. Compared entry by entry against the original archives, excluding .signature.p7s, all 19 match. All 19 public copies carry the nuget.org repository signature, so whole-file digests differ as expected.
    • GitHub Packages: I could not read it independently. My fine-grained PAT gets HTTP 403 from nuget.pkg.github.com/FS-GG. The evidence is the run's own native restore readback above, which matched all 19 original digests whole-file. Open: an independent whole-file readback needs a principal with read:packages.

    Done-when status:

    • The compatible public Rendering successor is met for publication: 0.32.3 is on both feeds with original-byte custody. The original receive-pack outcome stays Unknown.
    • Unmet: Templates consumer repin to 0.32.3 and Release C re-run on Templates #728. This goes to its existing owner.
    • Unmet: public Workspace.Template, registry and Wizard/SDD default adoption, with omitted/default and explicit lifecycle/bundle behaviour mapped to read-back package and default identities.
    • Unmet: full public Wizard SVG creation and actual workspace runtime assertions.
    • Unmet: downstream notification (template-dispatch) and the registry fs-gg-ui-template published-version update. Each needs separate admission.

    Parent #4644 also stays open.

  20. EHotwagner commented on Oct 22, 2026

    @EHotwagner
    ContributorAuthor

    fdev 2026-10-22: Templates consumer repin to published Rendering 0.32.3 is merged. The genuine late-font cases now pass.

    fdev took over Templates #728 (takeover recorded on the PR) and merged it as 2f8d400a6a670568044d607a1ac0eb2c7c655a29 from reviewed head ae856f2e. The main tree a3bd53f9 equals the clean merge of ae856f2e with main c6dabf45.

    • The repin is commit 370a3f90. It moves the public Rendering axis from 0.32.1 to 0.32.3:
      • the provider pin via bump-rendering-pin.sh, the README and a written PIN HISTORY entry;
      • the SvgFoundation and Studio defaults and the CodecProbe and Tactical refs;
      • six regenerated lockfiles (version and contentHash lines only);
      • the external-reference public identity (source 4ec6, custody 7dbd, signed raw and lock hashes), its verifier and workflow rows;
      • the Release C pin assertions;
      • tests, including refusals for the old 0.32.1 pin.
    • The merge of main (ae856f2e) satisfied the routine-eligibility base join.
    • Independent fsgg-critic-best review: APPROVE-WITH-NITS at 370a3f90, and again on the delta at ae856f2e. The reviewer recomputed every new hash from nuget.org and ran locked restores. The nits are stale prose in two roadmaps and one error message, plus duplicated public-identity constants.

    Release C public producer source qualification, run 39827412768 at ae856f2e: success. In Chromium, Firefox and WebKit alike, 16 expected / 0 unexpected / 0 flaky / 21 skipped, and all 7 Studio font cases passed on their single attempt. That includes the three genuine late-font cases (timeout, replacement, stale completion), which failed against public 0.32.1 (13/3/21). Nothing was waived. The earlier run 39824703384 at 370a3f90 had the same browser result; its later soldier-route NU1004 failure was pre-existing on main and is gone after the merge.

    All required checks passed (composition, kit / coordination-kit, materialize / receiver-validate), as did Release C installed receiver, D.5 clean-start, routine-eligibility and the static controls.

    One pre-existing failure, not caused by this PR: "Installed typed SDD package receivers". The unpinned Wizard 0.11.1 now installs the published Workspace.Template 0.19.1 (published 08:29Z), but historical-receiver-maintenance.py expects LEGACY_VERSION 0.19.0. Main's last green run was at 08:04Z, before that publication. It needs a separate Templates owner fix, and will drift again with every Workspace.Template release.

    Read-only feed occupancy: run 39835034835 at 2f8d400a reports FS.GG.Workspace.Template 0.19.2 ABSENT on GitHub Packages (complete active and deleted census) and on nuget.org (complete index).

    Next steps for #4709 (none started):

    1. Source: a "Prepare Workspace 0.19.2" PR, following Phase 3b — the flip: --engine=fs becomes the default, once divergence --fleet is actually green #730. It bumps FS.GG.Templates.csproj 0.19.1 → 0.19.2 and the five providers' FS.GG.Workspace.Template:: self-pins, then goes through normal review and merge.
    2. Admission required (publication, and in effect the public default): push tag fs-gg-templates/v0.19.2 at that merged prep commit.
      • release.yml then runs route → pack → gate → publish to GitHub Packages and, with NUGET_ORG_PUBLISH, nuget.org.
      • The Wizard installs the latest stable Workspace.Template unpinned, so this publication also changes the public Wizard default.
      • Rollback: none; package versions are immutable, and nuget.org only allows unlisting.
      • Recovery: workflow_dispatch operation=replay with the original tag and source run, separately admitted.
    3. Full public Wizard qualification after publication: svg-release-d5-public-default.yml workflow_dispatch, with public_pins JSON binding the published 0.19.2 archive, source and provider hashes.
    4. Registry: the feed-autofix bot (daily, around 12:30Z) is the maintained route to flip fs-gg-ui-template to 0.32.3. The fs-gg-workspace-template row (still 0.19.0, while 0.19.1 is already published) needs a reconcile PR.

    #4709 and #4644 stay open.

  21. EHotwagner commented on Oct 22, 2026

    @EHotwagner
    ContributorAuthor

    fdev 2026-10-22: Admission request: publish FS.GG.Workspace.Template 0.19.2. Prepared, not executed; awaiting root GO review.

    Source state. Each item below merged with an independent fsgg-critic-best review on its exact head and passing required checks:

    Pre-push eligibility (read-only). Feed occupancy run 39838476767, checked out at d15f085f, reports FS.GG.Workspace.Template 0.19.2 ABSENT:

    • GitHub Packages: complete active and deleted census, 4×200.
    • nuget.org: complete version index.

    Tag fs-gg-templates/v0.19.2 is currently absent.

    Important: the tag-push run has no occupancy census of its own. Its pushes use --skip-duplicate, so an occupied version would only be caught by the payload readback, after the push. Root should re-run the read-only occupancy check (release.yml dispatch, operation=feed-occupancy, candidate_version=0.19.2) immediately before the tag push and require ABSENT on both feeds.

    Exact operation.

    • Create the annotated tag fs-gg-templates/v0.19.2 on exactly d15f085ff4d64b7736e09ff263644b3c86a576a6, then push only that ref: git push origin refs/tags/fs-gg-templates/v0.19.2.
    • Templates has no tag ruleset, so verify the peeled tag target after the push.
    • The tag push triggers release.yml (event push). Line numbers below are at d15f085f:
      1. route (:64): accepts only fs-gg-templates/v<semver> and sets publish=true.
      2. pack (:235):
        • verify the canonical Python fixture;
        • run the focused ProviderTool tests;
        • tag ⇔ csproj <Version> coherence (:294), which refuses unless the tag says 0.19.2;
        • restore in locked mode (:326);
        • pack once and record the SHA-256 (:330);
        • upload the immutable artifact fs-gg-templates-<run> (:387).
      3. gate, named release-route (:397):
        • download the artifact and verify its checksum (:445/:451);
        • grade provider minimumFsggSdd floors against the org registry (:459);
        • install the FS-GG CLIs;
        • run the composition suite against those exact bytes (:543).
      4. publish (:550), entered only if pack and gate succeeded:
        • re-verify the artifact checksum (:571);
        • push to GitHub Packages (:580, --skip-duplicate);
        • NuGet OIDC login (:597);
        • push the byte-identical archive to nuget.org (:604; vars.NUGET_ORG_PUBLISH=true);
        • read back the payload: GitHub Packages up to 60 tries (:612), nuget.org up to 180 (:660);
        • create the GitHub Release with the asset (:709);
        • retain the readback receipts (:729).
    • Nothing is written to a feed before step 4. Steps 1–3 cover every pre-push check, including pack-once custody and the full composition run against the archive.

    Recovery and replay.

    • If the gate fails: pack succeeded, gate failed and publish was skipped. A separately admitted release.yml workflow_dispatch with operation=replay, release_tag=fs-gg-templates/v0.19.2 and source_run_id=<that run> re-gates the same checksum-bound artifact and then publishes. Route (:77) enforces exactly that state. This covers a repeat of the composition timing flake.
    • If publish fails partway: there is no maintained replay, because route requires a skipped publish. Any re-run of the publish job, which would re-download the same verified artifact with idempotent --skip-duplicate pushes and readbacks, needs its own explicit admission. No resend on uncertainty.
    • No rollback once published. Package versions are immutable, and nuget.org only allows unlisting. The tag must not be moved or deleted after any push.

    Public-default consequence.

    • Wizard new-sdd-workspace (unpinned) installs FS.GG.Workspace.Template without a version, and SDD scaffold runs dotnet new update. Both resolve the newest stable.
    • Publishing 0.19.2 therefore immediately becomes the public default for new workspaces: Rendering provider FS.GG.UI.Template 0.32.3, fable-game SvgFoundation/Studio defaults at Rendering 0.32.3, and the Studio font-disposal fix.
    • Unaffected: explicitly pinned --pinned --ref scaffolds and existing workspaces until dotnet new update. The historical typed-receiver Wizard is now pinned by renovate: a {{ secrets.X }} in a DESCRIPTION is not prose — it is an interpolation target (#576 follow-up) #736.

    After publication (each separately):

    1. Verify both feeds independently.
    2. Run the read-only svg-release-d5-public-default.yml qualification, with public_pins for the published 0.19.2 archive, source and provider hashes.
    3. A source PR moving the published-version bindings (ReferencePublication.fs wasmSuccessors, fable-reference-public.yml TEMPLATE_VERSION), as Phase 4.1 — generated projections: the docs and skills are EMITTED from the typed model (retires 54 vendored copies) #731 did for 0.19.1.
    4. A registry reconcile of fs-gg-workspace-template to 0.19.2.
    5. Full public Wizard qualification.

    #4709 and #4644 stay open.

  22. EHotwagner commented on Oct 22, 2026

    @EHotwagner
    ContributorAuthor

    fdev 2026-10-22: Workspace.Template 0.19.2 publication started, after an independent GO-WITH-CONDITIONS review. All conditions were met:

    1. Fresh read-only occupancy run 39845263408 at d15f085f: overall: ABSENT, with complete GitHub Packages and nuget.org censuses. fdev's own nuget.org check: the nupkg returns 404, and the index tops out at 0.19.1.
    2. Tag: confirmed absent immediately before.
    3. Annotated tag fs-gg-templates/v0.19.2: object c91b4b04… on exactly d15f085ff4d64b7736e09ff263644b3c86a576a6, created 20:02:49Z. Only that ref was pushed, and it peels on the remote to d15f085f.
    4. Exactly one release run: 39845406998 (push, the tag, d15f085f).
    5. Rules: no tag move or delete. Any gate replay or publish re-run needs a separate admission.

    Once it lands on nuget.org, 0.19.2 becomes the public Wizard default (Rendering 0.32.3 plus the Studio font fix). Next comes feed verification, then the read-only public-default qualification.

  23. EHotwagner commented on Oct 22, 2026

    @EHotwagner
    ContributorAuthor

    fdev 2026-10-22: Workspace.Template 0.19.2 is published and verified, and the registry is reconciled. The public Wizard-qualification clause is not yet met, so #4709 stays open.

    (1) Independent verification of release 39845406998/a1 (push on tag fs-gg-templates/v0.19.2; route, pack, release-route and publish all succeeded):

    • Original: artifact 12455007005 (zip bd26a015…) holds FS.GG.Workspace.Template.0.19.2.nupkg. Its 0af2a10e402a055f0b86c56a28cd5c46e023f185c117741e565ee08eb54cd8fd equals the in-run SHA256SUMS.
    • nuget.org: the signed archive ef5c5c2fb2de372a427c5abaf8bb4cdf91d7776b5628f07c016d4eb9ac87469a equals the original across all 512 entries excluding .signature.p7s. Its nuspec says 0.19.2 at commit d15f085f. The packed fable-game SvgFoundation and Studio defaults are Rendering 0.32.3.
    • GitHub Packages: the run's own readback (artifact 12457070450) reports 0af2a10e…, 512 entries, payloadExact. I cannot read that feed independently (403).
    • GitHub Release fs-gg-templates/v0.19.2: not a draft or prerelease; asset digest 0af2a10e….
    • Tag and occupancy: annotated tag c91b4b04… peels to d15f085f. Pre-tag occupancy run 39845263408 reported ABSENT on both feeds.

    Registry. .github #4809 merged as 65ef0b6d. It records fs-gg-workspace-template source/package/tag 0.19.2, keeps 0.19.1 as history, and updates the edge and coherence notes. Independent fsgg-critic-best review: APPROVE-WITH-NITS, then APPROVE on the delta. All 8 required checks passed. The only feed failure is the unrelated governance-reference-gate-set 1.7.0-vs-1.8.0 drift, which also fails on main.

    (2) Public-default qualification: not dispatched, because no maintained route accepts 0.19.2.

    • svg-release-d5-public-default.yml is read-only (contents: read, no secrets, nuget.org downloads only, artifact upload only). But d5-public-pins.py and its verifier hard-require the historical D.5 cohort: Templates 0.15.0, SDD 2.0.2, Wizard 0.12.0, and SDD.Artifacts/2.0.2. A 0.19.2 dispatch would be refused at preflight. Its assertions are also creation plus locked restore/build only, with no workspace runtime.
    • fable-reference-public.yml is the route with full Wizard and browser/WASM runtime. It is closed to its own cohorts: full means 0.18.1 + SDD 2.1.0 + Wizard 0.16.0, and wasm means 0.19.1. ReferencePublication.fs refuses an unselected 0.19.2.
    • So the single pre-authorized dispatch was not spent on a guaranteed refusal.

    Done-when status.

    • Met: the selected compatible public Rendering successor 0.32.3 is published (39817794639/a1) and independently read back.
    • Met: the public Templates successor 0.19.2 is published and read back, and as newest stable it is the Wizard's public default. It carries the Rendering 0.32.3 defaults and the Studio font repair. The genuine late-font cases passed in source qualification at [cross-repo] a worker in a per-item WORKTREE resolves no engine — the fan-out mechanism silently opts every worker out of the ADR-0034 shadow (#716 one layer over) #728's head (Release C 39827412768: Chromium, Firefox and WebKit each 16/0/0/21, all 7 font cases).
    • Unmet: full public Wizard SVG creation and actual workspace runtime assertions for the exact published successor (Templates 0.19.2 with a selected current public SDD and Wizard), with omitted/default and explicit lifecycle/bundle behaviour mapped to read-back identities. No existing run qualifies this cohort, and the Templates-only source result cannot substitute for it.

    Needed to close it:

    1. Root decision: select the current compatible cohort. Templates is 0.19.2. The registry records Wizard (new-sdd-workspace) as 0.21.0; nuget.org's latest SDD.Cli is 2.4.0, and its compatibility with Wizard 0.21.0 needs confirming.
    2. A source PR adding that cohort to the runtime-bearing fable-reference-public route: closed tables, ReferencePublication.fs successor list, preflight and fixtures, as Phase 4.1 — generated projections: the docs and skills are EMITTED from the typed model (retires 54 vendored copies) #731 did. The alternative is generalising D.5 and adding runtime assertions.
    3. One read-only full dispatch binding the published 0.19.2, SDD and Wizard archive/source/descriptor hashes.

    #4709 and #4644 stay open.

  24. EHotwagner commented on Oct 22, 2026

    @EHotwagner
    ContributorAuthor

    fdev 2026-10-22: #4709 public Wizard qualification: PASSED on the exact public pairing. Hosted read-only run 39859903416/a1 on Templates main 62573a75; evidence artifact 12462046618 (27e00a35…).

    Which pairing a public user gets today (primary sources; qualified as-is, not hand-picked):

    • dotnet tool install --global FS.GG.NewSddWorkspace resolves Wizard 0.21.0, the newest listed version (raw 4326f57d…, commit 12480a20).
    • Its source defaults --ref to main. Templates main's fable-game descriptor (e8dbf895…) pins Workspace.Template 0.19.2 (ef5c5c2f…, d15f085f).
    • Unpinned, it self-updates SDD.Cli 2.4.0 (1df2e74f…, c1fee66a).
    • A local run of exactly that documented flow (isolated HOME; only --no-coordination added) scaffolded and built cleanly.

    Findings (reported, not papered over):

    1. Pinned precondition. Wizard 0.21.0 --pinned with an omitted or typed-sdd fable-game lifecycle requires the sole exact public Workspace.Template 0.18.2 knowledge registration; otherwise it refuses, even with --no-governance. The qualification reproduces this precondition with the hash-pinned 0.18.2 (496aad0e…). Unpinned public users never reach this check. It is a documented precondition, not an incompatibility.
    2. Lifecycle split. Wizard 0.21.0 records lifecycle=sdd when the lifecycle is omitted (its typed-sdd rule is special-cased to descriptor 0.15.0), while the provider descriptor's omitted default is typed-sdd. Both are asserted as actual behaviour. Owner intake for the Wizard is suggested; see follow-ups.

    Route. Templates #739 (merged 62573a75; independent fsgg-critic-best review APPROVE-WITH-NITS, then APPROVE-WITH-NITS again on the merge with main #738; all checks passed) adds this cohort as a closed second fable-reference-public full cohort. Every identity above is bound in source. public-reference is contents: read, uses no secrets and makes no feed or repo writes.

    Done-when, assertion by assertion (all from the hosted run's evidence):

    Assertion Result
    Exact package/default identities read back readback.sha256: template ef5c5c2f…, descriptor e8dbf895…, SDD 1df2e74f…, Wizard 4326f57d…. All four Wizard hives end with a single 0.19.2 registration whose bytes equal the published archive.
    Full-Wizard SVG creation Wizard 0.21.0 created four receivers: complete with default lifecycle, complete --lifecycle none, complete --lifecycle typed-sdd, and the public default (no lifecycle, no bundle). Each passed reference-receiver-check (source closure, including Complete WASM, provenance, generator SDD.Artifacts 2.4.0) or the public-default assertions.
    Omitted/default lifecycle Wizard omitted → sdd; provider omitted → typed-sdd (provider.json).
    Explicit lifecycle provider none, Wizard none, Wizard typed-sdd, direct none: all exact.
    Bundle Explicit complete on every route. Omitted bundle → player (public default), with Studio and WASM absent and SVG input default Rendering 0.32.3.
    Workspace runtime, complete (direct, provider, Wizard) each build.sh: Domain 19/19, Protocol 26/26, Server 20/20; browser 16 passed / 0 failed / 21 skipped; FourD reference journey 1 passed with 0 skipped per route.
    Workspace runtime, public default (Wizard) build.sh: Domain 18/18, Protocol 26/26, Server 20/20; browser 2 passed / 0 failed / 18 skipped.

    Evidence limits:

    • The hosted logs use the dot reporter, so they have counts but no per-case names. The identical cohort run locally (passed, 490s) listed all 7 Studio/font cases among the 16 passes, including the three late-font cases. It matches Release C 39827412768's per-case report.
    • The public-default receiver is the pinned equivalent (--ref fs-gg-templates/v0.19.2, no SDD self-update, --no-governance), not the literal unpinned flow. Today the identities are identical; the unpinned flow, with governance on, was exercised locally only.
    • The 21 or 18 skips are the template's standing population for this host, not new.

    Also merged today (independently reviewed, required checks green):

    • Templates #735 prepares 0.19.2. Published by root-admitted release 39845406998 and verified on nuget.org.
    • Templates #736 pins the historical Wizard receiver.
    • .github #4808 and #4809 are registry reconciles: Rendering 0.32.3 and Workspace 0.19.2.
    • .github #4810 flips governance-reference-gate-set 1.7.0 → 1.8.0, published by Governance run 39757858397. feed is green on that head.

    Status. In my assessment, every #4709 Done-when clause is now met for the exact current public successor:

    • Rendering 0.32.3 is published;
    • Workspace.Template 0.19.2 is published and is the public default;
    • the full-Wizard SVG creation, lifecycle/bundle mapping and workspace runtime are qualified against read-back identities.

    Closure, and the #4644 reconciliation, are root's call. Nothing was closed and no Status was changed.

    Follow-ups (non-blocking):

    • The comment at Templates ReferencePublication.fs:28-29 still says "direct-only".
    • The qualification receipt does not yet record the 0.18.2 overlay identity or the command shape.
    • Wizard intake for the pinned-omitted overlay quirk and the sdd/typed-sdd split.
    • The registry templates -> governance edge does not match Templates' real pins.
    • The SDD tool row and the templates -> sdd pins were not reviewed here.
  25. EHotwagner commented on Oct 22, 2026

    @EHotwagner
    ContributorAuthor

    fdev 2026-10-23: ACCEPTED: #4709 is complete, after an independent acceptance review (ACCEPT-WITH-GAPS) that verified every clause from the artifacts of read-only run FS-GG/FS.GG.Templates 39859903416 (artifact digest 27e00a35…), not from prose.

    Done-when clause Evidence
    Exact selected current public successor The published cohort was re-downloaded from nuget.org and hash-matched: Workspace.Template 0.19.2 ef5c5c2f… (descriptor e8dbf895…), SDD.Cli 2.4.0 1df2e74f…, Wizard 0.21.0 4326f57d…. Each is the newest listed, with Rendering 0.32.3. All 4 Wizard hives end on the published 0.19.2 bytes.
    Full-Wizard SVG creation Receiver checks are valid for direct none, provider typed-sdd, provider none, wizard sdd, wizard none and wizard typed-sdd, plus the public default (sdd/player, no Studio or WASM, SVG input Rendering 0.32.3).
    Actual workspace runtime Direct, provider and wizard build.sh: 19/19, 26/26, 20/20; browser 16 passed, 0 failed. Public default: 18/26/20; browser 2 passed, 0 failed. The FourD journey passed 1/1, 0 skipped, on each route.
    Omitted/default and explicit lifecycle/bundle mapped to read-back identities Provider omitted → typed-sdd; Wizard omitted → sdd; explicit none/typed-sdd exact; explicit complete; omitted bundle → player.
    Reuse receiver setup, no Templates-only substitute full mode on the existing fable-reference-public route, including the Wizard routes.

    The chain behind it:

    Recorded gaps:

    1. The Wizard lifecycle split is filed as Wizard omitted-lifecycle default falls back to sdd for current templates (typed-sdd only for Workspace.Template 0.15.0) #4811 and blocks [SVG-RELEASE-D] Qualify and activate the current Release-D coherent receiver successor #4644's default-activation claim. Omitted Wizard creation gives sdd, not the D.5 typed-sdd, because typed-sdd is pinned to Workspace.Template 0.15.0 only. It doesn't contradict this issue's "mapped" clause.
    2. The explicit none/typed-sdd receivers had creation and structural checks, with no build.sh runtime.
    3. Font-case names are local only; the hosted run gives counts, and per-case proof is in Release C (39827412768).
    4. The hosted public-default receiver is the pinned equivalent with governance off; the literal unpinned flow was run locally only.
    5. The receipt doesn't record the 0.18.2 overlay identity or the command shape.
    6. GitHub Packages isn't independently readable (classic read:packages needed).
    7. This issue's "Current deliverable", "Next action" and "Blocked on" sections are historical: Rendering PR Simplify redundant new-sdd-workspace wizard prompts #1460 and everything after it are merged or published. This comment supersedes them.

    Status: Done is written through the guarded writer, then the issue is closed. Parent #4644 stays open, with #4811 linked.

  26. EHotwagner commented on Oct 23, 2026

    @EHotwagner
    ContributorAuthor

    fdev 2026-10-23: Successor trail: the current public pairing on Workspace.Template 0.19.3 is PASSED. This is the one read-only hosted run fdev selected (#4710); the issue is not reopened.

    Pairing qualified:

    • Wizard 0.21.0 (4326f57d…, 12480a20);
    • Workspace.Template 0.19.3 (9594ec20…; tag 386e32b7 peels to 7be0bcf5; descriptor 6b3d8f2d…), now the newest public default under fdev's decision that the current-public cohort adopts 0.19.3. 0.19.2 stays an accepted historical successor;
    • SDD.Cli 2.4.0 (1df2e74f…, c1fee66a).

    Run: 39915065069/a1, on Templates main 15113cbc (after #748 → #749 → publication 39910502481 → pin PR #750).

    • public-reference succeeded, 07:00:57 → 07:18:22Z.
    • It is contents: read, with no secrets and no feed or repo writes.
    • Evidence artifact: 12485400761, sha256:c52dd682d6c5e38c2069b6eb11a6796c26476ab069ea881ebe42dbe1c3b650ed, kept until 2027-01-21.
    Assertion 0.19.3 (this run) 0.19.2 (39859903416), for comparison
    qualification.json disposition: passed, mode: full, wizardQualification: passed, version 0.19.3, at 7be0bcf5 passed, at 0.19.2
    Read-back identities (readback.sha256) template 9594ec20…, descriptor 6b3d8f2d…, SDD 1df2e74f…, Wizard 4326f57d… ef5c5c2f…, e8dbf895…, same SDD and Wizard
    Wizard hives all four (default, none, typed-sdd, public) end on a single 0.19.3 registration 0.19.2
    Receiver checks direct, provider (typed-sdd and none), Wizard (sdd, none, typed-sdd), plus the public-default assertions (sdd/player, no Studio or WASM, SVG input Rendering 0.32.3): all passed same
    Runtime, browser tests direct, provider and Wizard: 16 passed each (21 conditional skips); FourD journey 1/1 per route, 0 skipped identical
    Public default runtime 2 passed (18 conditional skips) identical
    Lifecycle mapping Wizard omitted → sdd; provider omitted → typed-sdd, as current behaviour same

    Scope and gaps:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions