23.3 Extracting decisions vs discussion

Overview and links for this section of the guide.

Goal: separate signal from noise

Teams talk through ideas. Only some of that becomes commitments.

Your goal is to produce a decision log that is:

  • accurate: doesn’t invent decisions,
  • actionable: identifies follow-ups,
  • auditable: includes evidence quotes.

Definitions: decision vs discussion vs action item

  • Decision: the team agreed to a specific choice (or explicitly rejected one).
  • Discussion: exploration, brainstorming, debate without closure.
  • Action item: someone will do something (may or may not require a decision).

Many failures happen when discussion is incorrectly treated as a decision.

Decision log schema (with evidence)

Require evidence for every item:

{
  "decisions": [{
    "title": string,
    "status": "decided" | "rejected" | "deferred" | "unclear",
    "decision": string|null,
    "rationale": string|null,
    "evidence_quotes": string[],
    "open_questions": string[],
    "follow_ups": [{ "summary": string, "owner": string|null, "due_date": string|null }]
  }]
}
“Unclear” is a valid status

If the meeting didn’t reach closure, the output should preserve that reality. Mark as unclear and add a follow-up question.

Extraction workflow

  1. Scan for closure language: “we will,” “let’s do,” “decision is,” “ship it,” “we’re not doing that.”
  2. Extract candidate decisions: list with evidence quotes.
  3. Classify status: decided/rejected/deferred/unclear.
  4. Record rationale: only if stated; do not invent.
  5. Attach follow-ups: tasks required to execute the decision.

Copy-paste prompts

Prompt: extract decisions with evidence only

From the transcript, extract decisions.

Rules:
- A decision must have a direct quote showing closure/commitment.
- If there is no closure, set status to "unclear" and add a follow-up question.
- Do not invent rationale or tasks.

Return valid JSON with this schema:
{
  "decisions": [{
    "title": string,
    "status": "decided"|"rejected"|"deferred"|"unclear",
    "decision": string|null,
    "rationale": string|null,
    "evidence_quotes": string[],
    "open_questions": string[],
    "follow_ups": [{ "summary": string, "owner": string|null, "due_date": string|null }]
  }]
}

Transcript:
```text
...
```

Where to go next