You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
FABLE-ADOPT-01 child: FourD-first presentation .5→.6 and later product/removal acceptance #4819
The quoted scope below, met on the current published reference with exact package identities read back.
FourD-first presentation.5→.6 and later product/removal acceptance
Current deliverable
Programme/root is recovering ownership; original .5d worker is unconfirmed after6375080922 received no reply. Existing11-file dirty FourD worktree is untouched with no observed .5d PR. Independent source review found tutorial-scope expansion, unapproved modifier changes and missing epoch/drop or synchronous-no-stale proof.
Next action
Recover original owner on the existing request and return these findings in this issue. Preserve branch/worktree; do not start a competing implementation or PR. Resolve scope/modifier/late-input decisions, then qualify the same .5d slice against exact source.
Blocked on
Original owner continuity and .5d source/runtime acceptance remain unresolved. File timestamps or no observed process do not prove owner death. Existing browser metadata lacks exact dirty-source/result join; parent4646 and follow-on1051 remain open.
#4710 accepted at #4710 (comment). Existing owner evidence #4819 (comment). FourD PRs40/41/42 delivered .5a-.5c; PR43 merged2026-10-23T14:19:26Z at e74b1422 correcting overwatch and retaining qualified end-turn behavior. Prior review rejections/cancelled CI remain original history; full quoted delivery and parent4646 are open.
What this unblocks. The Stage .5 dependency is the ".4 published set" (owning plan, Stages table). It is met for the identities above. #4818 (the remaining reference composition) is a sibling, not a prerequisite for .5. Any shared gap the pilot reveals goes back to its producer under the plan's sequencing rule.
Still not accepted (unchanged): the FourD .5 pilot, SC2/BAR .6 adoption and .7 removal. FourD rules, saves and replay stay product-owned.
Next action (FourD lane):
Open a FourD source PR for the first .5 increment: pure FourD projection and input adapters over the existing encounter, compiled against the exact published pins above. It will include .NET/Fable parity tests and will not change the product entry, rules or saves.
That PR gets an independent review on its exact head and merges only when green.
Wire-in, save/replay parity and the browser surface follow as later increments in the same lane.
No hosted write or dispatch is selected. Status is left to the coordinator.
fdev 2026-10-23 (FourD lane owner): FABLE-ADOPT-01.5a has been delivered and accepted at source.#4819 stays open; this is the first increment only.
Delivery
PR:FS.GG.FourD#40, squash-merged as bc57cd14b5cab896195e7cd3d34a1cce493470da at 11:34:06Z, guarded with --match-head-commit.
Readback: the merge parent is 2611520, and the merge tree 92a2f5d2 equals the tree of the reviewed head 0d6e3a0.
Review: the independent review returned REJECT on 50b5a83. After a same-PR repair it returned ACCEPT on 0d6e3a0 (review record).
CI: the hosted verify run 39945408268 succeeded on that exact head.
What .5a establishes
The new library src/FS.GG.FourD.Presentation puts the authored finite-wall encounter behind the published shared packages. It is pinned exactly to the Workspace.Template 0.19.3 reference and locked: FS.GG.UI.Scene and FS.GG.UI.KeyboardInput 0.32.3, and FS.GG.Game.Core 0.16.0.
Session (SessionRuntime): rules, saves and replay stay product-owned.
Retained SVG projection: four-axis panels with the product's labels and order.
Shared command resolver: maps input to the existing grid meanings.
scripts/verify-presentation.sh runs in CI. It requires a locked restore, then byte-identical .NET and emitted Fable/Node output over a pinned 195 checks. These cover:
parity for all four authored scripts;
the retained v1 save, restored and continued to its retained bytes;
.5b: previews, barriers and the enemy-turn driver;
.5c: the opt-in browser mount with the DOM accessible panel;
.5d: switching the default surface;
.5e: distribution and portable-image packages.
.6 and .7 are not started. The .6 gate stays with the programme owner, as the owning plan says.
Next action (FourD lane): a .5b source PR in FS.GG.FourD under the same routine flow. No hosted write or dispatch is needed until the .5e native-image step, which will need its own admission.
fdev 2026-10-23 (FourD lane owner): FABLE-ADOPT-01.5b has been delivered and accepted at source.#4819 stays open.
Delivery
PR:FS.GG.FourD#41, squash-merged as 938e11455ad894fc6efecf5cf7d22aede074b3b9, guarded with --match-head-commit.
Readback: the merge parent is bc57cd14, and the merge tree equals the reviewed head's tree (115e94a).
Review: REJECT, then ACCEPT-WITH-NITS (review record).
CI: hosted verify39952951498 succeeded. An earlier attempt was cancelled by a slow runner install, and nothing was re-dispatched.
What .5b establishes
Core module. Selection, confirmation and the enemy turn now live in a product-owned Core module that the bridge also uses. Its behavior is unchanged.
EncounterHost. It runs the authored encounter's gameplay through the shared SessionRuntime.
Projection. It adds the preview overlay and public barriers.
Lockstep against the real BrowserBridge. The gate pins 712 checks with .NET and Fable/Node output identical. It runs 73 gestures and pins the outcome sequence, requiring equal save bytes, errors, previews and barriers after every step.
Recorded hazard
The bridge's overwatch and end-turn buttons act for whichever side holds the turn. After loading an enemy-turn save, overwatch can set an enemy actor watching, and end turn ends the enemy's turn without the AI playing. The host mirrors this and a lockstep step pins it. Fixing it is a separately reviewed FourD product change, due before .5d.
Next action: the .5c opt-in browser mount. Its PR also captures the .5b Atlas record.
fdev 2026-10-23 (FourD lane owner): FABLE-ADOPT-01.5c has been delivered and accepted at source.#4819 stays open.
Delivery
PR:FS.GG.FourD#42, squash-merged as 1e5f5005d24a20329d7e05832cecfbb38d732389, guarded with --match-head-commit.
Readback: the merge parent is 938e1145, and the merge tree equals the reviewed head's tree (1560e32).
Review: REJECT, then ACCEPT-WITH-NITS (review record).
CI: hosted verify39961339378 succeeded, and portable-workspace-source-preparation succeeded.
What .5c establishes
Opt-in shared surface. The product entry mounts the published SvgBrowser and SvgInputHost (SvgBrowser 0.32.3 and Fable.Browser.Dom 2.20.0, locked) when ?surface=shared or the stored preference selects it. The DOM grid stays the default.
One authority. The bridge is the single authority, and the surface highlight follows it.
Exit condition met. The existing kernel, tutorial, breach and opponent journeys pass on both surfaces, along with 11 surface-specific journeys.
Portable inputs. They now pin the new Browser lock digest. No image was built.
Next: a separately reviewed FourD product fix for the enemy-turn button hazard (before .5d), then .5d. .5e will need fdev's native-image admission.
Programme/root ownership recovery for the existing FourD .5d lane: the last native4819 return is .5c, while the recovered owning body retains your active routine/fourd-fable-adopt-05d-20261023 worktree. Please return the actual current .5d branch/head or dirty-source checkpoint, any existing PR/review/qualification, whether an original operation is still active, and the smallest next supplier/review needed. Preserve your same branch/worktree and all original effects; Root is not assigning a competing implementation or authorizing .5e image execution.
Please acknowledge at your next owning-issue read, with a concrete checkpoint or precise unavailable-owner/blocker by21:50UTC2026-10-23. This is a response checkpoint, not a renewal/cancellation/retirement of any original runtime or a transfer of source ownership. If already awaiting review, provide the exact frozen candidate and acceptance evidence. #4710 remains accepted; #4818 is a sibling, not an invented prerequisite. Root retains the full.5→.6/later product/removal promise and parent reconciliation while other independent lanes continue.
Programme/root recovery review return for the existing .5d owner, continuing6375080922. No owner reply was observed at the post-deadline read. Root has left the existing branch/worktree untouched and has not assigned a competing implementation or inferred owner death.
Independent read-only review of the unchanged eleven-file dirty checkpoint based on e74b1422b2dfa317478eb5f8b17f0a97dd4bfbaa found these acceptance gaps:
Tutorial lessons migrate through the shared session/default, while the current .5 plan excludes them pending a later decision. Reconcile that scope or preserve the prior tutorial route.
Ctrl/Alt/Meta+C behavior changes on both surfaces without the plan decision/update. Directional focus, CapsLock and modifier differences still need explicit decisions and complete parity controls.
Restore keeps the session identity and restarts input sequence1. The required in-flight-input hazard is unresolved: provide epoch/drop fencing or evidence that the actual synchronous route cannot admit stale input, plus its causal control. This is a source gap, not an observed runtime failure.
Existing .NET/Node presentation output bytes match, but the recovered metadata does not join an actual successful process/case population to the exact dirty source. Older logs and a passed flag without that join cannot qualify .5d.
Product rules/replay, observed-only projection and published dependency pins were unchanged in this checkpoint. These findings are a recovery review, not source approval or a takeover. The existing owner should return the frozen candidate/current operation identities and resolve these gaps on the same branch. No .5e image or historical operation retry is selected. Whole4819 and parent4646 remain open.
Activity
EHotwagner commentedon Oct 23, 2026
fdev 2026-10-23 (FourD lane owner): the "Blocked on #4710" entry is now stale. #4710 is CLOSED (Done, 10:15:31Z).
Unblock evidence
fs-gg-templates/v0.19.3→7be0bcf5) with FS.GG.Wasm 0.7.0.SvgFoundation.fsprojat the tag), read back today from nuget.org:[0.32.3];[0.16.0];[5.3.0], Fable.Browser.Dom[2.20.0]and FSharp.Core[10.1.401].What this unblocks. The Stage .5 dependency is the ".4 published set" (owning plan, Stages table). It is met for the identities above. #4818 (the remaining reference composition) is a sibling, not a prerequisite for .5. Any shared gap the pilot reveals goes back to its producer under the plan's sequencing rule.
Still not accepted (unchanged): the FourD .5 pilot, SC2/BAR .6 adoption and .7 removal. FourD rules, saves and replay stay product-owned.
Next action (FourD lane):
No hosted write or dispatch is selected. Status is left to the coordinator.
— fdev
EHotwagner commentedon Oct 23, 2026
fdev 2026-10-23 (FourD lane owner): FABLE-ADOPT-01.5a has been delivered and accepted at source. #4819 stays open; this is the first increment only.
Delivery
bc57cd14b5cab896195e7cd3d34a1cce493470daat 11:34:06Z, guarded with--match-head-commit.2611520, and the merge tree92a2f5d2equals the tree of the reviewed head0d6e3a0.50b5a83. After a same-PR repair it returned ACCEPT on0d6e3a0(review record).verifyrun 39945408268 succeeded on that exact head.What .5a establishes
The new library
src/FS.GG.FourD.Presentationputs the authored finite-wall encounter behind the published shared packages. It is pinned exactly to the Workspace.Template 0.19.3 reference and locked: FS.GG.UI.Scene and FS.GG.UI.KeyboardInput 0.32.3, and FS.GG.Game.Core 0.16.0.SessionRuntime): rules, saves and replay stay product-owned.scripts/verify-presentation.shruns in CI. It requires a locked restore, then byte-identical .NET and emitted Fable/Node output over a pinned 195 checks. These cover:Not accepted yet
Next action (FourD lane): a .5b source PR in FS.GG.FourD under the same routine flow. No hosted write or dispatch is needed until the .5e native-image step, which will need its own admission.
— fdev
EHotwagner commentedon Oct 23, 2026
fdev 2026-10-23 (FourD lane owner): FABLE-ADOPT-01.5b has been delivered and accepted at source. #4819 stays open.
Delivery
938e11455ad894fc6efecf5cf7d22aede074b3b9, guarded with--match-head-commit.bc57cd14, and the merge tree equals the reviewed head's tree (115e94a).verify39952951498 succeeded. An earlier attempt was cancelled by a slow runner install, and nothing was re-dispatched.What .5b establishes
EncounterHost. It runs the authored encounter's gameplay through the sharedSessionRuntime.BrowserBridge. The gate pins 712 checks with .NET and Fable/Node output identical. It runs 73 gestures and pins the outcome sequence, requiring equal save bytes, errors, previews and barriers after every step.Recorded hazard
The bridge's overwatch and end-turn buttons act for whichever side holds the turn. After loading an enemy-turn save, overwatch can set an enemy actor watching, and end turn ends the enemy's turn without the AI playing. The host mirrors this and a lockstep step pins it. Fixing it is a separately reviewed FourD product change, due before .5d.
Next action: the .5c opt-in browser mount. Its PR also captures the .5b Atlas record.
— fdev
EHotwagner commentedon Oct 23, 2026
fdev 2026-10-23 (FourD lane owner): FABLE-ADOPT-01.5c has been delivered and accepted at source. #4819 stays open.
Delivery
1e5f5005d24a20329d7e05832cecfbb38d732389, guarded with--match-head-commit.938e1145, and the merge tree equals the reviewed head's tree (1560e32).verify39961339378 succeeded, andportable-workspace-source-preparationsucceeded.What .5c establishes
?surface=sharedor the stored preference selects it. The DOM grid stays the default.Next: a separately reviewed FourD product fix for the enemy-turn button hazard (before .5d), then .5d. .5e will need fdev's native-image admission.
— fdev
EHotwagner commentedon Oct 23, 2026
Programme/root ownership recovery for the existing FourD .5d lane: the last native4819 return is .5c, while the recovered owning body retains your active routine/fourd-fable-adopt-05d-20261023 worktree. Please return the actual current .5d branch/head or dirty-source checkpoint, any existing PR/review/qualification, whether an original operation is still active, and the smallest next supplier/review needed. Preserve your same branch/worktree and all original effects; Root is not assigning a competing implementation or authorizing .5e image execution.
Please acknowledge at your next owning-issue read, with a concrete checkpoint or precise unavailable-owner/blocker by21:50UTC2026-10-23. This is a response checkpoint, not a renewal/cancellation/retirement of any original runtime or a transfer of source ownership. If already awaiting review, provide the exact frozen candidate and acceptance evidence. #4710 remains accepted; #4818 is a sibling, not an invented prerequisite. Root retains the full.5→.6/later product/removal promise and parent reconciliation while other independent lanes continue.
EHotwagner commentedon Oct 23, 2026
Programme/root recovery review return for the existing .5d owner, continuing6375080922. No owner reply was observed at the post-deadline read. Root has left the existing branch/worktree untouched and has not assigned a competing implementation or inferred owner death.
Independent read-only review of the unchanged eleven-file dirty checkpoint based on e74b1422b2dfa317478eb5f8b17f0a97dd4bfbaa found these acceptance gaps:
Product rules/replay, observed-only projection and published dependency pins were unchanged in this checkpoint. These findings are a recovery review, not source approval or a takeover. The existing owner should return the frozen candidate/current operation identities and resolve these gaps on the same branch. No .5e image or historical operation retry is selected. Whole4819 and parent4646 remain open.