The L2 adoption-readout spec — a deterministic 4-axis scorer (VALUE/RISK/READINESS/MOMENTUM) over process/workflow atoms → a Now/Next/Later roadmap emitted as a sovereign OKF artifact
0067-l2-adoption-readout-spec
- Reversibility
- two-way door
DEC-0067 — The L2 adoption-readout spec (the Ladder, the wedge)
Reversibility: two-way door. The readout is a re-derivable artifact — its SSOT is the process/workflow atoms it links, not itself; regenerate or delete it freely. The scorer (adoption-readout.ts) and skill are additive and removable. The four axes + thresholds are tunable (the scorer is the single place they live). Nothing in knowledge/ or a client repo is locked in.
Context
DEC-0052's three faces are Brain · Agency · Ladder. The Ladder — the L1→L14 adoption onramp computed from the org's OKF Company Brain — is named as the wedge ("we'll take you to where we already are" → land-and-expand into the Agency), and existed only as a seed (the per-client KNOWLEDGE-BRIEF.md) plus a backlog task (Build the L2 "adoption readout" generator skill (sibling of generate-landing — MCP-retrieval harness + KNOWLEDGE-BRIEF; a 4-axis scorer over process/workflow atoms → sequenced roadmap → OKF artifact in the client repo)). This decision pins the shippable L2 readout: the product-owner pinned the four axes + scoring model + artifact shape; the FDE built the deterministic scorer + the .claude/skills/adoption-readout skill; verified on the real RBA tenant.
Decision
The four axes (ordinal 1–5, all oriented "higher = more startable", each auditable)
Every initiative is a process/workflow atom; every axis is derived only from signals the atom actually carries and emits an evidence string (no black-box numbers — the provenance non-negotiable, DEC-0001):
- VALUE (leverage to automate/extend) — centrality/in-degree · orchestration depth (
stages/stepscount) · system surface (uses) · output-bearing (produces). - RISK (INVERTED — higher = safer) — inverse of: governance load (
governed_by) · blast radius (centrality, opposite sign to VALUE — the tension that makes the 2×2 non-degenerate) · decision density (informed_by/decided_in) · client-facing exposure (tags/body keywords; back-office = safer, Alex Lieberman's L11). - READINESS (act today — the axis only owned memory can score) —
confidence(verified>asserted>inferred) · completeness (status/field-population/TODOstubs) · ownership resolves to a realrole· typed-edge richness (non-relates_todensity). - MOMENTUM (org gravity, the cultural-support proxy) — decision-backing (an incoming
decisionedge = sponsorship) · role coverage · relative recency (newest-third within the KB — deterministic, never vs. wall-clock) · capability anchoring (delivered_by).
Scoring + sequencing (simple, defensible, buyer-explainable — no magic weights)
- Payoff = avg(VALUE, MOMENTUM); Ease = avg(RISK, READINESS).
- 2×2 at threshold 3: Now (payoff≥3, ease≥3) · Next (payoff≥3, ease<3) · Later (payoff<3, ease≥3) · Watch (else).
- Sequence: NOW leads with non-inferred initiatives (the honesty floor — never sequence a buyer onto thin memory and call it a quick win), then payoff desc (ties: VALUE, then READINESS). The #1 NOW is the named wedge + the exact first Agency unit of work (the land-and-expand hinge).
Output
ONE OKF artifact atom (not a new concept type) in the client repo (clients/<id>/readouts/adoption-readout.md), confidence = the floor of its scored inputs (never inflate), relates_to + [[wiki-links]] to every scored atom (never copies a body). Six sections: ladder placement · what we read · the 2×2 · Now/Next/Later · start-here (wedge) · score-ledger appendix (every axis + its evidence).
Determinism — the scorer computes, the LLM narrates
The scorer (packages/okf-view/src/adoption-readout.ts, scoreAdoptionReadout) is pure + deterministic: byte-identical placement on an unchanged KB (relative recency, no wall-clock, no randomness, no LLM). The skill narrates prose around the ledger and may never recompute a score. This is what makes the diagnostic trustable and reproducible.
Operator front door
The deterministic ledger is reachable two ways: the harness scripts/adoption-readout.mjs <okf-dir>, and — mirroring the Agency's drain front door (DEC-0063) — a first-class dossier-runtime readout --root <tenants-root> --client <id> control-plane subcommand that resolves the tenant by id and prints the ledger (read-only; the skill narrates + emits the artifact). This adds a @dossier/runtime → @dossier/okf-view dependency (clean: the control plane consuming the KB-reader leaf; no cycle).
Explicit non-goals (the "no")
- No fabricated dollar ROI — extracted atoms carry no financials; VALUE is an ordinal leverage proxy, never a currency.
- No survey/interview or live M365 ingestion — computed from the served OKF only (portable, re-derivable).
- No hosted viewer/server/DB — the artifact is markdown; rendering is downstream (DEC-0032 untouched).
- No new top-level OKF type — the readout is an
artifact; minting areadouttype would fork the taxonomy for one feature. - Never perturbs Dossier's own KB — reads the client's OKF, writes only the client repo (same isolation as generate-landing).
Knowledge-architect inputs (flagged, non-blocking)
RISK's "client-facing vs back-office" and "compliance-flavored policy" are today soft signals (tags/body keywords). Hardening them would need a policy.category (compliance|brand|ops) or process.exposure (internal|client-facing) field — a Principal Knowledge-Format Architect schema call. Ship on the soft signal now (it works on real RBA/DXA atoms; soft-signal scores are labeled in the evidence); schema-harden as a follow-up. Do not block the wedge on a schema change.
Verification (built + proven, no fabricated status)
- Scorer: 9/9 unit tests (orientation, RISK inversion, 1–5 integer + evidence on every axis, NOW/wedge placement, the inferred-floor sequencing rule, confidence-floor, process/workflow-only, determinism, empty-KB).
- Runs on the real RBA tenant (
clients/rba/tenants/rba-consulting/okf, 63 atoms): 11 initiatives scored, allinferred(confidence floorinferred— zero fabricated certainty), one NOW wedge (rba-cross-disciplinary-delivery-approach, the highest-centrality atom), the rest Later/Watch ("confirm/extend first") — the honest wedge narrative; exit 0. - Workspace typecheck clean;
@dossier/okf-viewbuilds; theadoption-readoutskill ships under.claude/skills/(DEC-0004) with the verify gates.
Consequences
- DEC-0052's Ladder face moves from seed to a shippable, verified L2 readout — the wedge is buildable per client.
READINESSmakes the owned memory quantitative (sovereignty made measurable) — the axis no competitor can score; every readout is a new sovereign OKF atom in the client's git (the loop compounds from atom zero).- Closes Build the L2 "adoption readout" generator skill (sibling of generate-landing — MCP-retrieval harness + KNOWLEDGE-BRIEF; a 4-axis scorer over process/workflow atoms → sequenced roadmap → OKF artifact in the client repo).