Skip to content

refactor: replace the dashboard with the report roster - #22

Merged
zalom merged 7 commits into
mainfrom
plastic/392--dashboard-to-reports
Sep 24, 2026
Merged

zalom merged 7 commits into
mainfrom
plastic/392--dashboard-to-reports

Conversation

@zalom

@zalom zalom commented Sep 24, 2026 •

Copy link
Copy Markdown
Owner

What

This change removes the dashboard and puts the report roster in its place. When a prompt is exactly "continue", the capture hook runs report-screen state --all on the store of the working directory. It uses the project store when the directory maps to one, and the global store otherwise. The plain roster goes into the agent's context, and the painted roster is the system message.

Why

The owner ruled on 2026-09-24 that the dashboard was never the right build. The report screens in scripts/report-screen and scripts/lib/report_screen.rb already showed the same state and were unused. The ruling says they replace the dashboard, and the dashboard files and tests are deleted, not kept behind a flag.

How

  • scripts/hook-capture: the continue prompt runs the report roster for the resolved store instead of dashboard.rb and its banner.
  • Deleted scripts/dashboard.rb, scripts/lib/dashboard_banner.rb, scripts/lib/dashboard_screen.rb, scripts/lib/screens/dashboard.rb and templates/dashboard-screen.md.
  • Deleted 5 test files: dashboard_test, dashboard_banner_test, dashboard_screen_test, dashboard_sentinel_test and dashboard_advisory_flag_test.
  • scripts/lib/installer_core.rb: the installer no longer ships the deleted files.
  • .rubocop_todo.yml: dropped the entries for the deleted files.
  • scripts/doctor.rb, scripts/lib/report_screen.rb, scripts/lib/savepoint.rb and scripts/lib/screen_paint.rb: comments no longer name the dashboard as a caller.
  • Tests that named the deleted files were fixed: hermeticity_guard_test, lifecycle_stage_guard_test, modify_pass_306_test, codex_hooks_test, report_screen_header_and_width_test, report_screen_skill_contract_test, screen_paint_test, screen_width_test and store_walker_compat_test.
  • Docs: docs/architecture.md, docs/internals.md, docs/guides/reading-the-ledgers.md and docs/help/human-report-contract.md describe the roster. CHANGELOG.md has an entry under Unreleased.

Tests

Each changed test file ran once, and all passed with 0 failures:

  • test/capture_hook_test.rb: 40 runs, 160 assertions
  • test/codex_hooks_test.rb: 26 runs, 88 assertions
  • test/hermeticity_guard_test.rb: 10 runs, 19 assertions
  • test/lifecycle_stage_guard_test.rb: 12 runs, 33 assertions
  • test/modify_pass_306_test.rb: 2 runs, 24 assertions
  • test/report_screen_header_and_width_test.rb: 18 runs, 239 assertions
  • test/report_screen_skill_contract_test.rb: 7 runs, 34 assertions
  • test/rubyopt_clearing_test.rb: 8 runs, 34 assertions (it failed in the first CI run, because it counts ruby spawns line by line and one spawn was split over 2 lines)
  • test/screen_paint_test.rb: 62 runs, 317 assertions
  • test/screen_width_test.rb: 30 runs, 926 assertions
  • test/store_walker_compat_test.rb: 8 runs, 27 assertions

The change gate bin/verify-change origin/main passed. Lint was clean, patch coverage found no coverable lines changed, and the mutation step generated no mutations. CI runs the full suite on this pull request.

The dashboard is replaced by the report screens (intent 392). Removes
scripts/dashboard.rb, its banner and screen renderers, the dashboard
templates, and their tests, and fixes the tests and comments that named
them as live code.
Updates architecture.md, internals.md, the human report contract, and
the ledgers guide to describe report-screen state --all as the surface
that replaced the dashboard, and drops descriptions of the deleted
dashboard files. Adds a CHANGELOG entry under Unreleased.
@zalom
zalom merged commit abc701c into main Sep 24, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant