docs: record proposition question formulation fix

This commit is contained in:
2026-08-13 17:45:28 +01:00
parent f955b875af
commit 802eb1cc16
2 changed files with 133 additions and 0 deletions
+10
View File
@@ -164,6 +164,16 @@ Experiment 54N tested whether an interpretation disagreement can be judged for m
- `npx vitest run tests/graph/question-formulator.test.js tests/graph/question-formulation-v0.24.test.js` → PASS (45/45)
- **Still unproven live:** the exact 60B.21 product-launch regression in the full end-to-end path.
### 60B.26 proposition question formulation fix
- 60B.25 diagnosed two deterministic causes of awkward proposition questions: whole-description extraction (including rationale) and treating `whether...` propositions as finished direct questions.
- `extractMeaning()` now performs bounded proposition extraction for nominal/status-like unknowns whose descriptions begin with `whether...`, stopping at clear rationale boundaries such as `;`, `, so that`, `, because`, and `matters because`.
- `whether...` is no longer treated as a direct interrogative for question framing; it now uses the existing deterministic evidence phrasing (`What evidence would clarify whether X?`).
- Direct interrogatives and wh-questions remain preserved unchanged.
- Focused verification passed:
- `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.
### When This Knowledge-Management Phase Is Complete
Provisional criteria for review (all confirmed met by Experiment 38 cold-start test):
+123
View File
@@ -0,0 +1,123 @@
# Experiment 60B.26 — Proposition Question Formulation Fix
**Branch:** `feature/proposition-question-shape-v0.30`
**Date:** 2026-08-13
**Status:** COMPLETE
## Objective
Implement the smallest deterministic fix so `whether...` propositions are turned into concise evidence questions without carrying explanatory rationale, while preserving direct interrogatives and wh-questions.
## 60B.25 Diagnosis Applied
60B.25 isolated two deterministic causes:
1. `extractMeaning(...)` returned the full description, including explanatory rationale.
2. `isInterrogativeMeaning(...)` treated `whether...` propositions as if they were already finished direct questions.
The intended correction was:
> clean unresolved proposition + existing evidence framing
not grammatical rewriting into `Will/Does/Is...`.
## Exact Proposition-Extraction Rule
The bounded extraction change stays inside `lib/graph/question-formulator.js`.
For the existing narrow path where:
- the label is nominal / status-like (`status|likelihood|probability|chance|risk|uncertainty`)
- and the description begins with `whether...`
the formulator now extracts only the proposition portion.
Implemented rule:
- match `whether ...`
- stop at the first clear rationale boundary:
- `;`
- `, so that ...`
- `, because ...`
- `matters because ...`
This is bounded to explicit `whether...` proposition extraction only. It is **not** a global semicolon truncation rule.
## Exact Whether / Evidence-Framing Rule
The formulator now distinguishes:
- **direct interrogatives**
- `Will our largest client leave if we relocate?`
- `What would change the preferred option?`
- **indirect unresolved propositions**
- `whether the supplier will renew the contract`
`whether...` is no longer treated as a direct interrogative.
Instead, it is routed through the existing deterministic evidence phrasing:
```text
What evidence would clarify whether X?
```
No subject/auxiliary inversion was added.
## Preserved Direct Interrogatives
Direct question labels remain preserved as question-ready:
- yes/no direct interrogatives still pass through unchanged
- wh-questions still pass through unchanged
This also preserves 60B.20-style behaviour.
## Focused Test Result
Command run:
```bash
npx vitest run tests/graph/question-formulator.test.js
```
Result:
```text
PASS (29/29)
```
Covered regressions:
1. Exact 60B.24 rationale stripping regression
2. Clean `whether...` proposition without rationale
3. Direct interrogative preserved
4. Wh-question preserved
5. Source node description unchanged
6. Non-`whether` semicolon content not globally truncated
## What Remains Unproven Until Live 60B.24 Rerun
This experiment proves the deterministic question-formulation layer behaves correctly for the fixed regression shape and focused test coverage.
Still unproven live:
- the exact end-to-end 60B.24 continuation through the full runtime path
- whether any upstream live-model variation changes the selected unknown or surrounding graph state before formulation
## Production Boundary Confirmed
Changed:
- `lib/graph/question-formulator.js`
- `tests/graph/question-formulator.test.js`
Not changed:
- prompt builder
- schema
- apply-proposal
- question-target selection
- materiality
- reasoning-context compatibility
- provider integration
- harness