Skip to content

feat(framework): persistent background dashboard daemon (#302)#306

Merged
suleimansh merged 1 commit into
mainfrom
feat/dashboard-daemon
Jul 9, 2026
Merged

feat(framework): persistent background dashboard daemon (#302)#306
suleimansh merged 1 commit into
mainfrom
feat/dashboard-daemon

Conversation

@suleimansh

Copy link
Copy Markdown
Member

Closes #302.

Bare framework now ensures a long-lived dashboard for the workspace and prints its URL plus commands; framework stop shuts it down. The daemon is detached and tails .framework/events.jsonl, pushing each event to connected browsers, so it outlives any single run.

Two bits of hardening found while building it:

  • EventTailer detects an in-place truncation where a fresh run rewrites the log to the same byte length (size unchanged, mtime advanced) and re-reads from the top.
  • ensureDaemon refuses to re-exec a test file as the daemon. Under node --test, argv[1] is the test file, which re-runs the whole suite and calls back in, so each spawn spawned another: a fork bomb. It now throws instead.

Tests: 41 pass across the cli + daemon suites, zero leaked processes.

Bare `framework` ensures a long-lived dashboard for the workspace and prints
its URL and commands; `framework stop` shuts it down. The daemon is detached
and tails .framework/events.jsonl, pushing each event to browsers so it outlives
a single run.

Hardening: EventTailer detects an in-place same-length truncation via mtime, and
ensureDaemon refuses to re-exec a test entry so a node --test run can't fork-bomb
itself.
@suleimansh suleimansh added enhancement New feature or request priority: high Should be addressed soon labels Jul 9, 2026
@suleimansh suleimansh self-assigned this Jul 9, 2026
@suleimansh suleimansh merged commit 21fe373 into main Jul 9, 2026
2 checks passed
@suleimansh suleimansh deleted the feat/dashboard-daemon branch July 9, 2026 22:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request priority: high Should be addressed soon

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[The Framework] Persistent background dashboard process

1 participant