# Experiment 60B.26 — Proposition Question Formulation Fix **Branch:** `feature/proposition-question-shape-v0.30` **Date:** 2026-08-13 **Status:** COMPLETE ## Objective Implement the smallest deterministic fix so `whether...` propositions are turned into concise evidence questions without carrying explanatory rationale, while preserving direct interrogatives and wh-questions. ## 60B.25 Diagnosis Applied 60B.25 isolated two deterministic causes: 1. `extractMeaning(...)` returned the full description, including explanatory rationale. 2. `isInterrogativeMeaning(...)` treated `whether...` propositions as if they were already finished direct questions. The intended correction was: > clean unresolved proposition + existing evidence framing not grammatical rewriting into `Will/Does/Is...`. ## Exact Proposition-Extraction Rule The bounded extraction change stays inside `lib/graph/question-formulator.js`. For the existing narrow path where: - the label is nominal / status-like (`status|likelihood|probability|chance|risk|uncertainty`) - and the description begins with `whether...` the formulator now extracts only the proposition portion. Implemented rule: - match `whether ...` - stop at the first clear rationale boundary: - `;` - `, so that ...` - `, because ...` - `matters because ...` This is bounded to explicit `whether...` proposition extraction only. It is **not** a global semicolon truncation rule. ## Exact Whether / Evidence-Framing Rule The formulator now distinguishes: - **direct interrogatives** - `Will our largest client leave if we relocate?` - `What would change the preferred option?` - **indirect unresolved propositions** - `whether the supplier will renew the contract` `whether...` is no longer treated as a direct interrogative. Instead, it is routed through the existing deterministic evidence phrasing: ```text What evidence would clarify whether X? ``` No subject/auxiliary inversion was added. ## Preserved Direct Interrogatives Direct question labels remain preserved as question-ready: - yes/no direct interrogatives still pass through unchanged - wh-questions still pass through unchanged This also preserves 60B.20-style behaviour. ## Focused Test Result Command run: ```bash npx vitest run tests/graph/question-formulator.test.js ``` Result: ```text PASS (29/29) ``` Covered regressions: 1. Exact 60B.24 rationale stripping regression 2. Clean `whether...` proposition without rationale 3. Direct interrogative preserved 4. Wh-question preserved 5. Source node description unchanged 6. Non-`whether` semicolon content not globally truncated ## What Remains Unproven Until Live 60B.24 Rerun This experiment proves the deterministic question-formulation layer behaves correctly for the fixed regression shape and focused test coverage. Still unproven live: - the exact end-to-end 60B.24 continuation through the full runtime path - whether any upstream live-model variation changes the selected unknown or surrounding graph state before formulation ## Production Boundary Confirmed Changed: - `lib/graph/question-formulator.js` - `tests/graph/question-formulator.test.js` Not changed: - prompt builder - schema - apply-proposal - question-target selection - materiality - reasoning-context compatibility - provider integration - harness