Encode the simulation-owns-logic layering rule in AGENTS.md #84
Labels
No labels
autonomy
async-consult
autonomy
epic
autonomy
headless
autonomy
live-collab
c#
priority
P0
priority
P1
priority
P2
priority
P3
priority
P4
role/ai
role/creator
role/design
role/director
role/engineer
role/exec
role/human
role/ops
role/qa
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#84
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?
Rule
New gameplay features are implemented in the simulation and CLI layer. The presentation layer does not get its own branch of logic.
factory_simowns authority and rules.factory_cliexercises them headlessly.factory_shellprojects immutable snapshots and sends explicit edit commands back. When a feature needs a new rule, the rule lands in the sim and the shell learns to draw it, never the reverse.Why it needs writing down
The crate boundary already implies this and
factory_shell/Cargo.tomleven states it in a comment, but nothing inAGENTS.mdsays it, so an agent adding a feature has no instruction against putting a rule in the viewer. Presentation-layer logic is cheap to add and expensive to find later, because it is invisible to the headless runner and to everyfactory_simtest. A rule that lives only in the shell cannot be exercised byward exec cargo-run, which is where the determinism proofs live.This matters more now that the repo has pivoted from migration parity to player-facing iteration. Feature work is the common case rather than the exception.
Acceptance
AGENTS.mdstates the rule under its agent rules or repo boundaries section.README.mdanddocs/FEATURES.mdstay consistent with it if they need a touch.