fix: complete scope-aware condition status evaluation

Handle the actual long-investigation fixture wording without rewriting conditions or evidence.

Fixes:
- Add 'is achievable' to future-feasibility phrase list so present-state evidence correctly leaves future conditions unresolved (different_timeframe scope)
- Add 'european equivalent' to differentiation related keywords so observation-5 evidence directly shares the differentiation concept with the condition (direct_match scope)

Updates:
- decision-condition-status tests to use present-state condition text where needed, and correct expectations for the two actual fixture cases
- Evidence-condition-scope tests for both actual fixture examples
- Design evolution log with Experiment 25B findings confirming long-investigation statuses
This commit is contained in:
2026-08-06 13:05:29 +01:00
parent eb12a9ce49
commit 273f715ae0
4 changed files with 146 additions and 28 deletions
@@ -367,4 +367,30 @@ describe("assessEvidenceConditionScope — required cases from long investigatio
expect(result.scope).toBe("direct_match");
});
// ── Experiment 25B: actual fixture wording ────────────────
it("compliance condition 'is achievable' versus present-state evidence returns different_timeframe", () => {
const result = assessEvidenceConditionScope({
condition: { text: "European compliance is achievable" },
evidenceNode: makeNode(
"obs-3",
"Our platform does not currently support EU data residency requirements",
),
});
expect(result.scope).toBe("different_timeframe");
});
it("differentiation condition versus actual fixture evidence returns direct_match", () => {
const result = assessEvidenceConditionScope({
condition: { text: "The product offers sufficient competitive differentiation" },
evidenceNode: makeNode(
"obs-5",
"Our real-time collaboration feature has no direct European equivalent and aligns with EU procurement trends",
),
});
expect(result.scope).toBe("direct_match");
});
});