33 lines
2.5 KiB
Markdown
33 lines
2.5 KiB
Markdown
# Engine worker assignment
|
|
|
|
You are an implementation worker, model openai/gpt-5.6-terra. Read architecture-decision.md.
|
|
Implement only accounting defects and honest test execution in /home/alex/sots-engine.
|
|
Keep /home/alex/sots-re/campaign/rollout/engine-worker-state.md updated every 20 calls/15min,
|
|
before compaction and stopping. You alone own src/app accounting changes, RNG support needed
|
|
for accurate draw counts, tests/ and CMake test properties. Lead owns engine docs/config.
|
|
No commits, staging, push, deployment, agents or architecture changes. Use apply_patch.
|
|
|
|
## Contract from Astra
|
|
|
|
1. Fix CountingRandom in src/app/turn.cpp counting inclusive integer RNG draws across twist(s)
|
|
including rejection draws. Count actual words consumed; do not repair using modulo that assumes
|
|
at most one twist. Preserve generator output and save layout. Minimal exact mechanism, focused
|
|
tests with twist boundary and rejection coverage. Adding nonserialized monotone draw accounting
|
|
to MT19937 is acceptable if needed; reset/load semantics must be explicit and tested.
|
|
2. Fix final turn aggregation: S13 wrapper aggregates player phases then appended children are
|
|
counted again; replay totals before reset disappear. Reports must count each operation exactly
|
|
once, preserve replay writes, and reflect actual generator advance. Inspect existing architecture
|
|
before edit. No game behavior or broader phase integration changes.
|
|
3. Make missing dependency tests report CTest Skipped using CTest SKIP_REGULAR_EXPRESSION
|
|
or return 77 + SKIP_RETURN_CODE consistently, including current seven asset/trace skip cases.
|
|
Configured-but-invalid corpora must fail. app_turn currently can drive zero saves and still pass:
|
|
fix unreadable/erroring saves to fail and require nonzero executed saves when configured.
|
|
Test real state changes/accounting independently rather than trusting own logged counters.
|
|
4. Avoid changing test count if new cases fit existing test executables. If new CTest identity is
|
|
necessary record exact inventory change for lead/gate worker. Run fresh CMake host build in a
|
|
NEW /tmp/opencode directory with SOTS_SAVES_DIR=/home/alex/sots-re/verify/results/saves; inspect
|
|
actual skipped outputs, run regression suites appropriate to changes. Assets unavailable on
|
|
local host is expected, not a surprise or permission to waive full acceptance.
|
|
|
|
Return checkpoint: code changed, test commands/results, remaining limitations; write any
|
|
scope-changing surprise with concrete evidence for Astra, pause affected work until reviewed.
|