Skip to content

Establish remaining event conformance foundation - #13

Merged
flemming-n-larsen merged 8 commits into
mainfrom
ch-007-m001-test-foundation
Sep 3, 2026
Merged

Establish remaining event conformance foundation#13
flemming-n-larsen merged 8 commits into
mainfrom
ch-007-m001-test-foundation

Conversation

@flemming-n-larsen

@flemming-n-larsen flemming-n-larsen commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

Acceptance brief

Plan item: P-001 / M-001; remains wanted. This merge closes the test-foundation milestone, activates EVT-002, EVT-005, EVT-006, EVT-008, EVT-009, and EVT-010, and records IDR-006. No unmerged base is authorized or included.

Scenario resolution

  • EVT-002 — verifies: BlockingScanConformanceTest runs the blocking scan probe against the same opponent fixture on both engines and requires repeated delivery without an empty bridge result.
  • EVT-005 — verifies: TurnBoundaryConformanceTest requires event time, status-snapshot time, and peer time to agree across multiple status callbacks on both engines.
  • EVT-006 — verifies: CustomEventsConformanceTest covers classic registration and priority delivery, then requires a registered condition to fire and become silent after removal on both engines.
  • EVT-008 — verifies: SkippedTurnsConformanceTest deliberately overruns bounded status callbacks and requires skipped-turn reporting without duplicate delivery on both engines.
  • EVT-009 — verifies: ThrowingConformanceTest requires both completed battles to report the same NullPointerException signature; the bridge reports runtime callback failures without swallowing interruptible control-flow errors.
  • EVT-010 — verifies-something-adjacent: MeleeScanConformanceTest runs the official ten-participant setup and requires per-turn scan counts bounded by the nine opponents on both engines. Exact cross-engine turn sequences remain uncomparable under AN-002's no-seed constraint.

What merge binds

The merge binds the six criterion activations, M-001 bookkeeping, the participant-count adapter support, bridge-owned probes, and IDR-006's narrow exception-reporting boundary. It changes no frozen robocode.* signature and retires or supersedes no criterion.

Verification is complete on candidate 979dfb1: tier-1 unit tests, the configured five-round focused tier-2 suite, EVT-013 regression coverage, clue validate --coverage, and the in-context fallback review pass. The only advisory carried forward is the EVT-010 scenario-resolution note above.

@flemming-n-larsen
flemming-n-larsen marked this pull request as ready for review September 3, 2026 21:25
dispatchRobotCallback existed to reproduce classic's behavior of
reporting robot handler exceptions while letting event processing
continue. Every dispatch*Event method built its robocode.XxxEvent
inside that same try/catch, so a bridge-side construction or mapping
bug would be caught and misreported as a robot handler failure instead
of surfacing as a real defect. Event construction now happens before
the callback runs, matching the pattern dispatchHitByBulletEvent
already used.

Also rephrases hardcoded melee participant counts in criteria.md,
design.md, and CHANGELOG.md to avoid drifting from
MeleeScanConformanceTest's MELEE_PARTICIPANTS constant.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HspaGGEpmCfd8pq2wDDnf6
@flemming-n-larsen
flemming-n-larsen merged commit 299bbca into main Sep 3, 2026
2 checks passed
@flemming-n-larsen
flemming-n-larsen deleted the ch-007-m001-test-foundation branch September 3, 2026 21:53
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