KB-1841

TKT Object Collision / Orphan Audit (read-only)

5 min read Revision 1
<!-- DOC_STATUS: ACTIVE_NON_AUTHORITY -->

TKT Object Collision / Orphan Audit — 2026-06-11

  • Authority: NON_AUTHORITY / NOT_PROMOTED / SUPPORT_LANE
  • Host: T2 / CLAUDE CODE / FABLE
  • Object: TKT-OBJ-380 (PROPOSED, governed by TKT-OBJ-388)
  • APPLY_NOW: NO — read-only audit. No canonical file mutated; no fix applied by rewriting canonical files (per macro §5: collisions get an action-ready blocker + safe proposed resolution, never a canonical rewrite here).

1. Scope & method

Audited the full TKT-OBJ allocation surface (canonical body + all standalone addenda) for: duplicate IDs, range overlaps, objects with no governing addendum, addendum entries with missing file paths, and reports/packets that likely need object governance but are not governed. Evidence = direct reads of registry JSON/MD, 00-index, and each addendum (2026-06-11).

2. Allocation map (canonical body + addenda)

  • Canonical body (folded): TKT-OBJ-001..224 — present in registry JSON (objects[]→102, lane registrations→224) and MD body tables (→224).
  • Standalone addenda (not folded): 225..388, contiguous, listed in the fold preflight (tkt-governance-fold-preflight-2026-06-11). Owners interleave T1/T2.

3. Duplicate-ID scan

  • Result: DUPLICATE_IDS = 0.
  • No TKT-OBJ id appears in more than one addendum or in both body and an addendum. Each addendum opens strictly above the prior ceiling.

4. Range-overlap scan

  • Result: RANGE_OVERLAPS = 0.
  • Contiguous chain verified end-to-end: 201–207, 208–216, 217–224, 225–240, 241–253, 254–262, 263–272, 273–288, 289–304, 305–325, 326–342, 343–377, 378–388. Each boundary increments by exactly 1 (e.g. 304→305, 325→326, 342→343, 377→378). No gaps, no overlaps.
  • One resolved historical near-collision: T1 FIX7 authority-input drafted 289..309 over T2 NVSZ 289..304; resolved by T1 renumber to 305..325 before publish. Status: RESOLVED_HISTORICAL — no live collision. Lesson: cross-host ceiling check is working but is manual; see §8 recommendation.

5. Orphan-object scan

  • Objects with no governing addendum: 0. Every range maps to a named governing addendum (see fold preflight Table B).
  • Verdict: ORPHAN_OBJECTS = 0.

6. Addendum-entries-with-missing-file-paths scan

  • Path enumeration was read for each addendum (NVSZ 263..272 = 10 paths; NVSZ root-provisioning 289..304 = 16 paths; base 326..342 = 17 paths; impl-planning 343..377 = 35 paths; authority-input 305..325 = packet + reports).
  • Byte-for-byte file-presence re-verification was NOT performed in this macro (heavy; and several addenda self-attested KB round-trip byte-exact at publish). Therefore: MISSING_FILE_PATHS = NOT_DETECTED_BUT_NOT_EXHAUSTIVELY_VERIFIED.
  • Action-ready item (not a blocker yet): at fold time, run each addendum's own RERUN.sh / shasum -c HASH_MANIFEST to confirm 0 missing files before appending canonical rows. Carried as fold-preflight apply Step 0.

7. Reports/packets needing governance but not governed

  • T1 dry-run output: not yet published (T1_DRYRUN_NOT_YET_PUBLISHED). When T1 publishes a dry-run/execution-readiness packet it will need its own object range above 388 — flagged here so the next reviewer reserves it cleanly (see §8).
  • This macro's support deliverables: governed by the new 378..388 addendum → not orphaned.
  • No other ungoverned report/packet detected in the audited surface.

8. Findings → action-ready resolutions (no canonical rewrite)

Finding Severity Safe proposed resolution Actor
326..342 & 343..377 missing from BOTH registry-MD header and 00-index medium (fold-pending pointer) add pointers during fold steps 8–9 owner/GPT
289..304 missing from 00-index low add pointer during fold step 6 owner/GPT
Cross-host ID ceiling check is manual (caused the resolved 289 near-collision) low (process) next allocator MUST read the highest published addendum ceiling across BOTH hosts before reserving; current safe ceiling = 388 T1 & T2
File-presence not re-verified per range low run each addendum's RERUN/shasum at fold Step 0 owner/GPT
T1 dry-run will need a future range >388 informational reserve dry-run range starting 389 when T1 publishes next reviewer

9. Verdict

COLLISION_SCAN = CLEAN · ORPHAN_SCAN = CLEAN · DUPLICATE_IDS = 0 · RANGE_OVERLAPS = 0 · CANONICAL_MUTATION = NO · current safe allocation ceiling = TKT-OBJ-388.

Back to Knowledge Hub knowledge/dev/laws/tool-kiem-thu/support/reports/tkt-object-collision-orphan-audit-2026-06-11.md