Skip to content

Run Bastion to completion on athena-sim #45

Closed
37 of 37 issues completed
Closed

Description

@e54-bot

Goal

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.

Not picked directly.

Activity

  1. added
    enhancementNew feature or request
    ready-for-implementationContract settled; an Engineer can implement without inventing a decision
    p1Critical path of the current roadmap line, or a bug that hits real workflows
    on Oct 25, 2026
  2. added theissue type on Oct 25, 2026
  3. 13 remaining items

  4. e54-bot commented on Nov 7, 2026

    @e54-bot
    ContributorAuthor

    Result

    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.

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

    enhancementNew feature or requestp1Critical path of the current roadmap line, or a bug that hits real workflowsready-for-implementationContract settled; an Engineer can implement without inventing a decision

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions