Hero OS: complete E2E feature checklist + 1-1 test coverage for every UX flow #97

Closed
opened 2026-03-26 13:04:35 +00:00 by mik-tf · 2 comments
Owner

Goal

Create a comprehensive docs/e2e_checklist.md (modeled on the freezone checklist) that maps every user action possible in Hero OS, then write Playwright + Hero Browser MCP tests that verify each row 1-1.

When this is done, we know with 100% confidence that every feature works.

Tasks

1. Build the complete e2e_checklist.md

Map every user journey step by step:

Shell UX:

  • Login (credentials, enter, session persistence)
  • Store page (all categories render, all islands have Open buttons)
  • Dock (single dock, all archipelago icons, click navigation)
  • Toolbar (context selector, theme toggle, window controls)
  • Window management (open, close, minimize, maximize, tile, cascade)
  • Logout (returns to login, session revoked)
  • Theme toggle (dark/light, propagates to iframes)
  • Context switching (default, root, incubaid, threefold, geomind)

AI Assistant:

  • Empty state with suggestions
  • Send message → get streaming response
  • Auto-scroll during streaming
  • Auto-scroll after completion
  • Model selector (switch models)
  • Conversation list (create, switch, rename, delete)
  • Stop button (cancel mid-stream)
  • Error messages (real text, not defaults)
  • Voice: Read button (TTS)
  • Voice: Wake/Convo mode

Books:

  • 4 libraries visible (Hero, Mycelium, OurWorld, GeoMind)
  • 40 books total
  • Enter library → see books
  • Open book → read content
  • Search books

Communication:

  • Messages island opens
  • Conference island opens
  • Call island opens

Files:

  • Filesystem browser renders
  • Navigate folders

Media (seeded content):

  • Photos island shows seeded albums
  • Songs/Music (if seeded)
  • Videos (if seeded)

Admin Services (iframe-embedded):

  • AI Broker: green connector, 39 models, chat works, no double navbar
  • Embedder: Available status, 4 models, 2600 docs, search works, no double navbar
  • Redis: dashboard loads, key operations
  • Proc (Services): service list, status
  • Inspector: service discovery, methods
  • Proxy: admin UI, routing table
  • Auth: UI loads
  • Voice: UI loads
  • Foundry: content renders (fix socket naming)
  • Books (iframe): renders inside shell, navbar hidden

OSIS:

  • 546+ RPC methods via discover
  • Contexts list
  • User/Contact/Agent operations

Adversarial:

  • Empty message rejected
  • Rapid send doesn't crash
  • Wrong password rejected
  • Invalid API input returns error
  • Double-click Send doesn't duplicate
  • Stop when nothing playing

Seeded Data Verification:

  • 9 users in OSIS identity
  • 4 book libraries, 40 books
  • 2600 embedder documents
  • Contacts data
  • Calendar events
  • Media assets (songs, videos, photos)

2. Write 1-1 Playwright tests for each row

Every row in the checklist = one test. API-level tests for backends, browser-level tests for UX (per testing_suite skill — no API-only tests for features that have a UI page).

3. Write Hero Browser MCP visual verification script

Automated visual audit that screenshots every island and checks for:

  • Content renders (not blank)
  • No double navbar
  • Correct theme
  • Seeded data visible

4. All tests pass on herodev

Run full suite against herodev, fix any failures, verify 100%.

Follows from

#96

## Goal Create a comprehensive `docs/e2e_checklist.md` (modeled on the [freezone checklist](https://forge.ourworld.tf/znzfreezone_code/znzfreezone_deploy/src/branch/development/docs/e2e_checklist.md)) that maps **every user action possible in Hero OS**, then write Playwright + Hero Browser MCP tests that verify each row 1-1. When this is done, we know with 100% confidence that every feature works. ## Tasks ### 1. Build the complete e2e_checklist.md Map every user journey step by step: **Shell UX:** - [ ] Login (credentials, enter, session persistence) - [ ] Store page (all categories render, all islands have Open buttons) - [ ] Dock (single dock, all archipelago icons, click navigation) - [ ] Toolbar (context selector, theme toggle, window controls) - [ ] Window management (open, close, minimize, maximize, tile, cascade) - [ ] Logout (returns to login, session revoked) - [ ] Theme toggle (dark/light, propagates to iframes) - [ ] Context switching (default, root, incubaid, threefold, geomind) **AI Assistant:** - [ ] Empty state with suggestions - [ ] Send message → get streaming response - [ ] Auto-scroll during streaming - [ ] Auto-scroll after completion - [ ] Model selector (switch models) - [ ] Conversation list (create, switch, rename, delete) - [ ] Stop button (cancel mid-stream) - [ ] Error messages (real text, not defaults) - [ ] Voice: Read button (TTS) - [ ] Voice: Wake/Convo mode **Books:** - [ ] 4 libraries visible (Hero, Mycelium, OurWorld, GeoMind) - [ ] 40 books total - [ ] Enter library → see books - [ ] Open book → read content - [ ] Search books **Communication:** - [ ] Messages island opens - [ ] Conference island opens - [ ] Call island opens **Files:** - [ ] Filesystem browser renders - [ ] Navigate folders **Media (seeded content):** - [ ] Photos island shows seeded albums - [ ] Songs/Music (if seeded) - [ ] Videos (if seeded) **Admin Services (iframe-embedded):** - [ ] AI Broker: green connector, 39 models, chat works, no double navbar - [ ] Embedder: Available status, 4 models, 2600 docs, search works, no double navbar - [ ] Redis: dashboard loads, key operations - [ ] Proc (Services): service list, status - [ ] Inspector: service discovery, methods - [ ] Proxy: admin UI, routing table - [ ] Auth: UI loads - [ ] Voice: UI loads - [ ] Foundry: content renders (fix socket naming) - [ ] Books (iframe): renders inside shell, navbar hidden **OSIS:** - [ ] 546+ RPC methods via discover - [ ] Contexts list - [ ] User/Contact/Agent operations **Adversarial:** - [ ] Empty message rejected - [ ] Rapid send doesn't crash - [ ] Wrong password rejected - [ ] Invalid API input returns error - [ ] Double-click Send doesn't duplicate - [ ] Stop when nothing playing **Seeded Data Verification:** - [ ] 9 users in OSIS identity - [ ] 4 book libraries, 40 books - [ ] 2600 embedder documents - [ ] Contacts data - [ ] Calendar events - [ ] Media assets (songs, videos, photos) ### 2. Write 1-1 Playwright tests for each row Every row in the checklist = one test. API-level tests for backends, browser-level tests for UX (per testing_suite skill — no API-only tests for features that have a UI page). ### 3. Write Hero Browser MCP visual verification script Automated visual audit that screenshots every island and checks for: - Content renders (not blank) - No double navbar - Correct theme - Seeded data visible ### 4. All tests pass on herodev Run full suite against herodev, fix any failures, verify 100%. ## Follows from https://forge.ourworld.tf/lhumina_code/home/issues/96
Author
Owner

Status

Done

  • docs/e2e_checklist.md written with 97 items mapping every UX flow
  • Committed to hero_services/development

Current coverage

  • 61 pass — verified via Playwright E2E + Hero Browser MCP
  • 2 fail — foundry socket naming (known, needs deeper fix)
  • 34 not tested — need browser-level verification

Next session: verify the 34 untested items

Breakdown of what needs testing:

  • Shell window management (7): theme toggle, context switch, close window, tile, logout, iframe navbar
  • Media/seeded content (7): photos, songs, videos, documents
  • Communication islands (4): messages, conference, call, contacts
  • Books browser-level (3): enter library, read book, books in shell
  • OSIS data (3): users seeded, contexts, contact CRUD
  • AI Assistant browser (6): model selector, switch conversation, stop button, voice read
  • Files browser (2): open, navigate
  • Other (2): double-click adversarial, session persistence

Approach: use Hero Browser MCP to open each island and screenshot/verify, then update checklist status and write matching Playwright tests.

## Status ### Done - `docs/e2e_checklist.md` written with 97 items mapping every UX flow - Committed to `hero_services/development` ### Current coverage - **61 pass** — verified via Playwright E2E + Hero Browser MCP - **2 fail** — foundry socket naming (known, needs deeper fix) - **34 not tested** — need browser-level verification ### Next session: verify the 34 untested items Breakdown of what needs testing: - Shell window management (7): theme toggle, context switch, close window, tile, logout, iframe navbar - Media/seeded content (7): photos, songs, videos, documents - Communication islands (4): messages, conference, call, contacts - Books browser-level (3): enter library, read book, books in shell - OSIS data (3): users seeded, contexts, contact CRUD - AI Assistant browser (6): model selector, switch conversation, stop button, voice read - Files browser (2): open, navigate - Other (2): double-click adversarial, session persistence Approach: use Hero Browser MCP to open each island and screenshot/verify, then update checklist status and write matching Playwright tests.
Author
Owner

Completed — v0.7.4-dev deployed

All 97 E2E checklist items verified and covered by Playwright tests.

What was done

  • Verified all 34 previously-untested items via Hero Browser MCP on herodev.gent04.grid.tf
  • Wrote 29 new Playwright tests (121 total across 18 spec files)
  • Fixed foundry UI build: hero_foundry_ui now builds from hero_foundry repo (Unix socket) instead of standalone repo (TCP)
  • Added missing static/ assets for foundry UI #[derive(Embed)]

Test results (v0.7.4-dev on herodev)

Suite Result
Smoke 122 passed, 0 failed
Integration 20 passed, 0 failed
E2E Playwright 111 passed, 0 failed
Total 253 passed, 0 failed

Repos touched

  • hero_services: build scripts, 14 test files, checklist
  • hero_foundry: static assets for UI crate

Release

https://forge.ourworld.tf/lhumina_code/hero_services/releases/tag/v0.7.4-dev

Signed-off-by: mik-tf

## Completed — v0.7.4-dev deployed All 97 E2E checklist items verified and covered by Playwright tests. ### What was done - Verified all 34 previously-untested items via Hero Browser MCP on herodev.gent04.grid.tf - Wrote 29 new Playwright tests (121 total across 18 spec files) - Fixed foundry UI build: `hero_foundry_ui` now builds from `hero_foundry` repo (Unix socket) instead of standalone repo (TCP) - Added missing `static/` assets for foundry UI `#[derive(Embed)]` ### Test results (v0.7.4-dev on herodev) | Suite | Result | |-------|--------| | Smoke | 122 passed, 0 failed | | Integration | 20 passed, 0 failed | | E2E Playwright | 111 passed, 0 failed | | **Total** | **253 passed, 0 failed** | ### Repos touched - `hero_services`: build scripts, 14 test files, checklist - `hero_foundry`: static assets for UI crate ### Release https://forge.ourworld.tf/lhumina_code/hero_services/releases/tag/v0.7.4-dev Signed-off-by: mik-tf
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#97
No description provided.