# Analysis Evidence Map

## Purpose

This page maps the durable outputs under `analysis/` to the wiki pages that interpret them. It is an inventory of locally generated evidence, not a claim that every recovered label or emulator behavior is target-confirmed.

Confidence terms used throughout the wiki:

- **Confirmed static evidence**: directly supported by a target file, hash, string offset, decoded table, or reproducible parser output.
- **Validated host artifact**: a host-side parser or emulator passed its local checks, but has not necessarily been accepted by the game or physical hardware.
- **Inferred label**: derived from ordering, ASR, content matching, or structural correlation and still needs native/script confirmation.
- **Runtime observation**: observed only in the generated QEMU guest copy; it does not modify or authenticate the extracted rootfs evidence.

## Coverage Summary

| Analysis area | Durable evidence | Current result | Interpretation |
| --- | --- | --- | --- |
| Static binary and package triage | `analysis/static-triage/` | Offset strings and ELF metadata for the main game, SPIKE menu, and netbridge; `.sidx` paths; Intel HEX address ranges | Confirmed static evidence; see `main-game-behavior.md` and `package-image-firmware.md`. |
| Whole-rootfs audio search | `analysis/audio-search/summary.json` | 7,375 files scanned; 281 files had parseable media streams; none had an audio stream | Supports the conclusion that gameplay audio is stored in Radium `image.bin`, not as ordinary rootfs audio files; see `audio-asset-search.md`. |
| Main Radium image | `analysis/radium-image/header.json` | Section 8 CRC matches (`0x3f401e79`); all 2,491 PCM rows are bounded; 12,710 sound references resolve; 12,655 command streams decode with zero malformed streams | Confirmed parser output; see `radium-image-format.md` and `sound-export.md`. |
| SPIKE menu Radium image | `analysis/radium-spike-menu-image/header.json` | Section 8 CRC matches (`0xb8fe11f9`); all 54 PCM rows are bounded; 300 sound references resolve; 340 command streams decode with zero malformed streams | Confirmed parser output; see `sound-spike-menu.md`. |
| Radium command tables | `analysis/radium-image/command_opcode_rows.tsv`, `analysis/radium-spike-menu-image/command_opcode_rows.tsv` | 108,765 main-game command rows across 13 observed opcodes; 2,065 SPIKE-menu rows across 10 opcodes | The stream structure is decoded, but most non-`0x0b` opcode semantics remain open. |
| Radium bitmaps | `analysis/radium-image/section3_bitmap_manifest.tsv` | 1,477 records: 1,449 raw indexed previews and 28 compact payloads still undecoded | Partial static recovery; see `radium-section3-bitmaps.md`. |
| Compiled Godot scripts | `analysis/godot-introspection/` | 93 `.gdc` script summaries, 760 sound constants, and 772 validated sound-reference rows | String/catalog recovery is confirmed; general bytecode/control-flow recovery remains incomplete. |
| Sound naming | `analysis/all-sound-best-name-manifest.tsv` | One best-available name for 2,545 exports: 2,491 main-game and 54 SPIKE-menu WAVs | Mixed provenance. Native names are stronger than Pokedex alignment, catalog/ASR matches, draft ASR, and structural fallbacks. |
| Native sound names | `analysis/radium-image/native_named_sound_manifest.tsv` | 25 registrations recovered from direct native call sites | Confirmed static names. |
| Pokedex voice alignment | `analysis/radium-image/pokedex_voice_label_manifest.tsv` | 1,137 aligned voice rows | Strong structural/content alignment, but not a general native object-name map. |
| ASR and catalog enrichment | `analysis/radium-image/asr_draft_sound_labels.tsv`, `asr_catalog_sound_label_candidates.tsv`, `asr_review_sound_label_candidates.tsv` | 2,486 ASR rows, 220 catalog matches, and 169 low-confidence review candidates | Inferred labels. The viewer isolates these catalogs from research search by default. |
| Conagent backend | `analysis/conagent-machine-emulator/` | Configurable host-side HTTP/time/machine-state emulator | Validated host artifact; protocol coverage is intentionally partial; see `conagent-machine-emulator.md`. |
| Netbridge | `analysis/netbridge-emulator/`, `analysis/netbridge-pico-firmware/` | Python UART emulator plus portable/Pico protocol model for recovered framing, version, CRC, and stub node commands | Host tests pass. Full game acceptance and live electrical/timing validation remain open; see `netbridge-re.md`. |
| Topper node | `analysis/topper-emulator/` | MicroPython model for the recovered serial-key command path | Static protocol recovery plus host artifact; live nodebus validation remains open. |

## Important Boundaries

- `analysis/` is derived material. Original target paths and target hashes remain in `artifact-index.md`.
- CRC validation proves that the decoded table matches the extracted image bytes; it does not prove every inferred semantic label.
- ASR text is a search aid. It is not a native symbol source and may contain recognition errors.
- Emulator unit tests validate the recreated model, not compatibility with every game state or the physical SPIKE bus.
- QEMU results come from `emulation/work/rootfs.ext4`, a generated copy with injected helpers and shims. See `docker-qemu-emulation.md` for the runtime boundary and current blockers.

## Open Enrichment Work

1. Assign semantics to the remaining Radium opcodes by tracing native consumers.
2. Decode the 28 compact section 3 bitmap payloads and verify palette/alpha behavior.
3. Recover broader `.gdc` bytecode control flow where strings alone do not establish reachability.
4. Promote inferred sound names only when supported by native registration, script linkage, or runtime evidence.
5. Validate netbridge and topper models against the game or hardware captures before describing them as target-compatible.
