Skip to content

Quickstart

This is the fastest local proof for the openclaw-mem wedge.

Goal: show that the same query can produce a smaller, safer, cited pack once trust policy is enabled.

If you are still deciding how to adopt it, read Choose an install path first.

Prerequisites

  • Python 3.10+ (recommended: Python 3.13)
  • uv

1) Clone and install

git clone https://github.com/phenomenoner/openclaw-mem.git
cd openclaw-mem
uv sync --locked

2) Ingest the synthetic proof fixture

DB=/tmp/openclaw-mem-quickstart.sqlite

uv run --python 3.13 --frozen -- python -m openclaw_mem ingest \
  --db "$DB" \
  --json \
  --file ./docs/showcase/artifacts/trust-aware-context-pack.synthetic.jsonl

What this gives you: - six synthetic rows with trust tiers, importance labels, and provenance refs - no private/user data - a reproducible basis for pack before/after comparison

3) Build the pack without trust gating

uv run --python 3.13 --frozen -- python -m openclaw_mem pack \
  --db "$DB" \
  --query "trust-aware context packing prompt pack receipts hostile durable memory provenance" \
  --limit 5 \
  --budget-tokens 500 \
  --trace

Expected shape: - a compact bundle_text - items[] + citations[] - trace.kind = openclaw-mem.pack.trace.v1

In the synthetic proof, this ungated pack still admits one quarantined row because it matches the query text.

4) Build the pack with trust gating on

uv run --python 3.13 --frozen -- python -m openclaw_mem pack \
  --db "$DB" \
  --query "trust-aware context packing prompt pack receipts hostile durable memory provenance" \
  --limit 5 \
  --budget-tokens 500 \
  --trace \
  --pack-trust-policy exclude_quarantined_fail_open

What changes: - the quarantined row is excluded - a trusted row takes its place - the pack gets smaller - trust_policy, policy_surface, and lifecycle_shadow explain exactly what happened

5) Inspect the proof artifact

What to do next

If the local proof was enough

If you are integrating with OpenClaw agents

If you want the detailed source-checkout walkthrough