3.4 KiB
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:
status
likelihood
probability
chance
risk
uncertainty
before honoring a bare Whether... description.
That meant a live-shaped node like:
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:
Whether ...
as sufficient for proposition extraction regardless of label wording.
This preserves the existing label-keyword path, but adds the narrower rule:
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:
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:
What evidence would clarify whether the prospective enterprise customer will commit this year?
The final question excludes:
launchingsuperior net valuewaiting twelve monthsbecause
and the source node description remains unchanged.
Focused Verification
Run exactly as bounded:
npx vitest run tests/graph/question-formulator.test.js
Result:
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..., orUncertainty over whether...
What Remains Unproven
The exact live 60B.31 rerun on this branch remains unproven. This experiment guarantees the deterministic formulation boundary only.