intake: several configured intake channels (mcp, folder, command) all end in quarantine/ (was mcp-upload/), and upload collect pulls the synced-folder and command channels into it (#213); 10.0.0-beta.11
CI / verify (push) Successful in 8m41s
CI / pwsh (push) Successful in 2m44s
Release / release (push) Successful in 35s
Release / wiki-mirror (push) Skipped

Files changed:
- .gitignore
- CHANGES.md
- VERSION
- docs/explanation/architecture.md
- docs/explanation/pipeline-rationale.md
- docs/how-to/README.md
- docs/how-to/back-up-to-a-synced-folder.md
- docs/how-to/collect-from-a-synced-folder.md
- docs/how-to/ingest-a-source.md
- docs/how-to/set-up-the-mcp-server.md
- docs/reference/commands/README.md
- docs/reference/commands/git.md
- docs/reference/commands/instance-health.md
- docs/reference/commands/raw-material-and-uploads.md
- docs/reference/configuration.md
- instructions/gates.md
- instructions/ingest-queue.md
- instructions/mcp-read-server.md
- instructions/migrations/10.0.0-settings-tiers.md
- instructions/wiki-ingest/SKILL.md
- raw/CONTRACT.md
- tools/CONTRACT.md
- tools/README.md
- tools/chemenu/cli_contract.py
- tools/chemenu/collect.py
- tools/chemenu/commands/backup_cmd.py
- tools/chemenu/commands/docs_verify.py
- tools/chemenu/commands/doctor.py
- tools/chemenu/commands/raw/pending.py
- tools/chemenu/commands/upload_cmd.py
- tools/chemenu/config.py
- tools/chemenu/config_shapes.py
- tools/chemenu/legacy_settings.py
- tools/chemenu/mcp/server.py
- tools/chemenu/reference_doc.py
- tools/chemenu/tests/test_backup.py
- tools/chemenu/tests/test_collect.py
- tools/chemenu/tests/test_config_shapes.py
- tools/chemenu/tests/test_doctor.py
- tools/chemenu/tests/test_legacy_settings.py
- tools/chemenu/tests/test_mcp_server.py
- tools/chemenu/tests/test_upload.py
- tools/chemenu/tests/test_upload_cmd.py
- tools/chemenu/upload.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-12 22:04:18 +02:00
1 parent 3627168403
commit cceb9a7bfe
44 files changed
+1910 -346

No files matched your search

+19 -3
View File
@@ -48,12 +48,27 @@ validator complains - and the ticked list is the only record that they happened.
`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:
**The user named nothing** ("ingest", "process the inbox")? First pull what the configured
intake channels hold, then look at what waits for a reviewer, then pick the entry from the queue:
```bash
tools/wikitool upload collect
tools/wikitool upload list
tools/wikitool raw pending
```
`upload collect` takes what the `folder` and `command` channels of the `intake` settings
section hold into the quarantine (`quarantine/`) and prints, per channel, what it took and what
it left with the reason. With no pull channel it says so ("nothing to collect") and the run
goes on. A channel that fails is reported to the user and the run continues with `incoming/` -
it does not stop the run. `upload list` shows every submission waiting in the quarantine,
whichever channel it came through; if any, report "N submissions are waiting" with their ids
and say that `upload show <id>` reads a manifest and `upload accept <id>` is the reviewer's
call (`instructions/ingest-queue.md`). **Never call `upload accept`
here** - it is the Upload Review Gate, a human decision. Nothing in the quarantine is a
candidate for this run until it has been accepted into `incoming/`. If `incoming/` is empty
and submissions are waiting, the run ends with that list.
It lists what waits in `incoming/`, oldest first, and marks the default - the oldest entry
`raw accept` would take as it stands. **Announce it and carry on with it:** which entry, why
this one (the oldest that can be accepted), and how many wait after it. Ask nothing here -
@@ -290,8 +305,9 @@ validator complains - and the ticked list is the only record that they happened.
`tools/wikitool raw accept incoming/<bundle>`, which refuses them. `_capture.json` goes in no
`raw_files:`; the success message already leaves it out.
**A file that arrived through the MCP `submit` tool is not yet in `incoming/`** - it sits in
`mcp-upload/<id>/`, a quarantine no command in this step reads. A reviewer promotes it first
**A file that arrived through an intake channel (the MCP `submit` tool, a synced folder, a
command) is not yet in `incoming/`** - it sits in `quarantine/<id>/`, a quarantine no command in
this step reads. A reviewer promotes it first
with `wikitool upload accept <id> --confirm <token>`, per
`instructions/ingest-queue.md`; once accepted it is an ordinary file in
`incoming/` and this step applies to it exactly as to anything dropped there by hand.