Skip to content

Fix everything the SPEC.md migration's grounding pass flagged - #1611

Open
brillout wants to merge 3 commits into
mainfrom
claude/github-commit-review-i08gay
Open

Fix everything the SPEC.md migration's grounding pass flagged#1611
brillout wants to merge 3 commits into
mainfrom
claude/github-commit-review-i08gay

Conversation

@brillout

Copy link
Copy Markdown
Member

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 that AgentActionsMenu.tsx doesn'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 in events.SPEC.md). All gone; the useWorking/useFavicon/useDaemonHealth calls 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 only handoff.
  • 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 unused readFileSync import, 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.md is untouched.

Verification: pnpm typecheck clean, 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 need dist/ 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

claude added 3 commits August 20, 2026 22:58
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
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.

2 participants