rust:1.85-alpine does not include musl-dev, causing the gcc linker to
fail with "cannot find crti.o". Required for serde_derive and other
proc-macro crates to compile.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Switch from full LTO (lto=true) to thin LTO to avoid memory/ICE issues
- Include Cargo.lock in Dockerfile for reproducible dependency resolution
- Use opt-level='s' (balanced size/speed) instead of 'z' (max size opt)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The NEEDLE worker committed Rust's target/ directory which contained local
pre-compiled debug artifacts. This caused cargo to fail during CI builds.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add ReplayPlayer to type imports in replay-viewer.ts
- Add explicit type annotation for entry parameter in replay.ts transcript map
- Fixes TypeScript compilation errors for §15.3 screen reader transcript feature
- SeasonID and RulesVersion already present in engine/types.go Config struct
- Worker already populates from active season row via DB join
- Config embedded in VisibleState sent to bots each turn (including turn 0)
- All starter kits (go, python, rust, java, csharp) already expose and log fields
- Add season_id/rules_version logging to JavaScript starter on turn 0
- TypeScript Config interface already includes season_id and rules_version
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>