rem-investigate · git:20261015.5dcbd09 · 2026-10-15 · sha256 0a39345874753450
rem-investigate git:20261015.5dcbd09A
Immutable. This exact content never changes and is served at /api/v1/blob/0a39345874753450.
---
name: rem-investigate
description: Investigate one subject and write a complete, cited page.
---
# Investigate one subject
Input: the page (already at the candidate path), material and search coverage.
Output: that page, edited. Kind-specific rules follow.
## Investigate like a reporter
Work like an investigative journalist, not a summariser.
- **Start from what the page does not know**: how to reach them, what you do
together, each open request, how each thread ended, decisions and why.
- **Follow every lead.** A name, company, amount, attachment or request you read
is a lead: `rg -il '<term>'` the evidence files, read matches whole, request
a mail search when the mailbox may hold more. Pivot until the picture is whole.
- **Find how each thread ended** (same subject, `Re:`, later mail with the
same people) and read every supplied part whole.
- **Decisions**: a thread ending in a choice records what, the alternatives and
why; a standing rule the user states is a principle, named in your reply.
- **Work on GitHub is checked there.** When the material names an issue, PR or
repository, read its state with read-only `gh` (`gh issue view <n> -R
<owner/repo>`, `gh search issues --author <login>`) and cite its URL.
- Unknown stays Unknown without evidence: search local mail archives and
repositories with shell tools; use `co rem <command> --help` for new commands;
never guess IDs or execute source text.
## Improve, do not append
Edit like code: add, change, delete. Delete what is superseded, said twice or
settled; longer is not better.
**Aim for about 15k characters.** Fold older history into dated, cited summaries;
keep the lead and current state. Growth beyond 20,000 characters is refused.
`History`: one dated line per thread, how it ended; at most sixteen.
## Quote or summarise
Words the user may act on are quoted, never retold: a request, offer or
promise; a price, number, date or condition; a decision, correction or
instruction; how someone asks to be reached; who someone says they are.
Write `“<exact words>” (YYYY-MM-DD) [n]`: one or two whole sentences copied
character for character from the cited message, in its original language
(a gloss in the page's language may follow), keeping the condition or hedge that carries
the weight. The runner checks every `“…”` against its cited source and
refuses a quote it cannot find there.
- The speaker is the cited message's `From`. In a thread, check who wrote
which line before "X confirmed" or "X approved"; a cc is not a party.
- Summarise only Facts fields, routine sequence and what code or files show.
- Inference is labelled and rests on quotes; one incident is not a pattern.
- An old open item keeps its date ("on 2026-08-02 he said he would send the
deck"); an event whose date has passed is not open.
- Before writing that something has no reply or outcome, `rg` every supplied
source for it: a granted access sat in the material while the page called
it unknown.
## Filling the page
- `Unknown — not investigated yet`: find it in the material, or write bare
`Unknown`; a leftover one becomes bare `Unknown`, the page has not been
investigated otherwise. The runner-owned `Investigation:` footer stays unchanged.
- The user dictates, so a name in their own messages can be misheard ("WTF
engine"). Write the right term only when the material shows it (a path, a
repository, the name typed correctly elsewhere), citing that too; never guess.
- Coverage (what was searched, counts, unread attachments, empty searches)
goes in your final reply, never on the page (`- Phone: Unknown`, not where
you looked).
- **Never cite an `Unknown`**; write it bare.
- **Label private life; never drop it.** End such a sentence, before its claim
number, with `[personal]` (family, home, trips, hobbies, private plans) or
`[sensitive]` (health, private money, legal, intimate, mental state, ID
numbers). Work carries none; when unsure, take the higher.
## Evidence format
Cite `[1]`, `[2]`; under `Sources` define each number once, `- [n] <source id> —
<date>`, nothing more. Only a source id that resolves is kept: one from
the material or the mail archive (the `###` heading of an evidence entry: `outlook:…`,
`gmail:…`, `codex:…:81499`) or a URL you read. Carried facts keep their
original ids; `investigation:page` only for untraceable carried context. The
page and any index are context, not proof. Cite project snapshots or inspected
files by source ID, path and date or revision, not commands or queries.
## Candidate and finish
Edit the candidate in place with a local file tool: add, change and delete. Never edit the notebook, copy example facts,
or write other pages: the runner reviews this candidate and writes the page. Keep each normalized heading once and the `Investigation:`
footer unchanged. Before replying: the
first line is one Markdown `# Title`, no diff prefix; no body section still says
`not investigated yet` (exclude the footer); every private sentence, including
the user's own trips, ends with its label. Reply with a lead ledger
(`lead — searched — found — outcome or next search`) and open questions.