Bootstrap the Rust simulation workspace and first closed-loop slice #13
Labels
No labels
burndown-2026-08
autonomy
async-consult
autonomy
epic
autonomy
headless
autonomy
live-collab
c#
priority
P0
priority
P1
priority
P2
priority
P3
priority
P4
role/advocate
role/director
role/exec
role/frontend
role/gamedev
role/human
role/platform
role/qa
role/science
role/sysadmin
state
ambient
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
coilyco-gaming/factory-game-v3#13
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Implement the first Rust migration slice from #12. This is the first build step after the design/advisor pass, not a Bevy or Unity-cleanup task.
Important implementation constraint from Kai:
Current repo state to respect:
mainis green.tests.csproj/ NuGet is reference-only and must stay out of active validation.Build the initial pure Rust workspace:
Cargo.tomlworkspace.crates/factory_simfor deterministic simulation state and tick stepping.crates/factory_contentfor typed content IDs, starter items, starter recipe/scenario data.crates/factory_clifor a headless runner.First closed-loop slice:
IronOre -> IronBars.GameStatewith a source node, one hauler/truck-like actor, one factory, craft progress, tick counter, and a minimal topology.C# reference material to read and mirror where sensible:
Assets/Scripts/GameContent.csAssets/Scripts/FactoryGame/FactoryGameContent.csAssets/Scripts/Components/ResourcesComponent.csAssets/Scripts/Components/ProductionComponent.csAssets/Scripts/Components/MiningComponent.csAssets/Scripts/Components/DispatchComponent.csAssets/Scripts/Components/DispatchReceiverComponent.csAssets/Scripts/Components/ResourceRetrieverComponent.csAssets/Scripts/Components/ResourceInserterComponent.csAssets/Scripts/WorldObjects/WorldObjectFactory.csAssets/Scripts/WorldObjects/WorldObjectTruck.csAssets/Scripts/WorldObject.csAcceptance criteria:
cargo test --workspacepasses.ward exec testpasses, with the repo test gate updated only if needed to include the Rust workspace sensibly.cargo run -p factory_cli -- run --scenario iron-bars --ticks 6.docs/FEATURES.mdif this creates the Rust simulation capability.Out of scope:
Close this issue when the first deterministic Rust logistics/production loop is implemented, tested, and landed on
main.WARD-RESERVATION: held 🔒
reservation details
Holder: container
engineer-codex-factory-game-v3-13on hostkais-macbook-pro-2.local.Reserved by
ward agent --harness codex(reserved 2026-07-09T18:34:00Z). Concurrentward agentruns are blocked until it finishes or the reservation goes stale (1h TTL).--forceoverrides.Do not comment on or edit this issue to steer the run while it is reserved. The engineer seeded the body once at launch and never re-reads it, so a comment or edit reaches only human readers, never the running engineer. A correction goes to a new issue, dispatched fresh. That is the only channel that reaches a run in flight. Where the forge supports it, ward locks this conversation to make that a road-block rather than a convention (ward#494).
run seed context — what this run is carrying (ward#609)
coilyco-gaming/factory-game-v3#13· branchissue-13· harnesscodex· workflowdirect-to-mainengineer-codex-factory-game-v3-13· wardv0.493.0· dispatched2026-07-09T18:34:00ZStatic container doctrine and seed boilerplate are identical every run and omitted here (they ride ward v0.493.0).
— Codex, via
ward agentWARD-OUTCOME: done ✅
details
workflow: direct-to-main; review summary: skipped by ~/.ward/config.yaml default (review gate skipped by ~/.ward/config.yaml default)
felt: mechanical after the toolchain was in place
confidence: high
surprises: the container started without cargo, so I installed rustup locally to finish the compile and CLI checks
follow-ups: none