Enter when: the FDE just left a meeting/call and dumps raw notes, a transcript, or "they said…". Highest-frequency moment in FDE life. Capture within the hour.
Large transcripts or emails sitting in Granola/Gmail/Notion → prefer fde ingest stage first (via source MCPs the FDE configured), then the same propose → confirm → fde ingest apply path. See references/ingest.md. Pasted short notes stay on this debrief verb.
Read first: context.md, stakeholders.md (signals against what's known).
Who runs the CLI: you (the agent). Never tell the FDE to type fde debrief ….
- The
fdeCLI is local, deterministic, no AI.--smartis a gate + writer, not a brain. - It keeps lines that already have
decision:/risk:/delivery:/contact:/next:prefixes, plus a thin keyword pass (e.g. "we agreed", person+verb lines, "open question"). - Real messy notes without prefixes often route 0 useful lines — everything else lands as a context dump. That is expected. You are the router: rewrite
.debrief-proposewith type prefixes, then--apply. .debrief-proposeis raw lines only (no routing annotations). "Edit if mis-routed" means rewrite the line with the right prefix, not leave a comment in the file.
- Save the FDE's notes to a temp
.mdfile in the workspace (or pipe stdin). - Run
fde debrief --smart <notes.md>(ornpx fdeops debrief --smart …). - Open
.debrief-propose. If lines lack type prefixes, rewrite them before showing the FDE, e.g.:decision: agreed chargebacks stay phase 2 — Priyarisk: legal may reopen scope if we slip the SOW datecontact: Priya pushed hard on Friday deck [signal:amber]next: send one-pager before Thursday 9am- unprefixed lines stay context color only
- Show the proposed routing in plain language (what would become decisions, risks, contacts, next).
- On FDE confirm → run
fde debrief --apply. - On reject → stop; ask what to change; do not apply.
No invented names or quotes. If the propose looks wrong, fix prefixes with judgment then re-apply or use the fallback path.
If --smart is unavailable or you already have clean prefixes:
- Extract into buckets - only what was actually said:
- Decisions - agreed, by whom, in their words where possible
- Action items - owner + due; unowned →
owner: unknown - ask - Stakeholder signals - tone shifts with evidence → green/amber/red
- Risks - new / confirmed / retired
- Open questions - what to chase next
- Format lines as
decision:/risk:/delivery:/contact:/next:(contacts may end with[signal:green|amber|red]). - Show that structured version to the FDE for confirmation.
- Pipe to
fde debrief(or write a file and run it).
One clarifying question max if the dump is ambiguous - then write. Never stall capture on completeness.
- Smart apply / debrief CLI writes the dated routes into the right
.fde/files. next:updates the existing## Next actionincontext.md(collapses duplicates). Do not append a second## Next actionheading by hand.- If you must write directly: decisions →
decisions.md; signals →stakeholders.mdSignal history; risks →risks.md; next actions → fill under the template## Next actionincontext.md. Prefer the CLI.
Read back the 2-3 most consequential captures in one breath - so the FDE can correct on the spot. Then stop. No summary theatre.
- Capture within the hour or lose the nuance.
- Verbatim quote outranks paraphrase; hesitation outranks quote.
- Signals move on evidence, never on vibe alone.
- A meeting with no decisions and no actions - say so; that is a finding.