From f0ef2654df2a890c97b2666f261dfcb2627a46ac Mon Sep 17 00:00:00 2001 From: User Date: Wed, 15 Jul 2026 15:32:29 +0200 Subject: [PATCH] docs: record activity split deployment --- PROJECT_STATE.md | 33 +++++++++++++++++++++++++ brain/codebase/workflow-ui-contracts.md | 18 ++++++-------- 2 files changed, 41 insertions(+), 10 deletions(-) diff --git a/PROJECT_STATE.md b/PROJECT_STATE.md index 4cffb109..d7fc1175 100644 --- a/PROJECT_STATE.md +++ b/PROJECT_STATE.md @@ -202,6 +202,39 @@ ThothII gira in Docker sul server co-locato, **embedded nel portale omics_portal unrelated Pi runtime existed to disturb. The count-only frontend sensitive/error pattern scan was **0**. No live model smoke was run, and settings and sessions were intentionally untouched. +### Resizable activity split + compact CTE rows — LIVE 2026-07-15 + +- **Resolved UI contract.** `activityLog` remains the complete in-memory chronological fold. The + left Model activity panel default-denies every kind except prompt, thinking, and assistant, + labels those entries Question, Reasoning, and Response in source order, and hides status, tool, + gate, lifecycle, and unknown kinds. The desktop panel is pointer/keyboard resizable from 288–576 + px while preserving 512 px centrally, persists its global width in localStorage, and becomes an + overlay drawer below `lg`. F6 CTE cards retain their semantic structure and responsive grids; + lateral padding is 12/16 px, header/content edge padding is 8 px, internal section gaps are 12 + px, heading/divider spacing is 4 px, and table/filter rows use 4 px vertical padding with compact + line heights. +- **Source verification (`2026-07-15T15:22:17+02:00`, source HEAD + `f1af1f909b387ae12a10f1b534bf6a529ea42505`).** Frontend tests passed **295/295** across + **44/44** files. `npx tsc -b`, `npm run build`, and `git diff --check` exited 0; the Impeccable + layout detector returned `[]`. The local source build emitted Vite entry + `assets/index-PlvQqhNG.js`. +- **Frontend-only deployment.** The pre-deploy frontend was image + `sha256:39dc47d81abcb13466218500476fbb78d1be66a424f4293470437700c848c26d`, started + `2026-07-15T10:30:30.869532521Z`, serving `index-CihtpQJV.js`. Compose built and force-recreated + only `frontend` with `--no-deps`; the final running frontend is image + `sha256:0947211373784a860c7507d03c0fcf1f901ac3d1547cd0aa62b914d158f15bd5`, started + `2026-07-15T13:21:08.29613952Z`, serving `index-Dn7T524a.js`. Because the entry changed, exactly + `omics_portal-web-1` was restarted: it retained image + `sha256:4580cf2bc85f3656ee515996c24ed02d9096d24ed0d8afe384a2f8bd8cf4bac9` and moved from + start `2026-07-15T10:30:46.369205604Z` to `2026-07-15T13:21:21.968808414Z`. +- **Isolation and final state.** Core remained `running`/`healthy` with exactly its original image + `sha256:edd8f19ef269ee6f45ecaf464ba4053460d94378f9cdc967d2dbcb386f599147` and start + `2026-07-15T00:18:37.040145636Z`; frontend and portal were `running` with no container + healthcheck. Pre/post `docker top` showed only core's supervisor and backend server, so no + unrelated Pi process existed and no Pi process was stopped or steered. The count-only frontend + sensitive/error pattern scan was **0**. No live model smoke was run; settings and sessions were + intentionally untouched. + ## What ThothII is A **human-in-the-loop datamart builder**: it turns a natural-language question into diff --git a/brain/codebase/workflow-ui-contracts.md b/brain/codebase/workflow-ui-contracts.md index c8f3a047..bae08bb0 100644 --- a/brain/codebase/workflow-ui-contracts.md +++ b/brain/codebase/workflow-ui-contracts.md @@ -23,16 +23,14 @@ closes the old EventSource and opens the same session URL again. Failed Resume must not reconnect. - SSE endpoints are intentionally keep-alive. Browser cleanup and one-off probes must explicitly close the EventSource or cancel/abort the response reader after their terminal event. -- `activityLog` remains the complete in-memory chronological fold of prompt, thinking, assistant, - sanitized tool lifecycle, reviewer gates, status, and turn lifecycle. The left Model activity - panel is a strict projection of only thinking and status; prompt, gate, assistant, tool, - lifecycle, and unknown future kinds are hidden. While the model is working, the central body - projects every non-blank assistant transcript line into one bounded, accessible scrolling log; - user-entry echoes, timer/spinner labels, and step messages are not rendered there. Reviewer - widgets, artifacts, store folds, and workflow state continue to consume their existing events. -- F6 CTE cards keep their existing semantic structure and responsive grids while using 8 px - vertical padding, 12 px lateral padding below `sm`, and 16 px lateral padding from `sm` upward - for headers, content, table rows, and filter rows. Divider top padding is 8 px. +- `activityLog` remains the complete in-memory chronological fold. The left Model activity panel + default-denies every kind except prompt, thinking, and assistant, presenting them as Question, + Reasoning, and Response in source order; status, tool, gate, lifecycle, and unknown kinds stay + hidden. Its desktop width is pointer/keyboard resizable from 288–576 px while preserving 512 px + centrally, persists globally in localStorage, and becomes an overlay drawer below `lg`. +- F6 CTE cards keep their semantic structure, responsive grids, 12/16 px lateral padding, and 8 px + header/content edge padding. Internal section gaps are 12 px, headings/dividers use 4 px spacing, + and table/filter rows use 4 px vertical padding with compact line heights. - Pi tool events may cross the backend/client boundary only as call id, tool name, and `running`/`completed`/`failed` status. Tool updates, arguments, partial/final results, commands, raw output, and raw errors remain server-side.