feat(raw): raw derive turns Office files and mail into a folder with the original and a derived text
CI / verify (push) Successful in 6m44s
CI / pwsh (push) Successful in 2m23s
Release / release (push) Successful in 34s
Release / wiki-mirror (push) Skipped

Adds the import-filter registry (tools/chemenu/filters), the raw derive command with folder form,
path-budget and name checks, DOCX/PPTX/XLSX and EML filters, the pending and accept hints, the
wiki-ingest skill step and the raw/CONTRACT.md section. First of three cuts; containers and
PDF/MSG follow.

Files changed:
- CHANGES.md
- VERSION
- docs/how-to/ingest-a-source.md
- docs/reference/commands/README.md
- docs/reference/commands/raw-material-and-uploads.md
- instructions/wiki-ingest/SKILL.md
- raw/CONTRACT.md
- tools/CONTRACT.md
- tools/README.md
- tools/chemenu/cli_contract.py
- tools/chemenu/commands/raw_cmd.py
- tools/chemenu/filters/__init__.py
- tools/chemenu/filters/html_page.py
- tools/chemenu/filters/mail.py
- tools/chemenu/filters/ooxml.py
- tools/chemenu/tests/test_raw_derive.py
- tools/chemenu/web_capture.py

Co-Authored-By: Claude Code <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
This commit is contained in:
torbenandClaude Code committed 2026-10-08 12:12:31 +02:00
1 parent 765ebe97d7
commit 9c0bb6bfbf
17 files changed
+2304 -17

No files matched your search

+5 -4
View File
@@ -44,8 +44,9 @@ validator complains - and the ticked list is the only record that they happened.
1. **Read the source.** Read the file completely, wherever it currently sits - `incoming/` for
the normal path, or already under `raw/` when the run started there (a file `capture-session`
just wrote, for instance, which skips step 5 entirely). If it is binary or an image, note its
presence and what it shows.
just wrote, for instance, which skips step 5 entirely). A PDF, mail, Office file or ZIP: run
`tools/wikitool raw derive <path>` first and read the `.md` - its output names what to check.
Any other binary or image: note its presence and what it shows.
**The user named nothing** ("ingest", "process the inbox")? Pick the entry from the queue:
@@ -250,7 +251,7 @@ validator complains - and the ticked list is the only record that they happened.
incoming/<file> [incoming/<other-file> ...]
```
List every file this one source produced (e.g. an uploaded PDF plus its converted Markdown)
List every file this one source produced (e.g. a `raw fetch` pair)
in the same call, so they land bundled together rather than as two independent promotions. A
file already in `raw/` skips this step entirely. A folder is accepted as a whole, on its own:
@@ -461,7 +462,7 @@ validator complains - and the ticked list is the only record that they happened.
## wikitool commands used
`raw pending`, `raw fetch`, `raw accept`, `raw status`, `raw capture`, `search`, `types describe`, `task new`, `task list`, `task close`,
`raw pending`, `raw fetch`, `raw derive`, `raw accept`, `raw status`, `raw capture`, `search`, `types describe`, `task new`, `task list`, `task close`,
`new project`, `new source`, `new entity`, `new concept`, `touch`, `cite add`, `xref add`,
`xref link-source`, `sources coverage`, `sources rebuild-index`, `index rebuild`, `log append`,
`log status`, `publish`