feat: raw accept - incoming/ als abgeleiteter Rohablage-Eingang (schliesst #58)
CI / verify (push) Successful in 56s
Release / release (push) Successful in 36s

Files changed:
- .gitignore
- CHANGES.md
- README.md
- VERSION
- docs/pipeline-rationale.md
- instructions/bootstrap.md
- instructions/wiki-ingest/SKILL.md
- raw/CONTRACT.md
- tools/CONTRACT.md
- tools/chemenu/cli.py
- tools/chemenu/commands/dist_cmd.py
- tools/chemenu/commands/docs_verify.py
- tools/chemenu/commands/raw_cmd.py
- tools/chemenu/tests/test_dist_cmd.py
- tools/chemenu/tests/test_docs_verify.py
- tools/chemenu/tests/test_raw_cmd.py
This commit is contained in:
2026-09-05 07:43:43 +02:00
parent 1f0ad7f9f3
commit 36d2128f29
16 changed files with 753 additions and 46 deletions
+19 -9
View File
@@ -61,7 +61,8 @@ chemenu/
├── SOUL.md # How this instance sounds. AGENTS.md always wins over it
├── ENVIRONMENT.md # Optional, gitignored: this checkout's harness, MCP servers, remotes
├── *.md.template # Unfilled USER/SOUL/ENVIRONMENT - what a distribution ships instead
├── .gitignore # Anchored so nothing under raw/, kb/ or work/ is ever excluded
├── .gitignore # Anchored so nothing under raw/, kb/ or work/ is ever excluded;
│ # incoming/ is the one directory excluded the other way round
├── .github/hooks/ # Copilot CLI hooks - session tracing
├── .vibe/ # Mistral Vibe hooks + the repo's telemetry policy
├── instructions/ # CONTROL: everything an agent is told to do
@@ -74,8 +75,13 @@ 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/
│ ├── notes/
│ └── assets/
├── raw/ # INPUT: immutable, untrusted source material
│ ├── CONTRACT.md # Routing, immutability, untrusted content
│ ├── CONTRACT.md # Routing, immutability, untrusted content, incoming/
│ ├── articles/ # Web articles, blog posts
│ ├── documents/ # PDFs, specs, manuals
│ ├── notes/ # Personal notes, transcriptions
@@ -133,9 +139,13 @@ working *on* that layer, the contract is what binds an agent working *with* it.
### Adding Knowledge (Ingest)
1. Drop a file into `raw/` (articles, documents, notes, or assets)
2. Tell the LLM: `Ingest raw/articles/my-article.md`
1. Drop a file into `incoming/<type>/` (`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`
3. The LLM will:
- Promote it into `raw/` with `raw accept`
- Read and summarize the source
- Create a source page in `kb/sources/`
- Create or update relevant entity pages
@@ -186,7 +196,7 @@ tools/wikitool types describe entity
### For You (Human)
1. **Curate sources** - Add files to `raw/` that you want processed
1. **Curate sources** - Drop files you want processed into `incoming/<type>/`
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
@@ -200,7 +210,7 @@ themselves live as independently-discoverable skills under `.agents/skills/`
| Skill | Purpose |
|-------|---------|
| `wiki-ingest` | Process a new `raw/` source into the wiki: source summary, entity/concept pages, cross-references, index/log, publish |
| `wiki-ingest` | Promote a new source from `incoming/` into `raw/`, then process it into the wiki: source summary, entity/concept pages, cross-references, index/log, publish |
| `wiki-query` | Answer a question from the compiled wiki; read-only, can optionally file a valuable answer back as a new page |
| `wiki-lint` | Health-check the wiki: structural scan, raw coverage, semantic review, confidence decay |
| `wiki-manage` | Create a new entity/concept/source/comparison page, or update an existing page with new information |
@@ -216,7 +226,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 `raw/`
2. Add your first source to `incoming/<type>/`
3. Run: `Ingest <your-file>`
4. Review the created pages
5. Ask your first query
@@ -225,11 +235,11 @@ decay math, publishing) is delegated to `tools/wikitool` - never hand-edited.
```bash
# Add a source
cp ~/Downloads/my-notes.md raw/notes/my-notes.md
cp ~/Downloads/my-notes.md incoming/notes/my-notes.md
# Tell the LLM to process it
# (in your LLM agent)
Ingest raw/notes/my-notes.md
Ingest incoming/notes/my-notes.md
```
## Tips