Skip to content

Record skipped-turn telemetry in compatibility runs - #27

Merged
flemming-n-larsen merged 4 commits into
mainfrom
ch-018-record-skipped-turn-telemetry
Sep 29, 2026
Merged

flemming-n-larsen merged 4 commits into
mainfrom
ch-018-record-skipped-turn-telemetry

Conversation

@flemming-n-larsen

@flemming-n-larsen flemming-n-larsen commented Sep 29, 2026 •

Copy link
Copy Markdown
Contributor

Implements CH-018 in the G-001 parity campaign (P-001 / M-006): opt-in capture of skipped-turn callbacks received by bridge bots during compatibility runs.

What this change provides

  • When --capture-skipped-turns is enabled, the bridge records distinct (bot ID, round, turn) callback tuples, including warm-up turns, and the harness persists them with the compatibility-run observation.
  • Capture states remain distinct: captured (including a verified empty list), disabled, unavailable, and incomplete. Disabled capture removes an inherited telemetry JVM property so it cannot silently enable recording.
  • Collection is buffered and flushed at battle end. The frozen robocode.* API and read-only rumble jars are unchanged.

Evidence

  • python -m unittest test_parity_registry: 42 tests pass. :robocode-api:test passes, and clue validate --forbid-changes passes (68 artifacts).
  • Three forced-skip, one-round runs with two bots recorded 84, 82, and 76 tuples. Every tuple matched exactly one SkippedTurnReported callback line; per-bot completion counts matched.
  • An inherited JAVA_TOOL_OPTIONS=-Drobocode.bridge.skippedTurnTelemetry=true did not enable recording when capture was disabled.
  • A completed three-member team run reported captured with zero events despite having two runner score groups, confirming completion is checked against staged bots.
  • GitHub unit-test and Cliewen-validation checks pass for head 576912114f1d66ffcc96068b9e217a3cbff9d725.

Acceptance limits and remaining work

  • Telemetry observes callbacks that reach bridge bots; it cannot report server events that were never delivered to the bridge. The local runs do not establish throughput at 30 TPS or performance on slower machines.
  • HARN-008 remains @draft, and M-148 and M-006 remain todo. The reviewer verdict is verifies-something-adjacent: AN-016 records relevant local integration runs, but Python is not yet an accepted evidence carrier and the complete HARN-008 integration scenario is not resolved.
  • Two context-isolated review passes found no blocking issues. One advisory remains: no current acceptance criterion owns the classic-version guard covered by four generic unit tests; those tests are not counted as HARN-008 evidence.
  • This PR does not publish a release.

@flemming-n-larsen
flemming-n-larsen marked this pull request as ready for review September 29, 2026 19:35
@flemming-n-larsen
flemming-n-larsen merged commit 73a77f7 into main Sep 29, 2026
6 checks passed
@flemming-n-larsen
flemming-n-larsen deleted the ch-018-record-skipped-turn-telemetry branch September 29, 2026 20:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant