Files
ThothII/docs/reports/2026-09-12-admin-issues-28-31.md
T

97 lines
5.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Administration follow-up: Gitea #28–#31
Baseline approved by the user: `f52bf22e` on `codex/prototype-administration-pages`.
Existing Admin, Core, sessions, and unified-model work is outside this review diff.
## Ticket acceptance
- [#28](https://git.tylconsulting.it/mptyl/ThothII/issues/28): Workspace page has four
tabs, in order: Preparation, Specific actions, About, Authentication. Every area's
content remains vertically accessible, with scrolling where required.
- [#29](https://git.tylconsulting.it/mptyl/ThothII/issues/29): Database opens at the
existing database list instead of automatically editing a connection. Owner comment:
remove the “Workspace preparation” footer and restore the table's original available
space and margins. Tables and columns remain accessible through the original grid actions.
- [#30](https://git.tylconsulting.it/mptyl/ThothII/issues/30): Pi fills the available
height minus its margins, scrolls overflowing content, and initially opens the tab
for the installation OS (Linux on a Linux server, macOS or Windows otherwise).
- [#31](https://git.tylconsulting.it/mptyl/ThothII/issues/31): Keep “management” in page
titles, remove it from Admin buttons; use “Pi configuration” for Pi.
## Scope and compatibility
The global workspace/model gate, operation locks, original Core, session navigation,
and unsaved-change guards are retained. The list currently retains the existing global
workspace scope; an asynchronous question asks whether the user wants to broaden this
to all workspaces. No cross-workspace operations are introduced without that decision.
Workspace tab panels stay mounted, preserving secret drafts and diagnostics. Pi platform
selection stays mounted across the two Pi sections and does not replace a manual choice
when status refreshes. OS information is projected by the host CLI, not inferred from
the browser. Older unprojected installations fall back to the backend runtime OS; see
the [operator guide](../general/pi-configuration.md#host-instructions-in-administration).
## Verification
TDD seams: AppShell navigation and public management-page behavior with MSW API fixtures;
the existing public Pi service and host projection contracts cover OS transport.
Red tests were observed before adding tabs, restoring list entry, selecting OS tabs,
projecting the host platform, and shortening navigation labels.
- Frontend full Vitest run: 82 files, 677 tests passed.
- Backend full Vitest run: 108 files passed, one skipped; 1,380 tests passed, 40 existing
optional tests skipped. Backend typecheck passed.
- After review fixes: all five affected frontend suites passed (163 tests, including
two new production-mode persisted-navigation regressions); frontend typecheck and
production build passed. The existing large-chunk advisory remains.
- The complete host CLI suite (`go test ./...`) passed across all 21 packages, including
the OS model-projection assertion.
- Strict documentation build passed.
- Read-only browser QA of actual React pages at 1280, 768 and 390 CSS pixels checked
Workspace tabs, Database table space, and Pi height/overflow. Pi's long instructions
initially exposed horizontal page overflow at 390 pixels; constrained grid children
and narrow definition lists corrected it. Database QA used an empty synthetic catalog;
the unit suites exercise populated tables, columns, edits and operation guards.
- Docker and real-stack Playwright acceptance were not run during initial implementation.
The preview is synthetic and read-only, not a deployment or provider smoke test.
## Standards
Initial independent review: one documented ADR conflict and one maintainability
judgement call. ADR 0020 now records the owner's superseding #29 footer decision.
Workspace and Pi now share keyboard tab navigation rather than duplicate its switch.
The independent follow-up review confirmed both findings resolved, with no new regressions.
## Spec
Initial independent review: two P2 findings. Fresh Database entry could still restore
Tables/Relationships from local storage, and a real-stack test retained the old Admin
button-label regex. Both were corrected; fresh entry is list-first while in-memory
navigation is retained when moving between already mounted app surfaces.
The independent follow-up review confirmed both findings resolved, with no new regressions.
Review summary: Standards 2 findings resolved, 0 outstanding; Spec 2 findings resolved,
0 outstanding. Both reviews were read-only, relative to the user-approved baseline.
## Local Docker deployment
At the owner's request, core and frontend were rebuilt from this checkout and recreated
on 2026-09-12 at 18:31 UTC using `/private/tmp/thothii-memory-preview.sh`, with
`--no-deps --force-recreate --wait`. Both are healthy. Database, Qdrant and embedding
containers retained their original IDs; no persistent volumes were deleted or recreated.
The normal model projection generator was run on this Mac before recreation; the running
core now receives `THT_HOST_PLATFORM=darwin`. The authored installation configuration and
credentials were unchanged. Before the update, images were retained as
`thothii-core:before-admin-28-31-20260912` and
`thothii-frontend:before-admin-28-31-20260912`; the prior projection directory was copied to
`/private/tmp/thoth-admin-28-31-docker.5ebAo8/generated`.
HTTP checks for the real UI (`http://127.0.0.1:8080/`), its `/api/health` proxy, and
the core `/health` returned 200. Served bundle `/index-Bsz7otBx.js` contains Workspace
areas and Pi configuration, and no longer contains the preparation footer or persisted
Database child-screen key. Authenticated end-to-end operator workflows were not rerun.
The Vite preview remains separate from Docker. Remote server deployment was not performed.
No Gitea issue state or remote branch was changed.