Feature 20: Zero-Config Panel Dashboard #180

Merged
Member

Feature 20 — Zero-Config Panel Dashboard (feature → dev)

Makes the kid panel install with no configuration and brings navigation/transitions to the design mockups. This is the Feature 20 integration PR (all required tasks complete).

Delivered

  • Cards auto-discover children — the party board reads an ordered child_roster attribute (sort_order, with the slug) from the household sensor when no child_order is configured; an explicit child_order still wins.
  • Dashboard strategy — a custom:nestquest-party Lovelace dashboard strategy generates the party-board view plus one quest-log view per child at render time, with paths COMPUTED (so quest_log_path/board_path/child_order are not configured); zero-children/missing-roster/override handled.
  • Auto-registration — the integration registers that dashboard on setup (real Lovelace dashboards-collection API, metadata then strategy save), idempotently: a reload/second entry does not duplicate it, a user's dashboard is left untouched, and an unavailable collection/save failure warns without crashing setup.
  • Navigation — present crest tap opens the child's log at the computed URL; away plates do not navigate; back/idle return lands on the computed board path (proven by jsdom tests).
  • Transitions — the dialog/seal/quest-complete/idle-return motion and the PANEL-SPEC hard rules are asserted (22px floor, token inks, no hover, no animation loops, inert dock, whole-plate tap target, control-free away/sealed plates).
  • Runbook — the README TouchHub section leads with the zero-config flow (install → dashboard appears → point TouchHub at it), keeping the Auto-Return > idle_return_seconds (40s) and Panel-layout constraints, with a manual alternative retained.

Verification

  • TZ=UTC uv run pytest -q → 1709 passed (includes the jsdom panel card/strategy/navigation tests; run cd frontend && npm install first in a fresh checkout).
  • TZ=UTC uv run pytest -q orchestration_tests → 14 passed.
  • Every task PR was independently reviewed by Claude Sonnet 5 (high) at its exact head; two required remediation cycles (the strategy's missing type: panel, and the wrong Lovelace API).

Notes

  • The feature branch is 6 commits ahead of dev (6059a67) and includes it as its base (no dev merge needed).
  • Deferred low-severity nits are recorded on the individual Maestro tasks.
## Feature 20 — Zero-Config Panel Dashboard (feature → dev) Makes the kid panel install with no configuration and brings navigation/transitions to the design mockups. This is the Feature 20 integration PR (all required tasks complete). ### Delivered - **Cards auto-discover children** — the party board reads an ordered `child_roster` attribute (sort_order, with the slug) from the household sensor when no `child_order` is configured; an explicit `child_order` still wins. - **Dashboard strategy** — a `custom:nestquest-party` Lovelace dashboard strategy generates the party-board view plus one quest-log view per child at render time, with paths COMPUTED (so `quest_log_path`/`board_path`/`child_order` are not configured); zero-children/missing-roster/override handled. - **Auto-registration** — the integration registers that dashboard on setup (real Lovelace dashboards-collection API, metadata then strategy save), idempotently: a reload/second entry does not duplicate it, a user's dashboard is left untouched, and an unavailable collection/save failure warns without crashing setup. - **Navigation** — present crest tap opens the child's log at the computed URL; away plates do not navigate; back/idle return lands on the computed board path (proven by jsdom tests). - **Transitions** — the dialog/seal/quest-complete/idle-return motion and the PANEL-SPEC hard rules are asserted (22px floor, token inks, no hover, no animation loops, inert dock, whole-plate tap target, control-free away/sealed plates). - **Runbook** — the README TouchHub section leads with the zero-config flow (install → dashboard appears → point TouchHub at it), keeping the Auto-Return > `idle_return_seconds` (40s) and Panel-layout constraints, with a manual alternative retained. ### Verification - `TZ=UTC uv run pytest -q` → **1709 passed** (includes the jsdom panel card/strategy/navigation tests; run `cd frontend && npm install` first in a fresh checkout). - `TZ=UTC uv run pytest -q orchestration_tests` → **14 passed**. - Every task PR was independently reviewed by Claude Sonnet 5 (high) at its exact head; two required remediation cycles (the strategy's missing `type: panel`, and the wrong Lovelace API). ### Notes - The feature branch is 6 commits ahead of `dev` (`6059a67`) and includes it as its base (no dev merge needed). - Deferred low-severity nits are recorded on the individual Maestro tasks.
dev_agent added 6 commits 2026-09-23 11:52:35 -04:00
dev_agent added 1 commit 2026-09-23 12:21:50 -04:00
review_agent left a comment
Member

Independent Claude Sonnet 5 review completed for this exact commit.

Independent Claude Sonnet 5 review completed for this exact commit.
approver_agent merged commit ee8ef6dcac into dev 2026-09-23 12:27:36 -04:00
Sign in to join this conversation.
No Reviewers
No labels
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Maniacs_Mansion/NestQuest#180