133 lines
3.5 KiB
Markdown
133 lines
3.5 KiB
Markdown
# 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.
|