robbond
0b5a38f83d
fix(confidence-engine): persist done-for-now episode closure
2026-09-07 18:36:38 +01:00
robbond
949a7024b3
fix(confidence-engine): allow no-op episode reconsideration
2026-09-07 15:50:50 +01:00
robbond
ae00e70ced
fix(confidence-engine): unwrap synthesis provider response
2026-09-07 15:50:50 +01:00
robbond
7548a6af59
fix(confidence-engine): supply synthesis output schema
2026-09-07 13:44:57 +01:00
robbond
3f2e2e05ae
fix(confidence-engine): define focused relationship contract
2026-09-07 13:28:38 +01:00
robbond
14630cf6b7
experiment(confidence-engine): trace focused deconstruction failures
2026-09-07 13:08:08 +01:00
robbond
0cbe49913e
experiment(confidence-engine): trace live openai schema boundary
2026-09-07 12:51:13 +01:00
robbond
0d27d4935b
fix(confidence-engine): enforce openai strict object invariants
2026-09-07 12:22:03 +01:00
robbond
e289f0be1f
fix(confidence-engine): handle propertyless openai object schemas
2026-09-07 10:59:28 +01:00
robbond
0eadef6e3b
fix(confidence-engine): honor openai alternate output schema
2026-09-07 10:18:41 +01:00
robbond
bb3082d633
experiment(confidence-engine): route UI journey provider centrally
2026-09-07 09:35:53 +01:00
robbond
5878ce45ec
experiment(confidence-engine): add reconstruction-only helper flag
2026-09-06 18:22:20 +01:00
robbond
a93b6798cc
fix(confidence-engine): supply focused deconstruction schema
2026-09-06 16:21:26 +01:00
robbond
188dd04ab9
fix(confidence-engine): unwrap focused deconstruction response
2026-09-06 14:47:23 +01:00
robbond
d24ad48f62
test(confidence-engine): add canonical manufacturing scenario
2026-09-06 12:17:46 +01:00
robbond
e8d401e506
fix(confidence-engine): extract raw openai response text
2026-09-06 11:45:24 +01:00
robbond
0bb2f01100
experiment(confidence-engine): isolate reconstruction observation
2026-09-06 10:31:45 +01:00
robbond
215c783d11
experiment(confidence-engine): complete openai reconstruction apparatus
2026-09-06 10:06:06 +01:00
robbond
a45dd903cf
experiment(confidence-engine): add alias-capable experiment runtime
2026-09-06 08:29:31 +01:00
robbond
1daf2bb6ce
experiment(confidence-engine): expose reconstruction provider seam
2026-09-06 08:01:29 +01:00
robbond
860ee6fc5b
experiment(confidence-engine): add openai provider apparatus
2026-09-06 07:50:47 +01:00
robbond
726746f22d
fix(confidence-engine): extend reconstruction chat timeout
2026-09-06 06:16:36 +01:00
robbond
7070342fb1
fix(confidence-engine): preserve successful chat detection
2026-09-05 19:41:01 +01:00
robbond
cd1c6f4fc5
chore(confidence-engine): expose reconstruction fallback path
2026-09-05 19:13:39 +01:00
robbond
c7a0a79d0f
feat(confidence-engine): constrain reconstruction chat output
2026-09-05 18:44:47 +01:00
robbond
8c5b47bcf5
chore(confidence-engine): upgrade to zod 4
2026-09-05 18:21:15 +01:00
robbond
46b9bd8b03
fix(confidence-engine): retain successful provider path
2026-09-05 17:12:31 +01:00
robbond
dabd9e2245
fix(confidence-engine): expose failed provider path
2026-09-05 17:00:33 +01:00
robbond
677f5e5757
fix(confidence-engine): use configured model for chat detection
2026-09-05 16:46:24 +01:00
robbond
8c3edfec7d
fix(confidence-engine): log case-start failures
2026-09-05 14:37:29 +01:00
robbond
72324e63c8
fix(confidence-engine): enforce relationship endpoint references
2026-09-05 14:09:25 +01:00
robbond
84fc53f017
fix(confidence-engine): expose reconstruction validation issues
2026-09-05 13:48:48 +01:00
robbond
e5de8564a4
fix(confidence-engine): preserve intervention fit dependency
2026-09-05 13:33:01 +01:00
robbond
55e935066c
fix(confidence-engine): project unexplained transitions
2026-09-05 13:15:11 +01:00
robbond
e1839147b1
fix(confidence-engine): clarify relationship direction
2026-09-05 12:55:39 +01:00
robbond
fb49df87aa
feat(confidence-engine): expose initial reconstruction evidence
2026-09-05 12:39:17 +01:00
robbond
7472b6ecb0
feat(confidence-engine): preserve initial reconstruction relationships
2026-09-05 11:53:58 +01:00
robbond
13fbceee7a
feat(confidence-engine): strengthen initial reconstruction contract
2026-09-05 10:43:57 +01:00
robbond
37245a8e28
fix(confidence-engine): expose reconstruction failure evidence
2026-09-05 08:18:04 +01:00
robbond
f2a761d26f
test(confidence-engine): expose reconstruction experiment seam
2026-09-04 19:42:27 +01:00
robbond
642554038e
test(confidence-engine): prove direct helper production seam
2026-09-04 14:33:02 +01:00
robbond
928954ee4a
test(confidence-engine): verify direct decomposition helper
2026-09-04 14:02:36 +01:00
robbond
cc3a5dabd4
feat(confidence-engine): v0.60j preserve investigation on restart
2026-09-04 10:18:22 +01:00
robbond
4bc998ee3f
test(confidence-engine): verify v0.60h report identity
2026-09-04 09:34:03 +01:00
robbond
2af5971987
feat(confidence-engine): v0.60h migrate report route to use route [id] identity
2026-09-04 08:17:01 +01:00
robbond
df142ca76c
feat(confidence-engine): v0.60g2 render investigation portfolio
2026-09-04 07:58:04 +01:00
robbond
7ba1771bcf
feat(confidence-engine): v0.60g1 list investigation summaries
...
Recover to clean v0.60f then implement only the storage listing contract.
- Add listInvestigations() to provider: enumerate by prefix, project lightweight summary (id, scenario, updatedAt, investigationRevision, reportExists, reportGeneratedFromRevision), sort by updatedAt desc
- Add application-facing wrapper in investigation-storage.js
- Add 8 deterministic tests covering all listing invariants (coexistence, correct IDs, lightweight projection, legacy exclusion, unrelated exclusion, independent update, ordering, malformed skip)
- Fix MockStorageMap WebStorage API compatibility (.length + .key(i))
- Portfolio NOT migrated — that is v0.60g2
2026-09-04 06:45:26 +01:00
robbond
4b55ad1eae
feat(confidence-engine): v0.60f allocate investigation identity on create
...
Replace Portfolio's static "+ Create new investigation" link (href:
/investigations/case-1) with a <button> that allocates an opaque
application-owned durable ID via crypto.randomUUID() and navigates
via router.push to /investigations/{id} without persisting any empty
Investigation.
INVESTIGATION_ID constant retained only for card links (Continue
investigation / View report) — not migrated in this increment.
Test: deterministic Create New activation test verifies UUID allocation,
navigation to generated ID route, and zero saveInvestigation calls.
2026-09-03 19:20:28 +01:00
robbond
827411f254
refactor(confidence-engine): v0.60d clarify investigation storage identity
...
Replace bare re-export in investigation-storage.js with explicit wrapper
functions that own the canonical identity contract: snapshot.id is the sole
save identity authority. The provider never allocates or changes IDs.
7 new deterministic tests prove: identified snapshots persist under their
own id key, explicit competing id arguments are ignored, A/B remain
independently addressable, unknown IDs return null, and legacy singleton
compatibility is preserved for unmigrated callers.
No application callers modified. UI/routes not migrated.
2026-09-03 18:29:00 +01:00
robbond
8c85120b1c
feat(confidence-engine): v0.60c identity-aware investigation storage
...
- loadInvestigation(id) selects by durable ID when provided, null for unknown
- saveInvestigation(snapshot, id) persists under provider-chosen key derived from id
- clearInvestigation(id) removes specific investigation by identity when provided
- localStorage representation: confidence-engine-investigation:<durable-id>
- Backward-compatible singleton path preserved for existing unmigrated callers
- 6 new targeted tests proving two independently addressable Investigations
2026-09-03 18:09:03 +01:00