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
The Bastion mode (291 rules, /Users/teakowa/Repos/wrightkit/.task-scratch/bastion/bastion.ow) runs to complete on athena-sim for a two-player scenario, so the editor can show a Bastion run frame by frame. Today it stops at tick null on an unsupported rule event.
This issue groups the work. Each sub-issue is one Bastion stop (or one contract change), found by running Bastion and reading outcome.construct. Add the next sub-issue after each merge until the run completes. A construct without a passing capture fixture stays NotModeled (see AGENTS.md); the gap list in the final comment states which Bastion behavior is modeled and which is measured.
Bastion (the workshop-rs real-project fixture bastion.ow) runs to outcome.status = complete on athena-sim v0.13.1 with docs/scenario-examples/valid/bastion.json (two players, 10 s). No not_modeled or missing_input stop. The scenario has no expectations, so this shows the run completes, not that the behavior is correct.
Gap list
Measured (capture match, 3 runs): the 16 ms tick (P0, P1); Wait rounding and Wait(0)/Wait Until(True, 0) tick counts (P1, P4); edge-triggered Ongoing and dropped edges during Wait (P2); same-tick rule order (P3, P3 driver-last); Wait Behavior (P6); hero settings on the player state table (P7).
Measured, hypothesis rejected:Position Of refresh rate (P5, changes every tick); Set Slow Motion leaves Wait and Total Time Elapsed unscaled over -50..200 (P8, #148).
Modeled, not measured: everything listed under "Modeled, not measured" in docs/findings.md. Bastion relies on these in particular: Each Player instantiation and event filters, control flow and loops, element-context arrays, string/array/vector values, scenario-supplied randomness, server load, map, match phase, game mode, objectives, slot and local player, the empty world (no raycast hits, line of sight always holds), player events from Damage/Heal, state cells and stored modifiers, display entities as records only, match-clock actions, presentation-only actions as no-ops.
Not modeled (stays NotModeled): roster and life counts (All Living Players, Players In Slot), Is Match In Overtime, spawn points, player statistics, health-pool/heal-over-time ids, Throttle Of, Is Jumping, event-scoped values the cause does not bind, the host player without a host mark. Bastion's scenario does not reach these.
Open outside this issue:#35 (re-run P3a, P3b, P6 after the hash change) and #11.
Activity
13 remaining items
e54-bot commentedon Nov 7, 2026
Result
Bastion (the
workshop-rsreal-project fixturebastion.ow) runs tooutcome.status = completeonathena-simv0.13.1 withdocs/scenario-examples/valid/bastion.json(two players, 10 s). Nonot_modeledormissing_inputstop. The scenario has no expectations, so this shows the run completes, not that the behavior is correct.Gap list
Measured (capture
match, 3 runs): the 16 ms tick (P0, P1); Wait rounding andWait(0)/Wait Until(True, 0)tick counts (P1, P4); edge-triggered Ongoing and dropped edges during Wait (P2); same-tick rule order (P3, P3 driver-last); Wait Behavior (P6); hero settings on the player state table (P7).Measured, hypothesis rejected:
Position Ofrefresh rate (P5, changes every tick); Set Slow Motion leaves Wait and Total Time Elapsed unscaled over -50..200 (P8, #148).Modeled, not measured: everything listed under "Modeled, not measured" in
docs/findings.md. Bastion relies on these in particular: Each Player instantiation and event filters, control flow and loops, element-context arrays, string/array/vector values, scenario-supplied randomness, server load, map, match phase, game mode, objectives, slot and local player, the empty world (no raycast hits, line of sight always holds), player events fromDamage/Heal, state cells and stored modifiers, display entities as records only, match-clock actions, presentation-only actions as no-ops.Not modeled (stays
NotModeled): roster and life counts (All Living Players,Players In Slot),Is Match In Overtime, spawn points, player statistics, health-pool/heal-over-time ids,Throttle Of,Is Jumping, event-scoped values the cause does not bind, the host player without ahostmark. Bastion's scenario does not reach these.Open outside this issue: #35 (re-run P3a, P3b, P6 after the hash change) and #11.