docs: record uncertainty proposition coverage
This commit is contained in:
@@ -174,6 +174,15 @@ Experiment 54N tested whether an interpretation disagreement can be judged for m
|
|||||||
- `npx vitest run tests/graph/question-formulator.test.js` → PASS (29/29)
|
- `npx vitest run tests/graph/question-formulator.test.js` → PASS (29/29)
|
||||||
- **Still unproven live:** the exact 60B.24 regression through the full end-to-end runtime path.
|
- **Still unproven live:** the exact 60B.24 regression through the full end-to-end runtime path.
|
||||||
|
|
||||||
|
### 60B.28 explicit uncertainty-prefix proposition coverage
|
||||||
|
|
||||||
|
- 60B.27 exposed a narrow coverage gap: descriptions starting `Unknown whether...` fell through to nominal label extraction instead of the existing bounded `whether ...` proposition path.
|
||||||
|
- `extractMeaning()` now extends the same case-insensitive prefix normalisation used before proposition extraction to also strip explicit uncertainty markers `unknown` and `uncertain`.
|
||||||
|
- As a result, `Whether...`, `Unknown whether...`, `Uncertain whether...`, `Uncertainty about whether...`, and `Uncertainty regarding whether...` now all expose `whether X` before existing rationale stripping and evidence framing run.
|
||||||
|
- Focused deterministic verification passed:
|
||||||
|
- `npx vitest run tests/graph/question-formulator.test.js` → PASS (37/37)
|
||||||
|
- **Still unproven live:** the exact 60B.27 customer-signing case through the full end-to-end runtime path.
|
||||||
|
|
||||||
### When This Knowledge-Management Phase Is Complete
|
### When This Knowledge-Management Phase Is Complete
|
||||||
|
|
||||||
Provisional criteria for review (all confirmed met by Experiment 38 cold-start test):
|
Provisional criteria for review (all confirmed met by Experiment 38 cold-start test):
|
||||||
|
|||||||
@@ -0,0 +1,132 @@
|
|||||||
|
# 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.
|
||||||
Reference in New Issue
Block a user