diff --git a/PROJECT_STATE.md b/PROJECT_STATE.md index c7307138..b543c680 100644 --- a/PROJECT_STATE.md +++ b/PROJECT_STATE.md @@ -1,6 +1,6 @@ # ThothII — Project State -> Starting-point snapshot for new sessions. Last updated: 2026-07-15 (filtered Model activity projection live). +> Starting-point snapshot for new sessions. Last updated: 2026-07-15 (central live log and compact CTE density live). > Point a fresh session here ("read PROJECT_STATE.md") before substantial work. ## Deployment — Docker locale (Profile A, co-located) — LIVE 2026-07-12 @@ -172,6 +172,36 @@ ThothII gira in Docker sul server co-locato, **embedded nel portale omics_portal four public fields. The probe accepted the close response, deleted only that session with 204, restored the exact saved settings object, confirmed the session absent, and left no Pi runtime. +### Central live log + compact CTE density — LIVE 2026-07-15 + +- **Resolved UI contract.** The central working body now renders every chronological non-blank + assistant transcript line in one bounded accessible log, without user-entry echoes, + timer/spinner labels, or step messages. The left Model activity panel is a default-deny + projection of only thinking and status, while the complete raw activity fold and the existing + reviewer widgets, artifacts, and workflow state remain unchanged. F6 CTE headers, content, + table rows, and filter rows use 8 px vertical padding with 12 px lateral padding below `sm` and + 16 px from `sm` upward; divider top padding is 8 px. The final review amendment keeps historical + log rows at the full muted-foreground token so their normal-size text retains AA contrast. +- **Source verification (source HEAD + `09f9bdffe582ff3c66845ca219f60c11472a550a`).** Frontend tests passed **292/292** across + **43/43** files. `npx tsc -b`, `npm run build`, the Impeccable layout detector, and + `git diff --check` all exited 0; the detector returned `[]`. +- **Frontend-only deployment.** The pre-deploy frontend was image + `sha256:8c9aaee6453b26c69e4057d3f9e53aa791d449b88ba4a0669a25cd442667d582`, started + `2026-07-15T10:17:16.919166255Z`, serving `index-CveSyban.js`. Compose built and + force-recreated only `frontend` with `--no-deps`; the final running frontend is image + `sha256:39dc47d81abcb13466218500476fbb78d1be66a424f4293470437700c848c26d`, started + `2026-07-15T10:30:30.869532521Z`, serving `index-CihtpQJV.js`. Because the entry changed, + exactly `omics_portal-web-1` was restarted: it retained image + `sha256:4580cf2bc85f3656ee515996c24ed02d9096d24ed0d8afe384a2f8bd8cf4bac9` and moved from + start `2026-07-15T10:17:36.151611451Z` to `2026-07-15T10:30:46.369205604Z`. +- **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 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. + ## 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 125b46b9..c8f3a047 100644 --- a/brain/codebase/workflow-ui-contracts.md +++ b/brain/codebase/workflow-ui-contracts.md @@ -25,9 +25,14 @@ 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: it renders only prompt, thinking, status, and gate; assistant, - tool, lifecycle, and unknown future kinds are hidden. The central transcript and workflow state - continue to consume their existing events independently. + 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. - 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.