docs/research/commands/full-pipeline.md
Primary reusable entrypoint:
Recommended command name:
research-fullSuggested invocation shape:
research-full <goal>
Examples:
research-full editor behavior references
research-full plate v2 architecture
research-full slate v2 risks
research-full plugin model
Run the full research pipeline for a goal area.
This command should not just answer a question in chat. It should improve the research system itself:
This is the full-mode sub-workflow for research-wiki.
Use it when the goal area is big enough that trusting the currently visible local slice would be reckless.
Use research-full when:
Do not use it for:
docs/research pagesThe input is a goal, domain, or question.
Good inputs:
editor behavior referencesmarkdown-native authority stackplate v2 architectureslate v2 comparisonplugin systemBad inputs:
fix typorandomA successful run should leave behind durable artifacts, not just a chat answer.
Expected outputs:
../raw evidence when safe and neededdocs/research/sources/... summariesentities/, concepts/, systems/, or decisions/ pages when the
evidence supports themopen-questions/... pages or a concise gap report when important
holes remainTranslate the goal into likely:
For example:
editor behavior references
plate v2 architecture
Read:
entities/, concepts/, systems/, decisions/, and
sources/ pagesGoal:
Inspect ../raw for:
This is where raw-gap detection happens.
When the raw layer is missing or weak:
When you create or refresh a raw source family, record:
../raw/log.mdBefore you decide that a scoped corpus is missing, thin, or only partially evidenced, verify the local raw mirror against official source entrypoints.
Use the strongest official discovery surface available:
Goal:
After official-source discovery confirms that the relevant raw family already exists locally, read the strongest local raw hits before classifying the corpus.
Rules:
For the corpus ledger, distinguish between:
Do not call a corpus thin, partial, or unresolved while the likely answer is already sitting in local raw unread.
Use these classes explicitly:
../rawdocs/research/sources/...Do this per scoped corpus, not just once for the whole topic.
At the end of this step, every scoped corpus should have an explicit status:
Do not classify raw gap until the official-source discovery step confirms the
local raw mirror really is missing the relevant source family.
Do not classify evidence gap until the strongest local raw hits for that
corpus have actually been read.
Safe actions:
Unsafe actions:
docs/researchDo not dump every finding into one giant page.
Promote according to page type:
sources/entities/concepts/systems/decisions/open-questions/Always update:
The command is incomplete if it improves pages but leaves the entrypoints stale.
At the end, report:
For full mode, this report should include a per-corpus ledger, not just a
global summary.
If the scoped corpora were Typora / Obsidian / Milkdown, the output should make it impossible to miss what happened in each of those three corpora.
That ledger should also name which official source entrypoints were checked
before any corpus was marked raw gap or evidence gap.
The default behavior should be:
If the goal area is broad, prefer one strong pass that leaves the corpus better than it found it over one shallow answer that disappears into chat.
If the surface is authority-sensitive and obviously spans multiple corpora, a real full pass means full corpus-level ingest across those corpora, not a single-source spot check.
That also means: do not stop after the first strong source. Finish the scoped corpus ledger and classify the remaining corpora honestly.
And do not stop before checking official source entrypoints for each scoped corpus.
research-full is the heavyweight command.
The only required companion command is:
research-maintainIt should be derived from this pipeline, not invented with contradictory rules.