Fix everything the SPEC.md migration's grounding pass flagged - #1611
Open
brillout wants to merge 3 commits into
Open
Fix everything the SPEC.md migration's grounding pass flagged#1611brillout wants to merge 3 commits into
brillout wants to merge 3 commits into
Conversation
The Queues section's rendered copy flipped the meaning of its own spec — "the cockpit that keeps humans in control" — into "keeps humans under control". Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011XvEviGLEJZsp1h6iWzgma
The shared watch link's serving side went in #1536; the browser side stayed: RelayView, App's dead ?run= branch, and six spec sentences still promising the feature. The component and branch go, the hooks fall back to their defaults (the dashboard is always local now), and the specs stop naming the watch view, the shareable-link menu item, and the relay's own agents. The device relay — a different, live feature — is untouched. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011XvEviGLEJZsp1h6iWzgma
The migration's grounding pass flagged claims the code contradicts; this closes them: the Overview rollup carries no recent-activity data (spec and test spec now say what the tests cover, including the shape guard), the handoff tests read the recorded branch and PR rather than re-deriving them, the handoff setting has no legacy spelled-out form, dashboard-rpc separates control-file writes from direct handoff/daemon writes and drops the preview claim, onboarding no longer names the removed public-host mode, last activity comes from agents alone, the theme default lives dashboard-side, the editor dropdown is runtime-detected, and project.ts loses its dead dependency-detection remnants (unused import, stale docblock, stale spec claims). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011XvEviGLEJZsp1h6iWzgma
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up to #1609: that PR preserved every spec claim the code contradicts and listed them as findings; this PR closes them all — the 13-finding list, plus the watch-relay amplification suleimansh's review added. Three commits:
1. Website copy bug — the Queues section of the-framework.ai rendered "it keeps humans under control"; the spec (and the point of the product) says "in control". One word,
Queues.tsx.2. Watch-relay orphans — the shared watch link's serving side was removed in #1536, but the browser side survived:
RelayView.tsx, App's dead?run=early return, and six spec sentences still promising the feature (watch mode, the "copy a shareable watch link" menu item thatAgentActionsMenu.tsxdoesn't have, the shared-watch page in the components list, the shared-link sentence in the package spec, and the relay's-own-agents case inevents.SPEC.md). All gone; theuseWorking/useFavicon/useDaemonHealthcalls fall back to their defaults since the dashboard is always local now. The device relay (daemon-to-daemon,/_relay/events?run=) is a live feature and is untouched.3. Spec-drift corrections — each flagged claim brought back to what the code does, verified against the named code before editing:
src/dashboard/dashboard.SPEC.md+ test spec: the rollup carries no recent-activity data; the test spec now describes the actual tests (totals, working-now, ordering, ticket presence, and the shape guard pinning retired fields absent).src/dashboard/agent-handoff.test.SPEC.md: tests read the recorded branch and PR rather than re-deriving across candidate names.src/handoff-level.SPEC.md: no stored spelled-out three-stage form exists — the sanitizer reads onlyhandoff.src/dashboard-rpc/SPEC.md: control-file appends (stop, choice, message, arm handoff) separated from direct writes (push/PR/merge run the handoff; start and queue-ticket go through the daemon's wiring).src/dashboard-rpc/control.SPEC.md: "previews" dropped from the direct-wiring list.src/dashboard-rpc/projects.SPEC.md: the removed public-host mode no longer qualifies the onboarding hint.src/dashboard/projects.SPEC.md: last activity comes from the project's agents alone.dashboard/lib/preferences.SPEC.md: notification defaults are framework-side; the theme default (absent follows the OS) lives dashboard-side.dashboard/components/SettingsPage.SPEC.md: the editor dropdown is assembled at run time from detected editors.src/project.SPEC.md+project.ts: the dependency-detection remnants go — stale spec claims, the unusedreadFileSyncimport, and the docblock's "detection signals".No feature is added or removed: the watch relay was already removed in #1536 (it has no FEATURES-SPEC.md row), so
FEATURES-SPEC.mdis untouched.Verification:
pnpm typecheckclean,pnpm build+ all 1489 node tests pass, all 776 dashboard vitest tests pass (the 8 daemon-test failures in a buildless checkout reproduce without these changes — they needdist/and pass after a build), and the spec linter is green over all 557 SPEC.md files.🤖 Generated with Claude Code
https://claude.ai/code/session_011XvEviGLEJZsp1h6iWzgma
Generated by Claude Code