BXUP Track progress & test yourself — free
Product Management · Playbook · Core · ~4 min read
PRODUCT MANAGEMENT · PLAYBOOK · CORE

Capture Decision Logs and Query "Why Did We Choose X?"

Six months from now, someone will ask why you chose usage-based pricing, or why the March migration skipped mobile — and the answer will live in nobody's memory. This playbook converts meeting transcripts into ADR-style decision records at the moment decisions happen, and makes "why did we choose X?" a thirty-second query with citations.

Workflow area: Specs & Docs · Tier: Core · Hands-on time: ~30 minutes

Engineering solved this problem years ago with Architecture Decision Records; product mostly didn't, and pays for it in re-litigated decisions, onboarding archaeology, and the slow rot of "I think there was a reason." The raw material now exists by default — your rituals are transcribed by Granola or Fireflies — but a transcript is not a record: it's an hour of talk in which the decision occupies ninety seconds. The play is extraction at capture time, a one-minute accuracy check while memory is fresh, and a queryable home so the records get used instead of just kept.

When to use — and when not to

  • Use it for decisions with a reversal costpricing models, migrations, deprecations, build-vs-buy, the roadmap cut that killed a stakeholder's favorite. If someone might relitigate it, record it.
  • Use it at the ritual boundaryend of planning reviews, steering meetings, and trade-off discussions, while the transcript is hours old and your memory can still correct it.
  • Use the query side during onboarding and re-orgsa new lead who can ask "why did we choose X in March?" and get a cited answer skips a month of archaeology.
  • Skip trivial and reversible-in-a-day decisionsa log of everything is a log of nothing; the reversal-cost bar keeps the record set searchable and the habit sustainable.
  • Skip sensitive people-decisionsperformance, staffing, personnel disputes. Those don't belong in a queryable team repository, whatever tool captured the meeting.

The recipe

  1. Catch the decision moment. At meeting end, spend thirty seconds naming what was actually decided — in the meeting, out loud: "So we're deciding X, over alternatives Y and Z, mainly because of A. Objections?" This sentence is half the record and it costs nothing. Meetings that end without it produce transcripts in which the model must guess what was decided — and it will guess confidently.

  2. Extract the record from the transcript. Same day, paste the transcript (or the notetaker's detailed notes):

    Extract product decision records from this meeting transcript.
    Only include DECISIONS — commitments made — not discussions that
    ended unresolved (list those separately as OPEN THREADS).
    
    For each decision, output:
    DECISION: one sentence, what was chosen
    DATE / MEETING: [date, meeting name]
    ALTERNATIVES CONSIDERED: each option discussed, with its stated
      pros/cons — only what the transcript supports
    RATIONALE: why this option won, quoting the transcript verbatim
      for each load-bearing reason (with speaker role, not name)
    DISSENT & CONCERNS: objections raised, verbatim, even if overruled
    REVISIT TRIGGER: any condition stated for reconsidering, or
      "none stated"
    CONFIDENCE: HIGH if the decision was explicit in the transcript,
      LOW if you inferred it — never present inference as record.
    
    Transcript:
    [PASTE]
    
  3. Review for one minute — you were in the room. Check the decision sentence says what was actually decided, not the strawman that got the most airtime. Check dissent survived: models bias toward consensus narratives, and the overruled objection is precisely the part future-you needs. Anything marked LOW confidence gets confirmed with a participant or deleted. A healthy record:

    DECISION: Q4 pricing moves to hybrid (base seat + usage credits).
    ALTERNATIVES: pure usage (rejected: bill-shock risk for SMB),
    seat-only (rejected: heavy users unprofitable per [finance memo]).
    RATIONALE: "credits cap the downside for small accounts while the
    base seat keeps revenue predictable" (finance lead).
    DISSENT: sales lead — "hybrid is harder to quote; expect a slower
    Q4 close cycle." Overruled, revisit if Q4 win-rate drops >5pts.
    REVISIT TRIGGER: Q4 win-rate −5pts, or credit overage complaints
    >2% of accounts.
    
  4. File it in one queryable home. A Notion database (fields: decision, date, area, status, revisit trigger) or a decisions/ folder in the product wiki — one home, not per-meeting scatter. Link the transcript as source. Status field matters: active, superseded by [link], reversed. A record that's been superseded but looks current is worse than no record.

  5. Query it — and make the query cite. Load the records into a Claude Project or NotebookLM (this is a natural shelf in pb-20's research repo) with the answering rule:

    Answer only from the decision records. Cite the record's date and
    meeting for every claim. If records conflict, show both with dates
    and their status fields. If no record covers the question, say
    "no decision on record" — do not reconstruct from general knowledge.
    

    Now "why did we choose hybrid pricing?" returns the rationale, the dissent, and the revisit trigger — which is the moment the whole habit pays off, because the sales lead's overruled concern is exactly what you check when Q4 win-rates wobble.

Make it yours

  • The revisit-trigger review: once a quarter, query for all active decisions' revisit triggers and check each against current data — the log stops being an archive and becomes an early-warning system.
  • Granola template capture: put the decision-record fields directly into your Granola meeting template for recurring rituals, so extraction is pre-structured and step 2 becomes a formatting pass.
  • PRD cross-linking: every PRD's "why now" and non-goals sections cite the decision records behind them (pb-23) — the PRD says what was decided, the record preserves the fight.

Quality check

  • Only real decisions made it inspot-check that each record's decision was explicit in the source, not inferred from discussion drift; the OPEN THREADS list catches the rest honestly.
  • Dissent is present and verbatima decision log with no recorded objections is a press release; if your meetings have disagreement and your records don't, the extraction is laundering.
  • Rationale quotes resolveclick two records back to their transcripts; a rationale the source doesn't support will be quoted as gospel in a year.
  • Status is maintainedsuperseded records are marked, and the quarterly trigger review actually ran; an unmaintained log answers old questions with dead decisions.
  • Queries refuse when they shouldtest with a question you know has no record; fluent reconstruction instead of "no decision on record" means the answering rule needs tightening.
Warning

Meeting transcripts capture names, disagreements, and sometimes customer or personnel details — extract records with speaker roles instead of names, store them in your organization's approved tools with access scoped to the team, and honor your notetaker consent rules from pb-01.

Key Takeaway:

A decision without a record becomes a rumor within two quarters — ninety seconds of naming the decision aloud, one extraction pass, and one queryable home turn "I think there was a reason" into a citation with the dissent still attached.

This is the free reading view. Open BXUP to track your progress, run the hands-on labs, and prove it with original, exam-pattern assessments.
© Anvi Innovate · BXUP — Be Exponentially Upskilled · BXUP is an independent learning platform, not affiliated with or endorsed by AWS, Microsoft, Google, NVIDIA, IBM, Salesforce, Databricks, Oracle or Anthropic. All trademarks belong to their respective owners. · bxup.in