UI Feature Verification — URL-by-URL Audit #16

Open
opened 2026-03-11 04:39:30 +00:00 by mik-tf · 0 comments
Owner

UI Feature Verification — URL-by-URL Audit

Systematic audit of every Hero OS service UI: what works, what's broken, what's missing. The smoke tests (#13) verify infrastructure (health, RPC, auth, theme sync). This issue verifies user-facing features.

Related:

  • #13 — Smoke Tests & Service Bug Fixes (infrastructure tests)
  • #11 — Remaining UI/UX Work
  • #9 — Form Quality Parity & Reusable Media Components

Environments

Tier Gateway Port Image Container Status
dev herodev.gent02.grid.tf 8805 hero_zero:dev herodev ✓ 31 services, ~110 tests green
demo herodemo.gent02.grid.tf 8806 hero_zero:demo herodemo ✓ 31 services, ~110 tests green

VM: Both containers on same TFGrid VM at Mycelium IP 495:72fa:8ec3:9264:ff0f:c0a8:abad:234c
Registry: forge.ourworld.tf/lhumina_code/hero_zero


Build Pipeline

cd hero_services
make deploy        # dist → pack → push → deploy to herodev
Step Command What it does
1 make dist docker/build-local.sh — compiles all service repos inside rust:1.93-bookworm with lhumina_code/ and geomind_code/ volume-mounted. Whatever is checked out gets built. 1-3 min incremental, 10-15 min cold.
2 make pack docker build -f Dockerfile.pack — copies pre-built dist/ into thin debian:bookworm-slim. No compilation.
3 make push Push hero_zero:dev to forge registry
4 make update ENV=herodev SSH into VM, pull image, restart container

Promotion: make demo tags :dev:demo, pushes, deploys to herodemo.


Smoke Tests

cd deploy/single-vm
make test ENV=herodev     # or ENV=herodemo
Suite Tests Coverage
smoke_gateway.sh ~47 SPA routing, auth flow, inspector discovery, RPC discovery, MCP gateway, WebDAV, SSE, health checks, UI pages
smoke_test.sh ~52 All UI health endpoints, page content, RPC calls, WASM island RPC, server-side health, socat-bridged services
smoke_theme.sh ~14 hero:theme postMessage listener in all 14 iframe-embedded services

Branching & PRs

development_{name}     ← work freely, many commits, push often
    ↓ PR with "closes #N"
    ↓ Forgejo "Squash commit" merge
development            ← one clean commit per issue

Rules:

  • Same branch name across all affected repos
  • Never rebase — merge development INTO feature branch if needed
  • PRs into development: Squash commit
  • PRs into main: Create merge commit (preserves release boundary)
  • Commit message format: https://forge.ourworld.tf/lhumina_code/home/issues/{N} — Description

11-Step Pipeline (3 human gates)

Step Action Who Gate
1 Fix code on development_{name} in each repo AI
2 make deploy (1-3 min incremental) AI Must compile
3 make test ENV=herodev (30 sec, ~110 tests) AI
Iterate steps 1-3 until green. Push freely. AI
4 Human verifies herodev Human ✓ Must confirm
5 Create PRs: development_{name}development with closes #N AI Only after step 4
6 Squash merge PRs on Forgejo AI/Human
7 git checkout development && git pull all repos, make deploy AI Clean build
8 Human verifies herodev (clean merged code) Human ✓ Must confirm
9 make demo (tag :dev→:demo, deploy herodemo) AI Only after step 8
10 Human verifies herodemo Human ✓ Must confirm
11 Update issue log AI

Tasks

1. Service UI Audit

For each service, verify: page loads, navigation works, key features function, dark/light theme renders correctly.

Admin UIs (Bootstrap HTML dashboards)

Service URL Page Loads Features Work Theme Notes
hero_auth_ui /hero_auth_ui/ [ ] [ ] Login, setup, session mgmt [ ]
hero_books_ui /hero_books_ui/ [ ] [ ] Library list, book view, search [ ]
hero_cloud_ui /hero_cloud_ui/ [ ] [ ] Dashboard, metrics, actions [ ]
hero_embedder_ui /hero_embedder_ui/ [ ] [ ] Embedding status, model info [ ]
hero_fossil_ui /hero_fossil_ui/ [ ] [ ] Repo list, file browser [ ]
hero_indexer_ui /hero_indexer_ui/ [ ] [ ] Index status, search [ ]
hero_inspector_ui /hero_inspector_ui/ [ ] [ ] Service list, methods, MCP [ ]
hero_os_ui /hero_os_ui/ [ ] [ ] Shell loads, dock, windows [ ]
hero_osis_ui /hero_osis_ui/ [ ] [ ] Contacts, CRM data [ ]
hero_proxy_ui /hero_proxy_ui/_admin [ ] [ ] Route list, upstream status [ ]
hero_redis_ui /hero_redis_ui/ [ ] [ ] Key browser, login [ ]
hero_voice_ui /hero_voice_ui/ [ ] [ ] Voice interface [ ]
zinit_ui /zinit_ui/ [ ] [ ] Service list, start/stop/restart, logs [ ]

Socat-Bridged UIs

Service URL Page Loads Features Work Theme Notes
hero_forge_ui /hero_forge_ui/ [ ] [ ] Forge integration [ ]
hero_shrimp_ui /hero_shrimp_ui/ [ ] [ ] Task management [ ]

WASM Islands (Archipelagos, inside hero_os_ui shell)

Island Features Works Notes
Contacts List, create, edit, delete [ ]
Business/CRM Projects, invoices, quotes, milestones [ ]
Files Browse, upload, open, delete [ ]
Photos Grid view, lightbox, albums [ ]
Songs Player, playlist, song list [ ]
Books Library browse, read, search [ ]
Settings Preferences, theme toggle [ ]

2. Cross-Service Features

Feature How to Test Works Notes
Auth flow Login admin/admin on hero_auth_ui, session persists across services [ ]
Theme sync Toggle dark/light in shell, all iframes follow [ ]
RPC from WASM Books island loads libraries via JSON-RPC [ ]
Inspector discovery All 31+ services visible in inspector [ ]
MCP gateway Inspector MCP endpoint returns methods [ ]
SSE events hero_osis_ui /events returns event stream [ ]

3. Document Findings

  • Fill in all audit tables above
  • List broken features with root cause (missing endpoint, JS error, CSS issue, etc.)
  • Prioritize fixes: critical (blocks usage) → important (degraded) → cosmetic
  • Create follow-up issues or feed into #9/#11 as needed

Affected Repos

Repo What
All hero_*_ui repos UI verification targets
lhumina_code/hero_os WASM shell + islands
lhumina_code/hero_archipelagos Island components

Log

Date Step Notes
2026-03-11 Created URL-by-URL audit to verify UI features
# UI Feature Verification — URL-by-URL Audit Systematic audit of every Hero OS service UI: what works, what's broken, what's missing. The smoke tests (#13) verify infrastructure (health, RPC, auth, theme sync). This issue verifies **user-facing features**. **Related:** - [#13](https://forge.ourworld.tf/lhumina_code/home/issues/13) — Smoke Tests & Service Bug Fixes (infrastructure tests) - [#11](https://forge.ourworld.tf/lhumina_code/home/issues/11) — Remaining UI/UX Work - [#9](https://forge.ourworld.tf/lhumina_code/home/issues/9) — Form Quality Parity & Reusable Media Components --- ## Environments | Tier | Gateway | Port | Image | Container | Status | |------|---------|------|-------|-----------|--------| | dev | `herodev.gent02.grid.tf` | 8805 | `hero_zero:dev` | `herodev` | ✓ 31 services, ~110 tests green | | demo | `herodemo.gent02.grid.tf` | 8806 | `hero_zero:demo` | `herodemo` | ✓ 31 services, ~110 tests green | **VM:** Both containers on same TFGrid VM at Mycelium IP `495:72fa:8ec3:9264:ff0f:c0a8:abad:234c` **Registry:** `forge.ourworld.tf/lhumina_code/hero_zero` --- ## Build Pipeline ```bash cd hero_services make deploy # dist → pack → push → deploy to herodev ``` | Step | Command | What it does | |------|---------|--------------| | 1 | `make dist` | `docker/build-local.sh` — compiles all service repos inside `rust:1.93-bookworm` with `lhumina_code/` and `geomind_code/` **volume-mounted**. Whatever is checked out gets built. 1-3 min incremental, 10-15 min cold. | | 2 | `make pack` | `docker build -f Dockerfile.pack` — copies pre-built `dist/` into thin `debian:bookworm-slim`. No compilation. | | 3 | `make push` | Push `hero_zero:dev` to forge registry | | 4 | `make update ENV=herodev` | SSH into VM, pull image, restart container | Promotion: `make demo` tags `:dev` → `:demo`, pushes, deploys to herodemo. --- ## Smoke Tests ```bash cd deploy/single-vm make test ENV=herodev # or ENV=herodemo ``` | Suite | Tests | Coverage | |-------|-------|----------| | `smoke_gateway.sh` | ~47 | SPA routing, auth flow, inspector discovery, RPC discovery, MCP gateway, WebDAV, SSE, health checks, UI pages | | `smoke_test.sh` | ~52 | All UI health endpoints, page content, RPC calls, WASM island RPC, server-side health, socat-bridged services | | `smoke_theme.sh` | ~14 | `hero:theme` postMessage listener in all 14 iframe-embedded services | --- ## Branching & PRs ``` development_{name} ← work freely, many commits, push often ↓ PR with "closes #N" ↓ Forgejo "Squash commit" merge development ← one clean commit per issue ``` **Rules:** - Same branch name across all affected repos - Never rebase — merge `development` INTO feature branch if needed - PRs into `development`: **Squash commit** - PRs into `main`: **Create merge commit** (preserves release boundary) - Commit message format: `https://forge.ourworld.tf/lhumina_code/home/issues/{N} — Description` --- ## 11-Step Pipeline (3 human gates) | Step | Action | Who | Gate | |------|--------|-----|------| | 1 | Fix code on `development_{name}` in each repo | AI | — | | 2 | `make deploy` (1-3 min incremental) | AI | Must compile | | 3 | `make test ENV=herodev` (30 sec, ~110 tests) | AI | — | | — | _Iterate steps 1-3 until green. Push freely._ | AI | — | | 4 | **Human verifies herodev** | Human | ✓ Must confirm | | 5 | Create PRs: `development_{name}` → `development` with `closes #N` | AI | Only after step 4 | | 6 | **Squash merge** PRs on Forgejo | AI/Human | — | | 7 | `git checkout development && git pull` all repos, `make deploy` | AI | Clean build | | 8 | **Human verifies herodev** (clean merged code) | Human | ✓ Must confirm | | 9 | `make demo` (tag :dev→:demo, deploy herodemo) | AI | Only after step 8 | | 10 | **Human verifies herodemo** | Human | ✓ Must confirm | | 11 | Update issue log | AI | — | --- ## Tasks ### 1. Service UI Audit For each service, verify: page loads, navigation works, key features function, dark/light theme renders correctly. #### Admin UIs (Bootstrap HTML dashboards) | Service | URL | Page Loads | Features Work | Theme | Notes | |---------|-----|:----------:|:-------------:|:-----:|-------| | hero_auth_ui | `/hero_auth_ui/` | [ ] | [ ] Login, setup, session mgmt | [ ] | | | hero_books_ui | `/hero_books_ui/` | [ ] | [ ] Library list, book view, search | [ ] | | | hero_cloud_ui | `/hero_cloud_ui/` | [ ] | [ ] Dashboard, metrics, actions | [ ] | | | hero_embedder_ui | `/hero_embedder_ui/` | [ ] | [ ] Embedding status, model info | [ ] | | | hero_fossil_ui | `/hero_fossil_ui/` | [ ] | [ ] Repo list, file browser | [ ] | | | hero_indexer_ui | `/hero_indexer_ui/` | [ ] | [ ] Index status, search | [ ] | | | hero_inspector_ui | `/hero_inspector_ui/` | [ ] | [ ] Service list, methods, MCP | [ ] | | | hero_os_ui | `/hero_os_ui/` | [ ] | [ ] Shell loads, dock, windows | [ ] | | | hero_osis_ui | `/hero_osis_ui/` | [ ] | [ ] Contacts, CRM data | [ ] | | | hero_proxy_ui | `/hero_proxy_ui/_admin` | [ ] | [ ] Route list, upstream status | [ ] | | | hero_redis_ui | `/hero_redis_ui/` | [ ] | [ ] Key browser, login | [ ] | | | hero_voice_ui | `/hero_voice_ui/` | [ ] | [ ] Voice interface | [ ] | | | zinit_ui | `/zinit_ui/` | [ ] | [ ] Service list, start/stop/restart, logs | [ ] | | #### Socat-Bridged UIs | Service | URL | Page Loads | Features Work | Theme | Notes | |---------|-----|:----------:|:-------------:|:-----:|-------| | hero_forge_ui | `/hero_forge_ui/` | [ ] | [ ] Forge integration | [ ] | | | hero_shrimp_ui | `/hero_shrimp_ui/` | [ ] | [ ] Task management | [ ] | | #### WASM Islands (Archipelagos, inside hero_os_ui shell) | Island | Features | Works | Notes | |--------|----------|:-----:|-------| | Contacts | List, create, edit, delete | [ ] | | | Business/CRM | Projects, invoices, quotes, milestones | [ ] | | | Files | Browse, upload, open, delete | [ ] | | | Photos | Grid view, lightbox, albums | [ ] | | | Songs | Player, playlist, song list | [ ] | | | Books | Library browse, read, search | [ ] | | | Settings | Preferences, theme toggle | [ ] | | ### 2. Cross-Service Features | Feature | How to Test | Works | Notes | |---------|-------------|:-----:|-------| | Auth flow | Login admin/admin on hero_auth_ui, session persists across services | [ ] | | | Theme sync | Toggle dark/light in shell, all iframes follow | [ ] | | | RPC from WASM | Books island loads libraries via JSON-RPC | [ ] | | | Inspector discovery | All 31+ services visible in inspector | [ ] | | | MCP gateway | Inspector MCP endpoint returns methods | [ ] | | | SSE events | hero_osis_ui /events returns event stream | [ ] | | ### 3. Document Findings - [ ] Fill in all audit tables above - [ ] List broken features with root cause (missing endpoint, JS error, CSS issue, etc.) - [ ] Prioritize fixes: critical (blocks usage) → important (degraded) → cosmetic - [ ] Create follow-up issues or feed into #9/#11 as needed --- ## Affected Repos | Repo | What | |------|------| | All `hero_*_ui` repos | UI verification targets | | `lhumina_code/hero_os` | WASM shell + islands | | `lhumina_code/hero_archipelagos` | Island components | --- ## Log | Date | Step | Notes | |------|------|-------| | 2026-03-11 | Created | URL-by-URL audit to verify UI features |
mik-tf added this to the ACTIVE project 2026-03-11 04:43:34 +00:00
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
lhumina_code/home#16
No description provided.