Skip to content

docs(specs+board): post-#360 substrate-recognition sweep — 3 spec re-scopes + cross-source matrix + sprint prompt template + board hygiene#362

Merged
AdaWorldAPI merged 8 commits into
mainfrom
claude/sprint-3-rescope-substrate-recognition
May 12, 2026
Merged

docs(specs+board): post-#360 substrate-recognition sweep — 3 spec re-scopes + cross-source matrix + sprint prompt template + board hygiene#362
AdaWorldAPI merged 8 commits into
mainfrom
claude/sprint-3-rescope-substrate-recognition

Conversation

@AdaWorldAPI
Copy link
Copy Markdown
Owner

Summary

Post-PR #360 review pass surfaced 3 architectural defects in sprint-3 specs that recurred the very anti-pattern PR #358 named ("Designing What's Already Built"). Specs PR-A-1, PR-C-1, PR-D-1 over-scoped because they didn't sweep post-#355 substrate.

What this PR does

1. Re-scope 3 over-scoped specs (append-only corrections)

Spec Defect Fix Effort delta
PR-A-1 Proposed NEW SpoQuad type; ignored shipped SchemaPtr.ontology_context_id (namespace.rs) + NamespaceRegistry::seed_defaults codebook (namespace_registry.rs) Reuse existing types; SPO writer awareness of g + Lance schema column only ~300 LOC / 2 days → ~150 LOC / 1 day
PR-C-1 Proposed NEW GenericBridge in callcenter; ignored shipped BridgeFromRegistry trait + 3 impls (bridges/{woa,medcare,ogit}_bridge.rs) + 2 merged consumer scaffolds (woa-rs#2 ~150 LOC, medcare-rs#110 ~250 LOC) Move trait to contract; ConsumerPointer is data on existing enumerate(namespace) projection; for_g(g) factory dispatches to existing bridges by namespace lookup ~200 LOC / 1-2 days → ~80 LOC / ½ day
PR-D-1 Proposed 600-LOC FMA-specific OWL hydrator; ignored shipped parse_ttl_directory_with_provenance + OntologyRegistry::hydrate_once_sync + attach_provenance + MappingRow.attribute_sources Build OWL/RDF-XML adapter that emits MappingProposal + ProvenanceBundle and calls existing hydrate_once_sync. Mark Pattern D PARTIALLY SHIPPED. ~600 LOC / 3-4 days → ~250 LOC / 1-2 days

Critical-path compression: sprint-3 ~6 working days parallelized → ~3-4 days post-substrate-sweep. The genuinely-new ~5-pattern set (B/E/F/G/J) accounts for the majority of remaining design-phase work.

2. Tier-0 reclassifications

.claude/knowledge/tier-0-pattern-recognition.md updated with substrate-recognition sweep section:

  • Pattern A: DESIGN PHASE → PARTIALLY SHIPPED (SchemaPtr.ontology_context_id + NamespaceRegistry codebook ship)
  • Pattern C: DESIGN PHASE → PARTIALLY SHIPPED (BridgeFromRegistry trait + 3 impls + 2 consumer scaffolds ship)
  • Pattern D: DESIGN PHASE → PARTIALLY SHIPPED (TTL hydrator + provenance + attribute_sources ship; OWL/RDF-XML adapter is the only net-new piece)

3. NEW: Cross-source pattern matrix

.claude/knowledge/pattern-recognition-cross-source.md — 4-taxonomy matrix mapping each architectural insight across:

  • A-O Patterns (sprint-2/3 specs)
  • Pillars 0-4 (palantir-parity-cascade)
  • .grok/ parallel-session epiphanies (22 entries already exist; never cross-referenced)
  • Shipped substrate (file:symbol citations for ~28 crates)

Plus a "shipped consumer scaffolds" section listing woa-rs#2 / medcare-rs#110 / smb-office-rs#29 / medcare-rs#98 as the 4 real precedents that already validate Pattern C's LOC reduction claim. The W8 hypothetical hubspo-rs target re-targets to "verify woa-rs + medcare-bridge hit budget" (those are merged precedents).

4. NEW: CCA2A sprint prompt template

.claude/knowledge/cca2a-sprint-prompt-template.md — formalizes the lessons learned across sprints 2 and 3:

  • Substrate-grep checklist (mandatory before any new spec)
  • Wrong-repo guardrail snippet (prevents the W7-sprint-2 / W9-sprint-3 recurrence)
  • Pattern-letter discipline (canonical letters embedded in every prompt)
  • Race-with-merge mitigation protocol
  • Sprint scaffolding pattern (branch + SPRINT_LOG + worker prompts pre-created)

5. Board hygiene — sprint-3 entries

W8 (INTEGRATION_PLANS) + W9 (LATEST_STATE) sprint-2 entries are on main; sprint-3 entries were missing. This PR appends them.

What this PR does NOT change

  • Pure documentation / spec corrections
  • Append-only on all 5 board / spec files
  • No code touched
  • Original PR-A-1 / PR-C-1 / PR-D-1 spec content preserved verbatim; corrections are appended sections at end

Files changed

File Type Change
.claude/specs/pr-a-1-spo-g-u32-slot.md append post-#360 substrate sweep correction
.claude/specs/pr-c-1-generic-bridge.md append post-#360 substrate sweep correction
.claude/specs/pr-d-1-fma-owl-hydrator.md append post-#360 substrate sweep correction
.claude/knowledge/tier-0-pattern-recognition.md append substrate-recognition sweep section
.claude/knowledge/pattern-recognition-cross-source.md NEW 4-taxonomy cross-source matrix
.claude/knowledge/cca2a-sprint-prompt-template.md NEW substrate-grep + wrong-repo guardrail + pattern-letter discipline
.claude/board/LATEST_STATE.md append sprint-3 entry
.claude/board/INTEGRATION_PLANS.md append sprint-3 spec index

Test plan

  • All 8 substrate file:symbol citations verified on main via pygithub get_contents (SchemaPtr.ontology_context_id, NamespaceRegistry::seed_defaults, BridgeFromRegistry, WoaBridge, MedcareBridge, OgitBridge, parse_ttl_directory_with_provenance, RegistryState::append ctx_id stamping)
  • woa-rs#2 + medcare-rs#110 verified merged
  • .grok/ 22-entry directory verified
  • Both Pillars docs verified (palantir-parity-cascade-v2.md, ogit-cascade-supabase-callcenter-v1.md)
  • Append-only governance preserved on all 5 files (LATEST_STATE, INTEGRATION_PLANS, PR-A-1, PR-C-1, PR-D-1, tier-0)

What you got right that's preserved

Per reviewer's "What you got right" section:

Notes

🧠 Anti-Pattern "Designing What's Already Built" applied to sprint-3 itself — recognition all the way down.

🤖 Generated by Claude Code

…id + NamespaceRegistry::seed_defaults; reduce to ~150 LOC / 1 day
…s + woa-rs#2 + medcare-rs#110; reduce to ~80 LOC / ½ day
…ovenance + attach_provenance; reduce to ~250 LOC / 1-2 days; mark Pattern D PARTIALLY SHIPPED
…ecklist + wrong-repo guardrail + pattern-letter discipline
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 220a5a43d5

ℹ️ 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".

Comment on lines +307 to +308
- Build OWL/RDF-XML reader (or use `oxttl` / `rio_xml`) → adapter that emits `MappingProposal` + `ProvenanceBundle`
- Adapter calls existing `OntologyRegistry::hydrate_once_sync` path
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Correct the hydrate_once_sync reuse path

When implementing the FMA OWL/RDF-XML adapter as described here, the emitted MappingProposal and ProvenanceBundle cannot be passed to OntologyRegistry::hydrate_once_sync: I checked crates/lance-graph-ontology/src/registry.rs, and that method only accepts a ttl_root: &Path plus namespaces and then unconditionally calls parse_ttl_directory_with_provenance(...) internally. Following this spec still requires a new ingestion hook such as hydrate_from_proposals or a parser abstraction, so the "adapter calls existing hydrate_once_sync" and "only reader is new" scope will send implementers down a non-existent API path.

Useful? React with 👍 / 👎.

@AdaWorldAPI AdaWorldAPI merged commit daddada into main May 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant