# Experiment 60B.33 — Honor Explicit Bare `Whether...` Propositions **Branch:** `feature/bare-whether-proposition-v0.33` **Starting HEAD:** `29d565372b68fd286d797b18b19864778d517d03` **Date:** 2026-08-14 **Status:** COMPLETE ## Objective Close the narrow gap diagnosed in 60B.32 by making an explicit bare `Whether...` description sufficient evidence of an unresolved proposition even when the label is nominal and lacks status/likelihood/risk keywords. ## 60B.32 Diagnosis The previous bounded proposition path still required label keywords such as: ```text status likelihood probability chance risk uncertainty ``` before honoring a bare `Whether...` description. That meant a live-shaped node like: ```text label: Enterprise customer signing decision description: Whether the prospective enterprise customer will commit this year, because resolving this uncertainty is needed to decide if launching this year provides superior net value over waiting twelve months. ``` failed to preserve its explicit proposition even though the description itself already stated one. ## Exact Deterministic Change Production change was limited to `lib/graph/question-formulator.js`. Inside `extractMeaning()`, the bounded proposition-extraction gate now treats a description beginning with: ```text Whether ... ``` as sufficient for proposition extraction regardless of label wording. This preserves the existing label-keyword path, but adds the narrower rule: ```text if description explicitly starts with bare Whether... → extract whether-proposition directly ``` using the same existing rationale stripping boundary. ## Exact 60B.31 Regression For the live-shaped node: ```text label: Enterprise customer signing decision description: Whether the prospective enterprise customer will commit this year, because resolving this uncertainty is needed to decide if launching this year provides superior net value over waiting twelve months. ``` the deterministic final question is now: ```text What evidence would clarify whether the prospective enterprise customer will commit this year? ``` The final question excludes: - `launching` - `superior net value` - `waiting twelve months` - `because` and the source node description remains unchanged. ## Focused Verification Run exactly as bounded: ```bash npx vitest run tests/graph/question-formulator.test.js ``` Result: ```text PASS — 42/42 tests ``` Focused coverage confirms: - exact 60B.31 live-shaped regression passes - bare `Whether...` works with an unrelated nominal label (`Supplier contract decision`) - bare `Whether...` with a status-like label remains unchanged - all prefix regressions from 60B.28/60B.30 remain green - direct interrogatives remain unchanged - a generic non-proposition decision unknown remains on its existing non-proposition path - source descriptions remain intact ## Preserved Existing Paths This change did **not**: - change decision-threshold precedence globally - change question-target selection - change graph structure, materiality, schema, provider, or harness behaviour - add domain-specific wording - regress `Unknown whether...`, `Uncertain whether...`, `Uncertainty about whether...`, `Uncertainty regarding whether...`, or `Uncertainty over whether...` ## What Remains Unproven The exact live 60B.31 rerun on this branch remains unproven. This experiment guarantees the deterministic formulation boundary only.