4.6 KiB
4.6 KiB
Experiment 60B.46 — Direct closure metadata evidence in live harness
Date: 2026-08-14
Branch: feature/closure-metadata-capture-v0.39
Purpose
Confirm that when the final material customer-signing uncertainty is resolved, the production runtime directly returns:
finalActiveUnknownNodeId = nullfinalSelectedQuestion = null
using the explicit harness fields added in 60B.45/46 rather than inferring from field omission.
Hypothesis
A successful result should show:
n_enterprise_customer_signing: resolved
n_product_launch_decision: known or resolved
addedNodes: []
addedEdges: []
finalActiveUnknownNodeId: null
finalSelectedQuestion: null
both existing options preserved (no duplication)
No directional recommendation is required.
Method
One bounded live update using the 60B.44 pre-anchored fixture:
- Fixture:
tests/fixtures/pre-anchored-product-launch-customer-signing.json - Mode:
updateOnly(single Update, no Start) - Answer: "Yes. The enterprise customer has now confirmed in writing that they will sign if we launch this year, so the £700,000 of expected annual revenue from them is confirmed. There are no other material uncertainties between launching this year and waiting twelve months."
- Model:
qwen-claude:latestvia Ollama (http://192.168.1.111:11434)
Call accounting
startCalls: 0
updateCalls: 1
totalCalls: 1
retries: 0
Results
HTTP
- Stage: accepted (no rejection path)
Structural mutation
| Field | Value |
|---|---|
updatedNodes |
2 nodes: n_enterprise_customer_signing (unknown→resolved), n_product_launch_decision (unknown→resolved) |
resolvedUnknownNodeIds |
["n_enterprise_customer_signing", "n_product_launch_decision"] |
addedNodes |
[] |
addedEdges |
[] |
Node final states
| Node ID | Kind | Status |
|---|---|---|
n_product_launch_state |
state | provisional |
opt_launch_this_year |
option | known |
opt_wait_twelve_months |
option | known |
n_product_launch_decision |
unknown | resolved |
n_enterprise_customer_signing |
unknown | resolved |
Direct closure metadata (60B.46 harness fields)
finalActiveUnknownNodeId: null
finalSelectedQuestion: null
Identity preservation
- Decision node (
n_product_launch_decision): PRESERVED — status changed to resolved, id unchanged - Launch option (
opt_launch_this_year): PRESERVED — status known, id unchanged - Wait option (
opt_wait_twelve_months): PRESERVED — status known, id unchanged
Assessment
| Criterion | Result |
|---|---|
| Customer factor | RESOLVED IN PLACE |
| Decision state | RESOLVED |
| Decision identity | PRESERVED |
| Launch option | PRESERVED |
| Wait option | PRESERVED |
| Active lifecycle | NULL — CLEARED |
| Final question | NULL — DECISION COMPLETE |
| New uncertainty discipline | NONE |
60B.44 comparison
| Field | 60B.44 (inferred) | 60B.46 (direct) |
|---|---|---|
| activeUnknownNodeId | inferred from omission | null — directly exposed |
| selectedQuestion | inferred from omission | null — directly exposed |
The important difference is measurement:
- 60B.44: active/final question inferred from omission
- 60B.46: active/final question directly exposed as raw values
Classification: A — LIVE CLEAN CLOSURE DIRECTLY CONFIRMED
All criteria directly observed:
- ✅ customer factor resolves in place
- ✅ decision closes in place
- ✅ both options preserved
- ✅ no added unknowns
- ✅
finalActiveUnknownNodeId = null(direct) - ✅
finalSelectedQuestion = null(direct)
What this proves
The production confidence engine correctly performs a clean graph-level closure when the final material uncertainty is resolved:
- Both the customer-signing unknown and the central decision unknown are resolved in place (no duplication, no loss).
- The harness-observed
activeUnknownNodeIdis explicitly cleared tonull, confirming the engine's internal active-target pointer is zeroed. - The harness-observed
selectedQuestionis explicitlynull, confirming no follow-up question remains pending. - No new uncertainties are introduced (zero addedNodes/edges).
What remains weak or unproven
- Closure under contradictory/unexpected inputs (this test used a clean, expected-resolution path).
- Multiple simultaneous uncertainty resolution in a single update.
- Full-suite regression coverage for the closure metadata harness layer itself (60B.45 added focused unit tests: 67/67 pass).
- Live closure verification on production hosts beyond localhost.