Skip to content

specs(sprint-5-6): 13-worker parallel batch + Opus meta review (governance only)#365

Merged
AdaWorldAPI merged 7 commits into
mainfrom
claude/lance-datafusion-integration-gv0BF
May 13, 2026
Merged

specs(sprint-5-6): 13-worker parallel batch + Opus meta review (governance only)#365
AdaWorldAPI merged 7 commits into
mainfrom
claude/lance-datafusion-integration-gv0BF

Conversation

@AdaWorldAPI
Copy link
Copy Markdown
Owner

Summary

Spec corpus for the remaining sprint-5 follow-ons + sprint-6 Tier-2 composable wiring. Governance only — no product code changes. Lands 13 PR-ready specs at .claude/specs/ + a 24 KB Opus meta cross-spec review + governance updates for PR #364's four-PR cross-repo landing (lance-graph #364 + MedCare-rs #112 + smb-office-rs #31 + ndarray #142 all merged 2026-05-13).

Predecessor: PR #364 (D-SDR-3/4/5 substrate + codex P1/P2 surgical fixes). This PR is the planning layer for the next implementation wave.

What this PR adds

13 specs from a 12-worker (Sonnet) parallel batch + post-meta W13:

# Spec KB Meta grade
W1 pr-d3a-lance-audit-sink.md 27 B
W2 pr-d3b-jsonl-and-verify.md 27 A
W3 pr-d4-family-hydration.md 16 B
W4 sprint-5-ci-matrix.md 21 B
W5 sprint-5-pr-graph.md 16 A
W6 pr-e1-medcare-super-domain.md 26 B
W7 pr-e2-smb-retrofit.md 11 B
W8 pr-e3-woa-rs-extract.md 27 B
W9 pr-f1-thinking-engine-wire.md 16 B
W10 pr-g1-manifest-modules.md 27 C
W11 pr-g2-ractor-supervisor.md 25 C
W12 sprint-6-conformance-test.md 26 A
W13 pr-ogit-ttl-smb-hydration.md 35

Plus:

Meta verdict — 3 A / 7 B / 2 C / 0 D / 0 F

  • A-grade (PR-ready as-is): W2 d3b-jsonl, W5 pr-graph, W12 conformance.
  • B-grade (minor edits before PR descriptions): W1, W3, W4, W6, W7, W8, W9.
  • C-grade (needs cross-coordination fix before code): W10 manifest-modules, W11 ractor-supervisor.

Top 3 cross-spec contradictions (from meta-review.md)

  • CC-2 — W11's AuthOp::{ActorStart, ActorStop, ActorRestart} lifecycle variants conflict with W2's verify-CLI decoder (handles 0..2 only) and W12's A1 byte-layout assertion. Recommendation: introduce a separate LifecycleAuditEvent type so authorization-audit byte layout stays stable.
  • CC-3 — W11's new SuperDomain::System variant is not anticipated by W6's hard-lock matrix or W12's conformance fixtures. Recommendation: confirm System is exempt from hard-lock and update W12 fixtures accordingly.
  • CC-7 — W10 internally contradicts itself: §3.4/§4.3 codegen samples use phf::Map / phf_map!, but OQ-1 correctly notes that adding phf would be the first non-build dep on lance-graph-contract (zero-dep invariant violation per CLAUDE.md). Recommendation: rewrite §4.3 as a sorted slice + binary search.

Blocking OQs (need user decision before any implementation worker fires)

  • OQ-1 (W3) — TTL family-registry parser entry point. Pick: (a) extend parse_ttl_directory_with_provenance, (b) bypass to raw Oxigraph store, (c) new thin parse_family_registry() API. W3 recommendation: (c).
  • OQ-2 (W10) — phf::Map vs sorted-slice for MANIFEST_METADATA. Sorted-slice keeps zero-dep invariant. Meta-review recommendation: sorted-slice.
  • OQ-3 (W6) — medcare_rbac::Role migration. Direct migration to canonical RoleGroup vs bridge adapter. Affects E1-1 LOC ±30%.
  • OQ-4 (W13 §E.1) — OGIT/NTO/SMB BSON namespace shape. Pick: ogit.SMB.bson: (W13 recommendation) vs ogit.SMB:smb.<entity> (single namespace, prefix-disambiguated). Affects OntologyRegistry::enumerate semantics + the smb_projects_three_entities test.

Sequencing — sprint-7 implementation wave

Once this PR merges, sprint-7 W1 (execution plan) triages the four OQs as Day-0 decisions. Sprint-7 implementation workers (one per sprint-5/6 spec) each carry "fix the C-grade meta finding for your spec" in their prompts. The two C-grade specs get inline fixes in the implementation PR (not in this spec PR).

PR dependency order (from sprint-5-pr-graph.md):

W3 family-hydration ─┬─► W6 medcare-super-domain ─┐
                     ├─► W7 smb-retrofit ─────────┤
                     ├─► W8 woa-rs-extract ───────┤
                     └─► W13 ogit-ttl-smb (BSON) ─┤
                                                  ├─► W12 consumer-conformance (CI gate)
W2 d3b-jsonl ─────────► W1 d3a-lance-sink ────────┘
W10 manifest-modules ──► W11 ractor-supervisor
W9 thinking-engine (independent — can ship parallel)
W4 ci-matrix (governance — ships first/independently)

A2A pattern verification

  • 12 parallel Sonnet workers + 1 Sonnet post-meta worker + 1 Opus meta agent. CCA2A per CLAUDE.md §A2A Layer-2.
  • Each worker appended a 1-line entry to .claude/board/AGENT_ORCHESTRATION_LOG.md on completion via tee -a (append-only blackboard).
  • Per-worker scratchpads at .claude/board/sprint-log-5-6/agents/agent-W{N}.md.
  • 3 workers (W1, W4, W8) required respawns after initial permission-denial failure on .claude/board/sprint-log-5-6/** paths — root-caused to missing settings.json allowlist entries (now fixed in this PR).

Test plan

  • cargo build clean on the merge commit (governance-only PR, expected to pass without changes).
  • CI format, clippy, linux-build (stable), test (stable), test-with-coverage all green (no code changed; only .claude/*.md + .claude/settings.json).
  • Visual review of meta-review.md for the 8 sections (per-spec defects, contradictions, dependency graph, sequencing, gaps, OQ triage, readiness verdicts, synthesis).
  • Visual review of OQ-1..OQ-4 recommendations + user decision recorded inline.
  • Confirm .claude/board/PR_ARC_INVENTORY.md D-SDR-3/4/5 + sprint-log-4 governance + sprint 5-9 roadmap #364 + adjacent-landings entries match what shipped.

What this PR does NOT touch

  • No product code. Zero .rs / Cargo.toml changes.
  • No new crates. All spec files describe future crates; this PR does not create them.
  • No on-disk schema changes. Arrow / Lance schemas are described in W1's spec but not materialized.
  • No CI workflow changes. W4's spec defines the target matrix; the implementation worker will edit .github/workflows/.
  • Sprint-7 implementation workers — owned by the next sprint kick-off after this PR merges.

Coverage gaps (per meta §5)

Specs explicitly NOT in this batch (deferred per the parallelization plan):

  • Sprint-5 W1/W2/W3/W4/W5/W6/W10 — substrate already shipped via PR D-SDR-3/4/5 + sprint-log-4 governance + sprint 5-9 roadmap #364 + cross-repo adjacent landings; retrospective absorbed into W5 (sprint-5-pr-graph.md).
  • Sprint-6 W1 (execution plan), W5 hiro-rs scaffold, W6 hubspot-rs scaffold, W11 PR sequencing graph, W12 retrospective — sprint-6 W1 + W12 are sprint-kick-off / retrospective deliverables for later; W5 + W6 deferred until repo creation decision (W5's PR graph flagged this as an OQ-3 in the sprint-5 retro).

Generated by Claude Code


Generated by Claude Code

claude added 7 commits May 13, 2026 15:14
…1/P2 fixes)

PREPEND #364 entry to PR_ARC_INVENTORY.md (Added / Locked / Deferred /
Docs / Confidence / Correction lines per the file's append-only contract).
Update LATEST_STATE.md header and PR table row with #364 summary plus
ndarray #142 adjacent-landing note.

Per CLAUDE.md Mandatory Board-Hygiene Rule: a merged PR requires
LATEST_STATE row + PR_ARC PREPEND in the same commit. This entry closes
that gap (commit lands after merge because #364 was merged before this
session reconstructed state; not a same-PR commit but the durable
record is what the rule protects).

Notes on locked decisions:
* OwlIdentity canonical wire form is now 3 bytes [family, slot_lo,
  slot_hi]; cross-language emitters use OwlIdentity::to_canonical_bytes.
* UnifiedAuditEvent::canonical_bytes is 26 bytes (owl at [13..16)).
* OgitFamilyTable is sparse HashMap<u16, FamilyEntry>; 256-slot framing
  retired.
* Audit super_domain comes from AuditChain.super_domain(), not the
  static FAMILY_TO_SUPER_DOMAIN.
* Sprint-5+ worker prompts: 12-step .claude/plans/ read-order is a hard
  precondition.

Deferred (documented in #364 entry, not closed by this commit):
* PR-B medcare-rs UnifiedBridge: commits on remote integration branch,
  no PR opened.
* PR-C smb-office-rs UnifiedBridge: same shape.
* Per-namespace u8 slot in RegistryState::append: declined this session
  (widening to u16 in 3208743 is the chosen fix; per-namespace would
  cascade into BindSpace + enumerate_first_with_entity_type_id rewrite,
  see TECH_DEBT).
#364

Sprint-5 cross-repo coordinated landing complete: MedCare-rs#112 (PR-B,
UnifiedBridge<MedcareBridge> + medcare-rbac/realtime substrate) and
smb-office-rs#31 (PR-C, UnifiedBridge<OgitBridge> wiring) both merged
2026-05-13 same day as lance-graph #364 + ndarray #142.

Updates:
* PR_ARC #364 Confidence line: append "Adjacent landings (2026-05-13)"
  note listing both downstream merges. Confidence line is the only
  mutable field per APPEND-ONLY RULE point 3.
* LATEST_STATE header: rewrite to capture the full four-PR landing
  (lance-graph + MedCare + smb-office + ndarray) so cold-start sessions
  see the coordinated landing at a glance.

D-SDR-5's UnifiedBridge surface is now consumed end-to-end.
…print-6 kick-off

12-worker fleet (Sonnet) + 1 meta (Opus) spawned for combined
sprint-5/sprint-6 parallel batch. Workers write specs under
.claude/specs/ and scratchpads under .claude/board/sprint-log-5-6/
agents/. Meta review aggregates after all 12 return.

Roster captured in SPRINT_LOG.md. Scratchpad dir tracked via
.gitkeep so per-agent files prepend cleanly when they land.
…tch (W1 + W8 still in flight)

Sonnet worker fleet (12 parallel) producing PR-ready specs for the
remaining sprint-5 follow-ons + sprint-6 Tier-2 wiring. This commit
captures 10 of 12 outputs that landed cleanly; W1 (LanceAuditSink)
and W8 (woa-rs extraction) are respawns still running.

Sprint-5 specs (substrate already shipped in PR #364):
* pr-d3b-jsonl-and-verify.md  (W2, 27 KB) — JsonlAuditSink + CompositeSink + verify CLI
* pr-d4-family-hydration.md   (W3, 16 KB) — TTL hydration of FAMILY_TO_SUPER_DOMAIN
* sprint-5-ci-matrix.md       (W4, 21 KB) — green-gate criteria + target matrix
* sprint-5-pr-graph.md        (W5, 16 KB) — retro of 4-PR landing + sprint-6 unblock map

Sprint-6 specs (Tier-2 composable wiring):
* pr-e1-medcare-super-domain.md   (W6, 26 KB) — MedCare finalisation, ~900 LOC
* pr-e2-smb-retrofit.md           (W7, 11 KB) — 5 bypass sites + audit emission
* pr-f1-thinking-engine-wire.md   (W9, 16 KB) — UnifiedBridge gate for cross-tenant ops
* pr-g1-manifest-modules.md       (W10, 27 KB) — build.rs codegen, no cycle
* pr-g2-ractor-supervisor.md      (W11, 25 KB) — per-G actor, one-for-one supervision
* sprint-6-conformance-test.md    (W12, 26 KB) — 10 contract assertions across consumers

Permissions: settings.json grants Write/Edit on .claude/board/sprint-log-5-6/**
to unblock workers writing into the per-agent scratchpad dir.

A2A scratchpads at .claude/board/sprint-log-5-6/agents/ (one per worker).
AGENT_ORCHESTRATION_LOG.md gets one-line per agent on completion.

W1 + W8 respawns + Opus meta review to follow in subsequent commits.
Final two worker specs from the parallel sprint-5/sprint-6 batch
(initial attempts failed on permissions — settings.json patched
for .claude/board/sprint-log-5-6/** before respawn).

* pr-d3a-lance-audit-sink.md (W1, 27 KB) — Arrow 12-column schema with
  FixedSizeBinary(3) owl_identity matching Codex P1 canonical layout;
  super_domain × date partitioning for §13.4 hard-lock isolation;
  buffered emit (<5 µs p99) + flush at 1024-event or 5-second threshold.
  Cross-verify aligned with W2's verify-lance/cross-verify subcommands.
  ~550 LOC across 3 files.

* pr-e3-woa-rs-extract.md (W8, 27 KB) — 3-subcrate extraction pattern
  mirroring MedCare-rs#112: woa-rbac / woa-realtime / woa-analytics.
  Five roles, eight WoA entity slots, WorkOrderBilling super_domain
  (SOX). Typed WoaRole constructor from day 1 avoiding smb-bridge's
  &str anti-pattern. ~950 LOC, blocked on W3 family-hydration for
  Phase C.

All 12 worker specs now on disk. Opus meta review (M1+M2 combined)
running next; will land as a follow-up commit.
24 KB cross-spec review at .claude/board/sprint-log-5-6/meta-review.md.

Headline verdict: 3 A-grade (W2 d3b-jsonl, W5 pr-graph, W12
conformance), 7 B-grade (W1, W3, W4, W6, W7, W8, W9), 2 C-grade
(W10 manifest-modules, W11 ractor-supervisor — need cross-coordination
fixes before code). 0 D/F.

Top 3 cross-spec contradictions:
* CC-2 — W11's AuthOp::{ActorStart,Stop,Restart} lifecycle variants
  conflict with W2 verify-CLI (decodes 0..2) and W12 A1 byte-layout
  assertion. Recommend separate LifecycleAuditEvent type.
* CC-3 — W11's new SuperDomain::System variant not anticipated by W6
  hard-lock matrix or W12 conformance fixtures. Confirm System exempt
  from hard-lock; update W12.
* CC-7 — W10 internally contradicts: §3.4/§4.3 use phf::Map but OQ-1
  notes phf would violate lance-graph-contract zero-dep invariant.
  Rewrite as sorted slice + binary search.

Top 3 user-decision OQs blocking code start:
* W3 OQ-1 — parser entry point for TTL family-registry (recommend
  option c: new parse_family_registry() API)
* W10 OQ-1 — phf vs sorted-slice (recommend sorted-slice)
* W6 OQ-4 — medcare_rbac::Role migration to canonical RoleGroup
  vs bridge (affects E1-1 LOC ±30%)

Meta scratchpad at agents/agent-META.md. Orchestration log appended.
W13 (OGIT TTL SMB hydration spec) follows in next commit.
35 KB spec at .claude/specs/pr-ogit-ttl-smb-hydration.md.

Bridges the OGIT_TTL_INVENTORY.md deliverable from
AdaWorldAPI/smb-office-rs:main into a concrete PR — TWO-side
PR (OGIT-side TTL authoring handoff + lance-graph-side
parse_family_registry() wiring ~55 LOC). OGIT repo is outside
MCP scope, so the OGIT-side authoring is described as deliverable
hand-off; lance-graph-side is ready-to-consume once OGIT delivers.

Recommended answers to the three §E open questions (user can
override):
* E.1 BSON namespace — use ogit.SMB.bson: sub-namespace
  (registry.enumerate("SMB") must return exactly 3 Foundry
  entities; mixing BSON would break smb_projects_three_entities
  test and corrupt the OntologyRegistry index).
* E.2 Per-property marking — use ogit:marking triples in TTL
  (Internal / Pii / Financial per attribute). attribute_sources
  on MappingRow is the future receiver; D-CASCADE-V1-7 wires later.
* E.3 Custom semantic types — none needed; all SMB attributes
  map to existing variants (TaxId, Iban, Date, CustomerId, ...)
  per semantic_types.toml.

Sequencing: PR-OGIT-SMB starts AFTER W7 Batch A+B (so
smb_owl_id_for() slot assignments stable), and is the
critical-path blocker for W7 Batch C (SMB_FAMILY constant
replacement from placeholder 0 to real OGIT family byte).

Section D BSON-side gaps (smb.steuer lacks kunde_kdnr +
eingereicht_am) carved out as separate smb-ontology-side
follow-on PR — not blocking this one.
@AdaWorldAPI AdaWorldAPI merged commit 6bd1497 into main May 13, 2026
AdaWorldAPI pushed a commit that referenced this pull request May 13, 2026
PREPEND #365 entry to PR_ARC_INVENTORY (Added / Locked / Deferred /
Docs lines per APPEND-ONLY contract). LATEST_STATE header + PR table
row updated to capture the 13-spec corpus + Opus meta verdict
(3A/7B/2C/0D/0F) + 4 blocking OQs queued for user decision.

Locks the CCA2A 12+1+1 pattern at scale (12 parallel Sonnet workers +
1 Sonnet post-meta + 1 Opus meta produced ~300 KB of PR-ready specs
in under an hour wall-clock) and the spec-quality A/B/C/D/F grading
scale.

Deferred / blocked items captured: 4 user-decision OQs, hiro-rs/
hubspot-rs scaffolds (repo-creation choice), C-grade spec fixes
(absorbed into upcoming impl PRs).
AdaWorldAPI pushed a commit that referenced this pull request May 13, 2026
…companion

Sprint-5-6 W13 landed the formal OGIT TTL hydration spec at
.claude/specs/pr-ogit-ttl-smb-hydration.md (663 LOC, sourced from
smb-office-rs OGIT_TTL_INVENTORY.md). It's the executable handoff for
OGIT-side authoring + the lance-graph-side 0-LOC consumption proof.

This SCHEMA.md remains the quick-reference (two pages, lance-graph
session reader). The W13 spec is the deep-dive when the task is
actually authoring OGIT TTL or wiring registry hydration.

Header callout added so future lance-graph sessions discover both:
SCHEMA.md for quick context, pr-ogit-ttl-smb-hydration.md for execution.
AdaWorldAPI pushed a commit that referenced this pull request May 13, 2026
Cross-session triage with medcare-rs session resolved all four
blocking Open Questions from the Opus meta-review:

* OQ-1 (W3) — new parse_family_registry() API (option c)
* OQ-2 (W10) — sorted-slice + binary search, NOT phf::Map
  (lance-graph-contract zero-dep invariant)
* OQ-3 (W6) — direct migration: doctor -> physician + add
  nurse/cashier/researcher/hipaa_audit; no bridge adapter
* OQ-4 (W13) — ogit.SMB.bson: sub-namespace, NOT
  ogit.SMB:smb.<entity>

EPIPHANIES PREPEND entry with full rationale + cross-session
boundary map (lance-graph side ↔ medcare-rs side ownership for
sprint-7).

PR_ARC #365 Confidence line gains the OQ resolutions inline so
future sessions reading the arc don't need to chase the
EPIPHANIES entry separately.

C-grade meta findings now actionable:
* W10 §4.3 sorted-slice rewrite -> happens in impl PR
* W11 LifecycleAuditEvent split (CC-2) -> happens in impl PR

Cross-session boundary locked:
* lance-graph: W3 cascade unblocker, W10 manifest, W11 ractor,
  W12 conformance, W1 LanceAuditSink, W2 JsonlAuditSink,
  W9 thinking-engine
* medcare-rs: PR-α MedcareOntology::from_registry, PR-β' E1-1,
  PR-γ FingerprintCodec re-export, PR-δ TripleDES audit
* Deferred to sprint-8: E1-5 (HIPAA hard-lock matrix)
* Blocked on DM-7: E1-6 (JWT praxis_id middleware)
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.

2 participants