Commit Graph
94 Commits
Author SHA1 Message Date
robbond 607a2d4a58 fix: ensure loading overlay renders during analyse 2026-08-05 09:51:17 +01:00
robbond 7f3dc076b6 fix: pass isLoading prop to update LoadingOverlay 2026-08-05 09:19:31 +01:00
robbond 553bdb1bdd fix: allow loading render before awaiting (prevent React batching) 2026-08-05 09:16:56 +01:00
robbond 6ae167175c fix: move LoadingOverlay outside hasSelectedQuestion gate 2026-08-05 09:09:18 +01:00
robbond 975a965b10 fix: JSX comment inside ternary breaks parsing 2026-08-05 08:51:10 +01:00
robbond 592962325d feat: add mock-mode docs and additional e2e tests (long investigation, recovery states) 2026-08-05 08:38:44 +01:00
robbond 61210c1200 fix: localise update reasoning state 2026-08-05 08:36:18 +01:00
robbond 6d11c1d503 fix: unify reasoning mode across submissions 2026-08-05 08:27:22 +01:00
robbond c87fd65e13 fix: stabilise happy path playwright journeys 2026-08-05 08:00:18 +01:00
robbond c4f5744c30 feat: Phase 2-5 UX enhancements — recovery cards, session persistence, summary panel, contract backlog
Phase 2: Recovery state components (ProviderUnavailableCard,
MalformedResponseCard, UnexpectedStateCard, ContinueLaterBanner) with
automatic error detection for provider/network/malformed/unexpected states.

Phase 3: Session persistence via sessionStorage — save after each
successful turn, restore on mount, clear on restart/reset. Continuelater banner shown when session is restored.

Phase 4: InvestigationSummaryPanel component displaying current status,
understanding summary, questions answered/remaining, investigation timestamps.

Phase 5: docs/reasoning-contract-backlog.md documenting all mocked
fields (60+ rows across 7 categories) with feature/UI need/mock/desired
output/stage/notes columns.

Also: wired onRestart through ReasoningWorkspace → ScenarioForm, fixed
getErrorType scope issues, removed broken window.__restartInvestigation.
2026-08-05 06:48:59 +01:00
robbond 28289bb4b7 doc: decomposition document for codex reasoning development 2026-08-05 06:14:40 +01:00
robbond 98f398ec8b refactor: terminal result card states open closed 2026-08-04 19:11:47 +01:00
robbond cadf74d461 refactor: unify terminal result cards and simplify history indicators 2026-08-04 19:04:50 +01:00
robbond 1f469fdadf fix: remove duplication of original situation 2026-08-04 18:58:42 +01:00
robbond fd575e7fcb fix: make mock terminal states internally consistent 2026-08-04 18:52:36 +01:00
robbond 9e0fca8f53 fix: preserve plain-language current understanding 2026-08-04 18:43:50 +01:00
robbond b343844954 refactor: emphasise investigation conclusions over system status 2026-08-04 18:29:25 +01:00
robbond 5de0c57cce fix: preserve tldr investigation hierarchy 2026-08-04 18:19:07 +01:00
robbond f703fdc842 fix: clarify terminal investigation states 2026-08-04 18:10:06 +01:00
robbond 55ed4da69a fix: keep original situation visible in workspace 2026-08-04 17:57:51 +01:00
robbond 91bc3f1445 reorder: move Your Response next to Current Investigation
The response form now appears immediately after the active question
so the user can read and answer without scrolling. Everything else
becomes supporting context beneath the interaction area.
2026-08-04 17:51:12 +01:00
robbond ae615c4343 feat: make the workspace tldr first 2026-08-04 17:39:30 +01:00
robbond 437152086b updated context documents 2026-08-04 17:33:51 +01:00
robbond c3faf53823 feat: make investigation history readable 2026-08-04 17:14:50 +01:00
robbond 2fd12b124c fix: reset update state after mock analysis 2026-08-04 16:06:06 +01:00
robbond 6c033e1f44 fix: complete mock start lifecycle 2026-08-04 15:07:36 +01:00
robbond 6e4db76807 fix: align mock responses with real UI contract 2026-08-04 14:11:59 +01:00
robbond 97a4847770 feat: add mock investigation mode for UI development
- lib/mocks/confidence-engine/mock-client.js: self-contained ESM interceptor with 6 inline turn fixtures, no external deps or require() calls
- components/scenario-form.jsx: MOCK_ENABLED compile-time boolean, useMockGlobals() hook injects window.__MOCK_* globals at runtime, ternary dispatch to mockFetch
- .env.example: NEXT_PUBLIC_CONFIDENCE_ENGINE_MOCKS, MOCK_DELAY, MOCK_SCENARIO env vars
- docs/v0.7-ui-mock-mode.md: setup, scenarios (default/complete/error), architecture, safety rules, fixture schema
2026-08-04 13:56:15 +01:00
robbond dced344680 fix: preserve accurate investigation history 2026-08-04 13:27:23 +01:00
robbond 91168a8213 feat: show investigation history 2026-08-04 13:15:56 +01:00
robbond 7c07ce195d Revert "feat: allow earlier evidence to be revised"
This reverts commit 13b14fd01a.
2026-08-04 13:10:09 +01:00
robbond 13b14fd01a feat: allow earlier evidence to be revised 2026-08-03 20:00:13 +01:00
robbond 588a1cf0c2 feat: restructure workspace as investigation notebook
- Remove InvestigationProgress card (eliminated misleading node-count progress)
- Replace with CurrentInvestigationCard showing question + 'why we are asking' + 'what we investigate' from active node context
- Add CurrentFocusCard explaining what the engine is investigating and why it matters
- Add InvestigationHistory section below answer form (chronological turn cards with collapsible details)
- Each history card captures: question, answer, engine response, timestamp
- Simplify UpdateAcknowledgement to single-line display without repeating user's answer
- Remove 'remaining count' text and any graph-derived progress numbers from user-facing UI

UI philosophy shift: form -> investigation workspace
2026-08-03 19:44:52 +01:00
robbond f5cbf4b629 fix: preserve conversation after update 2026-08-03 19:23:06 +01:00
robbond 007f5ac286 feat: surface answer impact after update 2026-08-03 19:11:32 +01:00
robbond 3a83944006 fix: set update loading state before request 2026-08-03 19:01:04 +01:00
robbond 74fc6d1457 fix: show update reasoning progress 2026-08-03 18:00:20 +01:00
robbond 7bc1c93486 feat: evolve investigation into guided conversation 2026-08-03 17:01:04 +01:00
robbond 0dd15345e4 fix: make active reasoning state visible 2026-08-03 16:09:04 +01:00
robbond e2960853ba added claude context files 2026-08-03 15:51:46 +01:00
robbond 44aad69e12 fix: clarify reasoning progress and loading feedback 2026-08-03 15:44:34 +01:00
robbond ed32d585bb feat: add user-focused reasoning workspace 2026-08-03 15:18:35 +01:00
robbond 0fe11b93a0 Merge branch 'feature/reasoning-pattern-memory-v0.7' 2026-08-03 14:52:15 +01:00
robbond 59631f2e72 added obs report 2026-08-03 14:51:39 +01:00
robbond b73760d5a7 docs: add v0.7 observation report 2026-08-03 13:58:07 +01:00
robbond fe6a9925cb fix: stabilise multi-turn question progression 2026-08-03 13:55:39 +01:00
robbond 34c25fcb43 fix: reselect after reasoning pattern filtering 2026-08-03 12:39:01 +01:00
robbond c27320984c feat: enforce reasoning pattern consistency 2026-08-03 12:10:57 +01:00
robbond 3e2edd2edc fix: continue question selection after graph updates 2026-08-03 11:28:49 +01:00
robbond b00928d6fb feat: introduce reasoning pattern selection 2026-08-03 10:25:26 +01:00
robbond 42d4da3496 feat: decompose non-answerable unknowns 2026-08-03 09:53:28 +01:00
robbond db994d7764 fix: make graph-backed questions authoritative 2026-08-03 09:13:52 +01:00
robbond ef04b9e494 fix: normalise reported claim evidence kind 2026-08-03 08:50:37 +01:00
robbond 3c0f7f5a45 feat: enforce one-concept questions 2026-08-03 08:40:39 +01:00
robbond 449cf996dc Merge branch 'feature/question-strategy-alignment-v0.6' 2026-08-03 07:38:50 +01:00
robbond 5049435005 docs: add v0.6 release notes 2026-08-03 07:38:05 +01:00
robbond e0d9019c2a docs: document v0.6 reasoning architecture 2026-08-03 07:24:46 +01:00
robbond b2ffc54964 feat: evaluate deterministic cross-branch corroboration 2026-08-03 07:19:20 +01:00
robbond 1d64144e01 feat: separate confidence from reasoning completeness 2026-08-03 07:05:20 +01:00
robbond 49765e95a0 feat: propagate child resolution through reasoning graph 2026-08-03 06:52:52 +01:00
robbond d52690cf2b feat: decompose composite unknowns before questioning 2026-08-03 06:32:12 +01:00
robbond 0723c2f49a feat: decompose composite unknowns before questioning 2026-08-02 19:24:38 +01:00
robbond b1c633ba5c feat: back next questions with explicit graph unknowns 2026-08-02 19:03:07 +01:00
robbond 25a989450c feat: advance reasoning after comparability is resolved 2026-08-02 17:06:34 +01:00
robbond 7d408701b5 fix: defer relationship classification until comparability is established 2026-08-02 16:48:10 +01:00
robbond c97f5f7303 feat: classify observation relationships after comparability 2026-08-02 16:40:24 +01:00
robbond 0c7558d31f feat: introduce comparability assessment before contradiction reasoning 2026-08-02 16:28:11 +01:00
robbond b84989b96a test: verify ambiguity handling across domains 2026-08-02 16:17:37 +01:00
robbond 51ce356218 fix: handle unjustified unknown selection ties 2026-08-02 16:09:00 +01:00
robbond a1f6d0c2b9 test: inspect structural influence in unknown selection 2026-08-02 15:40:06 +01:00
robbond 586802950d feat: explain deterministic unknown selection 2026-08-02 15:27:00 +01:00
robbond 5ef9710293 Implemented Investigation Strategy 2026-08-02 15:10:49 +01:00
robbond a79a7bd524 Merge branch 'feature/emergent-unknowns-v0.5' 2026-08-02 13:07:04 +01:00
robbond 2e4c624a8a docs: add v0.5 release notes 2026-08-02 13:07:04 +01:00
robbond 781d6a462f test: generalise question priority across decisions 2026-08-02 13:02:49 +01:00
robbond 48ce66dddb feat: formulate follow-up questions from graph context 2026-08-02 12:47:34 +01:00
robbond 4affadab4b fix: link emergent unknowns to answer-derived graph nodes 2026-08-02 12:17:49 +01:00
robbond 392564ed61 feat: prioritise follow-up questions by information value 2026-08-02 11:11:55 +01:00
robbond 72ef175971 feat: surface new unknowns after graph updates 2026-08-02 10:30:59 +01:00
robbond 904aec7616 Merge branch 'feature/reconstruction-v0.3' 2026-08-02 10:07:33 +01:00
robbond c3de80f203 docs: orchestrator and handoff 2026-08-02 10:06:48 +01:00
robbond a9bce79658 feat: add one-turn situation graph update UI 2026-08-02 09:43:42 +01:00
robbond a948910ba8 feat: add situation graph update API route 2026-08-02 08:32:18 +01:00
robbond cb77f955ed feat: apply validated graph update proposals 2026-08-02 08:24:56 +01:00
robbond f3cdfce0b0 feat: add graph update proposal orchestration 2026-08-02 08:15:54 +01:00
robbond b38a6a9f2e feat: define graph update proposal contract 2026-08-02 08:00:37 +01:00
robbond 02a6ecd0da fix: normalise compatible live reconstruction responses 2026-08-02 07:50:02 +01:00
robbond 575b8fd971 feat: connect UI to situation graph start flow 2026-08-02 07:21:40 +01:00
robbond 84858107b7 chore: document v0.4 route and test status 2026-08-02 06:59:23 +01:00
robbond 0ccc03c111 feat: add situation graph foundation 2026-08-02 06:59:23 +01:00
robbond 3c1362d8a1 feat: add initial situation graph orchestration 2026-08-02 06:52:26 +01:00
robbond 79ea2f6824 feat: add v0.3 normalised comparison reasoning
Add explicit reasoning guidance for normalising counts by exposure/denominator,
distinguishing total count from rate, and avoiding correlation-as-causation errors.

Changes:
- prompts/reconstruct-v0.3.md: new prompt with normalisation discipline
- lib/reconstruction/prompt.js: v0.3 loader + env var override support
- lib/analysis.js: defer DEFAULT_PROMPT_VERSION to prompt module (defaults to v0.3)
- PROMPT_VERSIONS extended to [v0.1, v0.2, v0.3]
- tests/v03-reasoning.test.js: 34 focused tests covering prompt loading, schema validation, guidance completeness, and target scenario fixture
- playwright.config.js + tests/smoke.test.js: minimal UI smoke test for browser rendering
- package.json: add @playwright/test as devDependency

Default switches to v0.3; v0.2 selectable via promptVersion or RECONSTRUCTION_PROMPT_VERSION env var.
2026-08-01 15:39:30 +01:00
robbond d72c7c5465 chore: establish clean v0.2 baseline
Include only the working reconstruction prototype with Ollama integration:
- double-wrapping fix (lib/llm/provider.js)
- explicit v0.2 JSON output schema (prompts/reconstruct-v0.2.md)
- Zod validation layer (lib/reconstruction/schema.js)
- shared core analysis path (lib/analysis.js)
- prompt versioning infrastructure (lib/reconstruction/prompt.js)
- provider abstraction
- functioning Ollama provider path
- updated API route with centralized analysis
- UI components displaying v0.2 data and validation errors
- .gitignore rules for generated evaluation artifacts

Exclude: evaluator experiments, diagnostic tests, debug scripts,
generated artifacts, comparison findings, test data tied to evaluator.
2026-08-01 14:45:06 +01:00
robbond a2f9e472ea chore: preserve initial reconstruction prototype 2026-07-31 18:51:38 +01:00