Skip to content

[night-shift] Implement the Dash browser front door#37

Open
Fuiste wants to merge 1 commit into
night-shift/2026-04-14_09-19-49-07-00-3-dash-cli-and-server-foundationfrom
night-shift/2026-04-14_09-19-49-07-00-3-dash-browser-front-door
Open

[night-shift] Implement the Dash browser front door#37
Fuiste wants to merge 1 commit into
night-shift/2026-04-14_09-19-49-07-00-3-dash-cli-and-server-foundationfrom
night-shift/2026-04-14_09-19-49-07-00-3-dash-browser-front-door

Conversation

@Fuiste

@Fuiste Fuiste commented Apr 14, 2026

Copy link
Copy Markdown
Owner

Summary

Replace the monitor-style dashboard shell with a real Dash workspace that renders repo bootstrap, run history, DAG/list/detail views, timeline, audit, and command forms on top of the existing journal-backed usecases; simplify CLI command types by removing obsolete start --ui / resume --ui state; and update operator docs plus repo-local QA guidance to describe night-shift dash as the supported human entrypoint.

Demo

  • Launch night-shift dash in an uninitialized repo and use the in-browser init form to move directly into the initialized workspace without restarting Dash.
  • Plan and replan from reviews in Dash, then verify the selected run renders synchronized DAG, task detail, timeline, repo-state drift, delivery, and artifact audit views from persisted .night-shift data.
  • Run gleam test and confirm the Dash/browser assertions plus existing CLI and persistence suites stay green.

Verification

No verification commands configured.

Known Risks

  • Dash SSE still streams full bootstrap snapshots on change, so very large run payloads may be heavier than a future diff-based event stream even though the browser no longer polls as its primary transport.

Context

  • Reason: Planned from the Night Shift brief.
  • Run: 2026-04-14_09-19-49-07-00-3
  • Task: dash-browser-front-door
  • Brief: /Users/rudy/work/side-projects/night-shift/.night-shift/runs/2026-04-14_09-19-49-07-00-3/brief.md

Scope

  • Files touched: .codex/skills/qa-night-shift/SKILL.md, docs/getting-started.md, docs/providers-and-delivery.md, docs/run-lifecycle.md, src/night_shift/app.gleam, src/night_shift/cli.gleam, src/night_shift/dashboard.gleam, src/night_shift/dashboard_view.gleam, src/night_shift/types.gleam, test/night_shift_cli_config_test.gleam, test/night_shift_persistence_provider_test.gleam
  • Branch: night-shift/2026-04-14_09-19-49-07-00-3-dash-browser-front-door
  • Supersedes: (none)

Summary

Replace the monitor-style dashboard shell with a real Dash workspace that renders repo bootstrap, run history, DAG/list/detail views, timeline, audit, and command forms on top of the existing journal-backed usecases; simplify CLI command types by removing obsolete start --ui / resume --ui state; and update operator docs plus repo-local QA guidance to describe night-shift dash as the supported human entrypoint.

Evidence

Demo evidence:

  • gleam test passed with 151 passed and 0 failures after the final Dash/docs/test updates.
  • The browser surface test now verifies the served Dash HTML exposes the structured workspace affordances (Night Shift Dash, Task DAG, Command Center, Plan from reviews) alongside bootstrap and audit payload delivery.

Verification digest: 696cf4995b322eb610db8fec5d6a85c1aece7c167be0befd21cc401b068964ca

No verification commands configured.

Known Risks

  • Dash SSE still streams full bootstrap snapshots on change, so very large run payloads may be heavier than a future diff-based event stream even though the browser no longer polls as its primary transport.

Provenance

  • Planning provenance: notes only
  • Execution summary source: model-authored
  • Planning agent: codex model=gpt-5.4
  • Execution agent: codex model=gpt-5.4
  • Deterministic evidence: run id, task id, files touched, verification output, superseded lineage
  • Inferred/model-authored: PR summary, risks, demo narrative
  • Verification digest: 696cf4995b322eb610db8fec5d6a85c1aece7c167be0befd21cc401b068964ca
  • Task status: completed
  • Task ref: dash-browser-front-door

Fuiste commented Apr 14, 2026

Copy link
Copy Markdown
Owner Author

Review finding:

src/night_shift/dashboard_view.gleam:360-370 and src/night_shift/dashboard.gleam:70-72, 531-550

The command center only renders a resolve form when run.decision_requests is non-empty, and the backend command payload for resolve only admits { run_id, answers }. For blocked runs with zero decision requests — for example planning-sync/replan states or interrupted implementation work that has already been converted to manual attention — the UI shows No unresolved decisions for the selected run plus Start/Resume buttons that cannot actually clear the block.

That leaves a class of blocked run that Dash can display but not drive, which undercuts the front door claim. I think this needs either explicit blocked-run recovery actions in the browser or a narrower promise about which blocked states Dash can actually resolve.

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