§4 — P3: Referential integrity and the z-axis gap ✓ landed 2026-07-10
Quick status
| Item | Status | Commit |
|---|---|---|
| ISN reference-resolution semantic check (structured + inline) | ✓ shipped | af41d50 (ISN) |
| z-axis triple root cause + completeness gate | ✓ shipped | d9d069ec (imas-codex) |
| Docs repair of dangling inline refs (prod graph) | ⏳ queued — supervised write window | — |
| Mint missing z-names (camera, diagnostic aperture) | ⏳ queued — supervised write window | — |
What shipped
- Referential-integrity check in
imas_standard_names/validation/semantic.py(_check_referential_integrity(), wired intorun_semantic_checks()— runs in bothvalidate_catalogandYamlStore.load). Severities:links/deprecates/superseded_by→ error (export prunes these, a miss means a broken export);arguments/error_variants→ warning (computed, re-derived on export — matches the existing yaml_store convention); inline[label](name:target)refs in documentation prose → warning with a one-line promotion knobINLINE_REFERENCE_SEVERITY(decision d-inline-ref-severity: warn-then-error). A resolvablesuperseded_byis valid regardless of target status — compatible with P1's deprecation stubs. 12 new tests intests/test_reference_resolution.py. - Live-catalog measurement: 0 dangling structured refs (the review's 388 is stale —
export pruning already landed); 153 dangling inline warnings across 70 entries, 44 unique missing
targets (the review's ≈74 was a sample estimate). Camera x/y entries reference the non-existent
z_direction_unit_vector_of_camera— direct corroboration of the z-axis casualty list. - z-axis root cause (verified against live data, not guessed): x/y/z siblings are minted
independently, one LLM candidate per DD leaf; when the z candidate resolves as attach rather than
compose, the merge never touches
documentation, so a target that ever existed with an empty doc stays empty; nothing in the pipeline checked completeness after the fact.families.py/derivation.pyaxis handling was exonerated by standalone repro. Fix:vector_family_consistency_check()inimas_codex/standard_names/audits.pygained a documentation-completeness check across each DD node's minted siblings (catches the defect on any axis, not just z). 4 new tests intests/standard_names/test_triple_generation_completeness.py.
Verification
- ISN full suite: 1683 passed, 28 skipped, 84 xfailed, 0 failed. Codex targeted modules (audits/families/triple-completeness): green. Orchestrator re-ran both new test files independently: green.
- Scope audit: commits touch exactly the allocated files (2 per repo); no AI trailers.
Queued / flagged
- Supervised prod-graph pass (with the P4 window): regenerate docs for the 70 entries with dangling inline
refs; mint
z_direction_unit_vector_of_camera+ the diagnostic-aperture z sibling; regenerate the empty z docs. The new completeness check then verifies the repair. - P6 pickup:
vector_family_consistency_check/dd_path_uniqueness_checkare test-only today — wire them into a production audit run. - Naming-convention question for the lead:
z_coordinate_of_*vs the prompt's canonicalvertical_coordinate_of_*for point Z coordinates.