Close the RBA delivery-modeling taxonomy gap — capability→delivery `delivered_by` grounding + two persona-role cleanups
task-rba-delivery-modeling-taxonomy-gap
Close the RBA delivery-modeling taxonomy gap
The RBA reference tenant (clients/rba/tenants-firecrawl/rba-consulting, commit 8229530, 445 atoms) is now conformance-clean and graph-clean: parse 100%, validateGraph 0 orphan / 0 dangling, all ids valid kebab slugs, accountability spine live (owner on 72/103 processes, discipline-matched). The three sibling extraction tasks from the DEC-0055 QA pass are closed. What remains is not conformance — it is a structural taxonomy gap that deterministic data surgery cannot close without fabrication, so the Knowledge-Extraction & GraphRAG Engineer handed it to the Principal Knowledge-Format Architect.
The three coupled items
delivered_byis 8/187 capabilities (the real blocker). RBA capabilities are modeled asrelates_topractices, not the delivery workflows/processes the DXAdelivered_byedge expects (The produces edge is canonical on the producing process only:delivered_byis associative, deliberately notproduces; OKF edge vocabulary is registry-driven — a vertical declares its own traversable edges). Mapping each capability to the workflow/process that realizes it is LLM-grade inference over the source, not a mechanical remap — so it was carved out of Have extraction populate the accountability spine (owner / reports_to / members / decision_rights)'s grounded surgery rather than fabricated. 8/187 is unchanged on purpose, not a missed edit.- A near-duplicate buyer-persona role pair.
operations-business-leadervsoperations-and-business-leader(both confirmed present in the tenant). The conservative Concept identity = type + (canonical-title OR prefix-stripped id), exact-match closure — dedup owned by the @dossier/okf keystone, in-pass + opt-in reconcile + loop default exact-match dedup correctly left them distinct — they are not an exact canonical-title / prefix-stripped-id match (the-and-differs), and faithfulness-over-coverage says a wrong merge is worse than a visible near-dup. Adjudicating them is a knowledge-architect call, not an extraction side effect. - 5 buyer/audience-persona roles with 0 inbound edges — correct, recorded so it isn't re-flagged. These are buyer personas, not process owners, so zero inbound
owner/reports_tois the honest state, not an orphan-role defect. Recorded here so a future graph-completeness pass does not mis-flag them.
Honest framing
RBA is conformance-clean + graph-clean, not "fully done." The taxonomy / delivery-modeling depth is the remaining gap between conformance-grade and full reference quality — now tracked here so it is durable, owned, trackable work rather than a sentence that disappears. The tenant lives in gitignored clients/ (Fix git-per-tenant isolation when a tenant root is nested inside another repo, a local sandbox), so this record is the durable account of the gap.
Why a task for the knowledge-architect
Grounding delivered_by at scale and adjudicating the persona pair are knowledge-model judgment calls (and possibly an extraction-capability change for the capability→workflow inference), not hygiene. Routed to the Principal Knowledge-Format Architect. Filed by the log-auditor from the close-out; board globbed before filing — no open task covered the delivery-modeling / delivered_by taxonomy gap (Have extraction populate the accountability spine (owner / reports_to / members / decision_rights) is the owner-spine surgery, now done; Make the learning loop dedup/reconcile at scale (collapse same-type duplicate clusters; default-on compounding) is the keystone dedup, now done). confidence: inferred (agent-filed).
Resolution (2026-06-19 — DEC-0057 decided + applied; tenant chain 8229530 → d9865f2)
Closed backlog → done. The Principal Knowledge-Format Architect decided the model (Capability→delivery (`delivered_by`) is grounded by a deterministic practice→delivery-workflow bridge — a one-time curation pass, not an extraction-loop change) and the Knowledge-Extraction & GraphRAG Engineer applied + measured it on the RBA tenant. All five acceptance criteria met:
- (AC1) Capability→delivery decided + applied, source-grounded.
delivered_byis grounded by a deterministic practice→delivery-workflow bridge (each capability'srelates_topractice/discipline + prose-named workflows → that practice's delivery workflow; discipline-specific workflows take precedence over the universalrba-project-delivery-lifecycle; union+dedup+precedence across multiple practices; no bridge → empty). Coverage 9/187 → 88/187 grounded, 99 honestly empty — zero fabricated edges (The produces edge is canonical on the producing process only associative; faithfulness over coverage, Concept identity = type + (canonical-title OR prefix-stripped id), exact-match closure — dedup owned by the @dossier/okf keystone, in-pass + opt-in reconcile + loop default / Dossier — The Knowledge Model (v0) principle 8). ✓ - (AC2) Persona pair adjudicated → MERGED.
operations-business-leaderfolded into canonicaloperations-and-business-leader(the exact merge DEC-0056's conservative exact-match dedup correctly could not make — the-and-defeats exact match — adjudicated here as a knowledge-architect call). 445 → 444 atoms, refs remapped (0 stranded), provenance unioned, nosupersedesminted (an unmanaged near-dup is not a version chain — Concept identity = type + (canonical-title OR prefix-stripped id), exact-match closure — dedup owned by the @dossier/okf keystone, in-pass + opt-in reconcile + loop default). ✓ - (AC3) 5 zero-inbound buyer personas confirmed-correct + annotated. The five buyer/audience-persona roles with 0 inbound edges are correct-as-is (buyer personas, not process owners) and annotated with a
buyer-personatag so a future orphan-role lint excludes them. ✓ - (AC4) Curation vs. extraction-change decided → CURATION pass. The realizing workflows are ~6 enumerable named atoms and the bridges already exist in the atoms, so the mapping is deterministic given a table — no extraction-loop change was needed for RBA (Capability→delivery (`delivered_by`) is grounded by a deterministic practice→delivery-workflow bridge — a one-time curation pass, not an extraction-loop change Option 3; Option 2, an inference loop, is reserved for a future tenant whose workflows are not enumerable). ✓
- (AC5)
validateGraphclean + coverage delta measured.validateGraph0 issues / 0 dangling (no regression), parse 444/444; coverage delta 9 → 88 measured + reported. ✓
Also fixed 8 non-conformant pre-existing edges under the same pass (knowledge re-homed, not deleted): 7 industry verticals dropped delivered_by: [rba-consulting] → relates_to: [rba-service-delivery-model]; expert-staffing moved 12 consultant-* roles delivered_by → relates_to (roles staff work, they don't deliver it). Tenant commit d9865f2 (chain 8229530 → d9865f2); clients/ is gitignored (Fix git-per-tenant isolation when a tenant root is nested inside another repo), so this record is the durable account.
Honest framing: the RBA delivery spine is grounded (88/187) + conformance-clean, not "fully done" — ~99 capabilities are honestly empty (no declared delivery workflow to bridge to, or staff-aug/managed-services), and a sibling type-discipline gap (six client-specific SOW atoms mis-typed
workflow→ should be DXAengagement) stays open as Re-type 6 client-specific RBA `workflow` atoms as DXA `engagement`s (single-client SOW instances, not standing orchestrations).