Repository navigation
feat: standardize dashboard section disclosures and slogan order #490
Description
Overview
Standardize slogan-panel placement and collapsible, informative section headers across all 13 organism dashboards. Human approved the detailed plan on 2026-10-07.
Plan
- Place the slogan panel above section buttons.
- Add accessible collapsed sections with owner-supplied counts/status.
- Preserve navigation, deep links and copy actions.
- Migrate and validate all consumers, deferring Scientist while claimed.
Tier: judge — merge mode: human /prm.
Detailed plan and original request
Dashboard slogan order and collapsible sections
Type: feature
Consequence: judge
Primary owner: @PyAutoBrain. Consumers: @PyAutoMind @PyAutoCortex @PyAutoMemory @PyAutoHeart @PyAutoHands @PyAutoPulse @PyAutoNerves @PyAutoGut @PyAutoScientist @PyAutoEyes @PyAutoInsight @PyAutoEars.
Original request (verbatim)
- All dashboards have adopted a standard API now where they have big buttons at the top,
corresponding to the titled sections that come in the dashboard. I want to make two changes across the
standard layout of all dashboards:
-
I want the box which has the slogan (e.,g. "Ship with your Hands) to be above the buttons, so swap them round
across all dashboards. -
I want each header (e.g. on PyAutohands its Libraries, Release train) to be clickable to drop down. Currently,
there are dashboards where a given head is a huge amount of text and this means navigating it is cumbersome.
These headers, where possible, can include information that informs us if we should check it. For example on
PyAutoHeart "Observed checks" could have a yellow or red tick if any item is yellow or red, others could have
the number of tasks (e.g. "Start Here" on PyAutoMind could have an 18 to say there are 18 task under it).
Proposed acceptance criteria
- All 13 boards registered in Brain's board policy show their slogan/context box before section navigation.
- Major titled sections use a shared accessible disclosure, initially collapsed; headers retain their anchors and meaningful counts/status while closed.
- Navigation and direct fragment links reveal the target section, including nested targets. Keyboard interaction and existing copy controls continue to work.
- Counts are computed by owning renderers, including Mind Start Here. Heart Observed checks exposes worst observed status without conflating monitoring with release readiness. Missing evidence is never shown as green or zero.
- Update Brain's navigation contract and track adoption and regenerated/published artifacts for every consumer.
- Validate representative populated/empty/unknown states, anchor navigation, keyboard operation, narrow/wide screens and light/dark themes.
Delivery
Plan approval required before source edits. Shared Brain implementation first, then owner migrations in bounded dependent PRs; human merge via /prm. Preserve unrelated dirty files and resolve repository claims before implementation.
Detailed plan awaiting approval
- Extend
PyAutoBrain/board/_theme.pywith a shared top-layout composition that emits hero, orchestration panel, then navigation cards. Keep existing callers compatible until migrated; preserve panel copy payloads and freshness controls. The requested slogan box is the orchestration panel, distinct from the logo masthead tagline. - Add a shared native
details/summarysection component with heading semantics, stable IDs, chevrons, optional owner-supplied counts and labelled status badges. Default major content sections to collapsed. Keep the slogan panel visible. Shared JavaScript opens ancestor disclosures for initial URL fragments, hash changes and navigation clicks (including repeat clicks on the current fragment); preserve nested copy/disclosure behavior. Use native keyboard interaction, visible focus, and a print rule that exposes content. - Adopt in Brain
board/_board.py, Mindagents/conductors/intake/_intake.py, and Cortexagents/conductors/cortex/_cortex.py. Derive Mind Start Here count from the actual rendered collection. Updatedocs/board-navigation.mdwith composition, section, count and status contracts, plus affected-consumer coverage. - Migrate owner renderers in dependent, bounded PRs: Heart
heart/dashboard.py; Handsautohands/board.py; Memory/Nerves/Gutscripts/board.py; Pulsepulse/board.py; Earsears/board.pyandears/presentation.py; Eyeseyes/board.py; Insightinsight/board.pyandinsight/theme.py; Scientistscripts/organism_board.py. Audit each owner's major headings and existing details to avoid double wrapping. Heart aggregates observed-check status using existing owner semantics: red takes precedence over yellow, with stale/unknown explicit; do not substitute the release verdict. Counts/status without a reliable source are omitted or explicitly unknown. - Test shared ordering and disclosure behavior, meaningful owner count/status fixtures and retained anchors. Run applicable renderer suites and browser checks at 390, 768, 820, 1024 and 1440px in light/dark, with keyboard, direct/nested anchors, copy actions, empty/unknown states and page overflow. Regenerate consumer artifacts using their existing renderers; after human merges, refresh and verify each published board. Track source, artifact and publication adoption separately.
Tier: judge — merge mode: human /prm.
Initial survey (2026-10-07)
All 13 owner checkouts are on main. Brain has an untracked delegation log; Mind has this new prompt; Cortex has seven unrelated modified/untracked paths; Eyes has three untracked directories. Other owner checkouts are clean. Several local mains trail their cached origin refs and must be refreshed in task setup. No existing active task matches this request.
worktree_check_conflict reports Scientist claimed by community-pages (PR 48). Defer that consumer until the claim clears; do not bypass it. It also reports unregistered Brain/Mind/Heart/Hands worktrees that must be reconciled or shown unrelated before claiming those repos. Suggested branch: feature/dashboard-section-disclosures; use an isolated task checkout within the permitted workspace during setup.
FeatureDecision routes through start_workspace/ship_workspace and recommends phased delivery due to the 13-repository scope. Proposed phases are shared component plus Brain-owned renderers, downstream owner migrations, then publication verification. Heart entry result: STALE (release STALE, monitoring RED); development planning permitted by the entry contract. Plan approval and issue registration remain pending; no dashboard source edits made.
Implementation handoff — 2026-10-07
Plan approved by the human (“I approve, go”). Implementation is staged, not committed or pushed, on feature/dashboard-section-disclosures in /home/jammy/Code/PyAutoLabs/.worktrees/dashboard-section-disclosures.
- Implemented 12 boards: Brain, Mind, Cortex, Heart, Hands, Memory, Nerves, Gut, Pulse, Eyes and Insight plus Ears. Scientist remains deferred:
community-pagesowns that repo (PR 48). - Brain
board/_theme.py::section_layoutcomposes the slogan panel above navigation and wraps major heading groups in native collapsed disclosures. Owners retain IDs/content, meaningful counts, status and copy payloads. Footer navigation stays outside disclosures. Shared JS handles initial/repeated/deep links and print state; keyboard controls are native. - Mind counts unique actually displayed Start Here tasks. Heart aggregates check states separately from release readiness. Hands omits counts when collection failed. Multiple navigation metrics keep their labels.
- Renderer-owned artifacts regenerated in Mind, Cortex, Eyes, Pulse and Insight. Other owners render at publish time; local fixtures/real Nerves snapshots validate their adoption. Nothing has been published.
Validation
- Brain full suite: 1,284 passed, six initial failures. Five Node clipboard failures fixed by guarding browser-only initialization; the grouped-checkout fixture failure was inherited
PYAUTO_MIND. A rerun of both affected files plus disclosure regressions with that override unset passed all 15 tests. Focused renderer/theme suite: 289 passed before final added regressions; later layout/Mind/Hands tests passed. - Heart: 166 dashboard tests passed; seven disclosure tests passed including new status precedence coverage.
- Hands: full suite 475 passed; final board suite 27 passed including failed-collection count coverage.
- Memory 275; Gut 25; Pulse 193; Eyes 82; Insight 79; Ears 97; Nerves full suite 241 passed.
- Chromium: 120 cases across 12 boards, five widths and light/dark. Order, collapsed defaults, anchor/deep-link/repeated navigation, keyboard, clipboard and overflow passed. Representative screenshot inspected.
- Sphinx build passed with zero warnings. Ruff check/format passed for Pulse, Eyes, Insight. Pulse/Insight offline artifact+contract checks passed; Eyes live manifest/figure URL and cockpit checks passed. Cortex structural check passed. All diffs passed whitespace checks.
- Evidence: workspace
tmp/dashboard-sections/contains individual test logs,browser-final/browser-results.json, screenshots, renderer fixtures,canonical-readiness.json, and 12 prepared PR descriptions underpr-drafts/.
Shipping gate and next steps
Canonical-workspace Heart readiness is RED. Exact RED reasons:
- PyAutoFit: 5 commit(s) behind origin
- PyAutoGalaxy: 12 commit(s) behind origin
- PyAutoLens: 8 commit(s) behind origin
No override has been granted. The earlier plan approval predates these reasons and is not the required contemporaneous development-shipping override. Source commits, pushes and PR-open are blocked by skills/ship_workspace/ship_workspace.md and AUTONOMY.md → Human override for Heart RED (development only). Leave the staged implementation intact.
Next: obtain a task-specific override for Brain #490, record it in the four required sinks, refresh branch/claim state, commit and open the prepared dependent PRs (Brain API first; consumer CI needs it). Human /prm remains the merge mode. Update generated artifacts after any intervening ledger changes. Resume Scientist only after community-pages releases its claim. After merges refresh the existing publishers and verify all 13 live boards before closing the initiative.
No unrelated local files, science ledgers or active campaigns were edited. Canonical Mind has unrelated untracked research drafts; do not stage them.
Heart RED override — authorized 2026-10-07
The human replied “I authorize” to the explicit development-only Heart RED override request for Brain #490. Authorized: commit, push and open the task PRs. Merge/release are not authorized.
Exact current RED reasons:
- PyAutoFit: 5 commit(s) behind origin
- PyAutoGalaxy: 12 commit(s) behind origin
- PyAutoLens: 8 commit(s) behind origin
Validation: renderer and owner suites passed (Brain full-run failures resolved by focused reruns); 120 Chromium cases passed; Sphinx zero warnings; applicable Ruff, artifact and contract checks passed. Full evidence is recorded in the implementation handoff.
PR-open handoff — 2026-10-07
The human-authorized development ship is complete for the 12 unblocked dashboards. The implementation is committed and pushed; no PR was merged and no page was published.
| Repository | PR | Commit | Review state |
|---|---|---|---|
| PyAutoBrain | #491 | cbe0701f |
Ready for review |
| PyAutoMind | PyAutoLabs/PyAutoMind#479 | 91c4f058 |
Draft; depends on Brain #491 |
| PyAutoCortex | PyAutoLabs/PyAutoCortex#58 | 7bfcbaeb |
Draft; depends on Brain #491 |
| PyAutoMemory | PyAutoLabs/PyAutoMemory#123 | c65eebc8 |
Draft; depends on Brain #491 |
| PyAutoHeart | PyAutoLabs/PyAutoHeart#291 | 6eb36641 |
Draft; depends on Brain #491 |
| PyAutoHands | PyAutoLabs/PyAutoHands#307 | fd9ad49f |
Draft; depends on Brain #491 |
| PyAutoPulse | PyAutoLabs/PyAutoPulse#24 | fdabed32 |
Draft; depends on Brain #491 |
| PyAutoNerves | PyAutoLabs/PyAutoNerves#193 | e68ab996 |
Draft; depends on Brain #491 |
| PyAutoGut | PyAutoLabs/PyAutoGut#27 | aefd1afd |
Draft; depends on Brain #491 |
| PyAutoEyes | PyAutoLabs/PyAutoEyes#23 | 3965eced |
Draft; depends on Brain #491 |
| PyAutoInsight | PyAutoLabs/PyAutoInsight#11 | fba6864b |
Draft; depends on Brain #491 |
| PyAutoEars | PyAutoLabs/PyAutoEars#21 | 0fb3d02a |
Draft; depends on Brain #491 |
Merge Brain #491 first through human /prm. The 11 dependent drafts require that shared API on Brain main; then rerun their checks, refresh generated artifacts if ledger/evidence inputs moved, and mark them ready for review. Core CI was checked once: docs passed; Python 3.12 and 3.13 tests were running. No CI watcher or scheduled continuation was armed.
After merging current upstream refreshes, 40 additional Chromium cases passed for Mind, Pulse, Eyes and Insight. Pulse/Insight offline checks passed again. Earlier validation and exact authorized RED reasons remain recorded above and in every PR body.
Scientist remains deferred under the community-pages claim. The umbrella issue remains open until that consumer is migrated and all 13 published boards are verified. Worktrees are retained under /home/jammy/Code/PyAutoLabs/.worktrees/dashboard-section-disclosures for review and /prm.
Activity
Jammy2211 commentedon Oct 7, 2026
Shipped
All 13 dashboards now put the slogan (orchestration) panel above the section navigation. Major titled sections are native
<details>disclosures, collapsed by default. Their headers keep anchors and show owner-computed counts or status. Nav clicks and deep links open the target section.c0dd43a987967520fcaf87fa05674dda670efe76c0c03ebb97fb8eea9e272655ab815f5d6e26ead369fcc409b38dfd5c5838a0c4Publication:
#dashboards) is collapsed, with badges "5 of 5 reporting" and "Heart unknown".Known follow-up (predates #490): Scientist's
heart_word()cannot parse Heart's new headlineMonitoring RED · 38; release STALE. As a result the Scientist board shows Heart as unknown, with the banner "Heart verdict unavailable". This is a separate parser fix inPyAutoScientist/scripts/organism_board.py.Mind record:
complete/2026/10/dashboard-section-disclosures.md.