File size: 3,627 Bytes
9c9a58f 543c8e8 9c9a58f 543c8e8 9c9a58f 918c06e 543c8e8 918c06e 18d65b9 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | # Research risks and next evidence
Opened 2026-10-21. Owner: Nanobrush reference research. This register tracks concrete gaps; none of these entries alone blocks the source mapping already authorized by the user.
| ID | Evidence/gap | Impact | Next experiment/task |
| --- | --- | --- | --- |
| R01 | Original editor/engine source absent | Host implementations and runtime contracts remain unknown | Establish oracle and identify host boundaries, P3.05–P3.14 |
| R02 | Actual archive terms restrict executable RE/reuse/redistribution | Investigation/distribution paths need their own recorded basis | P0.04/P0.05; preserved original texts |
| R03 | No MB2 binary or converter sources recovered | Cannot claim MB2 compatibility | Optional P3.13 recovery stream |
| R04 | Missing font notice and unresolved resource naming | Runtime asset reuse and startup behavior remain uncertain | P0.06/P8.07/P8.08 |
| R05 | DAT converter layouts recovered; native editor conformance and plugin representation unknown | Converter specification does not prove editor compatibility | P6.19/P6.09 |
| R06 | Core IDs and IXModel versions change across builds | Misinterpreted older artifacts if latest tables are reused | Version-specific experiments, P4.03/P6.08 |
| R07 | Grammars and APIs do not prove semantic preservation | Risk of lossy or incorrect import/save | Format matrix/loss reports, P6.11/P6.13 |
| R08 | Single mutable callback slots and cached failed service lookups | Potential concurrency/order bugs | P4.04/P4.05 targeted task experiments |
| R09 | IXModel reset writer and file-stack inconsistencies | Source-derived decoder could encode the wrong behavior | Generate nested-handle/reset fixtures, P6.08 |
| R10 | Raycast helper temporarily changes selection | A pure Rust ray query may differ in observable callbacks/state | P5.06/P7.11 replay fixture |
| R11 | Mono converter oracle available (E02); editor/compiler and Windows/Linux unavailable | Converter observations cannot establish editor/platform parity | P3.05–P3.12, P6.20 |
| R12 | Solari/backend/platform qualification still open | Platform goal depends on measured hardware support | Synthetic P10 spike independent of these references |
| R13 | Static index deliberately lacks full IXPL typing/control-flow | Lexical edge/registration counts can overstate live behavior | Preserve uncertainty; refine analysis and compare actual traces |
| R14 | Legacy DAT short-read reuse and unbounded string EOF loop (F28) | Corruption, hangs/allocation growth on malformed data | Strict bounded Rust DAT parser implemented (F29); extend fuzzing/editor validation in P6.19/P6.20 |
| R15 | DAT ASCII loss, BOM-less UTF-8 drift, property normalization and silent MAP/Q3/OBJ losses (F26/F27) | Successful conversions can alter meaningful content | Explicit encoding and loss reports, P6.01/P6.13 |
| R16 | Rust DAT policy deliberately rejects ambiguous/unknown data and avoids lossy table normalization (F29) | Some converter-accepted files need explicit diagnosis/migration | Preserve originals; validate native-editor/real documents, P6.19/P6.20 |
| R17 | Native TXT uses strict UTF-8/BOM output, retained table indices and computed-array consistency (F30) | Latin-1 inputs or permissive/lossy historical cases need explicit recoding/diagnosis | Broader real-file/legacy interoperability and fuzzing, P6.20 |
| R18 | CLI publication uses hard-link/rename in a trusted parent; directory metadata not separately synced (F31) | Filesystem support, hostile directory races and power-loss durability differ by environment | Filesystem/platform failure matrix, P6.12/P15 |
|