Operating · Lesson 19 — Decision logs in practice
O19Operating
Operating · Lesson 19● live

Decision logs in practice

Why decision logs beat status meetings. Format, cadence, retrieval pattern.

16 min read · 30 min applyprereq: Operating 09 (decision logs format)

Why logs beat status meetings

Status meetings are a sequential, lossy, real-time medium. Five people talk; three things get decided; one of those gets remembered correctly by all five participants; the rest decays within a week.

Decision logs are the opposite: written, structured, retrievable, replayable. The decision is captured at the moment of decision. The options table forces honest comparison. The revisit conditions name when the decision goes stale. Future-you reads the log; future-agents read the log; new hires read the log. Everyone reaches the same conclusion the original decision-maker did.

For a multi-venture operator (TruPath portfolio: MHG + QC + Parley + cross-venture), this matters more, not less. Three ventures means three streams of decisions, often interlocking — QC sensor strategy affects QC patent draft; MHG site pivot affects QC launch venue; Parley publication holds affect Substack pacing affects portfolio brand. Without logs, the interlocks become invisible. With logs, the wiki and the agent index can surface them.

Operating 09 covered the format (frontmatter, options table, revisit conditions). This lesson is the practice — three real decisions worked end-to-end across three ventures, the retrieval pattern that makes them load-bearing, the audit cadence that prevents rot.

Format · Cadence · Retrieval

Three pillars. Each is a separate discipline. All three required for the system to work.

PillarWhat it isWhat breaks if missing
FormatFrontmatter + 7 sections (context, options, decision, execution, consequences, revisit, related)Logs become unstructured prose. Agents can’t parse what was decided. Future-you re-reads to extract.
CadenceThree triggers (stakes / hard-to-reverse / will-be-re-asked); 5-10 logs per quarterOver-log: signal drowns in noise. Under-log: real decisions hide in chat history.
RetrievalMEMORY.md index + wiki backlinks; agent loads index on session startLogs exist but don’t bind future sessions. Agent re-litigates topics already decided.

The retrieval pillar is the most under-implemented. Most operators write logs but don’t make them findable. The agent doesn’t know they exist; the wiki doesn’t link them; the index doesn’t surface them. Logs that don’t load don’t bind. The five-minute index entry is what makes the 30-minute log load-bearing.

Five practice failures

01

The decision in chat

claim looks like"We decided to drop Hickory and go to Denver NC." The decision lives in a Tuesday afternoon chat thread.
what’s missingTwo months later, an agent (or a person) asks "why did we leave Hickory?" — the answer requires spelunking through chat history. Most of the time the spelunking doesn't happen and the question gets re-asked instead.
the moveEvery decision with stakes gets a file in 07-Decisions/. The 5-minute log saves the 50-minute re-litigation later.
02

The decision without revisit conditions

claim looks likeDecision logged. "We picked the Acconeer A121 + ST VL53L8CX as our top-2 sensor modalities." No condition listed for when to revisit.
what’s missingDecisions go stale. Without a revisit clause, you keep the decision past its useful life OR reopen it without justification. Both are bad. Sensor strategy changed because conditions changed — but if there's no "reopen if X" trigger, the change is operator-vibes, not principled.
the moveEvery decision log has a revisit_on clause. Specific conditions: "if bench test reveals correlated-failure modes", "if cost per board exceeds $150", "if patent attorney says A121 specifics fail novelty test."
03

The decision agents don't read

claim looks likeDecision lives in 07-Decisions/. Agent never loads it. Re-litigates the same question two months later.
what’s missingLogs that don't load are logs that don't bind future sessions. The discipline is wasted unless agents read the file.
the moveMEMORY.md indexes the decision log folder. Agent loads the index on session start. When a decision-relevant topic comes up, agent reads the relevant file before responding.
04

The over-logged everything

claim looks likeOperator logs every choice. 50 logs per quarter. Most are routine.
what’s missingDecision logs work because they're scarce and load-bearing. Over-logging dilutes them — agents can't tell the load-bearing decisions from routine choices. The signal drowns in noise.
the moveThree triggers (Operating 09): stakes / hard-to-reverse / will-be-re-asked. Any one fires — log. None fire — don't. 5-10 logs per quarter for a serious operator.
05

The decision log as status update

claim looks likeLog says "we're working on the SBA repoint." No decision actually made.
what’s missingThe format implies a decision was made. Reading it gives the false impression. Agents act on the implied decision; six weeks later you discover nothing was decided.
the moveIf the decision wasn't made, don't log it as a decision. Status updates go in daily notes or sprint contracts. Decision logs are for actual decisions only.

Pattern #5 (status updates dressed as decisions) is the new one for portfolio operators. When you’re moving fast across multiple ventures, the line between “working on it” and “decided to do it” blurs. Discipline: only log actual decisions. Status goes in daily notes.

The retrieval test

The diagnostic that tells you whether your logs are load-bearing: spawn a fresh agent, ask a question your logs answered, see if the agent finds the log.

Retrieval test
Pretend you're a fresh agent with no chat history. The operator
just asked: "<question that touches a previously-decided topic>"

Walk:
1. Search 07-Decisions/ for relevant logs
2. List the decisions you found, by frontmatter
3. For each, summarize the decision in one sentence + cite the
   revisit_on clause
4. Check whether any revisit_on clause has fired
5. Compose a response that draws on the prior decision

If no decision log exists for this topic, say so explicitly —
do not fabricate the prior decision.

If a revisit_on clause has fired, recommend opening a new
decision log that supersedes the prior one.

Output: the response + the citation chain.

If the agent finds the log and cites it, retrieval works. If it spelunks chat history, the index is broken.

Run this on a representative sample of your logs every quarter. The audit catches three things: (1) logs that exist but aren’t indexed, (2) logs whose revisit conditions have quietly fired, (3) topics that get re-asked because no log was ever written.

Three real cross-portfolio decisions

Same skeleton, three ventures: MHG site pivot (high-impact, real estate), QC sensor strategy reset (high-impact, hardware + IP), Parley r/deaf cross-post HOLD (medium-impact, content + community). The format survives the venture change.

Three decisions, three ventures, one skeleton

MHG Hickory→Denver · QC FSR pause → A121 + VL53L8CX bench · Parley r/deaf HOLD

  1. operator

    Three decisions to log this week, all cross-portfolio:
    1. MHG site pivot Hickory → Denver NC (April 28)
    2. QC sensor strategy reset (April 22 — FSR paused, A121 + VL53L8CX bench test ordered)
    3. Parley r/deaf cross-post HOLD (no posting until Deaf-community advisor reviews OR Notebook 02 ships)

    Walk each through the format. Same skeleton, three ventures.

  2. agent

    Decision 1 — MHG site pivot.

    ---
    date: 2026-04-28
    type: decision
    decision: Pivot MHG flagship site from Hickory to Denver NC (7521 Eastern Medical Dr)
    company: MHG
    status: made
    impact: high
    owner: Mike Brenneman
    next_action: Schedule landlord meeting; adapt SBA + grant strategy
    revisit_on: Denver landlord meeting fails OR site contingencies block lease
    tags: [decision, site, mhg, denver]
    ---
    
    # Decision: MHG Flagship → Denver NC
    
    ## Context
    Hickory site (2315 Catawba Valley Blvd SE) consumed Q1-Q2 effort: SBA 7(a) underwriting, DDI buildout ($188,737.72 scope as of Mar 21), Lincolnton TIP + Facade grants. Cumulative blockers: DDI "deal didn't work" ambiguity, grant contingencies, advisor signal that Lake Norman corridor is stronger demographics.
    
    ## Options Considered
    | Option | Upside | Risk | Cost of Delay |
    |---|---|---|---|
    | A: Stay Hickory, push through | Sunk-cost recovery, existing SBA momentum | Site fundamentals weaker, ambiguous landlord | Already 6 weeks behind |
    | B: Pivot to Denver NC | Stronger demographics (Lake Norman/I-77), tenant-introduction concept welcomed | SBA repoint cost, grants likely lost, DDI terminates | None — start now |
    | C: Pause MHG entirely | Reallocate to QC | Loses 12-month venue runway | Unbounded |
    
    ## Decision
    B. Pivot to Denver NC.
    
    ## Execution Path
    - Concept deck delivered to landlord (`MHG_Concept_Plan_Denver_NC.pdf`)
    - SBA 7(a) repoint sub-decision required (separate log)
    - DDI buildout terminates with Hickory
    - Grants (Lincolnton TIP/Facade) likely lost — confirm separately
    
    ## Consequences
    - Easier: Stronger site demographics, fresh advisor relationship (Sarah Cooley)
    - Riskier: SBA timeline reset (60-90 days), grant entanglement loss
    - Changes: MHG launch target TBD; Hickory marker DEAD as of 2026-04-28
    
    ## Revisit Conditions
    - Denver landlord meeting fails (no LOI possible)
    - Site contingencies discovered during DD that materially change the deal
    - SBA path becomes infeasible at Denver site
    
    ## Related
    - [[2026-MM-DD-sba-repoint-or-restart]] (separate decision, pending)
    - `memory/projects/mile-high-golf.md`
  3. agent

    Decision 2 — QC sensor strategy reset.

    ---
    date: 2026-04-22
    type: decision
    decision: Pause FSR sensor plan; bench test Acconeer A121 + ST VL53L8CX as top-2 modalities
    company: QC
    status: made
    impact: high
    owner: Mike Brenneman + Dominic Germana (Impact Embedded)
    next_action: Weekend bench test 2026-04-25/26 (~$100-150 SparkFun parts)
    revisit_on: Bench test reveals correlated-failure modes OR cost/board exceeds $150 OR patent attorney says A121-specific claims fail novelty test
    tags: [decision, qc, hardware, sensor]
    ---
    
    # Decision: QC Sensor Strategy Reset — FSR Paused
    
    ## Context
    Impact Embedded design review with Dominic Germana exposed core physics never bench-tested in original FSR plan + moisture/hysteresis concerns + correlated-failure fusion math. Strategy reset documented in `04-Quantum-Caddy/Hardware/SENSOR-STRATEGY-RESET-2026-04-22.docx`/.md.
    
    ## Options Considered
    | Option | Upside | Risk | Cost of Delay |
    |---|---|---|---|
    | A: Continue FSR per original plan | Existing patent draft language matches | Untested physics, moisture/hysteresis | Phase 0 launch slips, patent risk if filed before validation |
    | B: Bench test A121 + VL53L8CX | Pulsed 60GHz radar + IR ToF array — both consumer-shippable, $50-100/board | Two unknowns to evaluate; weekend lab time | One weekend |
    | C: Pause sensor work, ship CV-only Phase 0 | Decouples sensor risk from CV gate | Smart-board feature missing at MHG launch | 1-2 sprints recovery |
    
    ## Decision
    B. Bench test top-2 over weekend Apr 25-26. Load cells ruled OUT (memory/feedback-qc-sensor-constraints.md — consumer product can't ship venue-mount).
    
    ## Execution Path
    - $100-150 SparkFun parts ordered
    - 100-throw comparison across shade/sun/damp/stack conditions
    - Impact Embedded engagement REFRAMED as 3-phase: bench test (us) → Phase 0 sensor characterization (Impact Embedded) → Phase 1 firmware on confirmed modality
    - Patent draft sensor-pivot IP implication: replace FSR-specific component claims with broader method-level fusion claim (RGB + depth-ToF + radar + automatic training-label generation)
    
    ## Consequences
    - Easier: Real bench data before $20K Impact Embedded engagement; consumer-product-shippable from day 1
    - Riskier: Two unknowns to evaluate in one weekend; patent draft needs updating before filing
    - Changes: Kanban active item "Smart Board build — live training session" is STALE; rescope or delete
    
    ## Revisit Conditions
    - Bench test reveals correlated failure modes between A121 and VL53L8CX
    - Cost per board exceeds $150 (consumer affordability ceiling)
    - Patent attorney says A121-specific claims fail novelty test
    - Either modality fails outdoor/rain/sun robustness threshold
    
    ## Related
    - [[2026-04-22-Impact-Embedded-Design-Review]]
    - `04-Quantum-Caddy/Hardware/SENSOR-STRATEGY-RESET-2026-04-22.md`
    - `memory/feedback-qc-sensor-constraints.md`
  4. agent

    Decision 3 — Parley r/deaf cross-post HOLD.

    ---
    date: 2026-04-22
    type: decision
    decision: HOLD all r/deaf cross-posting until (Deaf-community advisor reviews) OR (Notebook 02 ships with honest signer-holdout numbers)
    company: Parley
    status: made
    impact: medium
    owner: Mike Brenneman
    next_action: Continue identifying candidate Deaf-community advisor (kanban Waiting); ship Nb 02
    revisit_on: Deaf-community advisor engaged AND reviews planned post OR Notebook 02 published with signer-holdout F1 numbers
    tags: [decision, parley, community, content]
    ---
    
    # Decision: r/deaf Cross-Post HOLD
    
    ## Context
    Two Substack posts drafted (DRAFT-parley-01-the-gap, DRAFT-parley-02-slow-on-purpose). Cross-post packs include r/SideProject, r/IndieHackers, r/accessibility, r/AR_MR_XR, r/MachineLearning. r/deaf was an obvious target but raises Deaf-community-engagement risk: posting in /r/deaf without prior advisor relationship + without honest research numbers reads as marketing-first, community-second.
    
    ## Options Considered
    | Option | Upside | Risk | Cost of Delay |
    |---|---|---|---|
    | A: Cross-post to r/deaf with current drafts | Audience reach immediate | Community backlash; hearing-led-product framing on first contact | Content sits unused for r/deaf |
    | B: HOLD until advisor + honest numbers | Honest community engagement; advisor signal validates approach | Reach delayed; some momentum lost on Substack pacing | 1-3 months |
    | C: Drop r/deaf from cross-post strategy entirely | Avoids risk permanently | Loses the most-relevant subreddit | Permanent reach floor |
    
    ## Decision
    B. HOLD until either condition fires.
    
    ## Execution Path
    - Continue identifying candidate Deaf-community advisor (kanban Waiting state)
    - Continue Notebook 02 work (Phase 1 plan)
    - Other subreddits proceed unchanged (r/SideProject, r/IndieHackers, r/accessibility, r/AR_MR_XR, r/MachineLearning)
    - r/deaf cross-post drafts remain in `Substack/cross-posts/r-deaf/` as ready-when-greenlit
    
    ## Consequences
    - Easier: Higher-quality first contact when greenlit
    - Riskier: Reach delayed; competitor content fills the gap
    - Changes: Cross-post strategy tier-split documented in `Substack/CONTENT-HUB.md`
    
    ## Revisit Conditions
    - Deaf-community advisor identified AND engaged AND reviews the planned post
    - Notebook 02 published to Kaggle with signer-holdout F1 numbers (honest-numbers commitment)
    - Either condition alone is sufficient to greenlight; both are stronger
    
    ## Related
    - [[2026-04-22-Parley-Substack-Pipeline]]
    - `/Volumes/Code Drive/Parley/docs/community/`
    - `Substack/CONTENT-HUB.md`

    Three decisions logged. Same skeleton. Three ventures, three impact levels, three different revisit triggers. The format survives the venture change — that's what makes it useful as portfolio discipline.

Prompt kit

Three prompts: drafting, retrieval test, quarterly audit. Save in your CLAUDE.md.

Draft a decision log from a recent choice
Read this conversation / context: <paste or path>

Identify the decision that was made. If no decision was actually
made (just discussion), say so — don't fabricate.

If a decision was made, draft the log using the standard format:
- Frontmatter (date, decision, status, impact, owner,
  next_action, revisit_on, tags)
- # Title
- ## Context
- ## Options Considered (table)
- ## Decision (one line)
- ## Execution Path
- ## Consequences
- ## Revisit Conditions (specific, not "if circumstances change")
- ## Related (wikilinks)

If only one option was discussed, say so — the log captures what
actually happened, not a polished SWOT.
The retrieval test (run when a topic resurfaces)
Pretend you're a fresh agent with no chat history. The operator
just asked: "<question that touches a previously-decided topic>"

Walk:
1. Search 07-Decisions/ for relevant logs
2. List the decisions you found, by frontmatter
3. For each, summarize the decision in one sentence + cite the
   revisit_on clause
4. Check whether any revisit_on clause has fired
5. Compose a response that draws on the prior decision

If no decision log exists for this topic, say so explicitly —
do not fabricate the prior decision.

If a revisit_on clause has fired, recommend opening a new
decision log that supersedes the prior one.

Output: the response + the citation chain.
Quarterly decision-log audit
Walk every file in 07-Decisions/. For each:

1. Frontmatter status (made / pending / reversed)
2. Has any revisit_on condition fired?
3. Is the next_action complete?
4. Is the log linked from at least one wiki page or memory entry?

Triage:
- Decisions where revisit fired → propose new log that
  supersedes
- Decisions with incomplete next_action older than 60 days →
  flag for follow-through
- Decisions not linked from anywhere → propose backlinks (logs
  not findable by topic are 80% wasted)

Output: triaged list, top 3 to act on this quarter.

Apply this

30-minute exercise. Three logs. Three real decisions. One quarterly cadence.

Make decision logs load-bearing

Each step takes 5–10 minutes. Progress saves automatically.

0/5
  1. 01Pick three real decisions from the last quarter that have stakes. Write three logs.Cross-portfolio is fine. Same skeleton works for code, ventures, content. The discipline is the structure.
  2. 02For each log, write specific revisit conditions. Be concrete — "if costs exceed X" not "if circumstances change."Vague revisit conditions don't fire. Specific ones do.
  3. 03Add MEMORY.md index entries pointing to the new logs.Logs that don't load are logs that don't bind sessions. The index is what makes them discoverable.
  4. 04Run the retrieval test prompt: ask a fresh agent a question one of your logs already answered.If the agent finds the log and cites it, the discipline is working. If it spelunks chat history, the index is broken or the log isn't load-bearing.
  5. 05Set a quarterly audit cadence. 30 minutes, every 90 days.Walk the folder. Triage stale decisions. Propose supersedes for any that fired their revisit conditions. The audit is what makes the system not rot.
Operating tier · what's next

After this lesson