Skip to content

Fetch Framework — Live Use Cases

Quick Reference

The Formula

Fetch = Chirp × |DRIFT| × Confidence

Where:
  Chirp      = Signal strength (0-100)
  DRIFT      = Methodology − Performance (the gap)
  Confidence = min(Perch, Wake) / 100

Decision Thresholds

Fetch ScoreActionMeaning
> 1000ExecuteHigh confidence, clear signal, real gap
500 - 1000ConfirmAsk before proceeding
100 - 500QueueLog for later review
< 100WaitInsufficient conditions

The Three Questions

DimensionQuestionLow Score Means
Chirp"Should I act?"No urgency
DRIFT"How much?"No gap to close
Confidence"Can I?"Not ready

Use Case 1: Browser Automation Agent

Scenario

User command: "Click the Submit button on this form"

Dimension Scores

DimensionScoreReasoning
Chirp90Clear, direct command. Action verb "Click" detected.
Perch75Found button with id="submit-btn". 75% selector confidence (other similar buttons exist).
Wake85Context from previous steps: user filled form fields.
DRIFT60Gap between current state (form filled) and goal (form submitted).

Calculation

Confidence = min(75, 85) / 100 = 0.75

Fetch = 90 × 60 × 0.75
Fetch = 4,050

Decision

FetchThresholdAction
4,050> 1000Execute — Click the button

Post-Action

After execution:

  • New DRIFT = 5 (form submitted, near goal)
  • Re-run Fetch for next action or complete

Use Case 2: Content Publishing Decision

Scenario

You have a video ready. Should you publish now or wait?

Dimension Scores

DimensionScoreReasoning
Chirp45Moderate trending signal. Topic relevant but not urgent.
Perch80Strong structure. Good thumbnail, title, description ready.
Wake70Fits channel history. Audience expects this content type.
DRIFT35Small gap. Content is close to target methodology.

Calculation

Confidence = min(80, 70) / 100 = 0.70

Fetch = 45 × 35 × 0.70
Fetch = 1,102

Decision

FetchThresholdAction
1,102> 1000Execute — Publish now

Alternative Scenario: Low Signal

Same content, but Chirp = 20 (no trending relevance):

Fetch = 20 × 35 × 0.70
Fetch = 490
FetchThresholdAction
490500 - 1000⚠️ Confirm — Consider waiting for better timing

Use Case 3: Sales Call Prioritization (CVA/PSSR)

Scenario

AI assistant preparing for customer call. Should it generate talking points?

Dimension Scores

DimensionScoreReasoning
Chirp95Meeting in 5 minutes. High urgency.
Perch60Customer data available but scattered across 7 systems.
Wake40Limited call history. New rep, unfamiliar with customer.
DRIFT80Large gap between current prep (nothing) and goal (ready).

Calculation

Confidence = min(60, 40) / 100 = 0.40

Fetch = 95 × 80 × 0.40
Fetch = 3,040

Decision

FetchThresholdAction
3,040> 1000Execute — Generate summary now

Insight

High urgency (Chirp = 95) and large gap (DRIFT = 80) overcome low confidence (0.40). The system acts because not acting has higher cost.

Low Urgency Variant

Same scenario, but meeting is tomorrow (Chirp = 30):

Fetch = 30 × 80 × 0.40
Fetch = 960
FetchThresholdAction
960500 - 1000⚠️ Confirm — Suggest gathering more context first

Use Case 4: Trading Decision

Scenario

Signal detected for potential trade entry.

Dimension Scores

DimensionScoreReasoning
Chirp70Breakout signal. Above average but not extreme.
Perch85Clear support/resistance levels. Good R:R structure.
Wake90Pattern matches historical setups. Strong backtest.
DRIFT25Small gap. Price near entry zone already.

Calculation

Confidence = min(85, 90) / 100 = 0.85

Fetch = 70 × 25 × 0.85
Fetch = 1,487

Decision

FetchThresholdAction
1,487> 1000Execute — Enter trade

Failed Setup

Same signal, but no historical pattern match (Wake = 15):

Confidence = min(85, 15) / 100 = 0.15

Fetch = 70 × 25 × 0.15
Fetch = 262
FetchThresholdAction
262100 - 500📋 Queue — Log for review, don't trade

Insight

High Chirp and Perch aren't enough. Without Wake (memory/pattern), confidence collapses. The system won't act on signals without historical validation.


Use Case 5: Engineer Hours Estimation

Scenario

New project came in. Should AI generate an estimate or defer to domain expert?

Dimension Scores

DimensionScoreReasoning
Chirp50Moderate urgency. Quote needed this week.
Perch45Partial data. Model type known, scope unclear.
Wake30Few similar projects in history. Sparse training data.
DRIFT70Large gap between current (no estimate) and goal (accurate hours).

Calculation

Confidence = min(45, 30) / 100 = 0.30

Fetch = 50 × 70 × 0.30
Fetch = 1,050

Decision

FetchThresholdAction
1,050> 1000Execute — But...

The Nuance

Fetch score crosses threshold, but confidence is only 0.30. System should:

  1. Generate estimate (Fetch > 1000)
  2. Flag low confidence visibly
  3. Recommend domain expert review

Enhanced Threshold Logic

if (Fetch > 1000 && Confidence > 0.60) {
  execute()           // Full automation
} else if (Fetch > 1000 && Confidence <= 0.60) {
  executeWithFlag()   // Automate but flag for review
} else if (Fetch > 500) {
  confirm()           // Human decides
} else {
  wait()              // Don't act
}

Use Case 6: Document Generation

Scenario

User asks: "Create a presentation for the CVA meeting"

Dimension Scores

DimensionScoreReasoning
Chirp85Direct request. Clear intent.
Perch70Template available. Structure known.
Wake75Previous presentations in history. Style established.
DRIFT90Large gap. No presentation exists yet.

Calculation

Confidence = min(70, 75) / 100 = 0.70

Fetch = 85 × 90 × 0.70
Fetch = 5,355

Decision

FetchThresholdAction
5,355> 1000Execute — Generate presentation

Use Case 7: Email Response

Scenario

AI assistant monitoring inbox. New email arrives. Should it draft a response?

Dimension Scores (Important Email)

DimensionScoreReasoning
Chirp80From VP. Marked urgent.
Perch65Clear question asked. Response structure obvious.
Wake85Long thread history. Context rich.
DRIFT50Moderate gap. Some info needed for complete response.

Calculation

Confidence = min(65, 85) / 100 = 0.65

Fetch = 80 × 50 × 0.65
Fetch = 2,600

Decision: Execute — Draft response

Dimension Scores (Newsletter)

DimensionScoreReasoning
Chirp5Marketing email. No urgency.
Perch20No clear action required.
Wake10No prior engagement with sender.
DRIFT15Tiny gap. Archive is fine.

Calculation

Confidence = min(20, 10) / 100 = 0.10

Fetch = 5 × 15 × 0.10
Fetch = 7.5

Decision: Wait — No action needed


Use Case 8: Code Refactoring

Scenario

AI suggests refactoring a function. Should it auto-apply?

Dimension Scores (Safe Refactor)

DimensionScoreReasoning
Chirp40Suggestion, not urgent request.
Perch90Clear function boundaries. Well-structured code.
Wake95Strong test coverage. Safe to change.
DRIFT30Small improvement. Code works but could be cleaner.

Calculation

Confidence = min(90, 95) / 100 = 0.90

Fetch = 40 × 30 × 0.90
Fetch = 1,080

Decision

FetchThresholdAction
1,080> 1000Execute — Apply refactor

Dimension Scores (Risky Refactor)

DimensionScoreReasoning
Chirp40Same suggestion.
Perch50Tangled dependencies.
Wake25No tests. Unknown side effects.
DRIFT30Same improvement potential.

Calculation

Confidence = min(50, 25) / 100 = 0.25

Fetch = 40 × 30 × 0.25
Fetch = 300

Decision

FetchThresholdAction
300100 - 500📋 Queue — Log suggestion, don't auto-apply

Pattern Summary

What Drives High Fetch?

FactorEffect
High ChirpUrgency pushes action
High DRIFTLarge gap demands closing
High ConfidencePerch + Wake alignment enables action

What Blocks Fetch?

FactorEffect
Chirp = 0No signal → No action
DRIFT = 0No gap → No need to act
Confidence → 0Either Perch or Wake near zero → Can't act safely

The Multiplication Effect

Because Fetch is multiplicative, one weak dimension kills the score:

ChirpDRIFTConfidenceFetch
90800.856,120 ✅
90800.10720 ⚠️
9050.85382 📋
10800.85680 ⚠️

Implementation Template

javascript
function calculateFetch(chirp, perch, wake, methodology, performance) {
  const drift = Math.abs(methodology - performance);
  const confidence = Math.min(perch, wake) / 100;
  const fetch = chirp * drift * confidence;
  
  return {
    fetch,
    drift,
    confidence,
    action: getAction(fetch, confidence)
  };
}

function getAction(fetch, confidence) {
  if (fetch > 1000 && confidence > 0.60) {
    return 'execute';
  } else if (fetch > 1000 && confidence <= 0.60) {
    return 'execute_with_review';
  } else if (fetch > 500) {
    return 'confirm';
  } else if (fetch > 100) {
    return 'queue';
  } else {
    return 'wait';
  }
}

Quick Decision Matrix

Urgency (Chirp)Gap (DRIFT)Ready (Confidence)Action
HighLargeHighExecute
HighLargeLowExecute + Review
HighSmallAnyConfirm
LowLargeHighConfirm
LowLargeLowQueue
LowSmallAnyWait
AnyZeroAnyWait (no gap)

The Feedback Loop

┌─────────────────────────────────────┐
│  1. Measure dimensions              │
│     Chirp, Perch, Wake              │
│              ↓                      │
│  2. Calculate DRIFT                 │
│     Methodology − Performance       │
│              ↓                      │
│  3. Calculate Fetch                 │
│     Chirp × |DRIFT| × Confidence    │
│              ↓                      │
│  4. Decide action                   │
│     Execute / Confirm / Queue / Wait│
│              ↓                      │
│  5. Execute (if threshold met)      │
│              ↓                      │
│  6. Re-measure                      │
│     DRIFT should decrease           │
│              ↓                      │
│  7. Loop until DRIFT ≈ 0            │
└─────────────────────────────────────┘

Framework Integration

FrameworkRole in Fetch
ChirpIQXProvides urgency signal
PerchIQXProvides structural confidence
WakeIQXProvides historical confidence
DRIFTProvides gap measurement
FetchSynthesizes all into action decision

"DRIFT sees the distance. Fetch closes it."