Decision Making

Structured decision-making workflow using the First Principles Framework (FPF) for hypothesis-driven architectural choices.

For quick decisions with obvious solutions, skip FPF and decide directly. For decisions needing auditable reasoning trails, use this workflow.

When to Use

  • Architectural decisions with long-term consequences

  • Multiple viable approaches requiring systematic evaluation

  • Decisions needing auditable reasoning trails

  • Building project knowledge over time

Skip FPF For

  • Quick fixes with obvious solutions

  • Easily reversible decisions

  • Time-critical situations

Plugins needed for this workflow

Workflow

How It Works

1. Generate hypotheses

Use the /fpf:propose-hypotheses command to start the FPF cycle. The FPF agent will generate 3-5 competing hypotheses for your problem.

After starting, the FPF agent will:

  • Initialize .fpf/ directory structure if needed

  • Frame your problem in the bounded context

  • Generate diverse L0 hypotheses (conservative + radical approaches)

  • Save hypotheses to .fpf/knowledge/L0/

2. Add user hypotheses

The workflow presents a summary table of generated hypotheses and asks: "Would you like to add any hypotheses of your own?"

If you have additional approaches to consider, describe them. The FPF agent will formalize them into proper hypothesis files. This loop continues until you're satisfied with the hypothesis set.

3. Verify logic

The workflow launches parallel FPF agents to verify each L0 hypothesis against logical constraints.

For each hypothesis:

  • Check internal consistency

  • Apply first-principles reasoning

  • Verify against project constraints

  • Move to L1 (substantiated) or invalid

Hypotheses that pass verification are promoted to .fpf/knowledge/L1/. Failed hypotheses move to .fpf/knowledge/invalid/ with failure reasons documented.

4. Validate evidence

The workflow launches parallel FPF agents to gather empirical evidence for each L1 hypothesis.

For each substantiated hypothesis:

  • Search codebase for similar patterns

  • Review documentation and external sources

  • Run tests or benchmarks if applicable

  • Compute confidence scores based on evidence

Validated hypotheses are promoted to .fpf/knowledge/L2/ with confidence scores and evidence references.

5. Audit trust

The workflow launches parallel FPF agents to compute effective reliability (R_eff) for each L2 hypothesis using the Weakest Link (WLNK) principle.

For each corroborated hypothesis:

  • Apply evidence decay factors for freshness

  • Consider congruence levels (CL1/CL2/CL3)

  • Compute R_eff = min(evidence_scores)

  • Calculate confidence intervals

The trust audit produces ranked hypotheses with their R_eff scores.

6. Make decision

The FPF agent creates a Decision Readiness Report (DRR) with:

  • Ranked hypotheses by R_eff and confidence

  • Comparison table showing trade-offs

  • Recommended action with rationale

  • Evidence supporting each hypothesis

You review the DRR and select the winning hypothesis. The decision is documented in .fpf/decisions/ with full audit trail.

7. Present results

The workflow presents the final summary:

  • Selected hypothesis with rationale

  • R_eff score and confidence interval

  • Supporting evidence

  • Next steps for implementation

All decision artifacts are preserved in .fpf/ for future reference and audit.

Key Concepts

ADI Cycle

The FPF workflow follows the Abduction-Deduction-Induction reasoning loop:

Phase
Description
Output

Abduction

Generate hypotheses to explain anomaly

L0 (Conjecture)

Deduction

Verify logical consistency

L1 (Substantiated) or Invalid

Induction

Validate with empirical evidence

L2 (Corroborated)

Knowledge Layers

Hypotheses progress through epistemic layers as they gain assurance:

Layer
Name
Meaning
How to reach

L0

Conjecture

Unverified hypothesis

Generate hypotheses

L1

Substantiated

Passed logical check

Verify logic

L2

Corroborated

Empirically validated

Validate evidence

Invalid

Falsified

Failed verification

FAIL verdict

Trust Calculus

FPF computes reliability scores rather than estimates:

Concept
Description

R_eff

Effective reliability = min(evidence_scores) using WLNK

WLNK

Weakest Link principle: system reliability limited by weakest evidence

Congruence

Context match penalty (CL3=same, CL2=similar, CL1=different)

Decay

Evidence freshness reduces reliability over time

Transformer Mandate

A core FPF principle: A system cannot transform itself.

  • FPF agent generates options with evidence

  • Human decides which hypothesis to implement

  • Making architectural choices autonomously is a PROTOCOL VIOLATION

This ensures accountability and prevents AI from making unsupervised decisions.

Example: Choosing a Caching Strategy

Starting the workflow

Generated hypotheses (L0)

User adds hypothesis

Verification results (L0 → L1)

Validation results (L1 → L2)

Trust audit

Decision

Managing Evidence Freshness

Evidence expires. A benchmark from 6 months ago may not reflect current performance.

Check stale evidence

The decay command shows evidence that needs attention:

Waive stale evidence

Directory Structure

The FPF plugin creates and manages this structure:

All decision artifacts are preserved for audit and knowledge building.

Integration with Other Workflows

FPF integrates with other workflows at decision points:

Before specification (SDD)

Use FPF to decide on architecture approach before creating the spec:

During brainstorming

Use FPF to evaluate alternative designs:

For technical decisions

Use FPF for any architectural choice needing audit trail:

Utility Commands

FPF provides utility commands for managing the knowledge base:

Command
Description

/fpf:status

Show current FPF phase and hypothesis counts

/fpf:query

Search knowledge base with assurance info

/fpf:decay

Manage evidence freshness (refresh/deprecate/waive)

/fpf:actualize

Reconcile knowledge with codebase changes

/fpf:reset

Archive session and return to IDLE

Last updated