This project is a version-controlled memory for structured thought. Ideas move through folders as confidence in them grows, a small set of invariants keeps the corpus greppable, a hard membrane separates private deliberation from what gets published to the world, and every commit is critiqued back to you so the corpus reviews itself. This page is a live map of that machinery — click any part to open it.
Nothing is meant to sit still. A file's folder is a claim about how sure we are — and when confidence changes, the file is promoted, not left behind. Everything is steered from a single north star.
The whole repo is private. Exactly one folder — www/ — is served to the world at cnvrg.ai. That single fact is the entire privacy model, so it's guarded hard: writing anything into www/ is publishing.
Editing is only half of it. Every commit is an event: the changed thought files are captured, an agent critiques them, and the findings collect where you can act on them — so the pile of Markdown reviews itself instead of drifting. Nothing runs on a timer; it all reacts to commits and commands.
A post-commit hook diffs the commit and enqueues any changed ideas/ hypotheses/ conclusions/ docs/ file. Editor-agnostic — vim or agent, both flow through the commit.
A read-only critic reviews each queued file in parallel — one per file, in its folder's terms (dup, gap, contradiction, promotion, stale) — and the findings are reconciled into a sidecar in feedback/. Critique-only: it never edits the corpus or www/.
Findings coalesce into one ranked list. Each is a checkbox you tick when resolved — state lives in the file, as memory. Re-critique supersedes a file's open findings, so the list converges as issues get fixed instead of piling up. You stay the judge; the loop only ever surfaces.
These aren't style preferences — they're what makes the pile of Markdown behave like a queryable memory instead of a junk drawer. Break one and it's a bug to fix, not a note to leave.
Every file's status: frontmatter equals its folder: idea→ideas/, hypothesis→hypotheses/, and so on. A "concluded" file sitting in ideas/ is a defect. This is what lets the index be verified rather than hand-synced.
There is no index file. The set of descriptive, lowercase-hyphenated filenames is the index. Each name must summarize its contents well enough to judge relevance without opening the file.
Each thought file opens with YAML frontmatter: status, date (absolute), source. Revise a file materially and you bump its date.
When confidence changes, move the file forward. Resolving a hypothesis means writing the conclusion, reducing the hypothesis to a redirect stub, and moving that stub to resolved/ — in the same beat.
Renames and promotions rewrite inbound [links] in the same commit. Nothing is allowed to dangle or go stale between commits.
Don't lose the reasoning when a context window ends. Conclusions carry a compressed "reasoning & rejected alternatives" so the why — and the why-not — survives after the stub is reduced.
Frontmatter is the machine-readable half; the filename is the human-readable half. Together they make a file findable, place-able, and auditable — node tools/hygiene.mjs checks all of it.
--- status: concluded # must match the folder (INV-01) date: 2026-07-01 # absolute — bumped on material revision source: "conversation" # or a migrated-from note / external URL --- # Automating a task's core doesn't delete the human work — it # redistributes it across more people and roles. The compressed # claim lives here; links to related thought use [[wikilinks]].
node tools/hygiene.mjs; judgment pass via the /hygiene command.feedback/; review with /punchlist.