feat(homepage): give the not-open-yet apps their own section, below AI #148

Merged
dank merged 1 commits from feat/homepage-wip-section into main 2026-11-04 13:20:57 -08:00
Owner

What changed

The three doors that are not open to the household yet (Calibre-Web, RomM, Seerr) no longer sit among the apps a family user can actually use. They render under their own Work in progress heading on the user page, placed below AI.

before after
user page section order Web Apps, Media Library Apps, AI Web Apps, Media Library Apps, AI, Work in progress
Calibre-Web / RomM / Seerr inside Media Library Apps, WIP badge inside Work in progress, WIP badge
card copy "…Work in progress: not open to family users yet." "…Not open to family users yet — ask Frank."

The admin page is untouched: its WIP cards (Gluetun, mariadb, valkey, Postgres) are Infrastructure plumbing, not applications.

Files

  • shared/homepage/app.js — SECTION_ORDER.user gains the heading, last.
  • shared/homepage/services.json — the three section values, plus a one-line copy trim (the heading now says "Work in progress", the description repeats it not).
  • tests/homepage_config.bats, tests/homepage_pages.bats — the section contract gains the heading; the order test is re-pinned. It previously asserted AI is last, which is exactly what this change overturns, so the pin moved rather than being dropped.
  • serverAppConfigs-docs/Infrastructure/Homepage.md — the classification list, the SECTION_ORDER contract line, and the wip value list (the page documented only open/closed; down has been in BADGE_LABEL and in use by these three cards all along).

Checks

  • ./tests/run.sh → ALL TESTS PASSED (841 assertions).
  • Rendered-page census in a real browser (static copy + stub status.json): section titles come out WEB APPS → MEDIA LIBRARY APPS → AI → WORK IN PROGRESS; the new section holds exactly Calibre-Web, RomM, Seerr; summary line UP 11 DOWN 0 WIP 3.
  • Admin page, same census: Media Library Apps, Observability, AI, Infrastructure, UP 20 DOWN 0 WIP 4 — unchanged.

Deploy note

shared/homepage/** is a planner path for the homepage service, so this is not docs-only: after merge it needs ./scripts/deploy.sh dankclaw --service homepage to reach /srv/homepage.

Also true before this PR and still true: Dankclaw's deploy checkout has no tests/e2e/.env.local and no node_modules, so the [3/3] gate that deploy.sh runs remotely cannot pass there — it fails with "tests/e2e/.env.local missing" while the service itself deploys fine. The gate has to be run from a dev-side checkout (tests/e2e/run.sh against the live fleet: 41 passed today). Provisioning those two things on the host, or moving the gate client-side, is a separate decision.


cwd: /home/blank/.omp/wt/wt-20261104-121037-6d1fc1f · session: 01a1a833-a2e6-76b6-8a67-d54ca993dcca

## What changed The three doors that are not open to the household yet (Calibre-Web, RomM, Seerr) no longer sit among the apps a family user can actually use. They render under their own **Work in progress** heading on the user page, placed **below AI**. | | before | after | |---|---|---| | user page section order | Web Apps, Media Library Apps, AI | Web Apps, Media Library Apps, AI, **Work in progress** | | Calibre-Web / RomM / Seerr | inside *Media Library Apps*, WIP badge | inside *Work in progress*, WIP badge | | card copy | "…Work in progress: not open to family users yet." | "…Not open to family users yet — ask Frank." | The admin page is untouched: its WIP cards (Gluetun, mariadb, valkey, Postgres) are Infrastructure plumbing, not applications. ## Files - `shared/homepage/app.js` — `SECTION_ORDER.user` gains the heading, last. - `shared/homepage/services.json` — the three `section` values, plus a one-line copy trim (the heading now says "Work in progress", the description repeats it not). - `tests/homepage_config.bats`, `tests/homepage_pages.bats` — the section contract gains the heading; the order test is re-pinned. It previously asserted **AI is last**, which is exactly what this change overturns, so the pin moved rather than being dropped. - `serverAppConfigs-docs/Infrastructure/Homepage.md` — the classification list, the `SECTION_ORDER` contract line, and the `wip` value list (the page documented only `open`/`closed`; `down` has been in `BADGE_LABEL` and in use by these three cards all along). ## Checks - `./tests/run.sh` → **ALL TESTS PASSED** (841 assertions). - Rendered-page census in a real browser (static copy + stub `status.json`): section titles come out `WEB APPS → MEDIA LIBRARY APPS → AI → WORK IN PROGRESS`; the new section holds exactly Calibre-Web, RomM, Seerr; summary line `UP 11 DOWN 0 WIP 3`. - Admin page, same census: `Media Library Apps, Observability, AI, Infrastructure`, `UP 20 DOWN 0 WIP 4` — unchanged. ## Deploy note `shared/homepage/**` is a planner path for the `homepage` service, so this is **not** docs-only: after merge it needs `./scripts/deploy.sh dankclaw --service homepage` to reach `/srv/homepage`. Also true before this PR and still true: Dankclaw's deploy checkout has no `tests/e2e/.env.local` and no `node_modules`, so the `[3/3]` gate that `deploy.sh` runs remotely cannot pass there — it fails with "tests/e2e/.env.local missing" while the service itself deploys fine. The gate has to be run from a dev-side checkout (`tests/e2e/run.sh` against the live fleet: 41 passed today). Provisioning those two things on the host, or moving the gate client-side, is a separate decision. --- cwd: /home/blank/.omp/wt/wt-20261104-121037-6d1fc1f · session: 01a1a833-a2e6-76b6-8a67-d54ca993dcca
dank added 1 commit 2026-11-04 13:20:23 -08:00
Calibre-Web, RomM and Seerr sat inside "Media Library Apps" carrying a WIP
badge and a "not open to family users yet" sentence each, so the household
grid mixed doors they can use with doors they cannot. They now render under
their own "Work in progress" heading, placed after AI on the user page, and
the copy drops the restated "Work in progress:" for the ask-Frank line the
section heading no longer needs to repeat.

- app.js: SECTION_ORDER.user gains "Work in progress" last.
- services.json: the three cards' section, plus one-line copy trim.
- homepage_config.bats / homepage_pages.bats: the section contract now
  includes the new heading and pins the new order (the old test pinned AI
  last, which this change deliberately overturns).
- Homepage.md: the classification list and the SECTION_ORDER/wip contract
  lines catch up (the user order in the page was already stale, and "down"
  was an undocumented wip value).

The admin page is untouched: its WIP cards (Gluetun, mariadb, valkey,
Postgres) are plumbing inside Infrastructure, not applications.
dank merged commit e6a85176c4 into main 2026-11-04 13:20:57 -08:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: dank/serverAppConfigs#148