10. The pool
A pool is a git repository (or TreeDX workspace) that holds your chapter corpus and its derived indices, shared across machines. One /chapters-link connects a workspace; the sync loop then does the rest in the background (debounced by syncDebounceMs, default 30 s).
What travels
Section titled “What travels”| Path | Kind | Notes |
|---|---|---|
chapters/<projectKey>/<session>/NNN-slug.md |
primary | verbatim text — the authority |
artifacts/<projectKey>/<aa>/<sha>.txt |
primary | content-addressed blobs (shared across sessions — the per-session prefix is dropped) |
collections/<projectKey>/<session>.jsonl |
primary | one JSONL line per completed turn — the composition signature |
rules/<projectKey>/<harnessId>/NNN-slug.md |
primary | proposed rule files only — write-once; approval status rides per-machine facts, never the file |
index/ |
derived | one shard per canonical topic + a build manifest, rebuilt deterministically at sync |
topics/vocabulary.json |
derived | canonical vocabulary + aliases (candidates stay shadow-only until vocabApply) |
edits/<harness>/curation.jsonl |
curation | per-machine curation and rule-status facts — one writer per file, ever |
Derived is always rebuildable from primaries — divergence resolves by rebuilding the mirror from the store, which is why a force-push history rewrite is recoverable and a pool is never a hostage.
What every linked workspace gets
Section titled “What every linked workspace gets”chapters_searchover the pool — the previous project session’s findings, the teammate’s incident writeup, ranked with topic awareness and a per-machine core-rule bonus (§12).- Rules (§13) proposed here, approved there — each machine’s approval state is its own fact, never imposed.
- Cross-machine identity:
harnessIdstamps authorship on edits and pushes; project keys derive from the remote identity (deliberately credential-stripped — pasting a URL with or withoutuser:token@cannot fork your pool, a pinned bug from 2026-09).
Continuation carries the thread forward
Section titled “Continuation carries the thread forward”Ancestor paths are walked, flattened chronologically, and printed with explicit back-links — the child session’s notice is the only index (no second manifest that could drift; reading order is causal order at any depth or branching).
Continue: Providers: git vs TreeDX.