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

5.7 KiB
Raw Blame History

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: Workspace page has four tabs, in order: Preparation, Specific actions, About, Authentication. Every area's content remains vertically accessible, with scrolling where required.
  • #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: 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: 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.

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.