docs: record structural action capture hardening
This commit is contained in:
@@ -1402,4 +1402,18 @@ Full record in `docs/experiment-57j66.md`.
|
||||
- All existing schema, prompt-builder, and utils tests pass.
|
||||
- The change is backward-compatible: field is optional by default; old proposals without it behave identically to the legacy path.
|
||||
|
||||
---
|
||||
|
||||
### Experiment 57J.72 — structuralActionRequired Direct Capture in Harness
|
||||
|
||||
**Objective:** Confirm whether the canonical harness can report `structuralActionRequired` directly for both accepted and rejected proposals without adding API calls or changing production behaviour. **Classification: A — HARNESS-ONLY FIX VALIDATED.**
|
||||
|
||||
**Answer:** YES. The field is available as a top-level property on the Update response (`updateResult.json.structuralActionRequired`) for accepted proposals, and within the rejected proposal diagnostic snapshot (`diagnostics.rejectedProposalSnapshot.structuralActionRequired`) for rejected ones.
|
||||
|
||||
**Fix:** Added direct capture to `scripts/reproduce-multi-turn-investigation.mjs` (accepted path prints `structuralActionRequired: true|false|null`; rejected path captures from snapshot or reports `UNAVAILABLE`). Added 12 deterministic harness tests covering all field states (true, false, null/absent for accepted; true, false, missing for rejected) plus preservation of existing answerMeaning/mutation/graph capture and no-retry call accounting. All 29 tests pass via mocked responses only. Zero Ollama calls. Zero production code changes.
|
||||
|
||||
**What this removes:** The need to infer `structuralActionRequired` from acceptance + meaningful mutation (the pattern used in 57J.71). Future experiments can read the field directly.
|
||||
|
||||
---
|
||||
|
||||
New branch: `feature/semantic-action-contract-v0.23`
|
||||
|
||||
Reference in New Issue
Block a user