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)
|
||||
- **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
|
||||
|
||||
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