docs: record proposition question formulation fix
This commit is contained in:
@@ -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):
|
||||
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user