From 95543799166c345eafff7839f3efa5ed824dec55 Mon Sep 17 00:00:00 2001 From: User Date: Wed, 15 Jul 2026 03:49:09 +0200 Subject: [PATCH] docs: record filtered model activity deployment --- PROJECT_STATE.md | 27 +++++++++++++++++++++++-- brain/codebase/workflow-ui-contracts.md | 8 +++++--- 2 files changed, 30 insertions(+), 5 deletions(-) diff --git a/PROJECT_STATE.md b/PROJECT_STATE.md index debd31b5..c7307138 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 (complete activity timeline and CTE spacing live). +> Starting-point snapshot for new sessions. Last updated: 2026-07-15 (filtered Model activity projection live). > Point a fresh session here ("read PROJECT_STATE.md") before substantial work. ## Deployment — Docker locale (Profile A, co-located) — LIVE 2026-07-12 @@ -149,6 +149,29 @@ ThothII gira in Docker sul server co-locato, **embedded nel portale omics_portal field crossed SSE. Cleanup closed with 200, deleted only that session with 204, restored the exact settings object, and left no Pi runtime or smoke session. +### Filtered Model activity projection — LIVE 2026-07-15 + +- **Resolved contract.** `activityLog` still folds the complete in-memory prompt, thinking, + assistant, sanitized tool, reviewer-gate, status, and turn-lifecycle history. The left panel now + applies a default-deny rendering boundary and shows only prompt, thinking, status, and gate; + assistant text remains available to the central transcript, while tool, lifecycle, and unknown + future activity kinds do not render or move the panel scroll. +- **Frontend-only verification/deploy (`2026-07-15T03:44:02+02:00`, source HEAD `7208599`):** + frontend **287/287** passed; `npx tsc -b`, `npm run build`, and `git diff --check` exited 0. + Compose rebuilt and force-recreated only `frontend`; its image changed from + `sha256:dd7ef721b661b57b8c5422c47088e1a9a2e9821af021541cab372c9892fbd638` to + `sha256:75fc0b7786c75ded1b488e9fad3232aa061c82d89140c67ad62b5285954d1d36`, with container start + `2026-07-15T01:42:45.582760612Z`. The active Vite entry changed from + `index-CuIt1NQg.js` to `index-BdZpFO7j.js`, so only `omics_portal-web-1` was restarted at + `2026-07-15T01:42:53.715330158Z`; core retained image + `sha256:edd8f19ef269ee6f45ecaf464ba4053460d94378f9cdc967d2dbcb386f599147` and start + `2026-07-15T00:18:37.040145636Z`. +- **Real local-Qwen no-COT smoke:** session + `2026-07-15-014328-activity-filter-smoke-2026-07-15t01-43-2` reached its first reviewer gate + with **0** `activity_delta` events and **3** tool lifecycle events, each containing exactly the + 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. + ## What ThothII is A **human-in-the-loop datamart builder**: it turns a natural-language question into @@ -203,7 +226,7 @@ All three layers' deps installed (`npm install` in each, `python -m venv + pip i - frontend: `cd frontend && npm run dev` (Vite; `VITE_BACKEND_URL` → backend) - harness install: `cd harness && python -m venv .venv && pip install -e ".[dev]"` → `tht` on PATH -## How to test (latest TS gates green 2026-07-15: backend 204 / frontend 285; harness 798 / gate JS 126 last recorded 2026-07-14) +## How to test (latest TS gates green 2026-07-15: backend 204 / frontend 287; harness 798 / gate JS 126 last recorded 2026-07-14) - harness: `cd harness && .venv/bin/pytest -q` (5 L2/real-DB tests are deselected by default) - backend: `cd backend && npx vitest run` · typecheck `npx tsc --noEmit -p .` - frontend: `cd frontend && npx vitest run` · typecheck `npx tsc -b` · e2e `npm run e2e` (Playwright) diff --git a/brain/codebase/workflow-ui-contracts.md b/brain/codebase/workflow-ui-contracts.md index 00066474..125b46b9 100644 --- a/brain/codebase/workflow-ui-contracts.md +++ b/brain/codebase/workflow-ui-contracts.md @@ -23,9 +23,11 @@ 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. -- The Model activity panel is an in-memory chronological projection of the prompt, thinking, - assistant output, sanitized tool lifecycle, reviewer gates, status messages, and turn lifecycle. - It starts with the local F1 prompt and is deliberately not persisted as chat history. +- `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. - 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.