diff --git a/docs/pipeline-rationale.md b/docs/pipeline-rationale.md index 61bc3c4..9454e5a 100644 --- a/docs/pipeline-rationale.md +++ b/docs/pipeline-rationale.md @@ -19,6 +19,16 @@ not yet reviewed and not yet a citation target, so its being gitignored and read ingest session does not weaken anything - the boundary is the promotion into `raw/` itself, not the moment a human happened to drop a file somewhere. +Once a document can arrive from *outside* - the MCP server's optional `submit` tool - "a human +happened to drop a file somewhere" stops describing how everything reaches `incoming/`, so the +near side of the boundary gets a stage of its own rather than a second meaning. `mcp-upload/` +holds what nobody has looked at yet; `incoming/` holds what someone has. Two arrows, two +different things being granted: `upload accept` grants *trust* (a human read the material and +took responsibility for it), `raw accept` grants *immutability* (it becomes a citation target +and stops being editable). Collapsing them would have meant one of the two lying - either an +unreviewed stranger's file sitting in the same directory a human's own drop does, or the +promotion into `raw/` quietly doubling as the review step it cannot perform. + ## Why extraction happens once, through a schema [types/type-spec.md](../types/type-spec.md) is what stands between a raw file and a `kb/` page: