KB-40D8

FIX7 Real-N6 — fix7-real-n6-criteria-under-tkt-v02-2026-06-11.md

5 min read Revision 1
tool-kiem-thufix7n6real-n6tkt-v022026-06-11

FIX7 Real-N6 Criteria — under TKT v0.2 Conventions (2026-06-11)

  • Host: T1 / Claude Code. Codex consulted: NO. Owner approval requested: NO.
  • Production / PG / Directus / registry-row / system_issues mutation: NO.
  • Authority: provisional-non-authority; defines criteria, seals/ratifies nothing.
  • Macro: FIX7_REAL_N6_PROVENANCE_CHAIN_USING_TKT_V02_CONVENTIONS_MACRO_2026_06_11.
  • N-number table use: consumed from fix7-n-node-numbering-reconciliation-under-tkt-v02-2026-06-11.json as a temporary engineering convention for this macro only — NOT owner/Codex ratification, NOT a seal, NOT production approval.

0. Why criteria first

The paused real-N6 macro turns on a single distinction the prior analysis surfaced (fix7-n6-special-analysis-report-2026-06-11.md): N6 = active_corpus_sha256 is computable, but it is currently REHEARSAL because of provenance-class + lane-wiring, not because the value is missing. So "real N6" must be defined precisely enough that an automated, fail-closed verifier can decide it — and so that a real value can NEVER be confused with an official seal.

1. Exact criteria for a real N6 ENGINEERING_VERIFIED_CANDIDATE

A digest may be emitted as a real, non-rehearsal ENGINEERING_VERIFIED_CANDIDATE N6 iff every condition below holds. Each maps to an executable gate in real_n6_provenance_verifier.py.

# Criterion Verifier gate Reject status
C1 Source is governed (a KB authority surface), not local-only source_kind == GOVERNED_KB N6_SOURCE_NOT_GOVERNED
C2 Source is not a rehearsal fixture provenance ≠ REHEARSAL; value ∉ fixture sentinels N6_PROVENANCE_REHEARSAL_BLOCKED / N6_VALUE_IS_REHEARSAL_FIXTURE
C3 Source is not prose-only (real bytes exist on disk) corpus dir non-empty, files present N6_CORPUS_PROSE_ONLY
C4 Digest is computable from the actual governed corpus via the governed algorithm governed canonicalizer pinned + run N6_ALGORITHM_HASH_MISMATCH / N6_PRODUCE_CORPUS_NOT_OK
C5 Corpus membership is explicit (the 10 frozen blueprint doc ids) declared set == listed set N6_CORPUS_MEMBER_MISSING / …_EXTRA
C6 Byte / hash match: every member is byte-exact to a governed pin per-member sha256 vs HASH_MANIFEST N6_CORPUS_HASH_MISMATCH
C7 Manifest / membership pin match produce membership_frozen_ok; membership == f2bda8…fe251 N6_MEMBERSHIP_PIN_MISMATCH
C8 No duplicate member; no path traversal / alias dedup + path grammar N6_CORPUS_DUPLICATE / …_PATH_TRAVERSAL / …_PATH_ALIAS
C9 Provenance class is ENGINEERING_VERIFIED_CANDIDATE (or OFFICIAL_PIN with authority) provenance allow-list N6_PROVENANCE_*
C10 Evidence is reconstructable from KB kb_fetch_reconstruct.py + HASH_MANIFEST reconstruction FAILS CLOSED
C11 No owner/Codex authority implied cert authority=NOT_A_SEAL, owner_codex_required_for_promotion=true n/a (asserted)
C12 No official seal claimed; does not create N7/N8/P7 cert is_official_pin=false, creates_n7_n8_p7=false; firewall F1/F2 n/a (asserted)

2. What is explicitly NOT sufficient (anti-laundering)

  • Reusing the rehearsal N6 (6×64 fixture) — rejected (C2).
  • Calling active_corpus_sha256 "real" because it appears in a report — rejected; only a fresh byte-exact recompute over the governed corpus counts (C4/C6), never report prose.
  • Relying on Packet V3 engineering PASS alone — engineering PASS ≠ provenance promotion (fix7-n6-special-analysis-report §5). Packet V3 PASS does not make N6 real or official.
  • Local-only files (C1) or prose-only sources (C3).
  • An OFFICIAL_PIN claim without owner/Codex authority (C9) — that is an authority act, out of lane.

3. The candidate is the ENGINEERING half only

Meeting C1–C12 closes the engineering half of SEAL_REAL_N6_NOT_AVAILABLE. The authority half (owner/Codex approval inputs + ratification of the N-number table + promotion of the candidate to OFFICIAL_PIN + the N7→N8→P7 seal) is out of scope for this macro and out of lane for T1. A passing candidate is therefore marked ENGINEERING_VERIFIED_CANDIDATE and never an official seal.

4. N-node convention consumed (engineering only)

Per the reconciliation table (rev1): N6 name active_corpus_sha256, value active_corpus_sha256, deps [N1], load-bearing, authority_class engineering, candidate digest d777e87c…, blocker SEAL_REAL_N6_NOT_AVAILABLE. This packet does not reopen N1/N2/N9 numbering (no fresh contradiction found) and treats the table as engineering convention only.