Skip to content

Gap Analysis & Roadmap

Grace is a design-complete, implementation-partial orchestration layer. This page documents the current state inventory, categorizes 33 gaps across 7 dimensions, and presents 5 strategic implementation bundles that will bring Grace from design to production.

  • 8 agent context files — operational system prompts deployed to OpenClaw instance
  • GRACE Protocol — SPEC-01 through SPEC-05 fully specified (SPEC-05 implemented in STRATT Block I)
  • Architecture documentation — 19 comprehensive design documents in architecture/
  • Council governance — 7 councils, 35 agents, 4 gate authorities, 9 protected agents
  • Namespace resolutionstratt:// (11 domains, 5 types) and choco:// (2 namespaces) defined
  • STRATT reference implementation — 43 units across 4 domains, 2,488 tests, 95%+ coverage
  • SPEC-05 traces — format designed, zero implementation
  • Quality scoring — weights defined (0.40 conformance, 0.35 completeness, 0.25 efficiency), zero code
  • DSPy export — format designed, zero implementation
  • Veritas gate — automated quality enforcement specified, not coded
  • Self-improvement cycle — MIPROv2 integration designed, zero integration
  • R2 atomic publish — local filesystem only; cloud registry not operational
  • MERIDIAN content — documentation site scaffolded, src/content/docs/ empty
  • Grace SDK/API — pure markdown workspace, no programmatic interface
  • GRACE spec published — internally documented but not yet at stratt.dev
ComponentLocationPurposeStatus
Agent context files (8)agent/OpenClaw system prompt context✅ Active — deployed
Protocol specificationarchitecture/GRACE-PROTOCOL-OVERVIEW.mdSPEC-01–SPEC-05 mapping✅ Design complete
Ecosystem documentationgrace-hq/docs/Public-facing docs site (Astro + Starlight)🔄 TASKSET 4 in progress
Trace protocolautomation/trace-protocol.mdSPEC-05 trace format⚠️ Design only
Campaign engineautomation/campaign-engine.md10 campaign trails, 3 audience registers⚠️ Design only
Marketing KPI trackerarchitecture/MARKETING-KPI-TRACKER.mdHB-01/02/03 milestones⚠️ All “Not started”
Primer systemGRACE-PROTOCOL-OVERVIEW.md lines 174–26710-phase domain extension✅ Neuro domain complete
Gate rulesconfig/gate-rules.yamlCouncil governance config✅ Consumed by STRATT
Namespace configconfig/namespaces.yamlCross-namespace resolution✅ Consumed by STRATT

Category 1: FOUNDATION — Core Protocol Completeness

Section titled “Category 1: FOUNDATION — Core Protocol Completeness”

Severity: Critical | Effort: Medium–Large | Dependency: Blocking Categories 2–7

GapIssueCurrent StateTarget StateEffort
F-01Execution trace implementationFormat in trace-protocol.md; run.ts writes flat JSON to .stratt/runs/ — not SPEC-05 formatYAML traces at automation/traces/ with chain-level + step-level fields per SPEC-05M
F-02Quality scorer implementationWeights defined (0.40/0.35/0.25); no codePluggable scorer in @stratt/cli/lib/scorer.tsM
F-03R2 atomic publish pipelineLocal filesystem registry only; R2 writes not operationalFingerprint commit + R2 write with rollback on failureM
F-04ChocoBridgeResolver HTTP deploymentHTTP client code in choco-resolver.ts; Choco HQ endpoint not deployedChoco HQ service live with /resolve endpointS
F-05STRATT TAD conformance gaps78% conformance; missing CRDT layer, incomplete agent schema95% conformance; all CRDT features, complete agent schemaXL

Category 2: DEVELOPER EXPERIENCE — Docs, SDK, Onboarding

Section titled “Category 2: DEVELOPER EXPERIENCE — Docs, SDK, Onboarding”

Severity: High | Effort: Small–Large | Dependency: Blocks marketing, customer adoption

GapIssueCurrent StateTarget StateEffort
D-01No SDK or API for GracePure markdown workspace; no programmatic interfacePython SDK + REST API with 8 endpointsL
D-02MERIDIAN content emptyapps/meridian/src/content/docs/ has 0 files≥5 content files: getting-started, CLI reference, tutorials, examplesM
D-03No getting-started documentationREADME exists but no quickstart, tutorial, or examples10-page getting-started guide with walkthroughsS
D-04GRACE spec not publishedInternally documented; M1-01 target status “Not started”Spec v1.0 rendered at stratt.dev with canonical URIM
D-05No public CLI documentation21 commands documented internally (TOOLS.md) but not publishedFull CLI reference with examples and exit codesS

Category 3: QUALITY & RELIABILITY — Testing, Evaluation, Regression

Section titled “Category 3: QUALITY & RELIABILITY — Testing, Evaluation, Regression”

Severity: High | Effort: Medium–Large | Dependency: Blocks BUNDLE-C

GapIssueCurrent StateTarget StateEffort
Q-01DSPy export pipelineJSONL format specified; MIPROv2 loop designed; zero codestratt export-dspy command with filtering: min-score, date-range, version-rangeM
Q-02Regression detection automationVeritas gate auto-trigger (delta > 0.05) designed; not implementedAutomated regression detection with quality score comparison across versionsM
Q-03Grace has zero testsPure markdown = no executable code = no testsTest suite for agent routing, memory management, tool orchestrationS
Q-04No E2E chain execution validationstratt run exists but no automated E2E test harnessAutomated E2E test harness validating full chain executionM

Category 4: OBSERVABILITY — Tracing, Monitoring, Dashboards

Section titled “Category 4: OBSERVABILITY — Tracing, Monitoring, Dashboards”

Severity: Critical–High | Effort: Small–Large | Dependency: Feeds BUNDLE-C

GapIssueCurrent StateTarget StateEffort
O-01No SPEC-05 trace storageautomation/traces/ directory does not exist; run.ts writes to .stratt/runs/Persistent SPEC-05 trace storage with structured query APIM
O-02No quality score dashboardMERIDIAN analytics page scaffolded but no data sourceReal-time dashboard: quality scores over time, per-unit and per-chainM
O-03No gate resolution audit logGate state machine defined; no persistent audit trailPersistent audit log with timestamp, approver, reason, affected unitS
O-04Heartbeat checks are aspirationalHEARTBEAT.md defines checks; relies entirely on OpenClaw runtimeStandalone health check mechanism (not dependent on OpenClaw)M

Category 5: SECURITY — Auth, RBAC, Data Classification

Section titled “Category 5: SECURITY — Auth, RBAC, Data Classification”

Severity: Medium–High | Effort: Medium–Large | Dependency: Blocks production deployment

GapIssueCurrent StateTarget StateEffort
S-01Auth/RBAC is Phase 3 groundworkFramework scaffolded in packages/cli/src/lib/auth.ts; not production-readyToken-based auth with role enforcement for publish/gate/council commandsL
S-02No MFA/2FAChoco HQ GAP-001 identifies as enterprise adoption blockerOAuth 2.0 + MFA support for CLI and APIM
S-03Data classification enforcement not automatedPUBLIC/INTERNAL/CONFIDENTIAL tiers defined; no automated enforcementAutomated redaction/classification enforcement in trace exportM

Category 6: INNOVATION — Competitive Moats & Differentiation

Section titled “Category 6: INNOVATION — Competitive Moats & Differentiation”

Severity: Medium | Effort: Small–Large | Dependency: Differentiator value

GapIssueCurrent StateTarget StateEffort
I-01DSPy MIPROv2 optimization loopUnique differentiator; entirely unimplementedPython/TypeScript bridge for automated prompt refinementL
I-02Veritas gate (automated quality enforcement)Novel concept described in trace-protocol.md; not codedAuto-trigger gate on regression (delta > 0.05) before promotionM
I-03VAPA category definition not publishedCoined internally; no published positioning or external referencePublished positioning paper + external reference on VAPA categoryS
I-04Self-improvement cycle (trace → refine)Evaluation cycle documented; no automationFull cycle: trace collection → quality analysis → MIPROv2 refinement → re-publishL

Category 7: PRIMER — Multi-Domain Extension System

Section titled “Category 7: PRIMER — Multi-Domain Extension System”

Severity: High | Effort: Medium–XL | Dependency: Scales STRATT to all 11 domains

GapIssueCurrent StateTarget StateEffort
P-017 of 11 declared domains emptyneuro, finance, nutrition, legal, film, artist, core have 0 units and 0 councilsAll 11 domains populated with 20–40 units each; 9–11 councils operationalXL
P-02No councils for non-dev/ops/docs domainsOnly Pathfinder, Hermes, Athena exist8 additional councils (finance, law, neuro, nutrition, film, artist, core, shared)L
P-03Primer pipeline not formalized as STRATT chain10-phase pipeline exists as markdown; not STRATT unitsstratt://core/chain/domain-extension-pipeline@1.0.0 with 10 phases + 9 gatesL
P-04Grace not primer-awareAgent context files have no reference to primer, multi-domain routing, or domain extensionUpdated IDENTITY, TOOLS, SOUL with primer-aware routing logicM
P-056 duplicate file pairs + stale HTML exportVeritas_* matches Primer_*; HTML export is outdatedDeduplicate, remove HTML, consolidate to single canonical markdown per phaseS
P-06Bio domain extension not converted to STRATT unitsComplete worked example exists as markdown (20–40 prompts); not YAML unit filesAll bio prompts converted to STRATT YAML units with fingerprintsM
P-07Primer docs use XML prompt format, not STRATT YAMLHandbook phases are <phase> XML blocks, not YAML prompt_bodyTranslate all Primer handbook XML to STRATT unit YAML formatL
P-08No domain profile → STRATT unit automated pipelineManual process (paste profile + handbook into Claude session)CLI integration: stratt extend --profile <questionnaire> --domain <name>L

Each gap is scored across five dimensions:

DimensionWeightScale
Business Impact30%1–10 (10 = transformative)
Technical Risk25%1–10 (10 = dangerous if unaddressed)
Effort Required−20%1–10 (10 = massive; higher = worse)
Dependencies15%1–10 (10 = blocks everything)
User Demand10%1–10 (10 = critical need)

Formula: Score = (Impact × 0.3) + (Risk × 0.25) − (Effort × 0.2) + (Deps × 0.15) + (Demand × 0.1)

RankGapScoreSeverityBundle
1D-04: GRACE spec published5.75HIGHB
2F-02: Quality scorer5.45CRITICALA
3F-01: Execution traces5.35CRITICALA
4P-03: Primer pipeline as STRATT chain5.25HIGHE
5O-01: SPEC-05 trace storage5.15CRITICALA
6P-04: Grace primer-aware5.05HIGHE
7D-02: MERIDIAN content4.80HIGHB
8Q-02: Regression detection4.55HIGHC
9P-06: Bio domain → STRATT units4.45HIGHE
10Q-01: DSPy export pipeline4.35HIGHC
11I-02: Veritas gate4.25HIGHC
12F-03: R2 atomic publish4.05HIGHB
13O-03: Gate audit log3.95MEDIUMA
14I-01: DSPy MIPROv2 loop3.90HIGHC
15S-01: Auth/RBAC production3.40MEDIUMD

Focus: Core protocol completeness + observability Duration: 3–4 weeks Depends on: Nothing — start immediately Unblocks: BUNDLE-C (quality loop), BUNDLE-D (dashboards)

Gaps: F-01 (5.35), F-02 (5.45), O-01 (5.15), O-03 (3.95)

Deliverables:

  1. Create automation/traces/ directory with .gitignore for trace storage
  2. Extend stratt run to emit SPEC-05 traces (chain-level + step-level fields)
  3. Implement quality scorer in @stratt/cli/lib/scorer.ts (conformance 0.40 + completeness 0.35 + efficiency 0.25)
  4. Add gate resolution audit records to trace output

Success criteria:

  • stratt run <chain> produces YAML trace at automation/traces/YYYY-MM-DD-{slug}.yaml
  • Every execution includes quality_score, token_counts, step-level details
  • Gates include resolution audit (approved_by, wait_duration_ms)

Risk: Medium (modifies hot path in run.ts)


Focus: Developer experience + foundation Duration: 3–5 weeks Depends on: Nothing — run in parallel with BUNDLE-A Unblocks: Customer adoption, marketing launch

Gaps: D-04 (5.75), F-03 (4.05), D-02 (4.80), D-05 (3.15)

Deliverables:

  1. Draft GRACE spec v1.0 (consolidate SPEC-01–SPEC-05 into publishable format)
  2. Implement R2 atomic publish in @stratt/cli/lib/r2.ts (fingerprint commit + rollback on failure)
  3. Populate MERIDIAN docs: getting-started, CLI reference, spec summary, examples
  4. Generate full CLI reference for all 21 commands

Success criteria:

  • GRACE spec v1.0 rendered at stratt.dev
  • stratt publish writes to R2 with atomic rollback
  • MERIDIAN docs ≥5 content files
  • CLI reference covers all commands with examples

Risk: Low-Medium (spec writing is effort-intensive but technically straightforward)


Focus: Quality & reliability + innovation Duration: 4–6 weeks Depends on: BUNDLE-A (traces must be complete) Unblocks: Self-improvement cycle, competitive differentiation

Gaps: Q-02 (4.55), Q-01 (4.35), I-02 (4.25), I-01 (3.90)

Deliverables:

  1. Implement regression detection: compare quality scores across versions; delta > 0.05 flags regression
  2. Implement stratt export-dspy command with filtering (min-score, date-range, version-range, chain, exclude-gates)
  3. Implement Veritas gate auto-trigger: regression detection → automatic gate before promotion
  4. Wire DSPy MIPROv2 optimization loop: JSONL → MIPROv2 optimiser → tuned prompts

Success criteria:

  • stratt run --compare shows quality delta against previous version
  • stratt export-dspy produces valid JSONL per trace-protocol.md format
  • Regression (delta > 0.05) auto-triggers Veritas gate
  • MIPROv2 loop ingests JSONL and produces candidate prompt revisions

Risk: High (requires Python/TypeScript bridge; MIPROv2 is external dependency)


Focus: Security, observability, developer experience Duration: 4–6 weeks Depends on: BUNDLE-B (MERIDIAN), BUNDLE-A (traces for dashboard) Unblocks: Production deployment, enterprise adoption

Gaps: S-01 (3.40), O-02 (3.15), F-04 (2.35), D-03 (3.25)

Deliverables:

  1. Harden Auth/RBAC: token-based auth with role enforcement for publish/gate/council commands
  2. Deploy Choco HQ API endpoint: enable CHOCO_RESOLVE_MODE=http in production
  3. Build quality score dashboard in MERIDIAN: visualise trace quality over time
  4. Write 10-page getting-started guide with walkthroughs

Success criteria:

  • Unauthenticated requests rejected
  • choco:// URIs resolve via HTTP in production
  • Dashboard shows quality trends
  • Getting-started guide covers install → validate → publish workflow

Risk: Low-Medium (mostly integration work)


Focus: Primer system formalization + multi-domain scaling Duration: 6–8 weeks Depends on: BUNDLE-A (traces), BUNDLE-B (spec published) Unblocks: Horizontal domain scaling, 11-domain ecosystem

Gaps: P-03 (5.25), P-04 (5.05), P-06 (4.45), P-07 (3.75), P-01 (2.60), P-02 (3.10)

Deliverables:

  1. Convert 10-phase Primer pipeline to STRATT chain: stratt://core/chain/domain-extension-pipeline@1.0.0
  2. Update Grace agent context (IDENTITY, TOOLS, SOUL) with primer-aware routing
  3. Convert bio domain markdown example to STRATT units (20–40 YAML files with fingerprints)
  4. Translate Primer handbook XML to STRATT unit YAML format
  5. Create councils for remaining 8 domains (finance, law, neuro, nutrition, film, artist, core, shared)
  6. CLI integration: stratt extend --profile <questionnaire> --domain <name>

Success criteria:

  • Primer pipeline is executable STRATT chain
  • Bio domain fully populated with YAML units + fingerprints
  • Grace routes domain-specific requests to appropriate council
  • stratt extend command works end-to-end

Risk: High (large scope; requires domain expertise for each extension)


Now Week 4 Week 8 Week 12 Week 16
├── BUNDLE-A (3-4w)────┤
│ Traces + scoring
├────────── BUNDLE-B (3-5w) ──────────┤
│ Spec published, MERIDIAN
│ ├──────────── BUNDLE-C (4-6w) ────────────┤
│ │ Quality loop, DSPy
│ │
│ ├────────────────── BUNDLE-D (4-6w) ────────────────┤
│ Platform hardening
│ ├──────────────── BUNDLE-E (6-8w) ───────────────────────┤
│ Primer integration, domain scaling

Critical path: A → C | B → D | E (latter half)


Project completion is defined as:

  • ✅ All Tier A gaps (score ≥ 5.0) resolved
  • ✅ GRACE spec v1.0 published at stratt.dev
  • ✅ MERIDIAN documentation site live with ≥10 content files
  • ✅ SPEC-05 traces in production (all chains traced automatically)
  • ✅ Quality scorer and regression detection operational
  • ✅ Primer system formalized as STRATT chain
  • ✅ Neuro domain fully published as STRATT units
  • ✅ Grace agent context updated for all 5 bundles
  • ✅ Zero critical security gaps
  • ✅ CLI fully documented (public reference at stratt.dev)