# 9jaRobotics deterministic navigation evidence Generated: 2026-09-08T18:05:30.164Z **Scope:** deterministic 14×10 browser grid, no physical tests. **Result:** All declared checks passed. - 16/16 ordered destination pairs returned valid routes, including 4 stationary pairs and 12 journeys between different destinations. - Journeys between different destinations required 5–15 grid moves; 132 moves across those 12 routes. These are cell transitions, not physical distance or travel time. - 40/40 fixed text-command cases matched their declared expected result: 23/23 supported examples and 17/17 rejection cases. - These finite development checks do not establish a real-world reliability rate or general language accuracy. ## Reproduce and identify the source From the repository root, install the dependencies with `npm ci`, then run: ```sh node scripts/generate-evidence.mjs ``` Engine source: `src/lib/robot-engine.ts` Engine SHA-256: `00199df6481ab32622d1e108545fb018286a4854ff7b169d9fb6470fa608357b` Runtime: Node.js v22.14.0; TypeScript 5.9.3. The script transpiles the local engine source and executes it in Node.js. It writes this report and the full JSON record, and exits unsuccessfully if any declared expectation fails. Regeneration changes the timestamp; unchanged source produces the same scenario results. ## Navigation method and scenarios Enumerate all 4 × 4 ordered destination pairs, including four stationary pairs. Independently check nonempty routes, endpoints, integer grid bounds, blocked cells and orthogonal adjacency. Coordinates are zero-based (x, y), with x increasing rightward and y downward. The exact 18 blocked cells, destinations, routes and per-route checks are included in [the JSON report](navigation-report.json). | From | To | Moves | Cells including endpoints | Result | | --- | --- | ---: | ---: | --- | | Reception | Reception | 0 | 1 | Pass | | Reception | Room 01 | 13 | 14 | Pass | | Reception | Store | 14 | 15 | Pass | | Reception | Charger | 5 | 6 | Pass | | Room 01 | Reception | 13 | 14 | Pass | | Room 01 | Room 01 | 0 | 1 | Pass | | Room 01 | Store | 5 | 6 | Pass | | Room 01 | Charger | 14 | 15 | Pass | | Store | Reception | 14 | 15 | Pass | | Store | Room 01 | 5 | 6 | Pass | | Store | Store | 0 | 1 | Pass | | Store | Charger | 15 | 16 | Pass | | Charger | Reception | 5 | 6 | Pass | | Charger | Room 01 | 14 | 15 | Pass | | Charger | Store | 15 | 16 | Pass | | Charger | Charger | 0 | 1 | Pass | ### Exact routes - **Reception → Reception:** (2,2). - **Reception → Room 01:** (2,2) → (3,2) → (4,2) → (4,3) → (4,4) → (5,4) → (6,4) → (7,4) → (8,4) → (9,4) → (10,4) → (11,4) → (11,3) → (11,2). - **Reception → Store:** (2,2) → (3,2) → (4,2) → (4,3) → (4,4) → (5,4) → (6,4) → (7,4) → (8,4) → (9,4) → (10,4) → (11,4) → (11,5) → (11,6) → (11,7). - **Reception → Charger:** (2,2) → (2,3) → (2,4) → (2,5) → (2,6) → (2,7). - **Room 01 → Reception:** (11,2) → (10,2) → (10,3) → (10,4) → (9,4) → (8,4) → (7,4) → (6,4) → (5,4) → (4,4) → (4,3) → (4,2) → (3,2) → (2,2). - **Room 01 → Room 01:** (11,2). - **Room 01 → Store:** (11,2) → (11,3) → (11,4) → (11,5) → (11,6) → (11,7). - **Room 01 → Charger:** (11,2) → (10,2) → (10,3) → (10,4) → (9,4) → (8,4) → (7,4) → (6,4) → (5,4) → (4,4) → (3,4) → (2,4) → (2,5) → (2,6) → (2,7). - **Store → Reception:** (11,7) → (11,6) → (11,5) → (11,4) → (10,4) → (9,4) → (8,4) → (7,4) → (6,4) → (5,4) → (4,4) → (4,3) → (4,2) → (3,2) → (2,2). - **Store → Room 01:** (11,7) → (11,6) → (11,5) → (11,4) → (11,3) → (11,2). - **Store → Store:** (11,7). - **Store → Charger:** (11,7) → (11,6) → (11,5) → (11,4) → (10,4) → (9,4) → (8,4) → (7,4) → (6,4) → (5,4) → (4,4) → (3,4) → (2,4) → (2,5) → (2,6) → (2,7). - **Charger → Reception:** (2,7) → (2,6) → (2,5) → (2,4) → (2,3) → (2,2). - **Charger → Room 01:** (2,7) → (3,7) → (4,7) → (4,6) → (4,5) → (4,4) → (5,4) → (6,4) → (7,4) → (8,4) → (9,4) → (10,4) → (11,4) → (11,3) → (11,2). - **Charger → Store:** (2,7) → (3,7) → (4,7) → (4,6) → (4,5) → (4,4) → (5,4) → (6,4) → (7,4) → (8,4) → (9,4) → (10,4) → (11,4) → (11,5) → (11,6) → (11,7). - **Charger → Charger:** (2,7). ## Text-command method and exact cases Run the fixed, published development corpus below against the explicit text-command parser. Compare action kind and, for navigation, destination ID with declared expectations. Inputs below use JSON string notation to preserve whitespace, punctuation and quotes. An `unknown` result means the parser produced no navigation, stop or reset action; this report does not test the surrounding interface state. | Case | Input | Expected | Actual | Result | | --- | --- | --- | --- | --- | | command-01 | "go reception" | navigate → reception | navigate → reception | Pass | | command-02 | " Abeg go to reception! " | navigate → reception | navigate → reception | Pass | | command-03 | "Abeg, go reception" | navigate → reception | navigate → reception | Pass | | command-04 | "Oya, go store" | navigate → store | navigate → store | Pass | | command-05 | "carry me go reception" | navigate → reception | navigate → reception | Pass | | command-06 | "go room one" | navigate → room-01 | navigate → room-01 | Pass | | command-07 | "go room 1" | navigate → room-01 | navigate → room-01 | Pass | | command-08 | "go room 01" | navigate → room-01 | navigate → room-01 | Pass | | command-09 | "please move to store" | navigate → store | navigate → store | Pass | | command-10 | "go storage abeg" | navigate → store | navigate → store | Pass | | command-11 | "return to charger" | navigate → charger | navigate → charger | Pass | | command-12 | "return home" | navigate → charger | navigate → charger | Pass | | command-13 | "oya go back to home" | navigate → charger | navigate → charger | Pass | | command-14 | "stop" | stop | stop | Pass | | command-15 | "abeg stop" | stop | stop | Pass | | command-16 | "no move" | stop | stop | Pass | | command-17 | "Stop now!" | stop | stop | Pass | | command-18 | "do not move" | stop | stop | Pass | | command-19 | "don't move" | stop | stop | Pass | | command-20 | "don’t move" | stop | stop | Pass | | command-21 | "reset" | reset | reset | Pass | | command-22 | "reset simulation" | reset | reset | Pass | | command-23 | "start over" | reset | reset | Pass | | command-24 | "" | unknown | unknown | Pass | | command-25 | "go somewhere" | unknown | unknown | Pass | | command-26 | "go room 2" | unknown | unknown | Pass | | command-27 | "don't stop" | unknown | unknown | Pass | | command-28 | "do not stop" | unknown | unknown | Pass | | command-29 | "don't go reception" | unknown | unknown | Pass | | command-30 | "never go reception" | unknown | unknown | Pass | | command-31 | "“go reception”" | unknown | unknown | Pass | | command-32 | "\"go reception\"" | unknown | unknown | Pass | | command-33 | "'go reception'" | unknown | unknown | Pass | | command-34 | "say go reception" | unknown | unknown | Pass | | command-35 | "go reception or store" | unknown | unknown | Pass | | command-36 | "go reception and stop" | unknown | unknown | Pass | | command-37 | "stop then go store" | unknown | unknown | Pass | | command-38 | "unstoppable" | unknown | unknown | Pass | | command-39 | "go reception; reset" | unknown | unknown | Pass | | command-40 | "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" | unknown | unknown | Pass | ## Evidence limitations - This report exercises engine functions in Node.js; it does not exercise browser rendering, animation, user input controls or a live robot. - The map uses discrete cells and known fixed obstacles. It has no physics, sensors, mapping, localization uncertainty or moving obstacles. - Text parsing uses a small deterministic vocabulary. There is no LLM, speech recognition or evidence of general English or Pidgin understanding. - The command corpus is public and derived from supported examples and rejection cases. It is not held out, representative of all users or independently evaluated. - No physical robot, hardware emergency stop, battery, payload, latency, field operation or customer deployment has been tested by this script. ## Future hardware validation targets — not achieved by this report - **not assessed:** Integrate a physical robot and verify its command interface and emergency stop on a controlled test course. - **not assessed:** Measure physical route completion, obstacle response and localization error under a documented test protocol. - **not assessed:** Evaluate new text commands with independent speakers; evaluate speech separately if audio input is later implemented. - **not assessed:** Document hardware, operating conditions, failures and test evidence before a customer pilot. Prepared from the 9jaRobotics software demonstration for Ranked Technologies Ltd. The recorded evidence is limited to the source hash, configuration, scenarios and results above.