Hero OS -- Production Readiness Plan (Completed) #5

Closed
opened 2026-03-05 20:03:45 +00:00 by mik-tf · 0 comments
Owner

Hero OS -- Production Readiness Plan (Completed)

Master tracker for the initial production readiness work on Hero OS. This issue covers all completed sessions from Phases 1-3 through Session C. Remaining work continues in #11.

Target platforms: Desktop browsers and smartphones. The WASM-based architecture (Dioxus + Archipelagos islands) enables both targets from a single codebase.


Branching Model

All repos use development as the default branch.

  • development : default, always deployable
  • development_{name} : feature branches for fast-paced AI-assisted development
  • main : releases (when ready)

One branch, one commit, one issue

AI-assisted development generates many commits fast. To keep history clean and traceable, we follow a strict rule:

  • Each feature branch (development_{name}) is squashed into one commit before merging to development
  • That commit message links to the issue, e.g.: https://forge.ourworld.tf/lhumina_code/home/issues/5 — Production Readiness Plan
  • One branch = one commit = one issue on development

This means every commit on development represents a complete, reviewed piece of work and links directly to the issue that describes it.

Workflow

  1. Branch development_{name} from latest development
  2. Work on development_{name} (as many commits as needed)
  3. Merge development into development_{name} periodically (never rebase, always merge)
  4. When ready, squash into one commit with the issue URL as the commit message
  5. Merge development_{name} into development

Deployment

Tier Image Tag Gateway Port Status
dev :dev herodev.gent02.grid.tf 8805 Live
demo :demo herodemo.gent02.grid.tf 8806 Live
prod :prod TBD TBD Not deployed

Registry: forge.ourworld.tf/lhumina_code/hero_zero
VM: TFGrid Node 8, Mycelium 495:72fa:8ec3:9264:ff0f:c0a8:abad:234c

Deploy Commands

# Build locally (from lhumina_code/ workspace)
DOCKER_BUILDKIT=1 docker buildx build --ssh default \
  --build-arg BASE_IMAGE=hero_zero:base \
  -f hero_services/Dockerfile.dev -t hero_zero:dev \
  --platform linux/amd64 --load .

# Push to registry
docker tag hero_zero:dev forge.ourworld.tf/lhumina_code/hero_zero:dev
docker push forge.ourworld.tf/lhumina_code/hero_zero:dev

# Deploy to herodev (pull from registry)
ssh root@495:72fa:... "docker pull forge.ourworld.tf/lhumina_code/hero_zero:dev && \
  docker stop herodev; docker rm herodev; \
  docker run -d --name herodev -p 8805:6666 forge.ourworld.tf/lhumina_code/hero_zero:dev"

# Promote to herodemo
docker tag hero_zero:dev forge.ourworld.tf/lhumina_code/hero_zero:demo
docker push forge.ourworld.tf/lhumina_code/hero_zero:demo
ssh root@495:72fa:... "docker pull forge.ourworld.tf/lhumina_code/hero_zero:demo && \
  docker stop herodemo; docker rm herodemo; \
  docker run -d --name herodemo -p 8806:6666 forge.ourworld.tf/lhumina_code/hero_zero:demo"

DevOps Pipeline

Step What Who Gate
1 Code — implement the session AI --
2 Local Docker build — build image from unpushed local code AI must compile
3 Deploy to herodev — push image to registry, pull on VM AI --
4 Human test on herodev — verify on https://herodev.gent02.grid.tf/hero_os_ui/ Human must confirm
5 Commit & push — push code to development AI only after step 4 confirms
6 Remote Docker build — rebuild from clean remote development code AI must compile
7 Deploy to herodev (again) — ship remote-built image AI --
8 Human test on herodev — verify the remote build works identically Human must confirm
9 Tag :demo — tag image and deploy to herodemo AI only after step 8 confirms
10 Human test on herodemo — verify on https://herodemo.gent02.grid.tf/hero_os_ui/ Human must confirm
11 Update this issue — check off items, add session log with date + image SHA AI --

Rules:

  • Never push before human confirms on herodev (step 4 -> step 5)
  • Never tag :demo before human confirms the remote build (step 8 -> step 9)
  • Never rebase, always merge
  • herodev gets changes first, herodemo only after confirmation
  • No hot-swapping WASM — always do full Docker rebuild + deploy

Completed Work

Phase 1 -- Foundation

  • All iframe embed URLs fixed (redis, router, zinit, inspector, auth, cloud, fossil, forge)
  • Bot island alias, Settings removed from dock (gear icon only)
  • Files island 404 fix, Projects/Tasks routing fix
  • hero_forge_ui builds, socat TCP-to-UDS bridges
  • Books RPC client endpoint alignment
  • Dockerfile.dev -- local build from workspace
  • Smoke tests (35/35 passing)

Phase 2 -- Quick Fixes & UI Polish

  • Books JSON parse, "Compute" renamed to "Cloud", Tasks RPC 404 fix
  • hero_aibroker integrated into Docker build + dock
  • Image tag cleanup, seed data mechanism (187 TOML + media + books)
  • Login SID collision fix, demo passwords, aibroker socket fix
  • Window maximize, cascade wrapping, open maximized by default
  • Theme persistence, clock fix
  • UI visual overhaul: window controls, shadows, dock, dark/light palettes, blur, typography
  • Theme sync 3-layer fix: shell -> embed islands -> iframe templates

Phase 3 -- Theme Selection & Iframe Theme Sync

  • hero-bootstrap-bridge.css -- single source of truth for Bootstrap theming
  • 24+ HTML templates across 15 repos updated with bridge CSS + standardized receiver JS
  • 170+ hardcoded dark-mode classes removed (bg-dark, text-white, navbar-dark, etc.)
  • Settings dock fix, native color picker with auto-palette, 10 presets
  • Business & HR archipelago islands: 14 files, all CSS vars fixed

Session A -- WASM Island Theme Unification (2026-03-07)

  • 85 files changed across all archipelago islands -- all using var(--color-*) pattern
  • Libraries: photos, songs, playlists, player, photo, album
  • Embed: books, card, hero_service, panel, row + 13 other embed islands
  • Files, Calendar, Contacts, Communication, Messaging, Code, Editor
  • Productivity: tasks, stories, kanban, projects, sprints
  • Intelligence: ai, agents, intelligence, knowledge, roles, templates
  • System: settings, contexts, services, service, theme
  • Mycelium (8 views), Viewer (4 views), Business: finance, contracts
  • Regression test: smoke_theme_islands.sh (4/4 passing)
  • Deployed to herodev and herodemo, human confirmed

Infrastructure

  • herodev + herodemo deployed on same VM, both live
  • Legacy VMs retired
  • Docker base image (hero_zero:base), WASM cache fix, hero_rpc patch
  • Port hero_services to zinit_sdk OpenRPC API (ZinitRPCAPIClient) -- 9 files, 670+/519-
  • Merge zinit development_zinit_ui_basepath into development (PR #29)
  • Fix hero_inspector build (port to new zinit_sdk API)
  • Fix hero_indexer_ui theme sync (separate repo, Bootstrap bridge + dark class removal)
  • Add hero_indexer_ui to Dockerfile COPY + switch to build_cargo

Repo Cleanup (2026-03-08)

  • Closed 29 stale mik-tf branches across 16 repos
  • Closed 17 stale issues/PRs across hero_services, hero_auth, hero_coordinator, hero_db, hero_books, hero_biz, hero_os, hero_fossil, hero_launcher
  • Closed 2 resolved circle_ops issues (#643 deploy to k8s, #650 CI/CD pipeline)
  • Filed circle_ops #679 for stale git lock files on hero_services (2 branches need server-side fix)

Session B: Contexts Management (2026-03-08)

  • Event listeners -- wire context-selected/created/deleted events from island to Hero OS app
  • OS-level create/delete -- SDK CRUD already works (verified: uses BaseClient from hero_osis_sdk)
  • Controller wrappers -- switch_context() already in controller, event listeners call it
  • Context indicator -- toolbar shows current context name + color
  • Error handling -- delete current -> fallback to "default"
  • Seed data -- fixed SID collisions (contexts vs themes shared s001-s007), added 4 demo contexts (Default, Geomind, Incubaid, ThreeFold)
  • Default context -- app starts on "default" instead of "root"; root hidden from UI
  • hero_services TOML -- added 5 contexts to hero_osis exec command
  • Create Context button -- CSS wrapper approach (bypasses Dioxus VDOM re-render issue)
  • 502 error on load -- 5 retries with 2s intervals in both host and island
  • Created contexts in dropdown -- island-contexts in core feature, optimistic update + background re-fetch
  • Create form UX -- Display Name first, auto-derives URL-safe slug
  • Duplicate context validation -- red warning + submit disabled on duplicate
  • Dynamic context registration -- generic CustomMethodHandler trait in hero_rpc, ContextMethodHandler in hero_osis
  • Pre-existing compilation fixes -- 186 trigger_get_pre/trigger_list_pre stubs across all 15 OSIS domains
  • hero_fossil -> hero_foundry repo rename -- updated git URLs in hero_forge_ui, hero_archipelagos, hero_services
  • hero_forge_ui binary restored -- was missing due to stale hero_fossil.git URL
  • Deployed to herodev + herodemo, human confirmed

Session C: Single Source of Truth Migration (2026-03-08 to 2026-03-09)

Phase 0a -- Core Components (2026-03-08)

  • Migrate 10 core components (button, dialog, island_header, wrapper, context_menu, entity_selector, select_field, multi_value_input, date_field, comments_section)
  • ~250 lines of new CSS classes added to styles.css
  • All hardcoded hex colors replaced with CSS var classes

Phase 0b -- Shell Files (2026-03-08)

  • Migrate 7 shell files (dock, toolbar, window, ai_bar, user_island, mobile_settings, rebuild_notification)
  • ~130 lines of new CSS classes added to styles.css
  • Dock: 6 repeated button format!() simplified, animations moved to CSS

Phase 0c -- All Island Files (2026-03-09)

  • 184 island files migrated across all domains
  • ~930 inline style declarations replaced with CSS utility classes
  • ~70 new utility classes added to styles.css
  • Net -1,597 lines of inline style code in hero_archipelagos

Phase 1 -- Typography Tuning + Dock Improvements (2026-03-09)

  • Bootstrap 5.3 type scale: body 1rem, small 0.875rem, headings 1.25rem
  • Font stack aligned with Bootstrap 5.3 (dropped unused Inter)
  • Shell font: --shell-font-size: 1.125rem (18px) for toolbar readability
  • Dock: --dock-font-size: 0.75rem (12px), buttons 72->92px, icons 42->46px, labels 68->100px, line-height 1.5
  • Zero hardcoded hex colors remain in inline styles across all production .rs files
  • Deployed to herodev + herodemo, human confirmed

Repos Status

All repos on development branch, pushed to remote.

Repo Changes Status
hero_proxy bridge CSS file + route, admin.html Pushed
hero_os theme.rs, styles.css, main.rs, context event wiring Pushed
hero_auth base.html bridge CSS + receiver Pushed
hero_redis base.html bridge CSS + receiver Pushed
hero_forge_ui 4 templates bridge CSS + receiver, hero_foundry URL Pushed
hero_osis base.html bridge CSS + receiver, seed data, dynamic context reg Pushed
hero_books base.html bridge CSS + receiver Pushed
hero_cloud index.html bridge CSS + receiver Pushed
hero_embedder base.html bridge CSS + receiver Pushed
hero_indexer index.html bridge CSS + receiver Pushed
hero_inspector base.html bridge CSS + receiver Pushed
hero_foundry (was hero_fossil) base.html bridge CSS + receiver Pushed
hero_voice base.html bridge CSS + receiver Pushed
hero_biz base.rs + mod.rs bridge CSS + receiver Pushed
hero_aibroker 6 templates bridge CSS + receiver PR #19 (development_theme_sync)
hero_archipelagos All islands CSS var fixes (85 files), button fix, hero_foundry URL Pushed
hero_indexer_ui Bootstrap bridge + dark class removal Pushed
hero_rpc CustomMethodHandler trait, trigger hooks codegen Pushed
hero_services zinit SDK port, Dockerfile fixes, 5 contexts, hero_foundry rename Pushed

Session Log

Date Session Summary Image
2026-02-xx Phase 1 Foundation -- iframe URLs, smoke tests, Dockerfile --
2026-02-xx Phase 2 UI polish -- windows, theme, visual overhaul --
2026-03-xx Phase 3 Theme sync -- bridge CSS, 24 templates, 170+ dark classes --
2026-03-07 Session A WASM island theme unification -- 85 files, all archipelagos sha256:74581865c11b
2026-03-07 Infra zinit SDK port, inspector/indexer fixes, herodev+herodemo deploy sha256:74581865c11b
2026-03-08 Cleanup 29 branches deleted, 17 issues/PRs closed, circle_ops #679 filed --
2026-03-08 Session B Context create/switch/delete, dynamic registration, 186 trigger stubs, hero_foundry rename sha256:7a5d318bf841
2026-03-08 Session C (0a+0b) Single Source of Truth migration -- 17 files, ~380 lines CSS sha256:983b130e1722
2026-03-09 Session C (0c) Island migration -- 184 files, ~930 inline styles, net -1,597 lines sha256:0780e2198b22
2026-03-09 Session C (Phase 1) Typography tuning, dock improvements, zero hardcoded hex colors sha256:494205898abb
2026-03-09 hero_cloud fix Fix missing .await on refresh_status() in chvm_driver.rs sha256:4f75a4f17e5c

Continued in: #11

## Hero OS -- Production Readiness Plan (Completed) Master tracker for the initial production readiness work on Hero OS. This issue covers all completed sessions from Phases 1-3 through Session C. Remaining work continues in https://forge.ourworld.tf/lhumina_code/home/issues/11. **Target platforms:** Desktop browsers and smartphones. The WASM-based architecture (Dioxus + Archipelagos islands) enables both targets from a single codebase. --- ## Branching Model All repos use `development` as the default branch. - `development` : default, always deployable - `development_{name}` : feature branches for fast-paced AI-assisted development - `main` : releases (when ready) ### One branch, one commit, one issue AI-assisted development generates many commits fast. To keep history clean and traceable, we follow a strict rule: - Each feature branch (`development_{name}`) is squashed into **one commit** before merging to `development` - That commit message links to the issue, e.g.: `https://forge.ourworld.tf/lhumina_code/home/issues/5 — Production Readiness Plan` - One branch = one commit = one issue on `development` This means every commit on `development` represents a complete, reviewed piece of work and links directly to the issue that describes it. ### Workflow 1. Branch `development_{name}` from latest `development` 2. Work on `development_{name}` (as many commits as needed) 3. Merge `development` into `development_{name}` periodically (never rebase, always merge) 4. When ready, squash into one commit with the issue URL as the commit message 5. Merge `development_{name}` into `development` --- ## Deployment | Tier | Image Tag | Gateway | Port | Status | |---|---|---|---|---| | **dev** | `:dev` | `herodev.gent02.grid.tf` | 8805 | Live | | **demo** | `:demo` | `herodemo.gent02.grid.tf` | 8806 | Live | | **prod** | `:prod` | TBD | TBD | Not deployed | **Registry:** `forge.ourworld.tf/lhumina_code/hero_zero` **VM:** TFGrid Node 8, Mycelium `495:72fa:8ec3:9264:ff0f:c0a8:abad:234c` ### Deploy Commands ```bash # Build locally (from lhumina_code/ workspace) DOCKER_BUILDKIT=1 docker buildx build --ssh default \ --build-arg BASE_IMAGE=hero_zero:base \ -f hero_services/Dockerfile.dev -t hero_zero:dev \ --platform linux/amd64 --load . # Push to registry docker tag hero_zero:dev forge.ourworld.tf/lhumina_code/hero_zero:dev docker push forge.ourworld.tf/lhumina_code/hero_zero:dev # Deploy to herodev (pull from registry) ssh root@495:72fa:... "docker pull forge.ourworld.tf/lhumina_code/hero_zero:dev && \ docker stop herodev; docker rm herodev; \ docker run -d --name herodev -p 8805:6666 forge.ourworld.tf/lhumina_code/hero_zero:dev" # Promote to herodemo docker tag hero_zero:dev forge.ourworld.tf/lhumina_code/hero_zero:demo docker push forge.ourworld.tf/lhumina_code/hero_zero:demo ssh root@495:72fa:... "docker pull forge.ourworld.tf/lhumina_code/hero_zero:demo && \ docker stop herodemo; docker rm herodemo; \ docker run -d --name herodemo -p 8806:6666 forge.ourworld.tf/lhumina_code/hero_zero:demo" ``` --- ## DevOps Pipeline | Step | What | Who | Gate | |------|------|-----|------| | 1 | **Code** — implement the session | AI | -- | | 2 | **Local Docker build** — build image from unpushed local code | AI | must compile | | 3 | **Deploy to herodev** — push image to registry, pull on VM | AI | -- | | 4 | **Human test on herodev** — verify on `https://herodev.gent02.grid.tf/hero_os_ui/` | Human | must confirm | | 5 | **Commit & push** — push code to `development` | AI | only after step 4 confirms | | 6 | **Remote Docker build** — rebuild from clean remote `development` code | AI | must compile | | 7 | **Deploy to herodev (again)** — ship remote-built image | AI | -- | | 8 | **Human test on herodev** — verify the remote build works identically | Human | must confirm | | 9 | **Tag `:demo`** — tag image and deploy to herodemo | AI | only after step 8 confirms | | 10 | **Human test on herodemo** — verify on `https://herodemo.gent02.grid.tf/hero_os_ui/` | Human | must confirm | | 11 | **Update this issue** — check off items, add session log with date + image SHA | AI | -- | **Rules:** - Never push before human confirms on herodev (step 4 -> step 5) - Never tag `:demo` before human confirms the remote build (step 8 -> step 9) - Never rebase, always merge - herodev gets changes first, herodemo only after confirmation - No hot-swapping WASM — always do full Docker rebuild + deploy --- ## Completed Work ### Phase 1 -- Foundation - [x] All iframe embed URLs fixed (redis, router, zinit, inspector, auth, cloud, fossil, forge) - [x] Bot island alias, Settings removed from dock (gear icon only) - [x] Files island 404 fix, Projects/Tasks routing fix - [x] hero_forge_ui builds, socat TCP-to-UDS bridges - [x] Books RPC client endpoint alignment - [x] Dockerfile.dev -- local build from workspace - [x] Smoke tests (35/35 passing) ### Phase 2 -- Quick Fixes & UI Polish - [x] Books JSON parse, "Compute" renamed to "Cloud", Tasks RPC 404 fix - [x] hero_aibroker integrated into Docker build + dock - [x] Image tag cleanup, seed data mechanism (187 TOML + media + books) - [x] Login SID collision fix, demo passwords, aibroker socket fix - [x] Window maximize, cascade wrapping, open maximized by default - [x] Theme persistence, clock fix - [x] UI visual overhaul: window controls, shadows, dock, dark/light palettes, blur, typography - [x] Theme sync 3-layer fix: shell -> embed islands -> iframe templates ### Phase 3 -- Theme Selection & Iframe Theme Sync - [x] `hero-bootstrap-bridge.css` -- single source of truth for Bootstrap theming - [x] 24+ HTML templates across 15 repos updated with bridge CSS + standardized receiver JS - [x] 170+ hardcoded dark-mode classes removed (`bg-dark`, `text-white`, `navbar-dark`, etc.) - [x] Settings dock fix, native color picker with auto-palette, 10 presets - [x] Business & HR archipelago islands: 14 files, all CSS vars fixed ### Session A -- WASM Island Theme Unification (2026-03-07) - [x] 85 files changed across all archipelago islands -- all using `var(--color-*)` pattern - [x] Libraries: photos, songs, playlists, player, photo, album - [x] Embed: books, card, hero_service, panel, row + 13 other embed islands - [x] Files, Calendar, Contacts, Communication, Messaging, Code, Editor - [x] Productivity: tasks, stories, kanban, projects, sprints - [x] Intelligence: ai, agents, intelligence, knowledge, roles, templates - [x] System: settings, contexts, services, service, theme - [x] Mycelium (8 views), Viewer (4 views), Business: finance, contracts - [x] Regression test: `smoke_theme_islands.sh` (4/4 passing) - [x] Deployed to herodev and herodemo, human confirmed ### Infrastructure - [x] herodev + herodemo deployed on same VM, both live - [x] Legacy VMs retired - [x] Docker base image (`hero_zero:base`), WASM cache fix, hero_rpc patch - [x] Port hero_services to zinit_sdk OpenRPC API (`ZinitRPCAPIClient`) -- 9 files, 670+/519- - [x] Merge zinit `development_zinit_ui_basepath` into `development` ([PR #29](https://forge.ourworld.tf/lhumina_code/hero_zinit/pulls/29)) - [x] Fix hero_inspector build (port to new zinit_sdk API) - [x] Fix hero_indexer_ui theme sync (separate repo, Bootstrap bridge + dark class removal) - [x] Add hero_indexer_ui to Dockerfile COPY + switch to build_cargo ### Repo Cleanup (2026-03-08) - [x] Closed 29 stale mik-tf branches across 16 repos - [x] Closed 17 stale issues/PRs across hero_services, hero_auth, hero_coordinator, hero_db, hero_books, hero_biz, hero_os, hero_fossil, hero_launcher - [x] Closed 2 resolved circle_ops issues ([#643](https://forge.ourworld.tf/circle_ops/circle_ops/issues/643) deploy to k8s, [#650](https://forge.ourworld.tf/circle_ops/circle_ops/issues/650) CI/CD pipeline) - [x] Filed [circle_ops #679](https://forge.ourworld.tf/circle_ops/circle_ops/issues/679) for stale git lock files on hero_services (2 branches need server-side fix) ### Session B: Contexts Management (2026-03-08) - [x] Event listeners -- wire `context-selected/created/deleted` events from island to Hero OS app - [x] OS-level create/delete -- SDK CRUD already works (verified: uses `BaseClient` from `hero_osis_sdk`) - [x] Controller wrappers -- `switch_context()` already in controller, event listeners call it - [x] Context indicator -- toolbar shows current context name + color - [x] Error handling -- delete current -> fallback to "default" - [x] Seed data -- fixed SID collisions (contexts vs themes shared s001-s007), added 4 demo contexts (Default, Geomind, Incubaid, ThreeFold) - [x] Default context -- app starts on "default" instead of "root"; root hidden from UI - [x] hero_services TOML -- added 5 contexts to hero_osis exec command - [x] Create Context button -- CSS wrapper approach (bypasses Dioxus VDOM re-render issue) - [x] 502 error on load -- 5 retries with 2s intervals in both host and island - [x] Created contexts in dropdown -- `island-contexts` in `core` feature, optimistic update + background re-fetch - [x] Create form UX -- Display Name first, auto-derives URL-safe slug - [x] Duplicate context validation -- red warning + submit disabled on duplicate - [x] Dynamic context registration -- generic `CustomMethodHandler` trait in hero_rpc, `ContextMethodHandler` in hero_osis - [x] Pre-existing compilation fixes -- 186 `trigger_get_pre`/`trigger_list_pre` stubs across all 15 OSIS domains - [x] hero_fossil -> hero_foundry repo rename -- updated git URLs in hero_forge_ui, hero_archipelagos, hero_services - [x] hero_forge_ui binary restored -- was missing due to stale hero_fossil.git URL - [x] Deployed to herodev + herodemo, human confirmed ### Session C: Single Source of Truth Migration (2026-03-08 to 2026-03-09) **Phase 0a -- Core Components** (2026-03-08) - [x] Migrate 10 core components (button, dialog, island_header, wrapper, context_menu, entity_selector, select_field, multi_value_input, date_field, comments_section) - [x] ~250 lines of new CSS classes added to styles.css - [x] All hardcoded hex colors replaced with CSS var classes **Phase 0b -- Shell Files** (2026-03-08) - [x] Migrate 7 shell files (dock, toolbar, window, ai_bar, user_island, mobile_settings, rebuild_notification) - [x] ~130 lines of new CSS classes added to styles.css - [x] Dock: 6 repeated button format!() simplified, animations moved to CSS **Phase 0c -- All Island Files** (2026-03-09) - [x] 184 island files migrated across all domains - [x] ~930 inline style declarations replaced with CSS utility classes - [x] ~70 new utility classes added to styles.css - [x] Net -1,597 lines of inline style code in hero_archipelagos **Phase 1 -- Typography Tuning + Dock Improvements** (2026-03-09) - [x] Bootstrap 5.3 type scale: body 1rem, small 0.875rem, headings 1.25rem - [x] Font stack aligned with Bootstrap 5.3 (dropped unused Inter) - [x] Shell font: `--shell-font-size: 1.125rem` (18px) for toolbar readability - [x] Dock: `--dock-font-size: 0.75rem` (12px), buttons 72->92px, icons 42->46px, labels 68->100px, line-height 1.5 - [x] Zero hardcoded hex colors remain in inline styles across all production .rs files - [x] Deployed to herodev + herodemo, human confirmed --- ## Repos Status All repos on `development` branch, pushed to remote. | Repo | Changes | Status | |---|---|---| | hero_proxy | bridge CSS file + route, admin.html | Pushed | | hero_os | theme.rs, styles.css, main.rs, context event wiring | Pushed | | hero_auth | base.html bridge CSS + receiver | Pushed | | hero_redis | base.html bridge CSS + receiver | Pushed | | hero_forge_ui | 4 templates bridge CSS + receiver, hero_foundry URL | Pushed | | hero_osis | base.html bridge CSS + receiver, seed data, dynamic context reg | Pushed | | hero_books | base.html bridge CSS + receiver | Pushed | | hero_cloud | index.html bridge CSS + receiver | Pushed | | hero_embedder | base.html bridge CSS + receiver | Pushed | | hero_indexer | index.html bridge CSS + receiver | Pushed | | hero_inspector | base.html bridge CSS + receiver | Pushed | | hero_foundry (was hero_fossil) | base.html bridge CSS + receiver | Pushed | | hero_voice | base.html bridge CSS + receiver | Pushed | | hero_biz | base.rs + mod.rs bridge CSS + receiver | Pushed | | hero_aibroker | 6 templates bridge CSS + receiver | **[PR #19](https://forge.ourworld.tf/lhumina_code/hero_aibroker/pulls/19)** (`development_theme_sync`) | | hero_archipelagos | All islands CSS var fixes (85 files), button fix, hero_foundry URL | Pushed | | hero_indexer_ui | Bootstrap bridge + dark class removal | Pushed | | hero_rpc | CustomMethodHandler trait, trigger hooks codegen | Pushed | | hero_services | zinit SDK port, Dockerfile fixes, 5 contexts, hero_foundry rename | Pushed | --- ## Session Log | Date | Session | Summary | Image | |---|---|---|---| | 2026-02-xx | Phase 1 | Foundation -- iframe URLs, smoke tests, Dockerfile | -- | | 2026-02-xx | Phase 2 | UI polish -- windows, theme, visual overhaul | -- | | 2026-03-xx | Phase 3 | Theme sync -- bridge CSS, 24 templates, 170+ dark classes | -- | | 2026-03-07 | Session A | WASM island theme unification -- 85 files, all archipelagos | `sha256:74581865c11b` | | 2026-03-07 | Infra | zinit SDK port, inspector/indexer fixes, herodev+herodemo deploy | `sha256:74581865c11b` | | 2026-03-08 | Cleanup | 29 branches deleted, 17 issues/PRs closed, [circle_ops #679](https://forge.ourworld.tf/circle_ops/circle_ops/issues/679) filed | -- | | 2026-03-08 | Session B | Context create/switch/delete, dynamic registration, 186 trigger stubs, hero_foundry rename | `sha256:7a5d318bf841` | | 2026-03-08 | Session C (0a+0b) | Single Source of Truth migration -- 17 files, ~380 lines CSS | `sha256:983b130e1722` | | 2026-03-09 | Session C (0c) | Island migration -- 184 files, ~930 inline styles, net -1,597 lines | `sha256:0780e2198b22` | | 2026-03-09 | Session C (Phase 1) | Typography tuning, dock improvements, zero hardcoded hex colors | `sha256:494205898abb` | | 2026-03-09 | hero_cloud fix | Fix missing `.await` on `refresh_status()` in chvm_driver.rs | `sha256:4f75a4f17e5c` | --- **Continued in:** https://forge.ourworld.tf/lhumina_code/home/issues/11
mik-tf changed title from Hero OS — Production Readiness Tracker to Hero OS — Production Readiness Plan 2026-03-06 02:43:29 +00:00
mik-tf self-assigned this 2026-03-06 05:07:10 +00:00
mik-tf added this to the ACTIVE project 2026-03-06 05:07:17 +00:00
mik-tf changed title from Hero OS — Production Readiness Plan to Hero OS -- Production Readiness Plan (Completed) 2026-03-10 15:36:59 +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#5
No description provided.