feat(planning): interview watcher stop, restatement diff and page polish - #5722
Conversation
…pair drifted seeded rounds Refs: #5569 - round.sh apply prints "no watcher armed; N unhandled events" to stderr when no watcher holds the lease; it still writes and exits 0. - add without a stage takes the newest question's stage and warns, naming the stage and round. - status lists each seeded question whose round differs from its ledger round cell, and repair-rounds rewrites only those. - export-brief reads a ledger-only row's named fields, so its defer-until text is unescaped. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Refs: #5569 - watch.sh sends its pid with each poll; the server keeps it in the lease and /api/state shows it. - round.sh stop sends that pid SIGTERM after the finish, only when its command line is a watch.sh for this data dir; nothing is signalled on Windows. - watch.sh exits 3 at once on a failed poll once stop has removed the env file, instead of retrying WAIT_FAILS times. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…notes, toast new Needs-you items Refs: #5569 - A restatement still to confirm outranks a later note in the notice, a persistent banner says it changed, and the Confirm block shows a line diff against the newest confirmed rev. - An own or ask note that names one card label (Rec, #1, option 2, (a)) asks "Did you mean Accept with note?" before it is saved as typed. - Confirm shows a line saying it ticks no commitment, that unticked ones become named risks, with a link to the commitment list. - New Needs-you items raise a dismissible toast, including interview complete; a browser notification is offered only on a click, and the tab-title count counts only Needs-you items. - The finish text is kept in localStorage, so a tab that cannot reach the server still shows it; a resumed interview drops it. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…in Claude questions as loose ends Rail preview skips hold bookkeeping, the id column is fixed width, the Pending filter covers every hold and a filtered-empty rail says so, Ungrouped leads when it holds the lowest ids, the meter title states the archived count, and the rail cut at 820 px is marked. Option titles take two lines and the answer grid is one column below 1200 px. Activity no longer relists ids its text links, the thread no longer repeats the latest Claude reply, and a Claude asked line carries the question. A note posted with no reply target reads "Claude posted in Notes" and the CLI says "Note posted". note-reply --needs-answer pins the note as the first Loose end with a reply box. A save while a delivered event is unhandled says "Queued, Claude is busy". Refs: #5569 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…t and page polish Refs: #5569 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
# Conflicts: # plugins/planning/.claude-plugin/plugin.json # plugins/planning/CHANGELOG.md
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e8b7e8b408
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
…ed for another data dir A Claude note flagged needs-answer stays a loose end until a note from the user follows it, not only while it is the last Notes line. A finish cached under the shared origin key is replaced when its session differs from the one the server reports, and cleared when the server reports no finish. Refs: #5569 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Claude finished @kyle-sexton's task in 3m 19s —— View job Security review (
|
|
Claude finished @kyle-sexton's task in 2m 47s —— View job Code review complete
Scope: On the two prior Codex findings (needs-answer note losing its pin when an ordinary note follows; a finish cached under the origin-wide
Rest of the diff: No additional high-signal findings — nothing here rose to a "a careful senior reviewer would block or flag" bar beyond what Codex already caught and the author already fixed. No inline comments posted. |
Refs: #5569
Summary
Fourth pass on #5569, the planning interview page and watcher. Ships the largest coherent batch still open on origin/main. Remaining batches are filed as child issues (#5712, #5713, #5714, #5715, #5716, #5723), each starting
Refs #5569. Item 8's disable (it reverses the Answer-anyway contract from #4547) is the owner's call and is left out.Fix
round.sh stopends the data dir'swatch.shthrough the lease pid; a poll refused afterstopexits 3. Windows Git Bash is not covered here: it is tracked in planning: confirm round.sh stop leaves no watch.sh running on Windows Git Bash #5723, which needs a Windows host and an operator run.applywarns when no watcher holds the lease;adddefaults to the interview stage;statusreports drifted seeded rounds andrepair-roundsfixes them.#1/(a)/option Nin a note offers "Accept with note?", Needs-you toast, finish kept across reloads, and rail, activity and notes polish (items 16 f-r, 15.3 and 15.5).note-reply --needs-answerpins a Claude question as a loose end.Verification
bash plugins/planning/surface/surface.test.sh: PASS=451 FAIL=0 SKIP=1 (htmlhint not installed)python3 -m unittest discoverinplugins/planning/surface: OK (skipped=1)scripts/check-changelog-parity.sh --check,--check-order,--check-bump origin/main: passscripts/validate-plugins.sh: all manifests validatedRelated
Issue #5569; prior PRs #5622, #5639, #5652. Child issues: #5712, #5713, #5714, #5715, #5716, #5723.
🤖 Generated with Claude Code