Explain, before fixing, why KnowledgeDBCompiler output diverges from the committed artifacts.
Scope
Two committed artifacts regenerate on every full test suite run and differ semantically from HEAD — this is genuine content divergence, not newline drift:
| File |
Delta |
data/cruise_intelligence_db.json |
+14,703 bytes |
data/cruise_knowledge_graph.json |
+15,583 bytes |
They are the last known source of working-tree churn after a full run.
Classify the divergence semantic vs serialization, per top-level key, before proposing any refresh.
Non-goals
- No refresh commit in this issue
- No compiler refactor
- No
json.dump migration — 28 direct call sites remain across src/, scripts/ and tools/, deliberately out of scope
Acceptance criteria
- Per-key classification of the diff (semantic vs serialization)
- A stated cause: stale commit, changed inputs, or non-determinism
- Confirmation of whether compiler output is deterministic across two independent runs
- A recommendation naming the exact files a refresh would touch
Evidence gates
- Diff produced against
git show HEAD:<path>, not against a prior working tree
- Determinism checked by two independent runs into temp directories
- No in-place regeneration during the audit
Context
Repeatedly observed and deliberately excluded from PRs #29 and #30, where the two files were restored rather than committed. _load_ships() reads only identity/cabins/venues/operations/negative_intelligence.json, so the Meraviglia manifest and reports are confirmed not to be compiler inputs.
Label audit was approved for this issue but does not exist in the repository.
Explain, before fixing, why
KnowledgeDBCompileroutput diverges from the committed artifacts.Scope
Two committed artifacts regenerate on every full test suite run and differ semantically from
HEAD— this is genuine content divergence, not newline drift:data/cruise_intelligence_db.jsondata/cruise_knowledge_graph.jsonThey are the last known source of working-tree churn after a full run.
Classify the divergence semantic vs serialization, per top-level key, before proposing any refresh.
Non-goals
json.dumpmigration — 28 direct call sites remain acrosssrc/,scripts/andtools/, deliberately out of scopeAcceptance criteria
Evidence gates
git show HEAD:<path>, not against a prior working treeContext
Repeatedly observed and deliberately excluded from PRs #29 and #30, where the two files were restored rather than committed.
_load_ships()reads onlyidentity/cabins/venues/operations/negative_intelligence.json, so the Meraviglia manifest and reports are confirmed not to be compiler inputs.Label
auditwas approved for this issue but does not exist in the repository.