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 neededFrame 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:
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:
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:
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:
/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
Related Resources
FPF Plugin Documentation - Complete plugin reference
Brainstorming to Implementation - Combine brainstorming with FPF decisions
Spec-Driven Development - Use FPF decisions in SDD workflow
Last updated