chore(asteria-game): rename composer/stub → composer/asteria-game (drop stale label)
Closes #144.
The directory was lifted verbatim from components/asteria-stub/ in
fbb8982 ("asteria-game: testnet split + lift PR #67 source +
idempotent bootstrap (#100)") when the real asteria-game implementation
arrived. The "stub" label stuck despite the scripts inside no longer
being placeholders — they are the canonical drivers for heartbeat,
alive probes, asteria bootstrap / player / consistency / admin
singleton, plus their SDK observability.
The rest of the repo follows <component>/composer/<purpose>/:
components/adversary/composer/chain-sync-client/ ← descriptive
components/tx-generator/composer/tx-generator/ ← descriptive
components/asteria-game/composer/stub/ ← stale (was)
This PR fixes that. The label was leaking into the Antithesis
report — every finding showed up as `stub/parallel_driver_X.sh` and
every assertion as `stub heartbeat ticked` etc. — which read as
"placeholder code being flaky" rather than "real driver". That
misreading actually happened during triage of #142.
Changes:
- git mv components/asteria-game/composer/stub
components/asteria-game/composer/asteria-game
- All SDK assertion IDs in the renamed scripts: drop the "stub "
prefix → "asteria_game " (matching tx-generator's snake_case
component-prefix convention). 21 assertion IDs across 7 scripts.
- Prose comments in the renamed scripts: "stub script" / "sibling
stubs" → plain wording, since the rename makes the original
framing wrong.
- Path references in:
docs/components/asteria-player.md
docs/testnets/cardano-node-master.md
testnets/cardano_node_master/docker-compose.yaml
testnets/cardano_node_adversary/docker-compose.yaml
testnets/asteria_game/docker-compose.yaml
all updated for /opt/antithesis/test/v1/asteria-game/ and the
source dir.
components/asteria-stub/ (the legacy component with the un-bounded
socat reference baseline) is left untouched.
Antithesis identity reset:
- composer commands: now identified as
asteria-game/parallel_driver_heartbeat.sh etc., distinct from the
archived stub/* identities. History bar restarts for these.
- SDK assertions: same — asteria_game heartbeat ticked is a fresh
identity vs the archived stub heartbeat ticked.
- One-time cost; the payoff is permanently readable triage output.
Local smoke (renamed paths):
- 10 concurrent shells × 5 emits → 50 valid JSON lines
- SIGTERM mid-sleep → exit 0 with trap-emitted observation
- timeout --kill-after=2 escalation → exit 137 → absorbed