83 lines
3.2 KiB
Markdown
83 lines
3.2 KiB
Markdown
# Experiment 57J.80 — Incremental Meaning on Existing Uncertainty (Pre-Anchored)
|
|
|
|
**Branch:** `feature/semantic-action-contract-v0.23`
|
|
**Starting HEAD:** `ce01e70` (tooling: add pre-anchored update-only mode to canonical harness)
|
|
|
|
## Objective
|
|
|
|
Answer exactly:
|
|
|
|
> When the savings-realism uncertainty already exists and the user supplies new concrete information relevant to it, does the model emit `structuralActionRequired=true`, preserve that new information structurally, and avoid creating a duplicate equivalent uncertainty?
|
|
|
|
## Hypothesis
|
|
|
|
The answer contains both:
|
|
- **existing unresolved meaning:** uncertainty about whether the savings estimate is realistic
|
|
- **new supported information:** approximately £2 million per year, basis = eliminating the current lease cost
|
|
|
|
Expected valid contract path: `structuralActionRequired = true`, meaningful mutation, new info preserved, existing uncertainty identity preserved (single node).
|
|
|
|
## Configured scenario (from fixture)
|
|
|
|
```text
|
|
"We are considering relocating the engineering team to reduce operating costs."
|
|
```
|
|
|
|
## Configured answer (fixed)
|
|
|
|
```text
|
|
"The projected office saving is about £2 million per year based on eliminating the current lease cost, but I am still unsure whether that estimate is realistic."
|
|
```
|
|
|
|
## Pre-anchored fixture
|
|
|
|
```text
|
|
tests/fixtures/pre-anchored-update-savings-realism.json
|
|
```
|
|
|
|
**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**
|
|
|
|
## Run
|
|
|
|
### CALL ACCOUNTING
|
|
|
|
- startCalls: 0
|
|
- updateCalls: 1
|
|
- totalCalls: 1
|
|
- Retries: 0
|
|
- Supplementary scripts: NO
|
|
|
|
### UPDATE 1
|
|
|
|
- HTTP status: 400
|
|
- Stage: `request_validation`
|
|
- Validation errors: `[{"path":["previousQuestion"],"message":"Expected string, received null","code":"invalid_type"}]`
|
|
- structuralActionRequired: UNAVAILABLE
|
|
|
|
**Result:** Update rejected at request_validation before any model inference call. The harness passed `previousQuestion: null` (correct for update-only mode with no Start), but the production server's Zod validation requires `previousQuestion` to be a string.
|
|
|
|
## Classification: I — BLOCKED
|
|
|
|
The committed FIXTURE_MODE=updateOnly path fails before the model call due to a request_validation boundary condition: no prior Start means no selectedQuestion, and the server does not accept null for previousQuestion in update-only mode. The apparatus works (fixture loads, anchor verified, exactly one Update attempted), but cannot reach the model inference stage.
|
|
|
|
## What this establishes
|
|
|
|
- FIXTURE_MODE=updateOnly apparatus correctly verifies fixture integrity
|
|
- One update call is attempted even when blocked at validation
|
|
- Call accounting reports accurately
|
|
- Pre-anchored harness from 57J.78 requires a non-null previousQuestion string to reach the model inference stage
|
|
|
|
## What this does NOT prove
|
|
|
|
- Whether the model would produce structuralActionRequired=true for incremental meaning on existing uncertainty
|
|
- Whether new £2m/year information would be structurally preserved
|
|
- Whether lease-cost basis would be represented
|
|
- Whether duplicate uncertainty identity is avoided
|
|
|
|
## Production code changed: NO
|