Repository navigation
board: synergy ledger + coresearch map (concept addresses, labels, id lifetime) - #1471
Conversation
The three rows still read "In PR" after their PRs merged. Status cells only; gates and scope unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019fbZ92dFKQ5BJHrA3YcH9A
ISS-CLASSID-READ-MODE-IS-A-SECOND-RESOLUTION-PATH said it closes by retiring the 0x1000 keys; the 2026-10-10 ruling keeps them. It now closes when no new reading comes from the table (D-HPR-3) and the V1 fallback is gone (D-HPR-6b). The plan heading "The second path that must go" contradicted its own rule 5 and is regraded. Line refs re-measured on 1116c12. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019fbZ92dFKQ5BJHrA3YcH9A
…nd id lifetime Two entries and the plan/board rows they change. Synergy ledger (2026-10-11): the P1-P24 listing re-read against source in lance-graph, OGAR, OGIT, odoo-rs, q2 and the fleet. 113 items, each re-read adversarially; 106 hold, 7 corrected. Ranked by leverage. Coresearch map: 24 rows on where per-language labels of a u16 concept live, how source ids map to it, and how an id is deprecated but kept. 14 rows measured by probe. Findings: - 0x0101, 0x0202 and 0x0A01 are both codebook concepts and code-minted appid heads. Since D-HPR-2, concept_override gives anyone plugging those concepts the head's storage reading (latent; plan O3). - ClassId is declared twice in the contract (u32 in rbac, u16 in class_view). - EntityTypeDto.id exports the registry's cache-lifetime counter. - Fresh registry hydration ids follow read_dir order: one inserted file moved 14 ids. Plan v3-mandatory-hotplug-reading: W3 census, W5 caveat (a slab declaration cannot set the tail), W6 split into 6a/6b, O3. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019fbZ92dFKQ5BJHrA3YcH9A
|
Warning Review limit reachedYour organization has reached its usage spending cap. Adjust your spending cap in the billing tab. Next included review available in 30 minutes. View limit details
Warning Billing warning: we have not been able to collect payment for this subscription for more than 72 hours. Please update the payment method or pay any pending invoices in Billing to avoid service interruption. Comment |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 52175ee941
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| - Callers: `ocr.rs:105/124`, `aiwar.rs:119`, `nan_projection.rs:167`, `soa_graph.rs:204/457`. | ||
| - `hotplug.rs` states it is the ONE resolution path ("there is no second registry"); this table is a second one. | ||
| - **What closes it:** route those callers through `Activation::resolve_for_context`, keep the legacy keys readable for slabs already written with them (an explicit `SlabDeclaration` wins for existing data), then retire the `0x1000` keys on corpus proof that no row needs them. | ||
| - ⊘ **What closes it** (regraded 2026-10-11): the earlier text ended "then retire the `0x1000` keys on corpus proof that no row needs them". SUPERSEDED by the operator ruling of 2026-10-10 (*"1000 isn't hurting, just document and Mark it as deprecated. No need to force evict"*), recorded as rule 5 of plan `v3-mandatory-hotplug-reading-v1.md`. The legacy keys stay. The issue closes when (a) no NEW reading is selected through this table — every mint path takes its reading from an `Activation` or a `SlabDeclaration` (D-HPR-3), and (b) an unknown classid no longer falls back to `ReadMode::DEFAULT` (D-HPR-6b, operator decision). The table then survives only as the reader of stored legacy keys (D-HPR-5). |
There was a problem hiding this comment.
Require Activation for every new mint
Do not allow SlabDeclaration as an alternative source for a mint's reading. Activation::resolve_for_context first requires read_mode_for(concept) and then replaces only value_schema, retaining the activation's tail_variant; therefore a slab declaration cannot prevent a mint from continuing to select its tail through classid_read_mode. As written, this criterion could mark D-HPR-3 complete while the second resolution path remains active.
Useful? React with 👍 / 👎.
| **Status:** OPEN. **Basis:** VERIFIED-IN-CODE; DECISION by operator 2026-10-10 (the V3 marker is a fossil; only `hotplug.rs` and the slab metadata envelope decide whether a slab is `Facet96` (32 + 96) or `Register128` (128, classid via SPOG/plug)). Record: `entries/2026-10-10-classid-layout-ruling.md`, plan `cross-glove-business-parity-v1.md` §C.9.3. | ||
|
|
||
| - `canonical_node::classid_read_mode(classid)` (`canonical_node.rs:1813`) reads `BUILTIN_READ_MODES` (`:1743`), keyed by the full classid, including the `*_V3` keys carrying classview `0x1000`. | ||
| - `canonical_node::classid_read_mode(classid)` (`canonical_node.rs:1850`, re-measured 2026-10-11 on `1116c120`; was `:1813`) reads `BUILTIN_READ_MODES` (`:1773`, was `:1743`), keyed by the full classid, including the `*_V3` keys carrying classview `0x1000`. |
There was a problem hiding this comment.
Keep the issue ledger body append-only
Preserve this existing issue body and append the regrade separately. The governance in this file states that entries are never deleted and that only Status and Resolution are mutable (ISSUES.md:3943-3954, 3978-3986), but this change rewrites both the source citation and closure criterion in place. The line-count gate cannot detect this kind of same-length history rewrite, so the original audit record is no longer reconstructable from the ledger.
Useful? React with 👍 / 👎.
| | **D-HPR-5** | Stored legacy keys keep resolving; a `SlabDeclaration` may override for its own data; no forced removal | Queued | — | | ||
| | **D-HPR-6** | No V1 default for an unknown classid; `guid-v3-tail` not a gate | Queued | unknown classid → `NoReadingFor` | | ||
| | **D-HPR-2** | Canon domain readings move into `OgarAuthority::concept_override` | Shipped (#1465; 5 concept arms, red with an arm removed; codex P1 fix: canon domains also activate through the public `activate` path) | `read_mode_for(concept)` == today's `classid_read_mode(<V3 classid>)` per domain | | ||
| | **D-HPR-3** | Consumers move (lance-graph, q2, MedCare); `classid_read_mode` deprecated | Queued (2026-10-11 census: MedCare has 0 callers; q2's are offline bake mints; deepnsm-v2 is blocked on a concept mint, not code) | no NEW reading selected through the table (rule 5 keeps stored keys readable) | |
There was a problem hiding this comment.
Remove the obsolete deprecation deliverable
Update the deliverable column along with the revised status. This row still instructs D-HPR-3 to deprecate classid_read_mode, while the same commit's W3 text explicitly strikes that action because rule 5 requires existing callers to remain usable under -D warnings. Leaving both instructions on the status board can send the queued implementation toward the forced migration the plan now forbids.
Useful? React with 👍 / 👎.
| | `board-p14-iss-regrade` | open | low | P14 | ISS-CLASSID-READ-MODE-IS-A-SECOND-RESOLUTION-PATH: 'retire the 0x1000 keys' contradicts two rulings; basis and caller list predate D-HPR | | ||
| | `board-p17-status-cells-stale` | open | low | P17 | STATUS_BOARD cells stale vs merged PRs; D-XGP-2 shipped in #1455, not #1460 | | ||
| | `contract-board-regrade-iss-plan-status` | open | low | P14, P17 | ISSUES top entry, plan 'Where things stand', and STATUS_BOARD D-HPR-2 all carry text the 2026-10-10 no-eviction refinement superseded (plus drifted line numbers) | | ||
| | `contract-domainspec-v3-consts-are-the-bake-readers` | open | low | P24 | soa_graph DomainSpec consts still key on CLASSID_*_V3 and `project_snapshot` filters rows by `key.classid() == domain.classid` — this IS the stored-bake population W5 protects; by-ruling it stays, only a doc note is missing — **corrected:** The cited lines are accurate: soa_graph.rs:91/117/134/155 hold the V3 consts; the :259/:414 filters are exact classid matches; q2 body.rs:44/81, fma.rs:72-73/144/177, body-soa-wire:27/65 and geo/src/bso2.rs:22/148-154 read as quoted; MedCare graph_feed.rs:25 h… | |
There was a problem hiding this comment.
Restore the truncated ledger corrections
Replace the copied output fragments with the complete re-reader verdicts. This row ends mid-word at h…, and the corrections on lines 69, 80, 110, and 131 are similarly truncated; several of those rows explicitly refute or qualify their headline before omitting the actual corrected conclusion. That leaves the supposedly adversarially verified ledger unable to tell readers which claim survived and can cause later plans to reuse a claim the re-reader had already rejected.
Useful? React with 👍 / 👎.
Board and plan changes only. No code changes.
What changes
guid-v3-tail) and 6b (an unknown classid errors; needs operator approval).ISS-CLASSID-READ-MODE-IS-A-SECOND-RESOLUTION-PATHregraded. It used to close by retiring the0x1000keys, which the 2026-10-10 ruling ("no need to force evict") keeps. It now closes when no new reading comes from the table and the V1 default is gone.v3-mandatory-hotplug-reading-v1:#[deprecated]step in W3 is marked;SlabDeclarationcannot set the key tail;2026-10-11-synergy-ledger-classid-hotplug.md. The P1–P24 listing re-read against source in lance-graph, OGAR, OGIT, odoo-rs, q2 and the fleet. 113 items, each checked by an adversarial re-reader: 106 hold, 7 corrected. Ranked by leverage.2026-10-11-coresearch-labels-address-lifetime.md. 24 rows on where per-language labels of a u16 concept live, how source ids map to it, and how an id is deprecated but kept. 14 rows measured by falsifier probes.Findings that need attention
0x0101,0x0202and0x0A01are both codebook concepts and code-minted consumer appid heads. Since ogar: canon domain readings come from the plug (D-HPR-2) #1465,concept_overridegives any consumer that plugs those concepts the head's storage reading (PROJECT_V3,ERP_V3,FMA_V3), notPLUG_AND_PLAY_V3. Four ports alias0x0202(WoA, SMB, Odoo, HubSpo). No plug names these concepts today.ClassIdtwice:u32inrbac.rs:331andu16inclass_view.rs:54.EntityTypeDto.idexports the registry's append-order counter, which is re-minted whenever the cache is invalidated.read_dirorder: one inserted file moved 14 ids.Checks
supersession_index.pyregenerated and diff-clean;entries_index.py --checkand--self-testpass;epiphany_provenance.pypasses.🤖 Generated with Claude Code
https://claude.ai/code/session_019fbZ92dFKQ5BJHrA3YcH9A
Generated by Claude Code