You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: conformance-test/src/test/java/dev/robocode/tankroyale/bridge/conformance/EventPriorityConformanceTest.java
+23-4Lines changed: 23 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -9,16 +9,17 @@
9
9
/**
10
10
* Acceptance evidence for EVT-015 — the classic event-priority filter expectation.
11
11
*
12
-
* The probe moves until it hits a wall, then blocks while turning its radar. Its lower-priority
13
-
* scan handler prints a marker only if it is entered during that handler. Classic's authoritative
14
-
* EventPriorityFilter test asserts the same boundary through its observable marker; this probe
15
-
* makes the handler window explicit for an unseeded Tank Royale battle.
12
+
* The probe first raises scan priority and proves that a radar sweep enters the scan handler
13
+
* while the wall handler is blocked. It then lowers scan priority and proves the same sweep does
14
+
* not enter that handler, matching classic's authoritative EventPriorityFilter boundary.
Copy file name to clipboardExpand all lines: docs/capabilities/CAP-001-event-dispatch-parity/README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -35,4 +35,4 @@ The physics the events describe. That a `ScannedRobotEvent` arrives at the right
35
35
36
36
`draft`. The redesign that routed events through the Bot API's own event queue is implemented and believed correct, but it was verified by running battles and reading scores. Every criterion here is unproven in the sense that matters: nothing would tell us if it broke again. `M-001` is the plan door.
37
37
38
-
The conformance tier now reaches some of them. `EVT-004`, `EVT-011`, `EVT-012`, `EVT-013`, `EVT-014`, and `EVT-015` are active — the tests that already proved them were retagged after [`G-002`](../../goals/G-002-conformance-evidence-proves-the-criterion-it-names.md) found them mistagged, and `EVT-001`/`EVT-003`/`EVT-007` retired rather than be credited with evidence they cannot honestly claim ([`IDR-003`](../../decisions/IDR-003-evt-003-scoped-to-what-classic-actually-proves.md), [`IDR-004`](../../decisions/IDR-004-evt-007-scoped-to-observable-survivor-delivery.md), [`IDR-005`](../../decisions/IDR-005-evt-001-scoped-to-classic-filter-behavior.md)). `EVT-004` and `EVT-014` are proven with a locally built matched Tank Royale Bot API and runner pair under [`PDR-002`](../../decisions/PDR-002-locally-built-tank-royale-artifacts-for-conformance.md), which contains the server repair [`AN-009`](../../analysis/AN-009-the-server-never-sends-a-death-to-any-bot.md) identified. `EVT-015` is proven with the same matched pair and a bridge-owned probe that observes only the blocked-handler boundary. The capability still holds at `draft` because most criteria remain unproven.
38
+
The conformance tier now reaches some of them. `EVT-004`, `EVT-011`, `EVT-012`, `EVT-013`, `EVT-014`, and `EVT-015` are active — the tests that already proved them were retagged after [`G-002`](../../goals/G-002-conformance-evidence-proves-the-criterion-it-names.md) found them mistagged, and `EVT-001`/`EVT-003`/`EVT-007` retired rather than be credited with evidence they cannot honestly claim ([`IDR-003`](../../decisions/IDR-003-evt-003-scoped-to-what-classic-actually-proves.md), [`IDR-004`](../../decisions/IDR-004-evt-007-scoped-to-observable-survivor-delivery.md), [`IDR-005`](../../decisions/IDR-005-evt-001-scoped-to-classic-filter-behavior.md)). `EVT-004` and `EVT-014` are proven with a locally built matched Tank Royale Bot API and runner pair under [`PDR-002`](../../decisions/PDR-002-locally-built-tank-royale-artifacts-for-conformance.md), which contains the server repair [`AN-009`](../../analysis/AN-009-the-server-never-sends-a-death-to-any-bot.md) identified. `EVT-015` is proven with the same matched pair and a bridge-owned two-phase probe: a higher-priority scan callback is required inside `onHitWall`, then a lower-priority scan callback is required to be absent. The capability still holds at `draft` because most criteria remain unproven.
Copy file name to clipboardExpand all lines: docs/capabilities/CAP-001-event-dispatch-parity/criteria.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -94,7 +94,7 @@ Feature: Event dispatch and timing parity
94
94
Given a priority probe runs against sample.Target, moves to a wall, and turns its radar from onHitWall
95
95
When the same battle runs on classic Robocode and on Tank Royale through the bridge
96
96
Then neither engine's robot output contains the scan marker
97
-
# Proven by EventPriorityConformanceTest with a bridge-owned probe and sample.Target fixture. The probe observes the same handler boundary as classic's EventPriorityFilter test without depending on an unseeded pre-handler scan. Successor to EVT-001; see IDR-005. Plan door: M-001.
97
+
# Proven by EventPriorityConformanceTest with a bridge-owned probe and sample.Target fixture. The probe first raises scan priority and requires a scan callback inside onHitWall, then lowers scan priority and requires that callback to be absent. Successor to EVT-001; see IDR-005. Plan door: M-001.
Copy file name to clipboardExpand all lines: docs/decisions/IDR-005-evt-001-scoped-to-classic-filter-behavior.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,7 +16,7 @@ Retire `EVT-001` and mint `EVT-015`: a lower-priority scan handler is not entere
16
16
17
17
## Context
18
18
19
-
The named classic robot prints a scan marker and its authoritative test asserts that the marker is absent while running against `sample.Target`; it does not record a handler order. A criterion about recorded order therefore claims behavior that its source evidence cannot observe. The conformance harness stages that opponent fixture for both engines and resets classic's deterministic test seed for this fixture. Because Tank Royale has no battle seed, the conformance test uses a bridge-owned probe that records only a scan entered during the blocked wall-handler window, avoiding unrelated scans before that window.
19
+
The named classic robot prints a scan marker and its authoritative test asserts that the marker is absent while running against `sample.Target`; it does not record a handler order. A criterion about recorded order therefore claims behavior that its source evidence cannot observe. The conformance harness stages that opponent fixture for both engines and resets classic's deterministic test seed for this fixture. Because Tank Royale has no battle seed, the conformance test uses a bridge-owned two-phase probe: it first raises scan priority and requires a scan callback inside the blocked wall-handler window, then lowers scan priority and requires that callback to be absent.
0 commit comments