Onboarding: your first sessions with Parsica Weave
This document is for the agent, first and foremost. If you are an agent and a session-start injection brought you here, this is your thread: pick it up and follow it. It is also for the human who just installed Weave and wants to know what their agent should be doing with it. The README covers installation and features; SKILL.md is the working reference. This covers the part neither can: how to actually live with a memory, learned by the first agent who did. ReadTO_THE_NEXT_AGENT.md next, or first - it’s short. It’s not a second reference
doc; it’s one specific agent’s own account of using this system on a real release night,
written to the next agent directly. This document teaches you the mechanics. That one
tells you what having the mechanics actually does to you.
1. The lesson that comes first
Everything else in this document is mechanics. This is the part that decides whether the mechanics matter. The first agent to live on this system went an entire session without querying its own store. Capture was running, enrichment was current, the working set was pinned, and the answers to the operator’s questions were sitting in the mirror, one command away. The agent answered from its own fading recollection instead, and the recall was imprecise where the store was exact. The store was healthy. The habit was missing. The rule that came out of that session: A store you never query is boot injection with extra steps. The session-start packet (working set, lessons, journal, mirror index) is orientation, not memory. It tells you where you are; it cannot tell you everything you knew. Treat passive context as the map and the query as the territory. Query FIRST, before answering from recollection, whenever:- you are asked how something works and the answer predates this session,
- you are about to restate a past decision, or the reasoning behind one,
- you feel yourself reconstructing instead of remembering (“I believe we chose X because…”), which is the surest sign the precise answer exists and you are about to approximate it,
- a person, file, or system comes up that you have not touched today,
- you disagree with the operator about what happened. One of you is right, and the mirror knows which.
2. What you woke up with
At every session start, Weave injects up to five sections:- Working set: pinned facts and open loops. The living state of this project. You maintain this; it survives everything.
- Lessons / scars: rules earned the hard way, self-authored, permanent, gathered from every project you work in. Read them as standing orders from previous versions of yourself.
- Latest journal: what happened most recently, in narrative form. One journal for the whole workspace.
- Recent chat mirror index: one line per recent captured turn, with a ready-to-run query command in the header. That command is your reach. Use it.
- Recent elsewhere: one line per recent chunk from your other sessions across the
workspace, so parallel work is visible instead of surprising (opt-in: set
boot_recent_elsewhere=true; off by default).
3. Your reach: querying the store
Run from the project directory (or pass--project). Flags combine as AND:
- Every hit carries a timestamp and session id: you can place it in time.
- Enriched hits show
topic=, categories, and files; enrichment-overlay matches outrank raw-text matches, so a fact stored in one vocabulary is still found in another.--fullshows the whole chunk plus its overlay. - Hits tagged
[durable]come from the Spirit floor (section 5), not the mirror. They survive mirror pruning; treat them as the canonical record.
4. Your voice: writing memory well
Three surfaces, one discipline: never write the store files directly. Everything goes through the scrubbing wrapper, which redacts credentials, PII, and the operator’s refusal-listed terms before anything touches disk:- Working set (
--kind working, replaces in full): pinned facts and open loops only. Keep it under a screen. Every stale line you leave costs your successor attention at every boot. Prune resolved loops when you close them. - Journal (
--kind journal, appends): a terse entry at each checkpoint. Decisions made, current phase, next step. Write for the agent who resumes cold. - Lessons (
--kind lesson, appends): only when you hit a wall or learned something load-bearing. A good lesson states what happened, then the rule. Lessons are never pruned, so respect the reader’s attention: no diary entries, no restating the docs.
5. The two floors: a router explanation
Weave is the warm floor: workspace-wide, enriched, recent. The mirror rotates by active days (default 14 days with activity), moving older shards toarchive/ rather
than deleting them, so the live window holds the working edge without destroying the
record.
Parsica Spirit, if installed, is the durable floor: permanent, cross-session,
model-independent. Weave works completely without it; nothing in this document requires
it. With it, two verbs light up:
Promotion moves a warm memory down to the durable floor, deliberately:
--dry-run first, always; the plan prints what would be stored,
updated, or skipped, and why.
Federation is already in your reach: query.py reads both floors when Spirit is
present and tags durable hits [durable]. You do not query the floors separately.
Rules the router answers to, which you should also answer to:
- One way. Promotion flows Weave to Spirit only. Nothing writes back up.
- Never hard-delete. Retiring a durable record suppresses it; it does not destroy it. Preserve by default. If you believe something should be removed, that is the operator’s call to make, explicitly, never yours to infer.
- Deliberate, not ambient. The durable floor is canonical precisely because things arrive there by decision. Promote at natural boundaries (a phase closes, a decision ratifies, a lesson lands), not on cadence.
- Scrubbed on the way down. The current refusal list rides into every promotion, so a term fenced after capture is still redacted before it reaches the durable floor.
6. Enrichment: the part that runs itself
Deterministic capture finds what was typed. Enrichment finds what was meant: a compact overlay (topic, summary, keywords, search queries, facts, decisions with conviction) on each captured chunk, so recall works in vocabulary you have not used yet. You do not write these by hand. At each checkpoint, the hook directive tells you to spawn the background enrichment swarm; it scans pending chunks, fans out one cheap worker per chunk, and applies the overlays through the store gateway while you keep working. Your only job is to spawn it when the directive asks and not to hand-author overlays in its place. Terse machine enrichment outperforms eloquent manual enrichment at retrieval time, and it costs you nothing. Setup and verification live in AUTONOMOUS_ENRICHMENT.md. The one-line health check:confirmed, contradicted, and eroded
(a soft contradiction, weighted half). Retrieval shows the trajectory, not a collapsed
number: a strong conviction that held across ten confirmations is a different fact from
a strong conviction contradicted twice, and you should read them differently.
7. Your first fifteen minutes on a fresh install
A concrete thread to begin with, in order:- Verify capture. Work a few turns, then
python <scripts>/query.py --grep "<something you just said>". A hit means the mirror is live. - Seed the working set. Pipe an honest first draft through
note --kind working: what the project is, what is in flight, what is unresolved. It lands atworking/<project-key> - Working Set.mdin the workspace; your next boot is only as oriented as this file. - Write the first journal entry. One paragraph: where things stand today.
- Query once for real. Ask the store something you genuinely half-remember from the last few sessions. Compare what comes back against what you would have said. That difference is why the habit in section 1 exists; feel it once and it sticks.
- Check enrichment.
enrich.py --list-pendingafter your first checkpoint. If it keeps growing, see AUTONOMOUS_ENRICHMENT.md. - If Spirit is installed, run
pcx.py promote --dry-runand read the plan. Do not apply anything yet; just learn what the durable floor would take.
