Skip to main content

Flow Diagrams

Three maps. Each answers a question. Each answer feeds the next. The loop is the CONDUCTOR in the inner-loop P&ID — it chains every other instrument.

What does success look like?

Four outcomes. Each proves a different layer.

OUTCOME MAP — Autoresearch Loop
═══════════════════════════════════════════════════════════════

Outcome                    Measure                    Baseline → Target   Timeline
─────────────────────────  ─────────────────────────  ──────────────────  ────────
North Stars queryable      PRDs with Queryable: Yes   0/7 → 7/7          30 days
Full cycles completed      PRDs pain→proof/month      0 → ≥1/month       60 days
Return signal wired        PRDs with actual_metric    0 → ≥1             45 days
Morning reports generated  Sessions with struct log   0 → ≥1/week        30 days

Outcomes name what we're measuring. The value stream shows where the work flows.

Where does value flow?

Current state: 7 manual triggers. Target: 1 trigger, full cycle.

VALUE STREAM — Current State (7 manual triggers)
═══════════════════════════════════════════════════════════════

pain-signal    create-prd    engineering    proof-to     score-prds
-extractor  →  (manual)   →  -handoff   →  -story    →  (manual)
     │              │             │             │             │
     ▼              ▼             ▼             ▼             ▼
Pain card      PRD with      Spec +        Meta          Reranked
(Comms)        5P scores     tests         article       board
               BUT prose     BUT no        BUT no        BUT no
               metrics       queryable     frontmatter   confidence
                             check         update        boost

───────────────────────────────────────────────────────────────
Wait time between steps: hours to days (human availability)
Total cycle time: weeks to never


VALUE STREAM — Target State (1 trigger)
═══════════════════════════════════════════════════════════════

LOOP-ORCHESTRATOR (one trigger)
     │
     ├─→ metric-definer ──→ measure-north-star ──→ outcome-validator
     │   (LOOP-001)         (LOOP-002)              │
     │   Enforce formula    Return scalar            ▼
     │                                          proof-to-story
     │                                          (LOOP-003)
     │                                          Write to frontmatter
     │                                               │
     │                                               ▼
     │                                          score-prds upgrade
     │                                          Confidence boost
     │                                               │
     ├─→ session-experiment-logger (LOOP-004) ◄──────┘
     │   Aggregate → morning report
     │
     └─→ HALT if: budget exceeded | metric regressed 2x | forbidden outcome

───────────────────────────────────────────────────────────────
Wait time between steps: seconds (agent handoff)
Total cycle time: hours (overnight session)

The value stream shows the flow. The dependency map shows the build order.

What depends on what?

Build order: Phase 1 (gauge) → Phase 2 (return wire) → Phase 3 (conductor).

DEPENDENCY MAP — Build Order
═══════════════════════════════════════════════════════════════

PHASE 1: THE GAUGE (can we measure?)
┌─────────────────┐     ┌──────────────────────┐
│ LOOP-001        │────→│ LOOP-002             │
│ metric-definer  │     │ measure-north-star   │
│ Enforce formula │     │ Return scalar via CLI│
└─────────────────┘     └──────────┬───────────┘
                                   │
PHASE 2: THE RETURN WIRE (do outcomes compound?)
                                   ▼
┌─────────────────┐     ┌──────────────────────┐
│ LOOP-003a       │────→│ LOOP-003b            │
│ proof-to-story  │     │ score-prds upgrade   │
│ Write to front- │     │ Confidence boost for │
│ matter          │     │ validated PRDs       │
└─────────────────┘     └──────────┬───────────┘
                                   │
PHASE 3: THE CONDUCTOR (does one trigger run all?)
                                   ▼
┌─────────────────┐     ┌──────────────────────┐
│ LOOP-004        │────→│ LOOP-005             │
│ session-logger  │     │ loop-orchestrator    │
│ Morning report  │     │ Chain all + safety   │
└─────────────────┘     └──────────────────────┘

First target: Sales CRM (won_deals / total_deals > 0.30)

Questions

What's the minimum viable loop — the smallest set of wires that produces one full cycle?

  • Can LOOP-001 + LOOP-003 deliver value without the full orchestrator?
  • Is Sales CRM the right first target, or should we start with a simpler metric?
  • What safety rails prevent the loop from producing false greens overnight?