✓
Passing This code compiles and runs correctly.
Code
// Plural stripe fires standing rules in depends_on TOPO order (2026-07-18
// rung): [name(x)] names a rule (bare idents, module-namespaced),
// [depends_on(x)] orders it. Root-position sweeps keep textual order
// (first two lines); the stripe inverts it per the declared edge (last
// two). Unconstrained rules are contractually UNORDERED (fusion license).
import std/io
import std/store
std/store:new(game) { hp: i64 }
std/store:insert(game) { hp: 5 }
| row _ |> _
| full |> _
[name(second)|depends_on(first)]std/store:query(game)
! query { entity.hp } |> std/io:print.ln("second {{ hp:d }}")
[name(first)]std/store:query(game)
! query { entity.hp } |> std/io:print.ln("first {{ hp:d }}")
std/store:stripe(game)
Actual
second 5
first 5
first 5
second 5
Expected output
second 5
first 5
first 5
second 5
Flows
flow ~new click a branch to expand · @labels scroll to their anchor
new (expr: game, source: hp: i64)
flow ~insert click a branch to expand · @labels scroll to their anchor
insert (expr: game, source: hp: 5)
flow ~query click a branch to expand · @labels scroll to their anchor
query (expr: game)
flow ~query click a branch to expand · @labels scroll to their anchor
query (expr: game)
flow ~stripe click a branch to expand · @labels scroll to their anchor
stripe (expr: game)
Test Configuration
MUST_RUN