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.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
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
child_rosterattribute (sort_order, with the slug) from the household sensor when nochild_orderis configured; an explicitchild_orderstill wins.custom:nestquest-partyLovelace dashboard strategy generates the party-board view plus one quest-log view per child at render time, with paths COMPUTED (soquest_log_path/board_path/child_orderare not configured); zero-children/missing-roster/override handled.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; runcd frontend && npm installfirst in a fresh checkout).TZ=UTC uv run pytest -q orchestration_tests→ 14 passed.type: panel, and the wrong Lovelace API).Notes
dev(6059a67) and includes it as its base (no dev merge needed).Independent Claude Sonnet 5 review completed for this exact commit.