Skip to content

Commit 804422b

Browse files
committed
contract: D-CCF-1 — flip CLASSID_ORDER to CanonHigh (canon HIGH, custom LOW)
The P1 flip of classid-canon-custom-flip-v1 (operator trigger 2026-07-02): - CLASSID_ORDER = CanonHigh; stored classids now carry canon (domain:appid) in the HIGH u16, custom (marker/render prefix) in the LOW u16. - New mint surface: CLASSID_OSINT 0x0700_0000, CLASSID_FMA 0x0A01_0000, CLASSID_PROJECT 0x0100_0000, CLASSID_ERP 0x0200_0000; V3 classes 0x0701_1000 / 0x0A01_1000 / 0x0E01_1000 (OSINT + CPIC appid normalized to :01 = q2 per the ruling). - Mint-forward boundary: every pre-flip stored form registered as a CLASSID_*_LEGACY read-only alias in BUILTIN_READ_MODES — persisted rows resolve until re-baked; retirement gated on corpus proof (codex P2 #627). - hhtl::from_guid_prefix (v1 fold) accepts pure-canon classids in BOTH stored forms and folds them to the identical path; marked classids (both halves nonzero) still refuse. - OGAR#95 reconciliation (plan P2): the app prefix IS the custom half — render_classid composes concept HIGH / prefix LOW (patient@Healthcare = 0x0901_0005); the #95 table becomes the custom-half render catalogue. - Board: EPIPHANIES E-CLASSID-FLIP-P1-LANDED, STATUS_BOARD D-CCF rows, AGENT_LOG fleet-inventory entry (same commit per board-hygiene rule). Gates: contract 773 (guid-v3-tail) / 759 (default) + doctests; clippy -D warnings; dependents green (callcenter, cognitive-shader-driver, planner). Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 3b5aea0 commit 804422b

7 files changed

Lines changed: 424 additions & 226 deletions

File tree

.claude/board/AGENT_LOG.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,22 @@
1+
## 2026-07-02 — Fleet flip inventories (5× Sonnet, read-only) + P1 flip landed
2+
3+
- **Agents:** q2 / OGAR+OGIT / MedCare-rs+openproject-nexgen-rs+openproject /
4+
woa-rs / tesseract-rs — exhaustive classid half-order site inventories with
5+
Rule-7 negative-existence declarations. Outcomes: OGIT zero; openproject
6+
(Ruby) zero; tesseract-rs zero (contract dep is unichar-only; OCR domain
7+
already allocated as ConceptDomain::Ocr 0x08); woa-rs one stale doc comment
8+
(erp/canon.rs Phase-3 mint); MedCare-rs auth test literal 0x0000_0B01 +
9+
docs; openproject-nexgen op-canon ~13 pinned literals (bit math lives
10+
upstream in ogar_vocab); OGAR = the canonical flip site
11+
(ogar_vocab::app 4 fns + mint.rs tests + large doc sweep) + flags
12+
ruff_spo_address::Facet (AdaWorldAPI/ruff git dep) as companion; q2 =
13+
osint-bake/cockpit-server compose+decompose sites, fma/ + cpic/ standalone
14+
schemes, BAKED artifacts (osint_scene.soa, fma.soa, SAMPLE_GUIDS.tsv,
15+
aiwar.codebook, release body.soa) needing re-bake.
16+
- **Main thread:** D-CCF-1 (P1 flip) implemented in lance-graph-contract —
17+
CanonHigh live, new-form constants + legacy aliases, hhtl dual-form
18+
boundary. Gates green (773/759 + doctests + clippy + dependents). PR #628.
19+
120
## 2026-07-01 (cont.) — v3-convergence-wiring D1/D2 execution (2 Sonnet grindwork agents + Fable finish)
221

322
**Main thread (Fable 5) + two Sonnet 5 agents (edit-only, shared checkout, no worktrees).** (1) **P6 agent (D-VCW-2, completed):** extended `markov_soa` tests with `p6_palette_join` — self-match exactly 1.0 under a real zero-diagonal 256×256 palette table + hand-computed table arithmetic == `best_guess_match` output; 6/6 module green; correctly refused a planner dep (the TABLE is the join object, dependency flows AriGraph→sensor never reverse). Flagged the pre-existing planner deprecation clippy debt (→ TD-DEPRECATED-ACCESSORS-BLOCK-DEP-CLIPPY). (2) **D1b agent (D-VCW-1b, killed mid-test by worker restart; Fable finished):** driver-persistent `RwLock<RungElevator>` on `ShaderDriver` (per-call-local would never accumulate a streak — the agent's own correct design call), base-change reset so streaks never leak across dispatch contexts, gate fed POST-decision (provenance never alters the gate), `materialize_provenance(…, rung)` replaces the `ctx.rung = 1` proxy, `wire.rs`/`grpc.rs` 10-arm matches deduped through `RungLevel::from_u8`. Fable finished the second test honestly: rung is a +1 tie-weight in tactic scoring, so inequality is asserted for the EMPIRICALLY-differentiating input (rung 1→tactic 17, rung 9→tactic 3 at authoring), not claimed universal. Gates: driver 100/100, contract 755 regression green, fmt clean, driver-own lints clean (dep-closure clippy blocked by the pre-existing deprecation debt, recorded). Commit: this one.

.claude/board/EPIPHANIES.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,34 @@
1+
## 2026-07-02 — E-CLASSID-FLIP-P1-LANDED — CanonHigh is live: canon HIGH / custom LOW, legacy aliases resolve persisted rows, OGAR#95 reconciled as the custom-half render catalogue
2+
3+
**Status:** SHIPPED (PR #628 arc; P0 route-through fd9bf6b → P1 flip this commit).
4+
5+
1. **`CLASSID_ORDER = CanonHigh`** — one-const flip per
6+
`E-CLASSID-SPLIT-ORDER-IS-A-FLIP`. New mint surface: v1 classes
7+
`0x0700_0000` (OSINT) / `0x0A01_0000` (FMA) / `0x0100_0000` (PROJECT) /
8+
`0x0200_0000` (ERP); V3 classes `0x0701_1000` (OSINT:q2, appid
9+
normalized) / `0x0A01_1000` (FMA:q2) / `0x0E01_1000` (CPIC Genetics:q2,
10+
normalized `:00`→`:01` per the ruling).
11+
2. **Mint-forward boundary:** every pre-flip stored form stays registered as
12+
a `CLASSID_*_LEGACY` read-only alias key in `BUILTIN_READ_MODES` —
13+
persisted rows resolve forever until re-baked; retirement gated on corpus
14+
proof (codex P2 #627). `hhtl::from_guid_prefix` (v1 fold) accepts BOTH
15+
pure-canon stored forms and folds them to the IDENTICAL path; genuinely
16+
marked classids (both halves nonzero) still refuse.
17+
3. **OGAR#95 reconciliation (plan P2) resolved by construction:** the app
18+
prefix IS the custom half — `render_classid(prefix, concept)` composes
19+
concept HIGH / prefix LOW (`patient` under Healthcare = `0x0901_0005`).
20+
The #95 allocation table becomes the CUSTOM-half render catalogue; prefix
21+
VALUES unchanged. OGAR `ogar_vocab::app` flips in lockstep (operator:
22+
"also flip ogar to match").
23+
4. **Domain routing on legacy-form ids intentionally does NOT route** —
24+
old rows resolve via concrete alias keys, not `classid_concept_domain`
25+
(documented on the function). New mints route correctly off the canon.
26+
27+
Gates: contract 773 (guid-v3-tail) / 759 (default) + doctests green; clippy
28+
-D warnings clean; dependents green (callcenter 163, cognitive-shader-driver
29+
104, planner 204). Fleet inventories (q2 / OGAR+OGIT / medcare+openproject /
30+
woa-rs / tesseract-rs) recorded in AGENT_LOG; consumer PRs follow.
31+
132
## 2026-07-02 — E-CLASSID-CANON-HIGH-TRIGGERED — the operator pulled the flip trigger: canon (domain:appid) moves to the HIGH half, `0x1000` was a temporary reminder, OSINT low byte = appid space, q2 gate waived
233

334
**Status:** DOCTRINE (operator ruling, verbatim anchors in the plan §0).

.claude/board/STATUS_BOARD.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ Plan: `.claude/plans/classid-canon-custom-flip-v1.md`. Operator trigger 2026-07-
44

55
| D-id | Title | Crate(s) | Status | Evidence |
66
|---|---|---|---|---|
7-
| D-CCF-0 | compose_classid/split_classid/CLASSID_CANON_HIGH + route all sites (zero behavior) | lance-graph-contract | Queued | plan §3/§4 P0 |
8-
| D-CCF-1 | Flip + mint new-form classids (0x0701_1000 / 0x0A01_1000 / 0x0E01_1000) coexisting | lance-graph-contract | Queued | gated on P0 probes |
9-
| D-CCF-2 | OGAR#95 hi-u16 app-prefix reconciliation | contract + OGAR | Blocked (operator checkpoint) | plan §2 row / §4 P2 |
7+
| D-CCF-0 | compose_classid/split_classid/CLASSID_CANON_HIGH + route all sites (zero behavior) | lance-graph-contract | Shipped (fd9bf6b) | plan §3/§4 P0 |
8+
| D-CCF-1 | Flip + mint new-form classids (0x0701_1000 / 0x0A01_1000 / 0x0E01_1000) coexisting | lance-graph-contract | In PR (#628) | gated on P0 probes |
9+
| D-CCF-2 | OGAR#95 hi-u16 app-prefix reconciliation | contract + OGAR | In progress (resolved: prefix = custom half; OGAR flips in lockstep per operator) | plan §2 row / §4 P2 |
1010
| D-CCF-3 | q2 re-mints (osint-bake + cpic via contract pull; dissolves ISS-Q2-CPIC-MIRROR) | q2 (gate WAIVED) | Queued | plan §4 P3 |
1111
| D-CCF-4 | 0x1000 marker retirement | all | Blocked (operator checkpoint) | plan §4 P4 |
1212

crates/lance-graph-contract/Cargo.toml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,11 @@ guid-v2-tail = []
4646
# guid-v3-tail (P-A, plan: soa-value-tenant-migration-v2.md §2.1/§2.2) — gates the
4747
# V3 cascade-key per-classid entries. The V3 identity AXIS itself (TailVariant::V3
4848
# + ReadMode::tail_variant) is unconditional, latent (nothing reads tail_variant
49-
# yet) → non-breaking. The gated entries pin the generation marker in the HIGH
50-
# (custom) u16, preserving the canon LOW-u16 0xDDCC domain byte (so
51-
# `classid_concept_domain` still routes the legacy domain). OSINT-V3 (0x1000_0700)
52-
# is the wired exemplar; FMA-V3 (0x1000_0A01) + Genetics follow. Default OFF.
49+
# yet) → non-breaking. Since the classid half-order flip (P1, 2026-07-02,
50+
# classid-canon-custom-flip-v1.md) the CANON `domain:appid` sits in the HIGH u16
51+
# and the gen-marker 0x1000 in the LOW (custom) u16: OSINT-V3 = 0x0701_1000,
52+
# FMA-V3 = 0x0A01_1000, CPIC-V3 = 0x0E01_1000; the pre-flip 0x1000_DDCC forms
53+
# stay registered as read-only legacy aliases (mint-forward). Default OFF.
5354
#
5455
# Implies `guid-v2-tail`: V3 is a *reading* of the SAME leaf·family·identity 3×u16
5556
# tail bytes v2 mints (the (part_of:is_a) cascade reinterprets them, never re-carves),

0 commit comments

Comments
 (0)