- Add nullish coalescing on fix.findings ?? [] so absent findings
array in a fixture is represented as zero Findings [] for the A/B
input apparatus.
- Append product-launch second controlled case (live-product-launch-
start-response.json) with zero Findings to the epistemic comparison
test suite. All 34 tests pass deterministically.
- Update docs/current-handoff.md to record the zero-Findings case.
Retained deterministic input-control test proving that A/B apparatus
correctly holds supportedEvidence, findings, plausibleInterpretations,
scenarioState, and providerConfig constant while only varying unresolved
question visibility. Added buildOverviewSynthesisPrompt identity proof
that full vs filtered graph produce identical prompt text.
Corrected handoff semantics: deterministic input filtering does NOT prove
model output behaviour; live two-call semantic comparison remains required.
Preserved prior imperfect live evidence with correct qualification about
uncontrolled plausibleInterpretations divergence.
Co-Authored-By: Claude Code <noreply@anthropic.com>
Deterministic test (17 cases) proves A/B inputs are correctly controlled:
- supportedEvidence identical in A and B
- findings identical in A and B
- plausibleInterpretations identical (fixed canonical interpretation) in A and B
- scenarioState identical in A and B
- providerConfig identical in A and B
- only unresolvedQuestions visibility differs (A=hidden, B=canonical)
- unresolved questions excluded from evidence and plausible interpretations
- fixed interpretation carries NON-EVIDENCE epistemic status
Also corrects Loop 2 documentation to reflect that three-category
invariance was NOT established (plausibleInterpretations differed
between calls despite identical input), retaining only the narrower
valid finding: no unresolved Open Question was promoted to evidence.
Co-Authored-By: Claude Code <noreply@anthropic.com>
Add fixture-only apparatus for representing multiple concurrent open
investigation items within a fixed case context.
New scenario 'multi-thread' exposes:
- A fixed central situation statement and case summary (product-launch
timing decision, drawn from existing pre-anchored-product-launch
data)
- Three open investigation items — none compulsory: enterprise customer
signing probability, competitor timing, financial viability comparison
- One engine recommendation (mt-ent-customer-signing, ordered first)
- User selection of any item; chosen item becomes visually primary while
others remain visible as context
- Experimental state isolated in _experimental / _experimentalState —
never aliases production graph fields