robbond
2cb2d556fd
fix(confidence-engine): sanitize reasoning error responses
2026-09-10 11:39:13 +01:00
robbond
b9d49ff277
fix(confidence-engine): correct legal footer layout
2026-09-10 06:40:30 +01:00
robbond
27ded883e5
feat(confidence-engine): add tester legal pages
2026-09-10 06:18:28 +01:00
robbond
96b47d16a3
fix(confidence-engine): decouple app health from provider
2026-09-09 20:00:52 +01:00
robbond
00d7593ffd
fix(confidence-engine): preserve scenario during outage
2026-09-09 19:45:55 +01:00
robbond
60c90bdd6a
fix(confidence-engine): propagate start outage classification
2026-09-09 19:36:29 +01:00
robbond
707fe1b3c0
fix(confidence-engine): sanitize start reasoning outage
2026-09-09 18:02:29 +01:00
robbond
ed033e71d5
fix(confidence-engine): sanitize focused reasoning outage
2026-09-09 17:34:56 +01:00
robbond
6974b710de
fix(confidence-engine): refine landing page layout
2026-09-09 16:33:06 +01:00
robbond
b93aad9667
fix(confidence-engine): simplify responsive login layout
2026-09-09 16:15:55 +01:00
robbond
5f423d2f5f
fix(login): correct desktop layout — sections 1+3 form left column, sign-in card right at 420px; mobile order: proposition → sign-in → HOW IT WORKS
2026-09-09 15:21:26 +01:00
robbond
4d78c81773
fix(confidence-engine): prioritise mobile sign-in
2026-09-09 14:20:27 +01:00
robbond
efdb0a29d1
docs(confidence-engine): record first-time framing increment
2026-09-09 14:04:36 +01:00
robbond
3bfc1c5c4b
feat(confidence-engine): add first-time product framing
2026-09-09 14:04:08 +01:00
robbond
fdb6c86ee2
docs(confidence-engine): checkpoint deployed product platform
2026-09-09 13:37:03 +01:00
robbond
e18de817b4
build(confidence-engine): ignore deployment environment
2026-09-09 13:30:22 +01:00
robbond
607a2ad98b
fix(confidence-engine): use deployment host address in quotes
2026-09-09 13:23:22 +01:00
robbond
3e473dcf55
fix(confidence-engine): use deployment host address
2026-09-09 13:21:47 +01:00
robbond
dafb9ae9b7
fix(confidence-engine): bind Jenkins deployment SSH context
2026-09-09 13:19:21 +01:00
robbond
b964f2f172
fix(confidence-engine): give Jenkins pipeline node context
2026-09-09 13:02:19 +01:00
robbond
2c535080d2
build(confidence-engine): add manual Jenkins deployment
2026-09-09 12:44:55 +01:00
robbond
bb62a65174
fix(confidence-engine): preserve external auth callback origin
2026-09-09 11:26:57 +01:00
robbond
0125975ccb
fix(confidence-engine): sanitize public health response
2026-09-09 10:33:54 +01:00
robbond
f557175bfb
fix(confidence-engine): keep health endpoint public
2026-09-09 10:01:10 +01:00
robbond
896851e68d
build(confidence-engine) remove copy line from dockerfile
2026-09-09 09:52:55 +01:00
robbond
2079be690f
build(confidence-engine) fix dockerfile env var
2026-09-09 09:47:45 +01:00
robbond
e6c78f87fe
build(confidence-engine): add production container packaging
2026-09-09 06:35:15 +01:00
robbond
d6df1d210e
feat(confidence-engine): use server investigation persistence
2026-09-08 19:21:05 +01:00
robbond
6dd447e56a
feat(confidence-engine): add authenticated investigation persistence
2026-09-08 17:15:46 +01:00
robbond
b949eea831
feat(confidence-engine): define investigation persistence schema
2026-09-08 16:56:07 +01:00
robbond
30bf44f2e5
feat(confidence-engine): establish authenticated product boundary
2026-09-08 16:30:07 +01:00
robbond
1c17452bee
feat(confidence-engine): add dark mode
2026-09-08 11:04:49 +01:00
robbond
24d9e466f6
docs(confidence-engine): checkpoint commercially testable product loop
2026-09-08 10:40:21 +01:00
robbond
85b9f4411f
fix(confidence-engine): reopen resolved unknowns by graph state
2026-09-08 09:42:46 +01:00
robbond
0b5a38f83d
fix(confidence-engine): persist done-for-now episode closure
2026-09-07 18:36:38 +01:00
robbond
7af708159e
docs(confidence-engine): record Terra journey boundary fixes
2026-09-07 15:51:18 +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
642a969b18
refactor(confidence-engine): compact current-handoff to operational snapshot; archive v0.61 experiment history to ch19
...
- Reduce docs/current-handoff.md from 2003 → 185 lines (90% reduction)
- Move all initial-decomposition v0.61 experiment narrative to
docs/archive/experiments/vol-1-chapters/ch19/initial-decomposition-v0.61.md
- Update design-evolution/README.md with ch19 Era 8 entry
- Add CURRENT MVP DIRECTION section (frozen; OpenAI investigation is next question)
- Fix stale branch reference in current-project-state.md
- Update Return-to-Work Summary to reflect v0.61 completion
- Update Verification Marker for v0.60/v0.61 status
2026-09-07 07:51:08 +01:00
robbond
5878ce45ec
experiment(confidence-engine): add reconstruction-only helper flag
2026-09-06 18:22:20 +01:00
robbond
be8b725a8d
docs(confidence-engine): record focused deconstruction repeatability
2026-09-06 17:02:57 +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
a0f90e8885
docs(confidence-engine): record matched provider reconstruction evidence
2026-09-06 13:28:55 +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
653934559c
experiment(confidence-engine): reinforce outcome preservation salience
2026-09-06 07:17:15 +01:00
robbond
5c9f94ca13
experiment(confidence-engine): preserve supplied outcome categories
2026-09-06 07:08:57 +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
a59d60262e
fix(confidence-engine): correct experiment helper project root
2026-09-05 06:15:05 +01:00
robbond
f2a761d26f
test(confidence-engine): expose reconstruction experiment seam
2026-09-04 19:42:27 +01:00
robbond
844ec0eb8c
docs(confidence-engine): correct v0.61 experiment 5 closeout
2026-09-04 18:23:02 +01:00
robbond
863f7dcbf2
docs(confidence-engine): record v0.61 repeated decomposition experiment
2026-09-04 18:04:16 +01:00
robbond
65c5ded9ab
docs(confidence-engine): restore v0.61 decomposition objective
2026-09-04 17:17:53 +01:00
robbond
6218a3ed6d
docs(confidence-engine): correct v0.61 accessibility evidence
2026-09-04 16:51:35 +01:00
robbond
898c3dcaaf
docs(confidence-engine): record v0.61 intervention accessibility experiment
2026-09-04 16:32:55 +01:00
robbond
42da768e66
docs(confidence-engine): record v0.61 intervention-fit experiment
2026-09-04 16:11:38 +01:00
robbond
95d9965420
docs(confidence-engine): correct v0.61 experiment interpretation
2026-09-04 16:05:05 +01:00
robbond
580b2a122e
docs(confidence-engine): record v0.61 decomposition experiment 2
2026-09-04 15:56:00 +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
41ea2cb6b9
test(confidence-engine): add direct initial decomposition apparatus
...
Establishes reusable apparatus for asking: given scenario text X,
what structured initial decomposition does current production path produce?
- Direct curl/Postman via existing /api/cases/start route (no new API)
- Thin CJS helper at scripts/start-case-experiment-helper.cjs for Claude
experiments (imports startCase directly, zero code duplication)
- Zero-live-call verification: all four seam checks confirmed by existing
tests (cases-start-route.test.js, start-case-summary.test.js)
- No browser state, no persistence mutation, no Investigation ID required
by the route itself
Files:
+ scripts/start-case-experiment-helper.cjs (new helper script)
M docs/current-handoff.md (§v0.61 apparatus documentation)
2026-09-04 13:36:25 +01:00
robbond
e6f2249413
docs(confidence-engine): close v0.60 multi-investigation work
2026-09-04 12:19:20 +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
01e141aa66
feat(confidence-engine): v0.60e route investigation identity
...
Migrate the Investigation page route to own durable investigation identity
via its route [id] segment, passing that ID through to ScenarioForm for
hydration and persistence.
- Remove hardcoded INVESTIGATION_ID constant from page.jsx
- Use params.id as routeId; loadInvestigation(routeId) loads by identity
- Pass investigationId prop into ScenarioForm in both branch paths
- Session restore calls loadInvestigation(investigationId)
- All 4 save call sites include id: investigationId in snapshot
- Missing identified Investigation starts clean (no singleton fallback)
- Legacy singleton is not migrated/fallback-loaded
- Portfolio remains unmigrated; Report remains unmigrated; Restart untouched
Deterministic tests: 34/34 pass (scenario-form-persistence + investigation-storage)
Build: PASS
Live Playwright: all criteria verified at /investigations/v060e-live
2026-09-03 19:02:37 +01:00