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
W88 — The Simulation Kind Nobody Outside the Package Can Use
Lets a content repository actually write Life in the Fast Lane, and lets a host render it. Today the simulation kind is one you can register and cannot author: the package exports simulationKind and nothing else about it — not the campaign builder, not the source types it takes, not the campaign, state, view or outcome types a host must compile against.
Done when
W88.1buildSimulationCampaign and every *Source type in src/engine/src/kinds/simulation/source.ts are exported from @the-running-dev/game-engine/authoring; SimulationCampaign, SimulationKindState, SimulationView, PublicWorldState, SimulationOutcome, ActionType, GameAction and WeeklyActionPlan are exported from the package root.
W88.2consumer-smoke builds a simulation campaign from source through the subpath and types a SimulationView through the root, resolving both from the packed tarball. Deleting one of the new exports fails the smoke build, verified by deleting one.
W88.3 The subpath stays closed against published content: W74.7's enumeration check passes with the new names in its committed list, and no stable-life* or bulgaria-stable-life builder or campaign id becomes reachable through either surface.
W88.4 §19's export sentence names the simulation builder and source types and states the author-time/runtime split this unit applies.
W88.5 A test asserts the root exports no simulation authoring value.
W88.6npm run typecheck, npm run lint and npm test pass from src/engine/; install:engine, build and smoke pass from consumer-smoke/; ./build/Test-Documentation.ps1 passes.
Agent instructions
Run /slice W88.
Scope and criteria:design/30-slices.md § W88 @ 32b1616
Signatures:design/20-contract.md §19
Out of scope here: moving buildWorldGraphCampaign or the story-graph types to match; exporting any campaign; the contract prerequisites (P1-P7) listed above W88 in design/30-slices.md
Stop conditions and procedure: .claude/commands/slice.md. Not restated here.
W88 — The Simulation Kind Nobody Outside the Package Can Use
Lets a content repository actually write Life in the Fast Lane, and lets a host render it. Today the simulation kind is one you can register and cannot author: the package exports
simulationKindand nothing else about it — not the campaign builder, not the source types it takes, not the campaign, state, view or outcome types a host must compile against.Done when
buildSimulationCampaignand every*Sourcetype insrc/engine/src/kinds/simulation/source.tsare exported from@the-running-dev/game-engine/authoring;SimulationCampaign,SimulationKindState,SimulationView,PublicWorldState,SimulationOutcome,ActionType,GameActionandWeeklyActionPlanare exported from the package root.consumer-smokebuilds a simulation campaign from source through the subpath and types aSimulationViewthrough the root, resolving both from the packed tarball. Deleting one of the new exports fails the smoke build, verified by deleting one.stable-life*orbulgaria-stable-lifebuilder or campaign id becomes reachable through either surface.npm run typecheck,npm run lintandnpm testpass fromsrc/engine/;install:engine,buildandsmokepass fromconsumer-smoke/;./build/Test-Documentation.ps1passes.Agent instructions
Run
/slice W88.design/30-slices.md§ W88 @32b1616design/20-contract.md§19buildWorldGraphCampaignor the story-graph types to match; exporting any campaign; the contract prerequisites (P1-P7) listed above W88 indesign/30-slices.mdStop conditions and procedure:
.claude/commands/slice.md. Not restated here.