Fix the style pass's findings: one watcher bug, five stale comments, the spec drift - #1614
Merged
Merged
Conversation
The watcher's baseline must come from a successful read: a failed scan or projection used to be caught into an empty result that still warmed the tracker up, so the next good poll announced every pre-existing item as new. A failed cycle now counts for nothing, with a regression test pinning the backlog's silence. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011XvEviGLEJZsp1h6iWzgma
The auto-merge note describes merge-on-green (not the pre-#1418 immediate merge), Discord holds one credential and one dialog, the notifications bell lives in the sidebar's utility footer, and the on-before-mergeable prompt queues into the project's queue file. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011XvEviGLEJZsp1h6iWzgma
The flagship spec catches up with #1582: the queue lives on the data branch, check-offs are the framework's, claims are ticket locks plus an in-memory pin, the refill rotation starts with updating tickets, reclaim keys on work-on-remote, archives land at close through the write cycle, the config file records the handoff rung and two switches, and the busy- project guard only refuses duplicates. The quota-stop claims leave the agent specs (spending is decided before a start), the launcher specs state the daemon-side merge-on-green truth, delete vs remove tell their real stories, Discord is one credential and one dialog, the preset list is complete with the data-branch convention covered, e2e isolation is per story file, and the auto-pm window's mechanics name the data branch. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011XvEviGLEJZsp1h6iWzgma
Resolves the one conflict by keeping main's new describe-the-pull-request signal alongside this branch's complete preset list and data-branch convention. 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 #1613, closing its ~30 grounding findings — the same shape as #1611. Three commits:
1. The keyed-watcher warm-up flood (code bug). The notification watchers' baseline must come from a successful read: a failed first scan/projection was caught into an empty result that still flipped
warmedUp, so the next good poll announced every pre-existing item as new — a Discord flood on a slow boot. A failed cycle now counts for nothing, with a regression test pinning the backlog's silence (node suite: 1490 pass).2. Five stale code comments brought back to the code they sit on:
projects.ts's auto-merge rationale now describes merge-on-green (#1418), not the pre-#1418 immediate direct merge;discord-credentials.tsholds one credential,DiscordDialogs.tsxone dialog;NotificationsMenu.tsx's bell lives in the sidebar's utility footer;on-before-mergeable-prompt.tsqueues into the project queue file (TODO_AGENTS.md), as its own prompt says.3. Spec corrections, each verified against the named code:
packages/the-framework/SPEC.md), the Save data in special branchthe-framework_data#1582 catch-up: the queue lives on the data branch (not the repo root) and every change rides the serialized write cycle; check-offs are the framework's, never the agent's; claims are ticket lock files plus an in-memory pin for ticketless entries; the refill rotation gains its real first job (updating tickets from GitHub); housekeeping reclaims on work-on-remote, not merge; archives land at close through the write cycle (no idle window); "seeds the project log" is gone (nothing seeds one); the spending slider moves only the unattended stand-down line and user work is never quota-gated; the start guard refuses only same-checkout duplicates; the per-repo config records the handoff rung and two switches (no preset key).StartAgentForm.SPEC.mdanddashboard-rpc/projects.SPEC.mdstate the truth — an armed merge on a no-auto-merge repo is merged by the daemon's CI watch on green, which works only while the daemon runs.Left for a human call: FEATURES-SPEC.md says post-merge follow-ups cover "maintainability / security / readability", but
on_before_mergeable_prompt.mdqueues only the first two — either the prompt should queue readability or the feature line should drop it; features changes need approval per AGENTS.md, so it is not touched here.Verification:
pnpm typecheckclean, all 1490 node tests pass (new regression test included), targeted vitest on the touched components green, spec linter green over all 557 files.🤖 Generated with Claude Code
https://claude.ai/code/session_011XvEviGLEJZsp1h6iWzgma
Generated by Claude Code