# Experiment 60B.28 — Explicit Uncertainty Prefix Proposition Coverage **Branch:** `feature/proposition-prefix-coverage-v0.31` **Starting HEAD:** `4e66e1ffbf1b8aa9103f72430c14e26d48f7f1fd` **Date:** 2026-08-14 **Status:** COMPLETE ## Objective Close the narrow live coverage gap identified in 60B.27 by extending bounded proposition-prefix normalisation so explicit uncertainty forms beginning: ```text Unknown whether... Uncertain whether... ``` enter the same `whether ...` proposition-extraction path already established in 60B.26. ## 60B.27 Coverage Gap 60B.27 confirmed that the live cleanup from 60B.26 was working correctly for: - material target preservation - evidence framing activation - explanatory rationale removal from the final question - source graph meaning preservation But the live node description began: ```text Unknown whether one prospective enterprise customer will sign if we launch this year, so that the remaining £700k of the expected £1.2M annual revenue is realized. ``` The existing bounded proposition path recognised: ```text Whether... Uncertainty about whether... Uncertainty regarding whether... ``` but not: ```text Unknown whether... Uncertain whether... ``` So formulation fell back to the nominal label instead of preserving the full unresolved proposition. ## Exact Prefix Normalisation Added Production change was limited to `lib/graph/question-formulator.js`. Inside `extractMeaning()`, the description-start normalisation used before the existing `^whether` proposition check now also strips these explicit uncertainty prefixes case-insensitively: ```text unknown uncertain ``` This means the following bounded forms are now treated equivalently for proposition extraction: ```text Whether X... Unknown whether X... Uncertain whether X... Uncertainty about whether X... Uncertainty regarding whether X... ``` Each now exposes: ```text whether X ``` before the existing rationale-boundary stripping and evidence framing logic runs. ## Focused Regression Behaviour The exact 60B.27 regression now formulates: ```text What evidence would clarify whether one prospective enterprise customer will sign if we launch this year? ``` The final question excludes: - `£700k` - `£1.2M` - `annual revenue` while the source node description remains unchanged. Additional focused deterministic coverage also confirms: - `Uncertain whether...` preserves the proposition with evidence framing - bare `Whether...` remains unchanged - `Uncertainty about whether...` remains unchanged - `Uncertainty regarding whether...` remains unchanged - direct interrogatives remain unchanged - nominal non-`whether` behaviour remains unchanged - formulation-only cleanup does not mutate the source description ## Preserved Existing Paths This change did **not**: - redesign question formulation - broaden parsing beyond explicit uncertainty markers - convert arbitrary `unknown` descriptions into propositions - mutate graph descriptions - change question templates, routing, provider logic, schema, or proposal application ## Verification Focused command run exactly as bounded: ```bash npx vitest run tests/graph/question-formulator.test.js ``` Result: ```text PASS — 37/37 tests ``` ## What Remains Unproven Until Exact Live 60B.27 Rerun Deterministic formulation coverage is now proven for the targeted prefix gap, but the exact live end-to-end 60B.27 rerun is still required to reconfirm that the same proposition-preserving output appears through the full runtime path with live model-selected graph updates.