Commit Graph
100 Commits
Author SHA1 Message Date
User 4ebd2b77a3 docs: design PSD survey remediation checklist 2026-08-20 15:16:35 +02:00
User bd7fa6d2c1 Merge branch feat/user-owned-sessions 2026-07-16 20:40:51 +02:00
User 3abe69badc docs: record session storage deployment gotchas 2026-07-16 20:40:51 +02:00
User 5cacf70a0d fix: bootstrap user preferences without invalidating DWH cache 2026-07-16 20:32:20 +02:00
User ccb3cf4aa9 test: cover user-owned session security boundaries 2026-07-16 19:16:58 +02:00
User 7a65fc80a2 fix(deploy): validate session migrator TLS mode 2026-07-16 19:07:53 +02:00
User cadc4c6947 docs(deploy): document user-owned session cutover 2026-07-16 19:02:58 +02:00
User c6a74c9ccb fix(frontend): harden owner action confirmation 2026-07-16 18:51:02 +02:00
User 58e0884df1 feat(frontend): expose owned session scopes 2026-07-16 18:46:18 +02:00
User b454fb478b fix(backend): harden principal child isolation 2026-07-16 18:38:40 +02:00
User 458eb13c89 feat(backend): enforce user-owned sessions 2026-07-16 18:32:52 +02:00
User 72db6b823d fix(harness): record postgres decision phases 2026-07-16 18:08:17 +02:00
User c1cddaa667 refactor(harness): route workflow persistence through repositories 2026-07-16 18:01:29 +02:00
User 259f021313 fix(harness): preserve session migration JSON errors 2026-07-16 17:35:54 +02:00
User 5dbb91390f feat(harness): persist server sessions in postgres 2026-07-16 17:31:04 +02:00
User 8f0154eb9e fix(harness): persist evidence artifact 2026-07-16 17:14:47 +02:00
User 8f364ec564 feat(harness): add local session repository 2026-07-16 17:11:22 +02:00
User 8296937bc0 docs: add user-owned session storage plan 2026-07-16 17:01:39 +02:00
User 671bd20329 chore: ignore Vitest cache 2026-07-16 13:03:38 +02:00
User c587f9dc4a merge: resizable activity timeline and CTE density 2026-07-15 16:06:19 +02:00
User 7fc58287a7 docs: clarify activity split fallback 2026-07-15 15:59:21 +02:00
User 6a5ca7e8cb docs: record final activity split deployment 2026-07-15 15:57:33 +02:00
User 1f540fcb78 fix(frontend): harden activity split responsiveness 2026-07-15 15:52:22 +02:00
User f0ef2654df docs: record activity split deployment 2026-07-15 15:32:29 +02:00
User f1af1f909b style(frontend): tighten CTE plan vertical rhythm 2026-07-15 15:15:56 +02:00
User d177e1c0af feat(frontend): add resizable activity split 2026-07-15 15:04:15 +02:00
User 30e76a968d fix(frontend): restore readable model activity timeline 2026-07-15 14:55:57 +02:00
User 9274f07987 docs: plan resizable activity timeline 2026-07-15 14:44:36 +02:00
User 7ad06cde81 docs: design resizable activity timeline 2026-07-15 14:29:50 +02:00
User bef21f9e43 test(frontend): harden live log contract 2026-07-15 12:45:26 +02:00
User 4356a1243c docs: record central live log deployment 2026-07-15 12:31:57 +02:00
User 09f9bdffe5 fix(frontend): restore live log text contrast 2026-07-15 12:27:19 +02:00
User 6b0da84a3d style(frontend): compact CTE plan spacing 2026-07-15 12:09:04 +02:00
User 00c1af5a5a fix(frontend): reset live log follow state on resume 2026-07-15 12:04:05 +02:00
User 279b79516c fix(frontend): deduplicate live workflow activity 2026-07-15 11:55:14 +02:00
User e7a8bc29b0 docs: harden central log implementation plan 2026-07-15 11:48:30 +02:00
User b9e4a747f0 docs: plan central live log and compact CTE plan 2026-07-15 11:44:45 +02:00
User d5ec7686a0 docs: design central live log and compact CTE plan 2026-07-15 11:27:39 +02:00
User 9554379916 docs: record filtered model activity deployment 2026-07-15 03:49:09 +02:00
User 72085990ef fix(frontend): hide model activity execution noise 2026-07-15 03:24:22 +02:00
User e9cbc2b701 docs: plan model activity signal filter 2026-07-15 03:15:53 +02:00
User eef4cf0f50 docs: design model activity signal filter 2026-07-15 03:10:10 +02:00
User ffef01eb0a docs: record final lifecycle deployment 2026-07-15 02:21:00 +02:00
User 56d73d246b fix: preserve unrelated resume during delete 2026-07-15 02:16:36 +02:00
User 0bcec1591b fix: close delete resume and SSE replay races 2026-07-15 02:08:11 +02:00
User 4d36f4acf1 docs: record activity log and CTE deployment 2026-07-15 01:47:21 +02:00
User 6747f6f8a0 fix: serialize session lifecycle transitions 2026-07-15 01:37:42 +02:00
User 08b1f4909e fix: make session resume atomic across restarts 2026-07-15 00:42:35 +02:00
User 2b4797f133 fix: harden resume and SSE replay 2026-07-15 00:06:00 +02:00
User e5366d14a6 fix(frontend): harden CTE step semantics and padding 2026-07-14 23:33:40 +02:00
User 964bff9612 fix(frontend): restore CTE card padding and hierarchy 2026-07-14 23:24:02 +02:00
User d2d8029ff2 fix(security): sanitize session bootstrap failures 2026-07-14 23:13:21 +02:00
User f58b1d84ae fix(frontend): show complete model activity from phase one 2026-07-14 23:06:07 +02:00
User f0f6c3c223 feat(frontend): build chronological activity timeline 2026-07-14 22:56:41 +02:00
User e0a97a01f3 feat(backend): expose sanitized tool activity 2026-07-14 22:46:22 +02:00
User a3c7d6ba05 docs: plan complete activity log and CTE layout 2026-07-14 22:41:54 +02:00
User 2da2df58ca docs: design activity log and CTE layout fixes 2026-07-14 22:33:30 +02:00
User 2759076db9 docs: record final core rebuild 2026-07-14 21:42:14 +02:00
User df1e7dea9c fix(resume): recover cleanly after Pi exits 2026-07-14 21:35:50 +02:00
User 7e1d72c9a4 docs: clarify Qwen smoke verification 2026-07-14 21:22:33 +02:00
User a7b0fb7788 docs: record Qwen connectivity deployment 2026-07-14 21:14:30 +02:00
User 5891bb4a18 fix(deploy): connect core to local Qwen 2026-07-14 20:58:19 +02:00
User 1393c6358e fix(frontend): reconnect stream on same-session resume 2026-07-14 20:53:19 +02:00
User b1d1284cc8 fix(backend): restart idle Pi sessions on resume 2026-07-14 20:44:59 +02:00
User aba8666f16 fix(backend): track Pi turn lifecycle 2026-07-14 20:39:45 +02:00
User 37cc42bebf docs: plan Qwen connectivity and resume recovery 2026-07-14 20:33:57 +02:00
User ad4d6963a2 docs: design Qwen connectivity and resume recovery 2026-07-14 20:26:00 +02:00
User a295cabbe3 docs: record post-merge core rebuild 2026-07-14 19:24:38 +02:00
User c4c1130041 docs: capture Pi model selection gotchas 2026-07-14 19:05:00 +02:00
User 7eb54b8399 docs: record model selector deployment 2026-07-14 18:57:29 +02:00
User e286b9131e test(frontend): cover configured model selector 2026-07-14 18:48:12 +02:00
User 0cf86e3540 fix(backend): allow configured local Qwen provider 2026-07-14 18:44:12 +02:00
User 3d23d0543c fix(backend): validate configured model provider pair 2026-07-14 18:39:37 +02:00
User c463de8da2 fix(backend): scope Pi model listing to enabled models 2026-07-14 18:33:15 +02:00
User 1b78f72b64 feat(backend): read Pi enabled model scope 2026-07-14 18:27:55 +02:00
User 7a07d9491f docs: plan Pi-enabled model selector 2026-07-14 17:51:16 +02:00
User 49f6a402ee docs: design Pi-enabled model selector 2026-07-14 17:42:59 +02:00
User dbe9659060 docs: record refreshed container images 2026-07-14 15:59:19 +02:00
User 229b70958e docs: record workflow regression deployment 2026-07-14 15:33:39 +02:00
User 9d4e057426 fix: serialize decision ledger writes 2026-07-14 15:30:06 +02:00
User 333874a755 fix: make join approval atomic 2026-07-14 15:24:06 +02:00
User bc02213d3e fix: subscribe to model activity events 2026-07-14 15:14:25 +02:00
User f21df47bce test: align model activity integration contract 2026-07-14 15:11:07 +02:00
User e228c6f2fd fix: harden phase summary open questions 2026-07-14 15:09:50 +02:00
User 18701f020e fix: improve cte review presentation 2026-07-14 15:08:10 +02:00
User 27af6733c8 fix: make join review read only 2026-07-14 15:06:16 +02:00
User c7474f3852 fix: restore model activity reasoning stream 2026-07-14 15:03:07 +02:00
User 1b1554b353 fix: auto-approve phase 3 rewrite 2026-07-14 13:51:39 +02:00
User c7d586aaf7 fix: clarify memory selection semantics 2026-07-14 13:13:59 +02:00
User 1e3c5a1e99 fix: correct deployment note punctuation 2026-07-14 10:37:39 +02:00
User 64c02d26da docs: record Docker rebuild handoff rule 2026-07-14 10:37:21 +02:00
User 3633a5ebd9 fix(frontend): refine activity layout and input state 2026-07-14 10:32:11 +02:00
User 6dbf93fff9 feat: harden runtime readiness and session workflow 2026-07-14 10:27:25 +02:00
User 6d7738d538 docs: specify model activity layout and composer state 2026-07-14 10:17:26 +02:00
User 664d392859 fix: remove verbose tool logs from UI + symlink config/tht.yaml
Two fixes:
1. Revert tool_execution_* forwarding: these cluttered the UI with raw
   bash/read output the user never asked for. Only text_delta, system_event
   and ui_request are forwarded, as before.

2. tht ignores THT_CONFIG env var and always looks for config/tht.yaml
   relative to CWD. Create a symlink so the PI agent can run tht commands
   without -c flag.
2026-07-13 00:29:28 +02:00
User 34f1fa271f fix(bridge): forward tool/lifecycle events so user sees agent progress
The SessionBridge only forwarded text_delta and system_event types.
All tool_execution_*, agent_start, and turn_end events from the Pi
process were silently dropped, so the user saw a blank session even
though the agent was actively running (calling tools, querying the DB).

Forward:
- tool_execution_start/end as info events (visible in stepMessages)
- agent_start, turn_end as system_event (lifecycle tracking)

Also: log Pi stderr instead of draining silently, for debugging.
2026-07-13 00:22:54 +02:00
User ac333f99ac fix(docker): chown .pi to thoth so Pi locks survive rebuilds 2026-07-13 00:14:37 +02:00
User dfe2774a1a fix(sse): buffer session events for late subscribers + clear on close
The Pi process produces events immediately after session creation, but
the browser's SSE connection may not be open yet (React re-render delay,
navigation). The hub discarded events with no subscribers, so the user
saw a blank session.

- Ring-buffer up to 200 events per session; replay on subscribe
- hub.clear(id) on POST /sessions/:id/close frees memory
2026-07-13 00:01:11 +02:00
User 0d8a8eb59f fix(frontend): allow /datamart-builder/api as valid backend base URL
The embedded mode sets VITE_BACKEND_URL=/datamart-builder/api (the nginx
proxy path), but the runtime-config policy only allowed /api. This caused
resolveBackendUrl() to throw at app startup, resulting in a blank SPA.

Add /datamart-builder/api and /datamart-builder/api/ to relativeBases and
test cases.
2026-07-12 23:35:13 +02:00
User 32048d728e Merge feat/docker-local-deploy: Docker deploy (Profile A) + codex portable-deployment
Docker locale embedded nel portale omics_portal (/datamart-builder), backend invisibile.
2 container (core+frontend) su omics_portal_omics_network, DB direct :5438 (ruoli dedicati),
merge codex/portable-deployment (secret-bundle, provider-credentials, auth upstream).
Verificato live: sessioni create/show/list, Pi+model+SSE, backend 132/132.
2026-07-12 23:11:20 +02:00