Origin-Taint Memory Firewall
Carries tool/web content origin through assistant-derived text into memory admission and records the transformation chain.
Host seam: src/agents/agent-tools.before-tool-call.wrapper.ts + memory-core promotion.
Targeted provenance, spend, mutation, plugin-trust and Dreaming hardening
OpenClaw is not missing an agent platform, memory system, Dreaming engine, sandbox, audit logger or plugin framework. The useful CMPSBL delta is narrower and more interesting: close one documented provenance hole, turn existing cost telemetry into a provider-neutral spending authority, rehearse learned mutations before promotion, monitor loaded plugin behavior for drift, and make cross-agent Dreaming possible without reopening raw cross-agent memory.
Carries tool/web content origin through assistant-derived text into memory admission and records the transformation chain.
Host seam: src/agents/agent-tools.before-tool-call.wrapper.ts + memory-core promotion.
Adds cents/tokens/calls ceilings, approval thresholds and budget-aware routing on top of OpenClaw’s existing usage accounting.
Host seam: src/infra/session-cost-usage*.ts + goal/model admission.
Extends install/boot trust into post-load behavior fingerprints, drift scoring and step-up/quarantine decisions.
Host evidence: Plugin Trust is 68/100 Alpha and not LTS in the supplied maturity ledger.
Native Dreaming stays in charge. CMPSBL contributes only derived-artifact federation, cross-pollination and a synthesis-generation depth brake.
Decision: BUY CONDITIONALLY at $499 USD one time if at least two top composites are actually on the roadmap. Do not buy it merely to add “memory,” “agents,” or “DREAM”; OpenClaw already has strong native versions.
| Item | Finding |
|---|---|
| Evaluation target | Supplied archive openclaw-be2f7c6a3df29a423e9623dbde1d44ca3e90a078.zip. The SHA is inferred from the archive filename because .git metadata is absent. |
| Host licence | MIT in the supplied OpenClaw LICENSE/package.json. |
| CMPSBL authoritative licence | LicenseRef-CMPSBL-Perpetual-1.0: $499 USD one time, perpetual; no recurring fee and no expiry. LICENSE/LICENSING.md govern this evaluation. |
| Current action | EVALUATE ONLY. No CMPSBL source has been copied into OpenClaw; the only repository additions are the two requested report files. |
| Kit inconsistency | Some handoff/template language still describes retired free/annual doors. That text conflicts with the authoritative licence files and is treated as a kit documentation defect. |
| Open Impact twin | Proposed nonprofit recipient: Ai2 (Allen Institute for AI). An identical implemented enhancement package would be a separate grant from the licensor to the nonprofit, not a transfer/sublicense from the paying licensee. |
No claim is made here that the nonprofit has accepted the package; this is the selected recipient for the user-specified twin-copy condition.
Six composites survive the second-pass overlap test. The first four are realistic near-term hardening work. Full PRIM-ENG-01 DREAM is deliberately excluded; OpenClaw’s native Dreaming remains authoritative.
COMPOSITE #1 — Origin-Taint Memory Firewall
Composition: CMPSBL BLD-ENG-249 "Pipeline Lineage Registry" + CMPSBL BLD-ENG-229 "Provenance Chain Verifier" + host src/agents/agent-tools.before-tool-call.wrapper.ts + extensions/memory-core/src/short-term-promotion-memory-write.ts
Problem: docs/concepts/memory-architecture.md:107–111 explicitly says content origin is not propagated within an owner turn; tool/web-derived assistant text inherits the sender class.
Behaviour: Carry a monotonic content-origin label from tool result through assistant assembly into memory flush/promotion, while hash-linking each transform. Memory admission can reject on content origin, not only sender origin.
New because: Lineage alone tracks stages; the verifier alone detects tampering; OpenClaw alone has trust classes. Together they produce a taint-aware derivation record from external content to durable memory.
Attachment: src/agents/agent-tools.before-tool-call.wrapper.ts; src/agents/memory-write-provenance.ts; extensions/memory-core/src/short-term-promotion-*.ts
Untouched: Provider/model routing, native Dreaming ranking, MEMORY.md format, channel behavior.
Effort: 4–7 engineer-days, basis = cross-cutting metadata type + propagation + persistence/migration + monotonic trust tests + chain receipts.
Verified: C:ok I:ok B:— T:— S:scan
Data path:
tool/web output
| origin label
v
OpenClaw tool result assembly
| + stage hash
v
assistant-derived text
| preserved/downgraded origin
v
memory flush/promotion
| + prev-hash receipt
v
promote OR rejectVerification expansion: C:ok = Compiles (batch tsgo --strict --noEmit); I:ok = Installed with install.mjs into an empty host and type-checked there; B:— = Not claimed; T:— = Not claimed; S:scan = Static unsafe-construct sweep clean; author/kit scan only, not a third-party audit
COMPOSITE #2 — Spend-Safe Autonomy Governor
Composition: CMPSBL SUBP-07 "CEILING" + CMPSBL STIER-S-CJ79 "Autonomy Budget Manager" + CMPSBL STIER-S-96 "Cost-Aware Routing Engine" + host src/infra/session-cost-usage-reporting.ts + src/config/sessions/goals.ts
Problem: OpenClaw records cost, enforces token budgets, and forwards Claude-specific --max-budget-usd, but no single inspected core gate enforces a provider-agnostic dollar ceiling across autonomous work.
Behaviour: Reserve/check cents before expensive autonomous calls, apply per-window ceilings and approval thresholds, expose remaining budget, and optionally move noncritical work to cheaper allowed models before the hard stop.
New because: CEILING gives unit/window refusal, the budget manager adds autonomy/approval state, and cost-aware routing turns remaining budget into a pre-stop adaptation policy. Existing OpenClaw telemetry becomes the accounting input.
Attachment: src/infra/session-cost-usage*.ts; src/config/sessions/goals.ts; model/tool execution admission seams; existing audit diagnostics.
Untouched: Provider billing systems, user-pinned model choices, critical/security workloads that must not be degraded.
Effort: 5–9 engineer-days, basis = budget-scope inheritance + atomic reservation/reconciliation + approval UX + provider-neutral hooks + routing exclusions/tests.
Verified: C:ok I:ok B:load T:— S:scan
Data path:
cost usage ----+
v
request -> effective budget -> reserve/check
|
+---------+---------+
| |
under near cap
| |
execute cheaper allowed route
|
hard ceiling
execute / approve / blockVerification expansion: C:ok = Compiles (batch tsgo --strict --noEmit); I:ok = Installed with install.mjs into an empty host and type-checked there; B:load = Entry imports cleanly and exposes exports; no fabricated-input execution; T:— = Not claimed; S:scan = Static unsafe-construct sweep clean; author/kit scan only, not a third-party audit
COMPOSITE #3 — Skill Mutation Replay Gate
Composition: CMPSBL STIER-S-ECH03 "Mutation Rehearsal Engine" + CMPSBL BLD-ENG-060 "Temporal Regression Sandbox" + host src/skills/workshop/auto-apply.ts + src/trajectory/types.ts + docs/concepts/personal-agent-benchmark-pack.md
Problem: Skill Workshop can apply scanner-approved learned changes. Static/policy scanning cannot prove the proposed skill still behaves correctly on prior scenarios.
Behaviour: Rehearse a proposed skill mutation against bounded redacted trajectory cases and personal-agent benchmark scenarios, compare baseline outcomes, and quarantine regression before auto-apply.
New because: Workshop already learns and scans; trajectories already observe behavior. The two catalog parts convert that evidence into a deterministic pre-promotion behavioral gate.
Attachment: src/skills/workshop/auto-apply.ts; Workshop review path; src/trajectory/types.ts; personal-agent benchmark fixtures.
Untouched: Workshop proposal generation, security scanner, user approval modes, existing rollback metadata.
Effort: 5–9 engineer-days, basis = fixture adapter + isolated execution + stable comparison semantics + thresholds + failure reports/tests.
Verified: C:ok I:ok B:load T:— S:scan
Data path:
Workshop proposal
v
security scan
v
mutation rehearsal <--- benchmark + redacted trajectories
v
regression verdict
pass | fail
v v
apply quarantineVerification expansion: C:ok = Compiles (batch tsgo --strict --noEmit); I:ok = Installed with install.mjs into an empty host and type-checked there; B:load = Entry imports cleanly and exposes exports; no fabricated-input execution; T:— = Not claimed; S:scan = Static unsafe-construct sweep clean; author/kit scan only, not a third-party audit
COMPOSITE #4 — Runtime Plugin Immune Gate
Composition: CMPSBL VPACK-SPECTRAL-AUDITOR "Behavior Drift Detection & Quarantine Layer" + CMPSBL STIER-S-CJ83 "Behavioral Trust Scoring" + host src/plugins/install-security-scan.runtime.ts + src/plugins/runtime-degraded-state.ts + src/plugins/capability-provider-runtime.ts
Problem: OpenClaw already scans install payloads and quarantines invalid configured plugins at boot, but those checks are structural/static. qa/maturity-scores.yaml:846–855 rates Plugin Trust quality 68 (Alpha) and LTS unsupported.
Behaviour: Build per-capability post-activation behavior fingerprints, update trust from observed runtime events, detect drift from the accepted baseline, then step up verification, disable a capability, or feed OpenClaw’s existing degraded/quarantine surface.
New because: Install provenance answers "what was installed"; boot verification answers "is payload shape valid". This adds the missing time dimension: "did an already-loaded plugin start behaving differently".
Attachment: Plugin activation/capability provider boundaries and existing diagnostics/degraded state; no second plugin loader.
Untouched: Manifest ownership, install scanner, SDK contracts, provider-specific policy, normal plugin activation when no drift is observed.
Effort: 5–9 engineer-days, basis = stable event features + baseline persistence/versioning + trust update policy + observe-only burn-in + quarantine/approval tests.
Verified: C:ok I:ok B:load T:— S:scan
Data path:
install scan -> boot verification -> plugin active
|
v
behavior fingerprint
| drift
v
trust score update
normal / step-up / quarantineVerification expansion: C:ok = Compiles (batch tsgo --strict --noEmit); I:ok = Installed with install.mjs into an empty host and type-checked there; B:load = Entry imports cleanly and exposes exports; no fabricated-input execution; T:— = Not claimed; S:scan = Static unsafe-construct sweep clean; author/kit scan only, not a third-party audit
COMPOSITE #5 — Federated Dream Exchange
Composition: CMPSBL STIER-S-CJ117 "Dream Pool Federation Hub" + CMPSBL STIER-S-CJ122 "Dream Cross-Pollination Engine" + CMPSBL BLD-ENG-271 "Dream Generation Gate" + host extensions/memory-core/src/dreaming.ts + dreaming-consolidation.ts
Problem: OpenClaw already has real local Dreaming and multi-agent-aware workspaces. No inspected path federates and novelty-ranks derived dream artifacts across independent agents, and raw cross-agent transcript search should remain closed.
Behaviour: Export only sanitized derived dream insights into an opt-in federation pool, dedupe/rank them, track pollination lineage, cap synthesis generation depth, then re-enter each destination agent through OpenClaw’s native provenance/promotion gates.
New because: This is not another DREAM engine. It creates a bounded exchange protocol between existing dream cycles while retaining OpenClaw as the sole memory-admission authority.
Attachment: memory-core Dreaming extension seam; derived artifact schema; existing provenance/promotion gates.
Untouched: Raw transcripts, per-agent memory stores, native Light/REM/Deep phases, MEMORY.md write authority.
Effort: 5–8 engineer-days for an isolated prototype, basis = opt-in/privacy contract + artifact schema + dedupe/rank adapter + depth metadata + lineage tests. Production rollout needs separate privacy review.
Verified: C:ok I:ok B:— T:— S:scan
Data path:
Agent A native Dreaming Agent B native Dreaming
| derived insight | derived insight
+------------+----------------+
v
opt-in federation pool
dedupe + novelty rank
|
generation-depth gate
v
destination OpenClaw promotion gate
v
local memory OR rejectVerification expansion: C:ok = Compiles (batch tsgo --strict --noEmit); I:ok = Installed with install.mjs into an empty host and type-checked there; B:— = Not claimed; T:— = Not claimed; S:scan = Static unsafe-construct sweep clean; author/kit scan only, not a third-party audit
COMPOSITE #6 — Cross-Store Erasure Receipt
Composition: CMPSBL BLD-ENG-192 "Selective Amnesia Controller" + CMPSBL BLD-ENG-229 "Provenance Chain Verifier" + host memory-core provenance/supersession metadata + memory-lancedb delete receipts + memory-wiki rebuild boundaries
Problem: OpenClaw can delete memory in specific stores, and LanceDB has authoritative delete receipts, but no inspected single operation proves a targeted fact and its derived references are handled across all relevant memory tiers.
Behaviour: Preview a provenance/supersession dependency graph, invoke each owning store’s deletion/rebuild semantics, record what was deleted/skipped/retained, and emit one cross-store receipt without claiming deletion from external systems OpenClaw does not control.
New because: The catalog controller supplies targeted erasure semantics; the chain verifier binds the multi-store result; OpenClaw supplies real store-specific receipts and lineage edges.
Attachment: memory-core promotion records; extensions/memory-lancedb; memory-wiki compiler/rebuild surfaces; operator confirmation for broad patterns.
Untouched: Unrelated memory, external providers, existing retention defaults, raw transcript history unless explicitly included by policy.
Effort: 4–8 engineer-days, basis = store inventory + dry-run graph + adapters + authoritative receipt aggregation + destructive-operation tests.
Verified: C:ok I:ok B:— T:— S:scan
Data path:
erase request
v
provenance dependency preview
| confirm
v
core memory | LanceDB | wiki | dream-derived
| | | |
+----------+--------+-------+
v
cross-store erasure receiptVerification expansion: C:ok = Compiles (batch tsgo --strict --noEmit); I:ok = Installed with install.mjs into an empty host and type-checked there; B:— = Not claimed; T:— = Not claimed; S:scan = Static unsafe-construct sweep clean; author/kit scan only, not a third-party audit
| Composite | Ingredients | New behavior | Effort |
|---|---|---|---|
| Origin-Taint Memory Firewall | CMPSBL BLD-ENG-249 "Pipeline Lineage Registry" + CMPSBL BLD-ENG-229 "Provenance Chain Verifier" + host src/agents/agent-tools.before-tool-call.wrapper.ts + extensions/memory-core/src/short-term-promotion-memory-write.ts | Carry a monotonic content-origin label from tool result through assistant assembly into memory flush/promotion, while hash-linking each transform. Memory admission can reject on content origin, not only sender origin. | 4–7 engineer-days, basis = cross-cutting metadata type + propagation + persistence/migration + monotonic trust tests + chain receipts. |
| Spend-Safe Autonomy Governor | CMPSBL SUBP-07 "CEILING" + CMPSBL STIER-S-CJ79 "Autonomy Budget Manager" + CMPSBL STIER-S-96 "Cost-Aware Routing Engine" + host src/infra/session-cost-usage-reporting.ts + src/config/sessions/goals.ts | Reserve/check cents before expensive autonomous calls, apply per-window ceilings and approval thresholds, expose remaining budget, and optionally move noncritical work to cheaper allowed models before the hard stop. | 5–9 engineer-days, basis = budget-scope inheritance + atomic reservation/reconciliation + approval UX + provider-neutral hooks + routing exclusions/tests. |
| Skill Mutation Replay Gate | CMPSBL STIER-S-ECH03 "Mutation Rehearsal Engine" + CMPSBL BLD-ENG-060 "Temporal Regression Sandbox" + host src/skills/workshop/auto-apply.ts + src/trajectory/types.ts + docs/concepts/personal-agent-benchmark-pack.md | Rehearse a proposed skill mutation against bounded redacted trajectory cases and personal-agent benchmark scenarios, compare baseline outcomes, and quarantine regression before auto-apply. | 5–9 engineer-days, basis = fixture adapter + isolated execution + stable comparison semantics + thresholds + failure reports/tests. |
| Runtime Plugin Immune Gate | CMPSBL VPACK-SPECTRAL-AUDITOR "Behavior Drift Detection & Quarantine Layer" + CMPSBL STIER-S-CJ83 "Behavioral Trust Scoring" + host src/plugins/install-security-scan.runtime.ts + src/plugins/runtime-degraded-state.ts + src/plugins/capability-provider-runtime.ts | Build per-capability post-activation behavior fingerprints, update trust from observed runtime events, detect drift from the accepted baseline, then step up verification, disable a capability, or feed OpenClaw’s existing degraded/quarantine surface. | 5–9 engineer-days, basis = stable event features + baseline persistence/versioning + trust update policy + observe-only burn-in + quarantine/approval tests. |
| Federated Dream Exchange | CMPSBL STIER-S-CJ117 "Dream Pool Federation Hub" + CMPSBL STIER-S-CJ122 "Dream Cross-Pollination Engine" + CMPSBL BLD-ENG-271 "Dream Generation Gate" + host extensions/memory-core/src/dreaming.ts + dreaming-consolidation.ts | Export only sanitized derived dream insights into an opt-in federation pool, dedupe/rank them, track pollination lineage, cap synthesis generation depth, then re-enter each destination agent through OpenClaw’s native provenance/promotion gates. | 5–8 engineer-days for an isolated prototype, basis = opt-in/privacy contract + artifact schema + dedupe/rank adapter + depth metadata + lineage tests. Production rollout needs separate privacy review. |
| Cross-Store Erasure Receipt | CMPSBL BLD-ENG-192 "Selective Amnesia Controller" + CMPSBL BLD-ENG-229 "Provenance Chain Verifier" + host memory-core provenance/supersession metadata + memory-lancedb delete receipts + memory-wiki rebuild boundaries | Preview a provenance/supersession dependency graph, invoke each owning store’s deletion/rebuild semantics, record what was deleted/skipped/retained, and emit one cross-store receipt without claiming deletion from external systems OpenClaw does not control. | 4–8 engineer-days, basis = store inventory + dry-run graph + adapters + authoritative receipt aggregation + destructive-operation tests. |
Build first: Origin-Taint Memory Firewall. It closes a gap OpenClaw’s own architecture document explicitly names.
These are host-specific adapter/product designs built from one catalog component plus OpenClaw’s real modules. They are not additional catalog rows.
DESIGN #1 — Tool-Origin Taint Token Built from: CMPSBL BLD-ENG-249 "Pipeline Lineage Registry" (`PipelineLineageRecord`, `PipelineLineageRegistry`) Plus host: src/agents/agent-tools.before-tool-call.wrapper.ts; src/agents/memory-write-provenance.ts; extensions/memory-core/src/short-term-promotion-record.ts What it is: A compact immutable metadata carrier for origin class, source tool/provider, lineage id, stage hashes and downgrade reason. It moves with assistant-derived content until a persistence/admission owner consumes it. New because: OpenClaw has sender/session provenance but explicitly documents that content origin is not propagated within an owner turn. Unlocks: A memory firewall that can distinguish trusted owner text from owner text derived from untrusted web/tool output. Evidence path:A diagnostic/provenance record showing each stage and the final trust class used by memory admission. Effort: 2–4 engineer-days, basis = one metadata type + thread-through at tool/assistant/flush boundaries + legacy defaults/tests. Constraints: Verified C:ok I:ok B:— T:— S:scan; Mode direct; Ports/slices none Confidence: high — the host documentation names the gap directly. Data path: tool result -> TaintToken -> assistant output -> memory candidate -> gate
Verification expansion: C:ok = Compiles (batch tsgo --strict --noEmit); I:ok = Installed with install.mjs into an empty host and type-checked there; B:— = Not claimed; T:— = Not claimed; S:scan = Static unsafe-construct sweep clean; author/kit scan only, not a third-party audit
DESIGN #2 — Budget Scope Resolver Built from: CMPSBL SUBP-07 "CEILING" (`CeilingOptions`, `Ceiling`, `createCeiling`, `CeilingSubject`, `ceilingContract`, `METERS`, `Meter`, `MeterMap`, `CeilingSpec` +5 more) Plus host: src/config/sessions/goals.ts; src/infra/session-cost-usage.ts; agent/model execution seams What it is: Resolves one effective budget from global defaults, agent/task/run overrides and explicit owner approvals, then exposes remaining cents/tokens/calls before work begins. New because: OpenClaw has token budgets and cost reporting, but no provider-neutral cross-unit ceiling owner was found; CEILING supplies the refusal semantics while host state supplies scope. Unlocks: Predictable autonomous spending limits that are explainable before a provider call is made. Evidence path:A budget decision receipt with effective scope, meter, remaining amount and allow/approve/block outcome. Effort: 2–4 engineer-days, basis = scope precedence + reconciliation + admission hook + tests; component entry is 414 LOC. Constraints: Verified C:ok I:ok B:load T:— S:scan; Mode direct; Ports/slices none Confidence: high — second pass found only provider-specific dollar limits, not a core provider-agnostic one. Data path: defaults -> agent -> task/run -> owner override -> effective ceiling -> request
Verification expansion: C:ok = Compiles (batch tsgo --strict --noEmit); I:ok = Installed with install.mjs into an empty host and type-checked there; B:load = Entry imports cleanly and exposes exports; no fabricated-input execution; T:— = Not claimed; S:scan = Static unsafe-construct sweep clean; author/kit scan only, not a third-party audit
DESIGN #3 — Trajectory Chain Stamper Built from: CMPSBL BLD-ENG-229 "Provenance Chain Verifier" (`ProvenanceLink`, `ProvenanceVerdict`, `ProvenanceChainVerifier`) Plus host: src/audit/audit-event-store.ts; src/trajectory/types.ts What it is: Hash-links selected audit/trajectory records with a canonical previous-record digest and periodic chain-head checkpoints, without replacing the underlying event stores. New because: OpenClaw already captures high-quality events; the missing product is a compact continuity proof over selected records. Unlocks: Detectable retroactive modification in support/forensic exports. Evidence path:A verifier report that identifies the first broken link and the last known good checkpoint. Effort: 2–5 engineer-days, basis = canonicalization + storage fields + checkpoint policy + verify command/tests. Constraints: Verified C:ok I:ok B:— T:— S:scan; Mode direct; Ports/slices none Confidence: high — no prev-hash append chain was found in inspected audit/trajectory schemas. Data path: event -> canonical digest -> prevHash -> chain head -> verify
Verification expansion: C:ok = Compiles (batch tsgo --strict --noEmit); I:ok = Installed with install.mjs into an empty host and type-checked there; B:— = Not claimed; T:— = Not claimed; S:scan = Static unsafe-construct sweep clean; author/kit scan only, not a third-party audit
DESIGN #4 — Dream Recursion Brake Built from: CMPSBL BLD-ENG-271 "Dream Generation Gate" (`DreamCandidate`, `MAX_GENERATION`, `memoryWeight`, `sortBySynthesisPriority`, `filterDreamCandidates`, `rankDreamCandidates`) Plus host: extensions/memory-core/src/dreaming-consolidation.ts; short-term promotion record schema What it is: Adds explicit synthesis-generation metadata to derived dream candidates and refuses or downranks material beyond a declared generation ceiling before native OpenClaw promotion. New because: OpenClaw already tracks source lineage and rewrite-loss constraints; the second pass found no explicit synthesis-generation depth counter/ceiling. Unlocks: Safer experimentation with cross-agent or recursively synthesized dream artifacts without replacing native Dreaming. Evidence path:Candidate diagnostics showing generation depth, source lineage and the exact gate that admitted/rejected it. Effort: 1–3 engineer-days, basis = schema field + propagation + ranking/filter adapter + tests; component entry is 47 LOC. Constraints: Verified C:ok I:ok B:— T:— S:scan; Mode direct; Ports/slices none Confidence: high for the inspected archive; absence is based on full targeted code/doc search, not a naming assumption. Data path: derived candidate -> generation++ -> depth gate -> native provenance gate -> memory/reject
Verification expansion: C:ok = Compiles (batch tsgo --strict --noEmit); I:ok = Installed with install.mjs into an empty host and type-checked there; B:— = Not claimed; T:— = Not claimed; S:scan = Static unsafe-construct sweep clean; author/kit scan only, not a third-party audit
DESIGN #5 — Erasure Dependency Walker Built from: CMPSBL BLD-ENG-192 "Selective Amnesia Controller" (`ErasureRequest`, `ErasureProof`, `AmnesiaStats`, `createSelectiveAmnesiaController`) Plus host: extensions/memory-core promotion/supersession records; extensions/memory-lancedb; extensions/memory-wiki What it is: Builds a dry-run dependency graph from a requested fact/pattern to owned derived artifacts before any destructive operation, then coordinates existing store-specific deletion/rebuild semantics. New because: LanceDB already has real memory_forget receipts, but a single-store receipt does not prove handling across independent memory tiers. Unlocks: A user-visible right-to-forget workflow with bounded scope and an explicit uncertainty report when lineage is incomplete. Evidence path:Preview graph plus final cross-store receipt listing deleted, rebuilt, skipped and out-of-scope artifacts. Effort: 3–6 engineer-days, basis = dependency walk + store adapter registry + dry-run/confirmation + receipt aggregation. Constraints: Verified C:ok I:ok B:exec T:— S:scan; Mode direct; Ports/slices none Confidence: medium-high — store-specific behavior exists, but full cross-tier semantics require implementation-time owner review. Data path: target -> dependency graph -> preview -> confirm -> store adapters -> receipt
Verification expansion: C:ok = Compiles (batch tsgo --strict --noEmit); I:ok = Installed with install.mjs into an empty host and type-checked there; B:exec = Entry loads and zero-arity exports were executed twice and compared structurally; T:— = Not claimed; S:scan = Static unsafe-construct sweep clean; author/kit scan only, not a third-party audit
Build first: Tool-Origin Taint Token. It is the smallest concrete object that unlocks the highest-ranked composite.
| Metric | Result | Basis |
|---|---|---|
| Catalog rows parsed | 1,162 / 1,162 | All 21 catalog classes in v3.1.0; class counts sum to 1,162. |
| Concern-match screen | 578 unique rows | Deterministic seven-basket lexical/capability pass over ID/name/What/API/class: provenance/audit, budget/cost, dream/memory, plugin/trust, mutation/repair, agent/routing, contract/evolution. |
| Explicit five-axis set | 45 | 14 recommended + 31 deliberate SKIPs after twin/shared-entry/host-overlap pruning. |
| Engineered recommendations | 14 | 8 HARDEN, 6 COMBINE, 0 REPLACE. |
| Composite designs | 6 | All named from exact catalog IDs + real host paths; full DREAM excluded. |
| Host-specific designs | 5 | Fixed Step-5B shape; each includes exact Verified/mode/ports. |
| Discovery Vault screened | 6,479 / 6,479 | All index rows screened; all 288 agency-v1 rows got a dedicated second pass; 7 provisional source reads shortlisted. |
| Original host file count | 33,334 | Count excludes the two generated report files. |
| Licence | $499 USD one time | Authoritative CMPSBL LICENSE/LICENSING.md; perpetual, no recurring fee/expiry. |
Inventory was performed before catalog promotion and then repeated in Step 8. The supplied archive contains 33,334 original files; 27,214 are TypeScript files. OpenClaw is a mature agent-native monorepo, so overlap avoidance is the dominant evaluation constraint.
| Host path | Surface | LOC | Observed job |
|---|---|---|---|
package.json | package/CLI metadata | 2145 | version 2026.8.1, MIT, Node/pnpm runtime surface |
VISION.md | architecture direction | 137 | lean core; avoid duplicate orchestration; preserve clear ownership |
docs/concepts/memory-architecture.md | memory trust model | 425 | tiered memory/provenance and explicit owner-turn content-origin gap |
src/sessions/input-provenance.ts | session provenance | 193 | normalizes external_user/inter_session/internal_system origin |
src/agents/memory-write-provenance.ts | memory write provenance | 157 | tracks least-trusted write provenance |
src/memory/memory-artifact-provenance.ts | memory artifact provenance | 228 | durable provenance records for memory artifacts |
src/agents/embedded-agent-runner/run/turn-taint-state.ts | runtime taint state | 14 | sticky network/tool taint within a run path |
docs/concepts/dreaming.md | Dreaming contract | 304 | Light/REM/Deep phases, structural provenance gates, Dream Diary |
src/memory-host-sdk/dreaming.ts | Dreaming host SDK | 633 | workspace/agent resolution and phase configuration |
extensions/memory-core/src/dreaming.ts | Dreaming runtime | 1172 | scheduled sweep, workspace owner resolution, phase orchestration |
extensions/memory-core/src/dreaming-consolidation.ts | deep consolidation | 664 | candidate provenance, guarded rewrite, lineage/supersession |
extensions/memory-core/src/short-term-promotion.ts | memory ranking | 270 | deterministic promotion candidates/ranking |
extensions/memory-lancedb/index.ts | optional memory plugin | 668 | memory_recall/store/forget including side-effecting delete path |
src/infra/exec-approvals.ts | execution approval | 198 | approval policy/decision resolution |
src/agents/sandbox.ts | sandbox surface | 81 | existing execution isolation/control |
src/agents/usage.ts | usage normalization | 438 | normalizes model token/usage accounting |
src/infra/session-cost-usage.ts | cost public surface | 27 | session cost/usage reporting surface |
src/infra/session-cost-usage-reporting.ts | cost aggregation | 508 | session cost summaries and time series |
src/config/sessions/goals.ts | goal/token budget | 358 | token-budget accounting and budget_limited state |
src/node-host/invoke-agent-cli-claude-params.ts | Claude CLI adapter | 324 | allows provider-specific --max-budget-usd flag |
src/plugins/install-provenance.ts | plugin provenance | 100 | source/trust metadata at install |
src/plugins/install-security-scan.runtime.ts | plugin install security | 1306 | install-time policy/static scanning and approval |
src/plugins/runtime-degraded-state.ts | plugin quarantine | 133 | boot-stable quarantine for verification failures |
src/plugins/capability-provider-runtime.ts | plugin capability runtime | 695 | typed provider/capability selection |
qa/maturity-scores.yaml | maturity ledger | 4351 | Plugin Trust quality 68 Alpha; LTS unsupported |
src/skills/workshop/history-scan.ts | self-learning discovery | 402 | persistent history scan for learning candidates |
src/skills/workshop/history-scan-review.ts | self-learning review | 127 | bounded reviewer and mutation budget |
src/skills/workshop/auto-apply.ts | skill mutation | 45 | applies eligible learned proposals |
docs/tools/trajectory.md | flight recorder | 197 | per-session trajectory/export with sensitive-data approval boundary |
src/trajectory/types.ts | trajectory schema | 73 | runtime event/bundle types |
src/audit/audit-event-store.ts | audit persistence | 739 | SQLite audit event storage/retention |
Existing capability that should not be replaced: multi-agent runtime, tool policy/approvals, sandboxing, session provenance, tiered memory, native Light/REM/Deep Dreaming, deletion in specific memory stores, Skill Workshop self-learning, trajectory capture, audit storage, provider/failover logic, cost telemetry, plugin install provenance/scanning and boot-time plugin quarantine.
Catalog taxonomy coverage: every class was parsed, including the user-requested primitives, sub-primitives, agents, engines, subsystems/systems, meta/store/substrate engines, layers, packages, products and vertical packs.
| Catalog class | Rows parsed |
|---|---|
| Block/Engine | 314 |
| CrownJewel/S-Tier | 233 |
| Block/Component | 90 |
| Block/Primitive | 90 |
| SubstrateEngine | 80 |
| Block/Frozen | 59 |
| StoreEngine | 55 |
| AscensionLayer | 45 |
| Block/Blueprint | 41 |
| MetaEngine | 26 |
| VerticalLayerPack | 25 |
| Subsystem | 16 |
| CrownJewel/S-Tier-Unregistered | 13 |
| Package | 13 |
| Primitive/Layer | 12 |
| Primitive/Organ | 12 |
| Product | 9 |
| Primitive/Agent | 8 |
| Primitive/Engine | 8 |
| SubPrimitive | 8 |
| Cognitive | 5 |
All 1,162 engineered rows were parsed. A reproducible concern screen identified 578 unique rows across seven host-relevant baskets. Explicit twins, shared-entry rows, and obvious host duplicates were then collapsed or rejected before the detailed five-axis set below. The screen is deliberately hostile to duplication: a prestigious name does not outrank host evidence.
| ID | Component | Class | Direct fit | Combinatorial fit | Product value | Cost/risk | Novelty | Decision | Reason |
|---|---|---|---|---|---|---|---|---|---|
BLD-ENG-249 | Pipeline Lineage Registry | Block/Engine | High | High | High | Medium | High | HARDEN | OpenClaw explicitly documents that tool/web content origin is not propagated through owner-turn assistant text; lineage is the missing carrier into later memory decisions. |
BLD-ENG-229 | Provenance Chain Verifier | Block/Engine | High | High | High | Low–Med | Medium | HARDEN | OpenClaw has rich audit/trajectory data but the inspected event stores do not expose a prev-hash append chain; this adds detectable post-write tamper evidence without replacing those stores. |
SUBP-07 | CEILING | SubPrimitive | High | High | High | Medium | High | HARDEN | OpenClaw has token budgets and provider-specific budget surfaces, but no single core mechanism meters cents/tokens/calls against one declared provider-agnostic ceiling and refuses the crossing call. |
STIER-S-CJ79 | Autonomy Budget Manager | CrownJewel/S-Tier | High | High | High | Medium | High | HARDEN | OpenClaw measures spend but lacks one provider-agnostic autonomy budget authority with hard limits plus approval thresholds; pair it with existing usage telemetry rather than another accounting plane. |
STIER-S-ECH03 | Mutation Rehearsal Engine | CrownJewel/S-Tier | High | High | High | Medium | High | COMBINE | Skill Workshop can auto-apply scanner-approved learned changes; rehearsal adds a behavioral gate before a mutation reaches the live skill set. |
BLD-ENG-060 | Temporal Regression Sandbox | Block/Engine | High | High | High | Low | Medium | COMBINE | OpenClaw already records trajectories and benchmark scenarios; this supplies a compact deterministic replay/regression mechanism for proposed mutations. |
VPACK-SPECTRAL-AUDITOR | Behavior Drift Detection & Quarantine Layer | VerticalLayerPack | High | High | High | Medium | High | HARDEN | OpenClaw already verifies plugin payloads and can quarantine invalid plugins at boot; its maturity ledger still rates Plugin Trust 68/100 (Alpha, not LTS). Continuous post-load behavior fingerprints address a different lifecycle gap. |
STIER-S-CJ83 | Behavioral Trust Scoring | CrownJewel/S-Tier | High | High | High | Medium | High | COMBINE | Behavioral trust scoring turns plugin/capability observations into graduated step-up verification or restricted autonomy; it complements rather than replaces existing install provenance. |
BLD-ENG-271 | Dream Generation Gate | Block/Engine | Medium | High | Medium | Low | High | HARDEN | OpenClaw Dreaming has strong provenance and rewrite-loss controls but no explicit synthesis-generation depth counter was found; this is a narrow semantic-drift brake for derived/cross-agent dream material. |
STIER-S-CJ117 | Dream Pool Federation Hub | CrownJewel/S-Tier | Medium | High | Medium | Medium–High | High | COMBINE | OpenClaw Dreaming is workspace/agent aware, but no mechanism was found that federates and novelty-ranks derived dream artifacts across independent agent dream cycles. |
STIER-S-CJ122 | Dream Cross-Pollination Engine | CrownJewel/S-Tier | Medium | High | Medium | Medium–High | High | COMBINE | Adds provenance-bearing cross-pollination between independent dream cycles; use only derived artifacts, never raw cross-agent transcript access. |
BLD-ENG-192 | Selective Amnesia Controller | Block/Engine | High | High | High | Medium | High | HARDEN | OpenClaw has real deletion, including LanceDB memory_forget with authoritative delete receipts, but no inspected coordinator spans curated, episodic, indexed, wiki and dream-derived representations. |
STIER-S-96 | Cost-Aware Routing Engine | CrownJewel/S-Tier | High | High | High | Medium | High | COMBINE | Pairs with a hard spend boundary so optional work can step down to an allowed cheaper provider before blocking; must never silently downgrade quality-sensitive/security runs. |
STIER-S-TRT03 | Contract Evolution Mediator | CrownJewel/S-Tier | Medium | High | Medium | Medium | Medium | HARDEN | OpenClaw has strong typed plugin contracts, but no single inspected mediator owns compatible contract upgrades/deprecation across plugin capability versions; useful only at that boundary, not as a new global schema system. |
PRIM-ENG-01 | DREAM | Primitive/Engine | Low | Low–Med | Low | Medium–High | Low | SKIP | Full DREAM duplicates an already sophisticated native Dreaming system and brings a 47,391-LOC closure plus persistence port. The useful delta is the smaller generation/federation pieces, not the primitive. |
BLD-ENG-260 | Dream Synthesizer | Block/Engine | Low | Low–Med | Low | Medium–High | Low | SKIP | OpenClaw already has deep consolidation, merge/supersession, preimages and guarded MEMORY.md rewrites. |
PRIM-ORG-04 | MEMORY | Primitive/Organ | Low | Low–Med | Low | Medium–High | Low | SKIP | OpenClaw memory-core already has tiered persistence, provenance, ranking, promotion and deletion surfaces; replacement would discard host-specific safety work. |
SUBSYS-08 | Memory Stream | Subsystem | Low | Low–Med | Low | Medium–High | Low | SKIP | Duplicates memory-core Dreaming and scheduled consolidation. |
SUBSYS-16 | Agency | Subsystem | Low | Low–Med | Low | Medium–High | Low | SKIP | OpenClaw already is the agent platform; a second Agency substrate would create overlapping ownership. |
SUBSYS-06 | Discovery Engine | Subsystem | Low | Low–Med | Low | Medium–High | Low | SKIP | The host already has capability-provider discovery and Skill Workshop history scanning; a full parallel discovery subsystem is too invasive. |
PRIM-AGE-03 | AUDIT | Primitive/Agent | Low | Low–Med | Low | Medium–High | Low | SKIP | Full AUDIT is broader than the evidenced gap; the small chain verifier is proportionate. |
PRIM-AGE-04 | ECONOMY | Primitive/Agent | Low | Low–Med | Low | Medium–High | Low | SKIP | OpenClaw already collects cost/usage; use the missing hard ceiling and autonomy budget pieces, not a second economy stack. |
PRIM-ENG-07 | SANDBOX | Primitive/Engine | Low | Low–Med | Low | Medium–High | Low | SKIP | OpenClaw already owns sandboxing, approvals and execution policy; a second sandbox boundary creates ambiguity. |
SUBP-01 | ARBITRIUM | SubPrimitive | Low | Low–Med | Low | Medium–High | Low | SKIP | Duplicates existing before_tool_call policy/approval boundaries. |
STIER-S-CJ80 | Autonomy Rollback Authority | CrownJewel/S-Tier | Low | Low–Med | Low | Medium–High | Low | SKIP | Generic rollback cannot promise reversal of arbitrary external side effects; keep rollback domain-specific. |
STIER-S-CJ98 | Recursive Capability Discoverer | CrownJewel/S-Tier | Low | Low–Med | Low | Medium–High | Low | SKIP | Twin of BLD-ENG-140 and substantially overlaps OpenClaw Skill Workshop/capability provider discovery. |
BLD-ENG-140 | Recursive Capability Discoverer | Block/Engine | Low | Low–Med | Low | Medium–High | Low | SKIP | OpenClaw already scans history for capability/skill improvement opportunities; no strong enough delta after direct host inspection. |
STIER-S-102 | Real-Time Cost Attribution | CrownJewel/S-Tier | Low | Low–Med | Low | Medium–High | Low | SKIP | OpenClaw already performs detailed cost attribution and reporting; the gap is enforcement, not measurement. |
STIER-S-90 | Forensic Replay Engine | CrownJewel/S-Tier | Low | Low–Med | Low | Medium–High | Low | SKIP | OpenClaw trajectory capture and replay-safe mechanisms already cover the core forensic reconstruction job. |
STIER-S-121 | Telemetry Ingestion Pipeline | CrownJewel/S-Tier | Low | Low–Med | Low | Medium–High | Low | SKIP | Would create a parallel telemetry ingestion plane beside existing diagnostics/audit/trajectory/cost paths. |
STIER-S-106 | Provider Health Monitor | CrownJewel/S-Tier | Low | Low–Med | Low | Medium–High | Low | SKIP | Provider failover/billing classification already exists; no specific evidence justifies a second health monitor. |
STIER-S-138 | Token Optimization Engine | CrownJewel/S-Tier | Low | Low–Med | Low | Medium–High | Low | SKIP | Token and context budgets already exist; no measured token-efficiency failure was supplied. |
PRIM-ORG-02 | SYSTEM | Primitive/Organ | Low | Low–Med | Low | Medium–High | Low | SKIP | A new SYSTEM chassis would replace rather than enhance OpenClaw’s runtime ownership model. |
MENGINE-RESOURCE-GOVERNOR | Resource Governor | MetaEngine | Low | Low–Med | Low | Medium–High | Low | SKIP | Too broad and persistence-bearing for the narrow spend gap; CEILING + Autonomy Budget Manager are more surgical. |
SENGINE-BUDGET-ENGINE | Budget Engine | SubstrateEngine | Low | Low–Med | Low | Medium–High | Low | SKIP | Shared/broad substrate budget engine duplicates host accounting and carries a persistence port; direct budget rows are safer to evaluate. |
SENGINE-PROVIDER-GOVERNANCE-ENGINE | Provider Governance Engine | SubstrateEngine | Low | Low–Med | Low | Medium–High | Low | SKIP | Broad provider governance overlaps mature model/provider/failover infrastructure; use only cost-aware routing as an optional adapter. |
SENGINE-SELF-HEALING-ENGINE | Self-Healing Engine | SubstrateEngine | Low | Low–Med | Low | Medium–High | Low | SKIP | OpenClaw has doctor/repair and workshop rollback mechanisms; no host failure justifies another self-healing control plane. |
LAYER-AI-COST | AI Cost Cap & Token Optimization Layer | AscensionLayer | Low | Low–Med | Low | Medium–High | Low | SKIP | Broad cost layer overlaps existing cost telemetry and the selected direct budget components. |
PROD-AI-COST-OBSERVER | ai-cost-observer | Product | Low | Low–Med | Low | Medium–High | Low | SKIP | OpenClaw already has session cost usage/reporting; another observer is duplicate measurement. |
ENGINE-LEVIATHAN | LEVIATHAN | StoreEngine | Low | Low–Med | Low | Medium–High | Low | SKIP | Deep-memory store duplicates the host memory stack and would create competing persistence semantics. |
ENGINE-OBELISK | OBELISK | StoreEngine | Low | Low–Med | Low | Medium–High | Low | SKIP | Immutable audit fortress is substantially broader than the selected chain stamper and would create another audit store. |
VPACK-DETERMINISTIC-REPLAY-VAULT | Bug Reproduction & Replay Layer | VerticalLayerPack | Low | Low–Med | Low | Medium–High | Low | SKIP | OpenClaw already has rich trajectory and replay-safe paths; use the small regression sandbox only where Workshop needs it. |
VPACK-NOCTURNE-CONSOLIDATION | Memory Consolidation & Pattern Reinforcement Layer | VerticalLayerPack | Low | Low–Med | Low | Medium–High | Low | SKIP | Duplicates native Light/REM/Deep Dreaming and memory consolidation. |
PKG-SDK | @cmpsbl/sdk | Package | Low | Low–Med | Low | Medium–High | Low | SKIP | Generic SDK package does not close an evidenced host gap by itself. |
PKG-SHIELD | @cmpsbl/shield | Package | Low | Low–Med | Low | Medium–High | Low | SKIP | Broad security package overlaps OpenClaw security/plugin policy; runtime behavior drift is the narrower evidenced target. |
Shared-entry handling: broad shared-entry engines were screened but not costed as independent deliverables because the catalog itself marks their entry figures as shared. Direct, isolated rows were preferred whenever they addressed the same gap.
OpenClaw’s own rules govern attachment: keep the core lean, use existing plugin/SDK seams, preserve owner boundaries, avoid parallel fallback/control planes, keep risky actions explicit, preserve memory isolation, and treat live validation as mandatory before landing user-facing behavior. This report therefore recommends adapters/hardening rather than a substrate takeover.
For every recommended component, the Verified string below is quoted verbatim from the supplied catalog. Any T:— or B:— is expanded as Not claimed, exactly as required.
| ID | Component | Verified verbatim | Legend expansion | Mode | Sizing / ports |
|---|---|---|---|---|---|
BLD-ENG-249 | Pipeline Lineage Registry | C:ok I:ok B:— T:— S:scan | C:ok = Compiles (batch tsgo --strict --noEmit); I:ok = Installed with install.mjs into an empty host and type-checked there; B:— = Not claimed; T:— = Not claimed; S:scan = Static unsafe-construct sweep clean; author/kit scan only, not a third-party audit | direct | entry 39 LOC; closure 39 LOC; constraints: none |
BLD-ENG-229 | Provenance Chain Verifier | C:ok I:ok B:— T:— S:scan | C:ok = Compiles (batch tsgo --strict --noEmit); I:ok = Installed with install.mjs into an empty host and type-checked there; B:— = Not claimed; T:— = Not claimed; S:scan = Static unsafe-construct sweep clean; author/kit scan only, not a third-party audit | direct | entry 108 LOC; closure 108 LOC; constraints: none |
SUBP-07 | CEILING | C:ok I:ok B:load T:— S:scan | C:ok = Compiles (batch tsgo --strict --noEmit); I:ok = Installed with install.mjs into an empty host and type-checked there; B:load = Entry imports cleanly and exposes exports; no fabricated-input execution; T:— = Not claimed; S:scan = Static unsafe-construct sweep clean; author/kit scan only, not a third-party audit | direct | entry 414 LOC; closure 861 LOC; constraints: none |
STIER-S-CJ79 | Autonomy Budget Manager | C:ok I:ok B:load T:— S:scan | C:ok = Compiles (batch tsgo --strict --noEmit); I:ok = Installed with install.mjs into an empty host and type-checked there; B:load = Entry imports cleanly and exposes exports; no fabricated-input execution; T:— = Not claimed; S:scan = Static unsafe-construct sweep clean; author/kit scan only, not a third-party audit | direct | entry 104 LOC; closure 104 LOC; constraints: none |
STIER-S-ECH03 | Mutation Rehearsal Engine | C:ok I:ok B:exec T:— S:scan | C:ok = Compiles (batch tsgo --strict --noEmit); I:ok = Installed with install.mjs into an empty host and type-checked there; B:exec = Entry loads and zero-arity exports were executed twice and compared structurally; T:— = Not claimed; S:scan = Static unsafe-construct sweep clean; author/kit scan only, not a third-party audit | direct | entry 102 LOC; closure 102 LOC; constraints: none |
BLD-ENG-060 | Temporal Regression Sandbox | C:ok I:ok B:load T:— S:scan | C:ok = Compiles (batch tsgo --strict --noEmit); I:ok = Installed with install.mjs into an empty host and type-checked there; B:load = Entry imports cleanly and exposes exports; no fabricated-input execution; T:— = Not claimed; S:scan = Static unsafe-construct sweep clean; author/kit scan only, not a third-party audit | direct | entry 57 LOC; closure 57 LOC; constraints: none |
VPACK-SPECTRAL-AUDITOR | Behavior Drift Detection & Quarantine Layer | C:ok I:ok B:load T:— S:scan | C:ok = Compiles (batch tsgo --strict --noEmit); I:ok = Installed with install.mjs into an empty host and type-checked there; B:load = Entry imports cleanly and exposes exports; no fabricated-input execution; T:— = Not claimed; S:scan = Static unsafe-construct sweep clean; author/kit scan only, not a third-party audit | direct | entry 160 LOC; closure 197 LOC; constraints: none |
STIER-S-CJ83 | Behavioral Trust Scoring | C:ok I:ok B:load T:— S:scan | C:ok = Compiles (batch tsgo --strict --noEmit); I:ok = Installed with install.mjs into an empty host and type-checked there; B:load = Entry imports cleanly and exposes exports; no fabricated-input execution; T:— = Not claimed; S:scan = Static unsafe-construct sweep clean; author/kit scan only, not a third-party audit | direct | entry 79 LOC; closure 79 LOC; constraints: none |
BLD-ENG-271 | Dream Generation Gate | C:ok I:ok B:— T:— S:scan | C:ok = Compiles (batch tsgo --strict --noEmit); I:ok = Installed with install.mjs into an empty host and type-checked there; B:— = Not claimed; T:— = Not claimed; S:scan = Static unsafe-construct sweep clean; author/kit scan only, not a third-party audit | direct | entry 47 LOC; closure 47 LOC; constraints: none |
STIER-S-CJ117 | Dream Pool Federation Hub | C:ok I:ok B:load T:— S:scan | C:ok = Compiles (batch tsgo --strict --noEmit); I:ok = Installed with install.mjs into an empty host and type-checked there; B:load = Entry imports cleanly and exposes exports; no fabricated-input execution; T:— = Not claimed; S:scan = Static unsafe-construct sweep clean; author/kit scan only, not a third-party audit | direct | entry 52 LOC; closure 52 LOC; constraints: none |
STIER-S-CJ122 | Dream Cross-Pollination Engine | C:ok I:ok B:load T:— S:scan | C:ok = Compiles (batch tsgo --strict --noEmit); I:ok = Installed with install.mjs into an empty host and type-checked there; B:load = Entry imports cleanly and exposes exports; no fabricated-input execution; T:— = Not claimed; S:scan = Static unsafe-construct sweep clean; author/kit scan only, not a third-party audit | direct | entry 63 LOC; closure 63 LOC; constraints: none |
BLD-ENG-192 | Selective Amnesia Controller | C:ok I:ok B:exec T:— S:scan | C:ok = Compiles (batch tsgo --strict --noEmit); I:ok = Installed with install.mjs into an empty host and type-checked there; B:exec = Entry loads and zero-arity exports were executed twice and compared structurally; T:— = Not claimed; S:scan = Static unsafe-construct sweep clean; author/kit scan only, not a third-party audit | direct | entry 103 LOC; closure 103 LOC; constraints: none |
STIER-S-96 | Cost-Aware Routing Engine | C:ok I:ok B:load T:— S:scan | C:ok = Compiles (batch tsgo --strict --noEmit); I:ok = Installed with install.mjs into an empty host and type-checked there; B:load = Entry imports cleanly and exposes exports; no fabricated-input execution; T:— = Not claimed; S:scan = Static unsafe-construct sweep clean; author/kit scan only, not a third-party audit | direct | entry 56 LOC; closure 56 LOC; constraints: none |
STIER-S-TRT03 | Contract Evolution Mediator | C:ok I:ok B:load T:— S:scan | C:ok = Compiles (batch tsgo --strict --noEmit); I:ok = Installed with install.mjs into an empty host and type-checked there; B:load = Entry imports cleanly and exposes exports; no fabricated-input execution; T:— = Not claimed; S:scan = Static unsafe-construct sweep clean; author/kit scan only, not a third-party audit | direct | entry 153 LOC; closure 153 LOC; constraints: none |
Security ceiling: S:scan is an author/kit deterministic static sweep, not an independent security audit. Host-specific adversarial tests and review remain required before any security-sensitive integration.
There are no REPLACE findings. OpenClaw’s native systems are too mature and product-specific for broad substitution. The recommended plan is hardening and composition only.
[HARDEN] CMPSBL BLD-ENG-249 "Pipeline Lineage Registry" -> host: src/agents/agent-tools.before-tool-call.wrapper.ts (737 LOC) Why: OpenClaw explicitly documents that tool/web content origin is not propagated through owner-turn assistant text; lineage is the missing carrier into later memory decisions. Uses: `PipelineLineageRecord`, `PipelineLineageRegistry` Saves: ~0.5–1 engineer-day, basis = 39 entry LOC + 4 concerns (origin propagation, monotonic trust downgrade, stage hashes, legacy defaults) Verified: C:ok I:ok B:— T:— S:scan Mode: direct Ports to implement: none
[HARDEN] CMPSBL BLD-ENG-229 "Provenance Chain Verifier" -> host: src/audit/audit-event-store.ts (739 LOC) Why: OpenClaw has rich audit/trajectory data but the inspected event stores do not expose a prev-hash append chain; this adds detectable post-write tamper evidence without replacing those stores. Uses: `ProvenanceLink`, `ProvenanceVerdict`, `ProvenanceChainVerifier` Saves: ~1–3 engineer-days, basis = 108 entry LOC + 4 concerns (canonicalization, prev-hash linkage, verification, checkpoint retention) Verified: C:ok I:ok B:— T:— S:scan Mode: direct Ports to implement: none
[HARDEN] CMPSBL SUBP-07 "CEILING" -> host: src/config/sessions/goals.ts (358 LOC) Why: OpenClaw has token budgets and provider-specific budget surfaces, but no single core mechanism meters cents/tokens/calls against one declared provider-agnostic ceiling and refuses the crossing call. Uses: `CeilingOptions`, `Ceiling`, `createCeiling`, `CeilingSubject`, `ceilingContract`, `METERS`, `Meter`, `MeterMap`, `CeilingSpec` +5 more Saves: ~2–4 engineer-days, basis = 414 entry LOC + 5 concerns (windows, atomic refusal, multi-unit metering, remaining budget, cents) Verified: C:ok I:ok B:load T:— S:scan Mode: direct Ports to implement: none
[HARDEN] CMPSBL STIER-S-CJ79 "Autonomy Budget Manager" -> host: src/infra/session-cost-usage-reporting.ts (508 LOC) Why: OpenClaw measures spend but lacks one provider-agnostic autonomy budget authority with hard limits plus approval thresholds; pair it with existing usage telemetry rather than another accounting plane. Uses: `AutonomyBudget`, `BudgetAlert`, `SpendRequest`, `SpendResult`, `AutonomyBudgetManager` Saves: ~1–3 engineer-days, basis = 104 entry LOC + 4 concerns (allocation, thresholds, realtime tracking, approval state) Verified: C:ok I:ok B:load T:— S:scan Mode: direct Ports to implement: none
[COMBINE] CMPSBL STIER-S-ECH03 "Mutation Rehearsal Engine" -> host: src/skills/workshop/auto-apply.ts (45 LOC) Why: Skill Workshop can auto-apply scanner-approved learned changes; rehearsal adds a behavioral gate before a mutation reaches the live skill set. Uses: `RehearsalInput`, `RehearsalResult`, `RehearsalStats`, `createMutationRehearsalEngine` Saves: ~1–3 engineer-days, basis = 102 entry LOC + 4 concerns (rehearsal state, isolation, comparison, verdict) Verified: C:ok I:ok B:exec T:— S:scan Mode: direct Ports to implement: none
[COMBINE] CMPSBL BLD-ENG-060 "Temporal Regression Sandbox" -> host: src/trajectory/types.ts (73 LOC) Why: OpenClaw already records trajectories and benchmark scenarios; this supplies a compact deterministic replay/regression mechanism for proposed mutations. Uses: `StateSnapshot`, `RegressionResult`, `binarySearchRegression` Saves: ~0.5–1 engineer-day, basis = 57 entry LOC + 3 concerns (snapshots, replay ordering, regression localization) Verified: C:ok I:ok B:load T:— S:scan Mode: direct Ports to implement: none
[HARDEN] CMPSBL VPACK-SPECTRAL-AUDITOR "Behavior Drift Detection & Quarantine Layer" -> host: src/plugins/capability-provider-runtime.ts (695 LOC) Why: OpenClaw already verifies plugin payloads and can quarantine invalid plugins at boot; its maturity ledger still rates Plugin Trust 68/100 (Alpha, not LTS). Continuous post-load behavior fingerprints address a different lifecycle gap. Uses: `cmpsbl_spec_spectrum`, `cmpsbl_spec_anomaly`, `cmpsbl_spec_receipt`, `cmpsbl_spec_citadel`, `SPECTRAL_AUDITOR_LAYER` Saves: ~2–5 engineer-days, basis = 160 entry LOC + 5 concerns (fingerprint, baseline, drift score, anomaly receipt, quarantine decision) Verified: C:ok I:ok B:load T:— S:scan Mode: direct Ports to implement: none
[COMBINE] CMPSBL STIER-S-CJ83 "Behavioral Trust Scoring" -> host: src/plugins/runtime-degraded-state.ts (133 LOC) Why: Behavioral trust scoring turns plugin/capability observations into graduated step-up verification or restricted autonomy; it complements rather than replaces existing install provenance. Uses: `BehaviorEvent`, `TrustProfile`, `BehavioralTrustScoring` Saves: ~1–3 engineer-days, basis = 79 entry LOC + 4 concerns (event scoring, trust profile, thresholds, decay/update) Verified: C:ok I:ok B:load T:— S:scan Mode: direct Ports to implement: none
[HARDEN] CMPSBL BLD-ENG-271 "Dream Generation Gate" -> host: extensions/memory-core/src/dreaming-consolidation.ts (664 LOC) Why: OpenClaw Dreaming has strong provenance and rewrite-loss controls but no explicit synthesis-generation depth counter was found; this is a narrow semantic-drift brake for derived/cross-agent dream material. Uses: `DreamCandidate`, `MAX_GENERATION`, `memoryWeight`, `sortBySynthesisPriority`, `filterDreamCandidates`, `rankDreamCandidates` Saves: ~hours to 1 engineer-day, basis = 47 entry LOC + 3 concerns (generation metadata, depth cap, ranking) Verified: C:ok I:ok B:— T:— S:scan Mode: direct Ports to implement: none
[COMBINE] CMPSBL STIER-S-CJ117 "Dream Pool Federation Hub" -> host: extensions/memory-core/src/dreaming.ts (1172 LOC) Why: OpenClaw Dreaming is workspace/agent aware, but no mechanism was found that federates and novelty-ranks derived dream artifacts across independent agent dream cycles. Uses: `FederatedPattern`, `DreamPoolFederation` Saves: ~hours to 1 engineer-day, basis = 52 entry LOC + 4 concerns (merge, dedupe, novelty, relevance) Verified: C:ok I:ok B:load T:— S:scan Mode: direct Ports to implement: none
[COMBINE] CMPSBL STIER-S-CJ122 "Dream Cross-Pollination Engine" -> host: extensions/memory-core/src/dreaming.ts (1172 LOC) Why: Adds provenance-bearing cross-pollination between independent dream cycles; use only derived artifacts, never raw cross-agent transcript access. Uses: `DreamInsight`, `DreamCrossPollination` Saves: ~hours to 1 engineer-day, basis = 63 entry LOC + 4 concerns (pollination, lineage, domain boundary, attribution) Verified: C:ok I:ok B:load T:— S:scan Mode: direct Ports to implement: none
[HARDEN] CMPSBL BLD-ENG-192 "Selective Amnesia Controller" -> host: extensions/memory-core/src/short-term-promotion-record.ts (524 LOC) Why: OpenClaw has real deletion, including LanceDB memory_forget with authoritative delete receipts, but no inspected coordinator spans curated, episodic, indexed, wiki and dream-derived representations. Uses: `ErasureRequest`, `ErasureProof`, `AmnesiaStats`, `createSelectiveAmnesiaController` Saves: ~1–3 engineer-days, basis = 103 entry LOC + 4 concerns (targeting, proof, rollback protection, preservation) Verified: C:ok I:ok B:exec T:— S:scan Mode: direct Ports to implement: none
[COMBINE] CMPSBL STIER-S-96 "Cost-Aware Routing Engine" -> host: src/agents/model-selection-shared.ts (1885 LOC) Why: Pairs with a hard spend boundary so optional work can step down to an allowed cheaper provider before blocking; must never silently downgrade quality-sensitive/security runs. Uses: `createCostRouter` Saves: ~hours to 1 engineer-day, basis = 56 entry LOC + 4 concerns (spend pressure, provider choice, floor, fallback) Verified: C:ok I:ok B:load T:— S:scan Mode: direct Ports to implement: none
[HARDEN] CMPSBL STIER-S-TRT03 "Contract Evolution Mediator" -> host: src/plugins/capability-provider-runtime.ts (695 LOC) Why: OpenClaw has strong typed plugin contracts, but no single inspected mediator owns compatible contract upgrades/deprecation across plugin capability versions; useful only at that boundary, not as a new global schema system. Uses: `ContractVersion`, `Contract`, `ContractEvolutionMediator` Saves: ~1–4 engineer-days, basis = 153 entry LOC + 5 concerns (versioning, compatibility, deprecation, approval, rollback) Verified: C:ok I:ok B:load T:— S:scan Mode: direct Ports to implement: none
| Gap | Host evidence | What addresses it |
|---|---|---|
| Owner-turn content-origin taint | docs/concepts/memory-architecture.md:107–111 explicitly says the runtime does not propagate content origin within an owner turn. | BLD-ENG-249 + BLD-ENG-229. |
| Provider-agnostic hard autonomous spend | Token budgets and cost telemetry exist; Claude CLI accepts --max-budget-usd, but no single core dollar ceiling was found across providers. | SUBP-07 + STIER-S-CJ79; STIER-S-96 only for optional graceful degradation. |
| Behavioral gate before learned skill promotion | Skill Workshop scans and can apply proposals; a scanner cannot establish behavioral non-regression. | STIER-S-ECH03 + BLD-ENG-060. |
| Continuous post-load plugin behavior drift | Install scanning and boot verification/quarantine exist; Plugin Trust is 68 Alpha/not LTS; no continuous plugin behavior fingerprint/drift loop was found. | VPACK-SPECTRAL-AUDITOR + STIER-S-CJ83. |
| Synthesis-generation recursion ceiling | Native Dreaming has provenance/source refs and rewrite-loss protection; no explicit synthesis generation-depth counter was found. | BLD-ENG-271. |
| Cross-agent derived dream exchange | Native Dreaming is agent/workspace aware but no derived-artifact federation/pollination layer was found. | STIER-S-CJ117 + STIER-S-CJ122 + BLD-ENG-271. |
| Cross-store erasure proof | LanceDB memory_forget has authoritative receipts, but no coordinator was found spanning the independent memory tiers/derived artifacts. | BLD-ENG-192 + host store receipts/lineage. |
| Plugin contract evolution mediation | Typed SDK/contracts exist; no single stateful mediator for compatible upgrade/deprecation across capability contracts was identified. | STIER-S-TRT03, only if real contract-version pressure appears. |
Honest total: 14 engineered rows survive as useful ingredients; 8 are strong enough to prioritize in the first 90 days, while dream federation and contract mediation remain conditional.
Assumption basis: senior TypeScript/agent-infrastructure/security engineering at $120–$180/hour, 8 hours/day, 40 hours/week. These are equivalent-capability ranges; they are not LOC multiplied by rate. Discovery Vault rows are excluded completely.
| Bucket | Engineering | USD equivalent | Basis |
|---|---|---|---|
| A — cost avoided | 3–6 engineer-weeks | $14,400–$43,200 | Content-origin taint, provider-neutral spend enforcement, mutation replay gate, plugin runtime drift hardening: all map to evidenced host gaps or maturity pressure. |
| B — capability acquisition | 2–5 engineer-weeks | $9,600–$36,000 | Cross-store erasure coordination, synthesis-depth guard, derived dream federation, optional contract mediator: useful but not clearly inevitable work. Kept separate from A. |
| C — portfolio/future reuse | 0 claimed | $0 | One OpenClaw monorepo/product evaluated; no separate product multiplier invented. |
| Integration + host security/QA | 4–8 engineer-weeks | $19,200–$57,600 | Adapters, migrations/defaults, test harnesses, privacy review, provider coverage, observe-only burn-in and failure handling. |
| Licence | one time | $499 | Authoritative CMPSBL perpetual licence; no recurring fee or expiry. |
A-only net after integration + licence: approximately -$43,699 to +$23,501. This is the conservative “work we might have to build anyway” view.
A+B combined counterfactual net: approximately -$34,099 to +$59,501, while keeping B conceptually separate from avoided cost. That upper range matters only if OpenClaw actually wants the new capabilities.
Fee-only break-even: $499 equals about 2.8–4.2 senior-engineering hours at the stated rate. That does not mean the implementation breaks even in half a day; integration dominates the real cost.
At the stated price: good trade only if at least two of the first four composites are funded. Bad trade if the buyer expects a turnkey drop-in or buys primarily for generic memory/DREAM/agency features already present in OpenClaw.
| Window | Build | Gate before continuing |
|---|---|---|
| Days 1–15 | Tool-Origin Taint Token diagnostics + CEILING shadow decisions over existing cost telemetry. | Origin never upgrades trust without fresh evidence; budget shadow decisions reconcile with existing cost totals within an agreed tolerance. |
| Days 16–30 | Origin-Taint Memory Firewall admission + selected hard budget thresholds/approval flow. | Known untrusted tool-derived assistant text cannot promote solely because the owner turn is trusted; no double charging/reservation leak; pinned critical runs never silently downgrade. |
| Days 31–45 | Skill Mutation Replay Gate + Runtime Plugin Immune Gate in observe-only mode. | Seeded bad skill mutation regresses a benchmark and is quarantined; plugin baseline collection produces no automatic blocks yet. |
| Days 46–60 | Plugin behavior drift step-up/soft quarantine + Trajectory Chain Stamper. | Known drift fixture triggers step-up/quarantine; stable plugin fixture remains active; modified chain fixture is detected at the correct link. |
| Days 61–75 | Cross-store erasure dry-run/receipt + Dream Recursion Brake. | LanceDB receipt is reused rather than replaced; derived affected artifacts are previewed; generation-depth fixture rejects over-depth synthesis. |
| Days 76–90 | Only then: opt-in Federated Dream Exchange prototype; Contract Evolution Mediator only if an actual plugin-version migration case exists. | No raw cross-agent transcript access; every federated artifact carries source/pollination lineage; OpenClaw native promotion remains final authority. |
Wrong first move: installing full PRIM-ENG-01 DREAM or replacing OpenClaw memory. The second pass confirms that would spend the most effort where the host already has the most capability.
Capacity assumption: one senior engineer can sequence the first two lanes; two engineers are preferable once plugin drift + destructive erasure testing overlap.
All 6,479 / 6,479 Discovery Vault index rows were screened. The 288 agency-v1 rows received a dedicated second pass because OpenClaw is agent-native; the remaining 6,191 regular rows were screened separately against the same host gaps.
Every row below is PROVISIONAL — index row only, source not read (pre-purchase). No API surface, LOC, verification verdict, effort saving or money value is claimed for these rows, and none appears in Step 6 economics.
| Discovery ID | Index name | Index capability | Index chain | Tags | Why inspect for OpenClaw | Next step |
|---|---|---|---|---|---|---|
vdisc-2491e52c | TOOLKIT-Led Multi-Primitive capability matching Engine | TOOLKIT orchestrates DELEGATE, MANDATE, and SENTINEL into a coordinated capability matching workflow with real-time adaptation. | TOOLKIT -> DELEGATE -> MANDATE -> SENTINEL | api-capability agency-v1 A | Agent vertical: capability-to-agent/tool matching may complement OpenClaw’s provider/skill registry if the source implements a materially different runtime matcher. | Read source after purchase; verify API, behavior, threat model, tests and overlap before adoption. |
vdisc-5448da64 | TOOLKIT-ANCHOR Collaborative drift prevention Engine | TOOLKIT and ANCHOR collaborate with ROGUE oversight to deliver automated drift prevention. | TOOLKIT -> ANCHOR -> ROGUE | plugin-drift agency-v1 B | Agent vertical: plugin drift prevention directly intersects the Plugin Trust maturity gap; inspect before implementing Spectral integration to avoid duplicating a stronger Discovery design. | Read source after purchase; verify API, behavior, threat model, tests and overlap before adoption. |
vdisc-736892f2 | SCHOLAR-Led Multi-Primitive error recovery Engine | SCHOLAR orchestrates OPERATOR, UPLINK, and SCRIBE into a coordinated error recovery workflow with real-time adaptation. | SCHOLAR -> OPERATOR -> UPLINK -> SCRIBE | knowledge-error agency-v1 A | Agent vertical: knowledge-informed error recovery could complement existing repair flows if it adds bounded evidence-driven recovery rather than another self-healing controller. | Read source after purchase; verify API, behavior, threat model, tests and overlap before adoption. |
vdisc-350d202d | Unified SENTINEL-ANCHOR Fabric | Weaves SENTINEL and ANCHOR capabilities into a single operational fabric for coordinated threshold alerting and baseline preservation. | SENTINEL -> ANCHOR | threshold-baseline agency-v1 B | Agent vertical: threshold alerting + baseline preservation may provide a lighter alternative ingredient for runtime plugin behavior monitoring. | Read source after purchase; verify API, behavior, threat model, tests and overlap before adoption. |
vdisc-43423a00 | ANCHOR-Enhanced plugin orchestration Engine | Augments plugin orchestration capabilities with ANCHOR intelligence, while TOOLKIT ensures quality and consistency of outputs. | ANCHOR -> TOOLKIT | baseline-plugin agency-v1 B | Agent vertical: plugin orchestration with baseline anchoring may be relevant only if it respects OpenClaw’s manifest/SDK ownership boundaries. | Read source after purchase; verify API, behavior, threat model, tests and overlap before adoption. |
disc-09a80728 | Mutation Impact Simulator | Monte Carlo simulation of mutation outcomes across system state space | EVOLUTION -> CORTEX -> VISION | evolution primary enterprise | Regular Discovery pool: mutation impact simulation is a natural post-purchase source read for Skill Workshop regression risk. | Read source after purchase; verify API, behavior, threat model, tests and overlap before adoption. |
disc-35936e87 | Bayesian Dispatcher | Attributes cost streams while enforcesing policy constraints across the substrate. | DISPATCH -> ECONOMY -> GOVERNANCE -> RELAY -> RENDER -> TEMPEST -> UPLINK | routing primary cmpsbl-only | Regular Discovery pool: cost-stream attribution + policy routing could be a richer alternative to the direct cost-aware router; index wording alone is insufficient to know. | Read source after purchase; verify API, behavior, threat model, tests and overlap before adoption. |
Agent-vertical signal: the strongest rows are not generic “more agents.” They cluster around capability matching, plugin drift/baseline preservation and knowledge-informed recovery — places where an agent-native host can consume a specialized engine without replacing its orchestration substrate.
Regular-pool signal: Mutation Impact Simulator and Bayesian Dispatcher are the only two general rows retained because they map directly to the Workshop regression and cost-policy themes. Everything else was either lower-signal, duplicative, or too vague at index-only depth.
A full second inventory/search pass was run after the first draft. The following corrections are explicit; they were not silently absorbed:
| Initial draft / risk | Second-pass evidence | Final correction / estimate impact |
|---|---|---|
| Full CMPSBL DREAM was initially carried as an optional composite ingredient. | OpenClaw native Dreaming has Light/REM/Deep phases, provenance gates, source refs, guarded rewrites, preimages, Dream Diary and workspace/agent sweep logic. | Moved PRIM-ENG-01 DREAM to SKIP. Dream federation now uses only CJ117 + CJ122 + BLD-ENG-271 around native Dreaming. Prototype effort drops from roughly 2–4 engineer-weeks to 5–8 engineer-days before production privacy review. |
| A broad early claim could be read as “OpenClaw has no hard dollar budget anywhere.” | src/node-host/invoke-agent-cli-claude-params.ts:44 explicitly forwards Claude CLI --max-budget-usd; cost telemetry and token budgets also exist. | Claim narrowed to no single inspected provider-agnostic core dollar ceiling. CEILING/CJ79 remain recommended for cross-provider authority, not as the first budget feature in the repo. |
| Early erasure wording risked understating existing delete semantics. | extensions/memory-lancedb ships memory_forget; tests explicitly assert authoritative delete receipts. | Gap narrowed to a cross-store/derived-tier coordinator. Final erasure effort reduced to 4–8 days and the design reuses store-owned receipts. |
| Plugin opportunity was initially framed around quarantine in general. | src/plugins/runtime-degraded-state.ts already provides boot-stable quarantine for verification failures; install scanning is extensive. Plugin Trust remains 68 Alpha/not LTS. | Recommendation narrowed to continuous post-load behavioral fingerprint/drift that feeds existing step-up/quarantine surfaces. This is a new second-pass recommendation: VPACK-SPECTRAL-AUDITOR + CJ83. |
| Dream federation could have been mistaken for missing multi-agent awareness. | Dreaming workspace resolution tracks multiple agent IDs and deterministically selects a workspace owner; Honcho also advertises multi-agent awareness. | Final claim is only about derived dream artifact cross-pollination across independent dream cycles. No claim that OpenClaw lacks multi-agent memory or agent-aware Dreaming. |
| Recursive Capability Discoverer was initially carried. | Skill Workshop already performs persistent history scanning/review and OpenClaw has explicit capability-provider discovery. | BLD-ENG-140/CJ98 moved to SKIP; agent-specific Discovery capability-matching rows remain provisional source reads only. |
| Catalog/Discovery breadth needed proof, not a few hand-picked IDs. | All 1,162 engineered rows parsed across all 21 classes; deterministic concern screen = 578 unique rows. All 6,479 Discovery index rows screened; all 288 agency-v1 rows separately revisited. | Coverage numbers in Scoreboard/Step 1/Discovery updated. Seven Discovery rows survive only as provisional post-purchase reads. |
| Scoped repository rules had to be respected even for evaluation. | Root plus relevant src/agents, src/plugins, extensions and docs AGENTS rules were read during the evaluation. | No host source changes were made. Final repository delta is exactly the HTML report + Markdown twin. |
Estimate change summary: removing full DREAM reduces the speculative Dream integration burden; recognizing existing LanceDB receipts reduces erasure work; adding plugin behavior drift adds a new 5–9 day hardening lane. The Step 6 ranges were recomputed after those changes rather than carried over from the first draft.
be2f7c6a3df29a423e9623dbde1d44ca3e90a078 is taken from the supplied archive filename; Git metadata is absent, so it was not independently verified.T:— means Not claimed; no recommendation is treated as having shipped coverage.1,162 engineered components plus the separate Discovery Vault. CMPSBL Perpetual Edition License 1.0: $499 USD one time, perpetual; no recurring fee and no expiry. The Open Impact twin described in this report is a separate licensor grant of an identical implemented enhancement package to the selected nonprofit. Offline delivery; no account or telemetry required by the library.