Created by Dimitri Wolf
A constraint-to-foundation path mapping system. Decomposes problems to their irreducible verified requirements, locates where the actual blockage exists, and maps possible paths forward. The human decides.
Three targeted fixes from v1.2 cross-platform testing.
| Area | v1.2 | v1.3 | Reason |
|---|---|---|---|
| LOOKING FOR validation | Term list only | Term list + general principle: flag any LOOKING FOR that cannot produce a non-arbitrary path | Prevents over- and under-application of the flag list |
| Multiple classifications | "Map each separately" — no mode distinction | Conversational: state found classifications, ask which to pursue first. Autonomous: map each separately. | Protocol was silent on conversational behavior with multiple classifications |
| Problem dissolved | Reachable from Gate 4 flag alone | Requires WHY chain completion. Gate 4 flags produce a halt and a question — not a result. | Grok dissolved a CNC spindle problem without first asking if the user had a specific variant — premature dissolution |
Eight changes from external technical review and novelty research.
| Area | Change |
|---|---|
| Opening statement | "...final answers...before the frame is verified" — removes contradiction with RESULT section |
| TYPE 1 — Physical law | Removed "self-verifying if named correctly" shortcut. Both steps must pass. |
| Stop hierarchy labels | Hard/Soft/Open → Fixed/Conditional/Open |
| Theater detection | Reframed: "restates original frame without adding verification" not "confirms prior belief" |
| Preference conflict reclassification | Added: "restart Gate 3 priority scan from item 1" |
| Gate 4 — GIVEN reintegration | Added: update GIVEN when user confirms a specific variant |
| TYPE 1 — fallback | Added UNVERIFIED ASSUMPTION fallback (was missing; all other types had it) |
| Result Type 6 | Added: Problem deferred — for TYPE 7 stops where data is unavailable |
Three targeted fixes confirmed by 5-platform comparison testing.
| v1.0 | v1.1 | Reason |
|---|---|---|
| Framing gate fires only when no question is present | Framing gate also fires when a stated question contains undefined key terms | 3/4 platforms answered Q7 directly — "What books?" passed as valid LOOKING FOR despite "best impact" being undefined |
| Preference conflict → flag as non-FPP-stable, stop | Preference conflict → attempt ONE WHY translation, then flag if still unstable | Q6 showed "coding without AI" is preference on the surface, capability gap underneath |
| No definition of conversational vs. autonomous mode | Both modes defined explicitly | All 4 non-Claude platforms treated the protocol as single-shot |
- Copy the full protocol text from
protocol/fpp-v1.3.md. - Paste it as a System Prompt in Claude, Grok, ChatGPT, DeepSeek, Gemini, or any LLM that supports system instructions.
- Present your problem. The protocol runs the gates before responding.
Use FPP when the cost of solving the wrong problem is higher than the cost of questioning the frame.
Do not use FPP for routine decisions, pre-verified A vs. B selections, or problems where the frame is already confirmed correct.
| Q | Topic | Claude | DeepSeek | OpenAI | Gemini | Grok |
|---|---|---|---|---|---|---|
| 1 | Marketing co-founder | Reframed | Reframed (deep) | Framing gate only | Reframed (skipped gate) | Dissolved |
| 2 | Career + AI anxiety | Unstable | Framing gate | Framing gate | Gate 1-4, stopped | Unstable |
| 3 | Career change 40s | Reframed | Framing gate | Framing gate | Framing gate | Framing gate |
| 4 | Sell software to employer | Confirmed + blocked | Framing gate | Framing gate | Full analysis + paths | Framing gate |
| 5 | Robotics startup | Out of scope | Framing gate | Framing gate | "What is the question?" | Framing gate |
| 6 | Coding without AI | Reduced | Framing gate | GIVEN + stopped | GIVEN + questions | Dissolved (non-FPP) |
| 7 | Upskilling after layoff | Reframed | Framing gate | Answered directly | Answered directly | Answered directly |
| 8 | ML vs SE degree | Dissolved | Near-dissolved | A vs. B detected | Partial | "Why these options?" |
| 9 | Don't want software job | Unstable | Framing gate | A vs. B detected | Asked why | "Why these options?" |
| 10 | VPN market positioning | Reframed | Full WHY chain | Framing gate | Full analysis | Dissolved |
Key finding — Q7: 3/4 platforms answered directly when LOOKING FOR was vague but syntactically complete. Fixed in v1.1.
| Q | Target | Claude | DeepSeek | OpenAI | Gemini | Grok |
|---|---|---|---|---|---|---|
| Q1 | GATE 1 — "best" undefined | PASS | PASS | PASS | PASS | PASS |
| Q2 | GATE 4 + TYPE 1 domain | PASS | Gate 1 first | PASS | Gate 1 first | PASS |
| Q3 | GATE 1 — A vs. B | PASS | PASS | PASS | PASS | PASS |
| Q4 | GATE 3 — preference | PASS | Partial | Gate 1 first | PASS | Partial |
| Q5 | GATE 4 — false premise | PASS | PASS | Partial | PASS | Partial |
| Q6 | Theater detection | PASS | PASS | PASS | PASS | Partial |
| Q7 | Result Type 6 — deferred | Gate 1 all | Gate 1 all | Gate 1 all | Gate 1 all | Gate 1 all |
| Q8 | TYPE 1 step 2 domain | PASS | Partial | PASS | Partial | Partial |
| Q9 | GATE 3 — multi-class | Partial | PASS | PASS | Gate 1 first | PASS |
| Q10 | TYPE 2 — citation check | PASS | Partial | PASS | PASS | PASS |
Key findings:
- Q1: 5/5 PASS — the v1.1 LOOKING FOR fix holds on all platforms
- Q10: 4/5 PASS — TYPE 2 regulatory citation check is the strongest new gate behavior
- Q7: 5/5 Gate 1 — all platforms correctly caught "should" as undefined before the WHY chain; test question redesign needed to probe TYPE 7 stop and Result Type 6
- Result Type 6 appeared unprompted — OpenAI produced "Problem deferred" organically on Q9
- Theater detection never fired — because Gate 1 caught every problem first (correct design: Gate 1 prevents garbage from entering the WHY chain)
Best single response (v1.2 test): Grok Q2 — "Problem dissolved. The stated modeling approach rests on an inapplicable physical law." One sentence. Correct result type. No excess.
| Platform | Gate compliance | WHY chain depth | Result type usage |
|---|---|---|---|
| Claude | High | High | Full taxonomy |
| OpenAI | High | Medium-High | Good — produced Result Type 6 unprompted |
| DeepSeek | High | High (when reaches chain) | Good — Result Type 6 on Q9 |
| Gemini | High | Low-Medium | Stops at gate trigger |
| Grok | High | Low | Correct, brief |
FPP/
├── README.md ← this file
├── LICENSE
├── progress.md
├── examples.md ← real-world examples of each result type
├── protocol/
│ ├── fpp-v1.0.md ← original
│ ├── fpp-v1.1.md
│ ├── fpp-v1.2.md
│ └── fpp-v1.3.md ← current — use this
├── reports/
│ ├── test_run_01.md ← Claude single-platform test (v1.0)
│ ├── test_run_01_comparison.md ← 5-platform comparison (v1.0)
│ └── test_run_02_comparison.md ← 5-platform targeted test (v1.2)
├── tests/
│ ├── test_design_v1.2.md ← question design + expected outputs
│ └── runs/
│ ├── v1.2/ ← raw JSON responses, all 5 platforms
│ ├── deepseek.json ← v1.0 baseline results
│ ├── openai.json
│ ├── gemini.json
│ └── grok.json
├── scripts/
│ └── run_test.py ← test runner (requires .env with API keys)
└── archive/
└── concept.md ← original research and design notes
FPP draws conceptually from: 5 Whys (Toyota), NASA Root Cause Analysis, TRIZ, first principles reasoning, and Ackoff's problem dissolution taxonomy. None of these contain the full combination.
Elements confirmed novel after research across TRIZ, Kepner-Tregoe, INCOSE, NASA SE Handbook, and 2025–2026 LLM reasoning literature:
- Framing gate as a pre-reasoning halt protocol keyed on undefined LOOKING FOR
- Typed WHY chain stop conditions with explicit verification requirements (not just iterative asking)
- Theater detection as a restart trigger keyed on zero verification work
- Regulatory consequence test (cannot sell / cannot operate / legal liability) as a formal gate
- Function validation before solving consequences, as a named mandatory protocol step
- Problem dissolution as a first-class protocol output (not just a theoretical category)
The integrated combination — all elements as a unified pre-reasoning sequence — has no found equivalent.
| Protocol | Purpose |
|---|---|
| LJP — Lateral Jump Protocol | Forces LLMs to make lateral conceptual connections before answering linearly |
| AMP — Anti-Mirroring Protocol | Frame-evaluation layer sycophancy fix |
FPP runs first — it validates the frame before any response is constructed. LJP governs how the response is built. AMP governs whether the response is honest. They address different failure modes at different stages.