Skip to content

Model presentation-only and game-mode actions as no-ops (Disable Inspector Recording and class) #103

Closed

Description

@e54-bot

Problem

After #101, Bastion on athena main (docs/scenario-examples/valid/bastion.json, which now carries slot and matchPhase, plus buttons for every slot on both players) ends not_modeled at tick 0:

{ "status": "not_modeled", "construct": "action disableInspector", "tick": 0,
  "location": { "rule": 187, "name": "[Bastion] Freeze match time", "action": 1 } }

Rule 187 continues with Disable Built-In Game Mode Completion/Announcer/Music/Scoring, Pause Match Time, Set Slow Motion. Other Bastion rules use more presentation and game-mode actions (Disable Messages, Disable Game Mode HUD, Destroy All Effects, Destroy All HUD Text, Destroy All Icons, Destroy All In-World Text, Destroy All Progress Bar HUD Text, Destroy All Dummy Bots, …). Fixing one stop per run costs a full cycle each, so this issue covers the whole class.

Scope

Audit every action that bastion.ow calls and athena does not yet model (run the workload, and also grep the action names in bastion.ow against the evaluator's supported list). For each, classify with the catalog description as evidence:

  1. No effect on any value a program can read (inspector recording, announcer, music, HUD/effect/icon/text creation or destruction, messages, game-mode HUD, built-in completion/scoring flags that only gate game-mode behavior the simulator does not run): model as a no-op that still records in the trace as an executed action. Record each in docs/findings.md as modeled, not measured, with the catalog sentence as the basis.
  2. Changes a value the program can read or the schedule (for example Pause Match Time vs Match Time/Total Time Elapsed, Set Slow Motion vs timing, Destroy All Dummy Bots vs the player roster): do not guess. Keep not_modeled, and list each in the PR body with the readers it would affect, so a follow-up issue can design it.

Apply the rule per action, not per group. If the catalog text does not settle the class, use category 2.

Acceptance

  • Tests for each action moved to a no-op: it runs, appears in the trace, and changes no readable value.
  • Docs: modeled-actions list in docs/simulator-interface.md or wherever actions are enumerated; docs/findings.md entries.
  • Bastion rerun: report the new first stop, or completion, and the category-2 list. Parent: Run Bastion to completion on athena-sim #45.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions