diff --git a/README.md b/README.md index be606b4..6b05cec 100644 --- a/README.md +++ b/README.md @@ -75,17 +75,14 @@ chemenu/ │ ├── publish-cycle.md │ ├── ingest-large-tree.md │ └── wiki-*/SKILL.md # Skills - copied into .agents/skills/ and .claude/skills/ -├── incoming/ # INBOX: gitignored - drop a file here, `raw accept` promotes it -│ ├── articles/ # Same four type directories as raw/, mirrored -│ ├── documents/ +├── incoming/ # INBOX: gitignored and flat - drop a file here, `raw accept` promotes it +├── raw/ # INPUT: immutable, untrusted source material +│ ├── CONTRACT.md # Date shard, capture fields, immutability, untrusted content +│ ├── 2026/09/ # Where `raw accept` puts a file: the month it was accepted +│ ├── articles/ # Pre-#67 type directories: still valid paths, never moved, +│ ├── documents/ # but nothing new is ever routed into them again │ ├── notes/ │ └── assets/ -├── raw/ # INPUT: immutable, untrusted source material -│ ├── CONTRACT.md # Routing, immutability, untrusted content, incoming/ -│ ├── articles/ # Web articles, blog posts -│ ├── documents/ # PDFs, specs, manuals -│ ├── notes/ # Personal notes, transcriptions -│ └── assets/ # Images, diagrams, binaries ├── types/ # SCHEMA: the global type surface. Not a collection │ ├── type-spec.md # Root contract: anatomy, placement, adding a type │ ├── entity.md # Entity type contract + template (+ .schema.yaml) @@ -165,11 +162,14 @@ working *on* that layer, the contract is what binds an agent working *with* it. ### Adding Knowledge (Ingest) -1. Drop a file into `incoming//` (`articles`, `documents`, `notes`, or `assets`) - - the directory you choose is the only classification you make; everything past it - (the destination in `raw/`, whether several files of one source get bundled) is - computed by `tools/wikitool raw accept`, never chosen by hand -2. Tell the LLM: `Ingest incoming/articles/my-article.md` +1. Drop a file into `incoming/` - flat, no classification to make. Everything past that + (the destination in `raw/`, which is a `YYYY/MM` shard of the day it was accepted, + and whether several files of one source get bundled) is computed by + `tools/wikitool raw accept`, never chosen by hand +2. Tell the LLM: `Ingest incoming/my-article.md`. It will ask you two things before + promoting: how faithful the capture is (`fidelity`) and what the material may claim + about its subject (`authority`). Both are recorded once and never guessed - they are + knowable now and unrecoverable later 3. The LLM will: - Promote it into `raw/` with `raw accept` - Read and summarize the source @@ -222,7 +222,7 @@ tools/wikitool types describe entity ### For You (Human) -1. **Curate sources** - Drop files you want processed into `incoming//` +1. **Curate sources** - Drop files you want processed into `incoming/` (flat) 2. **Ask questions** - Query the wiki naturally 3. **Review changes** - Check `kb/log.md` and `kb/index.md` 4. **Direct the LLM** - Guide it on what to emphasize or investigate @@ -252,7 +252,7 @@ decay math, publishing) is delegated to `tools/wikitool` - never hand-edited. 1. Read `AGENTS.md` - the control plane (invariants, routing, gates) - then the stage contract for whichever of `raw/`, `types/` or `kb/` you are working in, and, inside `kb/`, the `COLLECTION.md` of the collection you are writing to -2. Add your first source to `incoming//` +2. Add your first source to `incoming/` 3. Run: `Ingest ` 4. Review the created pages 5. Ask your first query @@ -261,11 +261,11 @@ decay math, publishing) is delegated to `tools/wikitool` - never hand-edited. ```bash # Add a source -cp ~/Downloads/my-notes.md incoming/notes/my-notes.md +cp ~/Downloads/my-notes.md incoming/my-notes.md # Tell the LLM to process it # (in your LLM agent) -Ingest incoming/notes/my-notes.md +Ingest incoming/my-notes.md ``` ## Tips