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.
Current State
Section titled “Current State”What’s Done
Section titled “What’s Done”- ✅ 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 resolution —
stratt://(11 domains, 5 types) andchoco://(2 namespaces) defined - ✅ STRATT reference implementation — 43 units across 4 domains, 2,488 tests, 95%+ coverage
What’s Not Done
Section titled “What’s Not Done”- ❌ 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
Component Inventory
Section titled “Component Inventory”| Component | Location | Purpose | Status |
|---|---|---|---|
| Agent context files (8) | agent/ | OpenClaw system prompt context | ✅ Active — deployed |
| Protocol specification | architecture/GRACE-PROTOCOL-OVERVIEW.md | SPEC-01–SPEC-05 mapping | ✅ Design complete |
| Ecosystem documentation | grace-hq/docs/ | Public-facing docs site (Astro + Starlight) | 🔄 TASKSET 4 in progress |
| Trace protocol | automation/trace-protocol.md | SPEC-05 trace format | ⚠️ Design only |
| Campaign engine | automation/campaign-engine.md | 10 campaign trails, 3 audience registers | ⚠️ Design only |
| Marketing KPI tracker | architecture/MARKETING-KPI-TRACKER.md | HB-01/02/03 milestones | ⚠️ All “Not started” |
| Primer system | GRACE-PROTOCOL-OVERVIEW.md lines 174–267 | 10-phase domain extension | ✅ Neuro domain complete |
| Gate rules | config/gate-rules.yaml | Council governance config | ✅ Consumed by STRATT |
| Namespace config | config/namespaces.yaml | Cross-namespace resolution | ✅ Consumed by STRATT |
Gap Categories & Details
Section titled “Gap Categories & Details”Category 1: FOUNDATION — Core Protocol Completeness
Section titled “Category 1: FOUNDATION — Core Protocol Completeness”Severity: Critical | Effort: Medium–Large | Dependency: Blocking Categories 2–7
| Gap | Issue | Current State | Target State | Effort |
|---|---|---|---|---|
| F-01 | Execution trace implementation | Format in trace-protocol.md; run.ts writes flat JSON to .stratt/runs/ — not SPEC-05 format | YAML traces at automation/traces/ with chain-level + step-level fields per SPEC-05 | M |
| F-02 | Quality scorer implementation | Weights defined (0.40/0.35/0.25); no code | Pluggable scorer in @stratt/cli/lib/scorer.ts | M |
| F-03 | R2 atomic publish pipeline | Local filesystem registry only; R2 writes not operational | Fingerprint commit + R2 write with rollback on failure | M |
| F-04 | ChocoBridgeResolver HTTP deployment | HTTP client code in choco-resolver.ts; Choco HQ endpoint not deployed | Choco HQ service live with /resolve endpoint | S |
| F-05 | STRATT TAD conformance gaps | 78% conformance; missing CRDT layer, incomplete agent schema | 95% conformance; all CRDT features, complete agent schema | XL |
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
| Gap | Issue | Current State | Target State | Effort |
|---|---|---|---|---|
| D-01 | No SDK or API for Grace | Pure markdown workspace; no programmatic interface | Python SDK + REST API with 8 endpoints | L |
| D-02 | MERIDIAN content empty | apps/meridian/src/content/docs/ has 0 files | ≥5 content files: getting-started, CLI reference, tutorials, examples | M |
| D-03 | No getting-started documentation | README exists but no quickstart, tutorial, or examples | 10-page getting-started guide with walkthroughs | S |
| D-04 | GRACE spec not published | Internally documented; M1-01 target status “Not started” | Spec v1.0 rendered at stratt.dev with canonical URI | M |
| D-05 | No public CLI documentation | 21 commands documented internally (TOOLS.md) but not published | Full CLI reference with examples and exit codes | S |
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
| Gap | Issue | Current State | Target State | Effort |
|---|---|---|---|---|
| Q-01 | DSPy export pipeline | JSONL format specified; MIPROv2 loop designed; zero code | stratt export-dspy command with filtering: min-score, date-range, version-range | M |
| Q-02 | Regression detection automation | Veritas gate auto-trigger (delta > 0.05) designed; not implemented | Automated regression detection with quality score comparison across versions | M |
| Q-03 | Grace has zero tests | Pure markdown = no executable code = no tests | Test suite for agent routing, memory management, tool orchestration | S |
| Q-04 | No E2E chain execution validation | stratt run exists but no automated E2E test harness | Automated E2E test harness validating full chain execution | M |
Category 4: OBSERVABILITY — Tracing, Monitoring, Dashboards
Section titled “Category 4: OBSERVABILITY — Tracing, Monitoring, Dashboards”Severity: Critical–High | Effort: Small–Large | Dependency: Feeds BUNDLE-C
| Gap | Issue | Current State | Target State | Effort |
|---|---|---|---|---|
| O-01 | No SPEC-05 trace storage | automation/traces/ directory does not exist; run.ts writes to .stratt/runs/ | Persistent SPEC-05 trace storage with structured query API | M |
| O-02 | No quality score dashboard | MERIDIAN analytics page scaffolded but no data source | Real-time dashboard: quality scores over time, per-unit and per-chain | M |
| O-03 | No gate resolution audit log | Gate state machine defined; no persistent audit trail | Persistent audit log with timestamp, approver, reason, affected unit | S |
| O-04 | Heartbeat checks are aspirational | HEARTBEAT.md defines checks; relies entirely on OpenClaw runtime | Standalone 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
| Gap | Issue | Current State | Target State | Effort |
|---|---|---|---|---|
| S-01 | Auth/RBAC is Phase 3 groundwork | Framework scaffolded in packages/cli/src/lib/auth.ts; not production-ready | Token-based auth with role enforcement for publish/gate/council commands | L |
| S-02 | No MFA/2FA | Choco HQ GAP-001 identifies as enterprise adoption blocker | OAuth 2.0 + MFA support for CLI and API | M |
| S-03 | Data classification enforcement not automated | PUBLIC/INTERNAL/CONFIDENTIAL tiers defined; no automated enforcement | Automated redaction/classification enforcement in trace export | M |
Category 6: INNOVATION — Competitive Moats & Differentiation
Section titled “Category 6: INNOVATION — Competitive Moats & Differentiation”Severity: Medium | Effort: Small–Large | Dependency: Differentiator value
| Gap | Issue | Current State | Target State | Effort |
|---|---|---|---|---|
| I-01 | DSPy MIPROv2 optimization loop | Unique differentiator; entirely unimplemented | Python/TypeScript bridge for automated prompt refinement | L |
| I-02 | Veritas gate (automated quality enforcement) | Novel concept described in trace-protocol.md; not coded | Auto-trigger gate on regression (delta > 0.05) before promotion | M |
| I-03 | VAPA category definition not published | Coined internally; no published positioning or external reference | Published positioning paper + external reference on VAPA category | S |
| I-04 | Self-improvement cycle (trace → refine) | Evaluation cycle documented; no automation | Full cycle: trace collection → quality analysis → MIPROv2 refinement → re-publish | L |
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
| Gap | Issue | Current State | Target State | Effort |
|---|---|---|---|---|
| P-01 | 7 of 11 declared domains empty | neuro, finance, nutrition, legal, film, artist, core have 0 units and 0 councils | All 11 domains populated with 20–40 units each; 9–11 councils operational | XL |
| P-02 | No councils for non-dev/ops/docs domains | Only Pathfinder, Hermes, Athena exist | 8 additional councils (finance, law, neuro, nutrition, film, artist, core, shared) | L |
| P-03 | Primer pipeline not formalized as STRATT chain | 10-phase pipeline exists as markdown; not STRATT units | stratt://core/chain/domain-extension-pipeline@1.0.0 with 10 phases + 9 gates | L |
| P-04 | Grace not primer-aware | Agent context files have no reference to primer, multi-domain routing, or domain extension | Updated IDENTITY, TOOLS, SOUL with primer-aware routing logic | M |
| P-05 | 6 duplicate file pairs + stale HTML export | Veritas_* matches Primer_*; HTML export is outdated | Deduplicate, remove HTML, consolidate to single canonical markdown per phase | S |
| P-06 | Bio domain extension not converted to STRATT units | Complete worked example exists as markdown (20–40 prompts); not YAML unit files | All bio prompts converted to STRATT YAML units with fingerprints | M |
| P-07 | Primer docs use XML prompt format, not STRATT YAML | Handbook phases are <phase> XML blocks, not YAML prompt_body | Translate all Primer handbook XML to STRATT unit YAML format | L |
| P-08 | No domain profile → STRATT unit automated pipeline | Manual process (paste profile + handbook into Claude session) | CLI integration: stratt extend --profile <questionnaire> --domain <name> | L |
Priority Scoring Matrix
Section titled “Priority Scoring Matrix”Each gap is scored across five dimensions:
| Dimension | Weight | Scale |
|---|---|---|
| Business Impact | 30% | 1–10 (10 = transformative) |
| Technical Risk | 25% | 1–10 (10 = dangerous if unaddressed) |
| Effort Required | −20% | 1–10 (10 = massive; higher = worse) |
| Dependencies | 15% | 1–10 (10 = blocks everything) |
| User Demand | 10% | 1–10 (10 = critical need) |
Formula: Score = (Impact × 0.3) + (Risk × 0.25) − (Effort × 0.2) + (Deps × 0.15) + (Demand × 0.1)
Top 15 Gaps (by score)
Section titled “Top 15 Gaps (by score)”| Rank | Gap | Score | Severity | Bundle |
|---|---|---|---|---|
| 1 | D-04: GRACE spec published | 5.75 | HIGH | B |
| 2 | F-02: Quality scorer | 5.45 | CRITICAL | A |
| 3 | F-01: Execution traces | 5.35 | CRITICAL | A |
| 4 | P-03: Primer pipeline as STRATT chain | 5.25 | HIGH | E |
| 5 | O-01: SPEC-05 trace storage | 5.15 | CRITICAL | A |
| 6 | P-04: Grace primer-aware | 5.05 | HIGH | E |
| 7 | D-02: MERIDIAN content | 4.80 | HIGH | B |
| 8 | Q-02: Regression detection | 4.55 | HIGH | C |
| 9 | P-06: Bio domain → STRATT units | 4.45 | HIGH | E |
| 10 | Q-01: DSPy export pipeline | 4.35 | HIGH | C |
| 11 | I-02: Veritas gate | 4.25 | HIGH | C |
| 12 | F-03: R2 atomic publish | 4.05 | HIGH | B |
| 13 | O-03: Gate audit log | 3.95 | MEDIUM | A |
| 14 | I-01: DSPy MIPROv2 loop | 3.90 | HIGH | C |
| 15 | S-01: Auth/RBAC production | 3.40 | MEDIUM | D |
Five Implementation Bundles
Section titled “Five Implementation Bundles”BUNDLE-A: “Trace Foundation”
Section titled “BUNDLE-A: “Trace Foundation””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:
- Create
automation/traces/directory with.gitignorefor trace storage - Extend
stratt runto emit SPEC-05 traces (chain-level + step-level fields) - Implement quality scorer in
@stratt/cli/lib/scorer.ts(conformance 0.40 + completeness 0.35 + efficiency 0.25) - Add gate resolution audit records to trace output
Success criteria:
stratt run <chain>produces YAML trace atautomation/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)
BUNDLE-B: “Publish Pipeline”
Section titled “BUNDLE-B: “Publish Pipeline””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:
- Draft GRACE spec v1.0 (consolidate SPEC-01–SPEC-05 into publishable format)
- Implement R2 atomic publish in
@stratt/cli/lib/r2.ts(fingerprint commit + rollback on failure) - Populate MERIDIAN docs: getting-started, CLI reference, spec summary, examples
- Generate full CLI reference for all 21 commands
Success criteria:
- GRACE spec v1.0 rendered at stratt.dev
stratt publishwrites 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)
BUNDLE-C: “Quality Loop”
Section titled “BUNDLE-C: “Quality Loop””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:
- Implement regression detection: compare quality scores across versions; delta > 0.05 flags regression
- Implement
stratt export-dspycommand with filtering (min-score, date-range, version-range, chain, exclude-gates) - Implement Veritas gate auto-trigger: regression detection → automatic gate before promotion
- Wire DSPy MIPROv2 optimization loop: JSONL → MIPROv2 optimiser → tuned prompts
Success criteria:
stratt run --compareshows quality delta against previous versionstratt export-dspyproduces valid JSONL pertrace-protocol.mdformat- 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)
BUNDLE-D: “Platform Hardening”
Section titled “BUNDLE-D: “Platform Hardening””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:
- Harden Auth/RBAC: token-based auth with role enforcement for publish/gate/council commands
- Deploy Choco HQ API endpoint: enable
CHOCO_RESOLVE_MODE=httpin production - Build quality score dashboard in MERIDIAN: visualise trace quality over time
- 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)
BUNDLE-E: “Primer Integration”
Section titled “BUNDLE-E: “Primer Integration””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:
- Convert 10-phase Primer pipeline to STRATT chain:
stratt://core/chain/domain-extension-pipeline@1.0.0 - Update Grace agent context (IDENTITY, TOOLS, SOUL) with primer-aware routing
- Convert bio domain markdown example to STRATT units (20–40 YAML files with fingerprints)
- Translate Primer handbook XML to STRATT unit YAML format
- Create councils for remaining 8 domains (finance, law, neuro, nutrition, film, artist, core, shared)
- 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 extendcommand works end-to-end
Risk: High (large scope; requires domain expertise for each extension)
Execution Timeline
Section titled “Execution Timeline”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 scalingCritical path: A → C | B → D | E (latter half)
Metrics & Success Definition
Section titled “Metrics & Success Definition”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)