diff --git a/docs/current-handoff.md b/docs/current-handoff.md index 4555ec3..f583790 100644 --- a/docs/current-handoff.md +++ b/docs/current-handoff.md @@ -1786,3 +1786,11 @@ The hypothesis asked whether selecting `n_savings_realism` would now produce a c ### Production code changed: NO ### Ollama calls beyond harness count: 0 + +--- + +### Experiment 58A.6 — Interrogative Question Rendering Through Production Update Path (CONTROLLED) + +**Objective:** When the answer simply preserves the existing savings-realism uncertainty and introduces no new issue, does the live engine select that existing interrogative node and render its next question coherently through the 58A.4 fix? + +**Classification: E — NO QUESTION.** One update-only call via the committed harness. The update was rejected at `proposal_compatibility` with HTTP 422 because `structuralActionRequired=true` but the proposal contained no graph mutation (only `[updatedNodes: [{nodeId: n_savings_realism, newValue: null}]]`). The model correctly extracted user meaning ("The user remains unsure about whether the projected office savings from relocation are realistic.") but could not produce any structural change because the answer provided only uncertainty confirmation with zero new evidence. No next question was emitted because the apparatus blocks before question-selection. **This is a semantic gap:** pure-preservation answers provide no mutation target, yet the engine treats the uncertainty as requiring structural action. The 58A.4 interrogative fix path remains unproven live. Configured Ollama: qwen-claude:latest at http://192.168.1.111:11434. No production code changed. diff --git a/docs/experiment-58a6.md b/docs/experiment-58a6.md new file mode 100644 index 0000000..93876ab --- /dev/null +++ b/docs/experiment-58a6.md @@ -0,0 +1,111 @@ +# Experiment 58A.6 — Interrogative Question Rendering Through Production Update Path (CONTROLLED) + +**Branch:** `feature/question-formulation-v0.24` +**Starting HEAD:** `6f2c09c` (experiment: validate question-formulation fix live) +**Experiment commit:** pending + +## Objective + +When the answer simply preserves the existing savings-realism uncertainty and introduces no new issue, does the live engine select that existing interrogative node and render its next question coherently through the 58A.4 fix? + +## Configured Scenario (fixed) + +"We are considering relocating the engineering team to reduce operating costs." + +## Configured Answer (fixed) + +"I am still unsure whether the projected office savings from relocation are realistic." + +## Why This Case Is Controlled + +The answer: +- preserves the existing uncertainty +- introduces no new figure +- introduces no new assumption +- introduces no new competing unknown + +Therefore this run is specifically designed to exercise formulation for the existing `n_savings_realism` target rather than test broader reasoning. + +## Run + +One update-only call via the committed harness (`scripts/reproduce-multi-turn-investigation.mjs`). + +### CALL ACCOUNTING + +- startCalls: 0 +- updateCalls: 1 +- totalCalls: 1 +- Retries: 0 + +### PRE-ANCHORED FIXTURE + +- savings-realism node id: `n_savings_realism` +- label: "Are the projected office savings from relocation realistic?" +- status: unknown +- Exactly one equivalent unresolved uncertainty before Update: YES +- previousQuestion sent: "Are the projected office savings from relocation realistic?" + +### UPDATE + +- HTTP status: 422 +- Stage: proposal_compatibility +- Validation errors: "structuralActionRequired is true but proposal contains no graph mutation" + +#### Proposal snapshot (rejected) + +``` +answerMeaning.userSupportedMeaning: "The user remains unsure about whether the projected office savings from relocation are realistic." +updatedNodes: [{nodeId: n_savings_realism, newValue: null}] +resolvedUnknownNodeIds: [] +addedNodes: [] +addedEdges: [] +structuralActionRequired: true (implied by validator rejection reason) +selectedQuestion: UNAVAILABLE (update rejected before question selection) +``` + +#### Resulting persistent graph: NOT APPLIED + +The update was rejected. The fixture graph remains unchanged: +``` +node: id=n_relocation_state, kind=state, status=provisional +node: id=n_savings_realism, kind=unknown, status=unknown +edge: from=n_savings_realism, to=n_relocation_state, relationship=depends_on +``` + +## Target selection + +NO TARGET — update rejected before question selection could complete. + +## Interrogative fix path + +UNAVAILABLE — the apparatus prevented reaching this stage. + +## Question assessment + +NONE — no question produced. + +## Classification: E — NO QUESTION + +The engine identified that structural action was required (structuralActionRequired=true implied by validator rejection) but failed to produce any meaningful graph mutation, causing a 422 at `proposal_compatibility`. No next question was emitted because the update was rejected before the question-selection phase. + +## What this establishes: + +1. The pre-anchored fixture apparatus works — the correct node (n_savings_realism) and answer reach the production server +2. The model correctly extracts user meaning: "The user remains unsure about whether the projected office savings from relocation are realistic." +3. For a pure-preservation answer with no new evidence/figure/assumption, the engine still requires structural action but cannot produce one — this is a **semantic gap**: the answer provides only uncertainty confirmation, which the model recognizes as requiring structural action but cannot express through graph mutation (nothing to change) +4. The 58A.4 interrogative-label fix path remains unproven live because the apparatus blocks before question selection + +## What this does NOT prove: + +1. Whether n_savings_realism would be selected if the update had succeeded +2. Whether the emitted question would be grammatically coherent for an interrogative label +3. Whether the 58A.4 fix works in production +4. Cross-domain generalisation + +## Production code changed: NO + +## Harness/tooling changed: NO + +## Ollama calls beyond harness count: 0 + +## Dev server disturbed: NO