rem-investigate · git:20261015.4ecd718 · 2026-10-15 · sha256 fbb921ee53ad8a20

rem-investigate git:20261015.4ecd718A

Immutable. This exact content never changes and is served at /api/v1/blob/fbb921ee53ad8a20.

---
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

- **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.
- 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`, on a page whose shape has one: 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.