You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Documentation-only plan for the session activity stream feature. Well-structured with clear task breakdown, test-first approach, and explicit checkpoints. A few issues to address before implementation begins.
Findings
[must-fix] Task 1, Step 1 — test assertion vs. fixture mismatch (docs/superpowers/plans/2026-06-03-session-agent-activity-stream.md:68–103): The session INSERT does not include a started_at column, so it will be NULL in the DB. But the assertion at line 96–103 expects started_at: "2026-06-03 00:41:14". The replay helper queries started_at directly from the sessions table, so this assertion will fail on first run. Fix: either add started_at to the INSERT ('2026-06-03 00:41:14'), or update the assertion to expect null. Fix this →
[should-fix] Task 4, Step 3 — nextId() is unspecified (docs/superpowers/plans/2026-06-03-session-agent-activity-stream.md:574): nextId() is called inside appendActivity but never defined or imported. If an implementor picks Date.now(), millisecond collisions are possible under fast replay. Recommend defining it explicitly as a useRef counter: const idRef = useRef(0); const nextId = useCallback(() => ++idRef.current, []);.
[nit] Task 2, Step 1 — overly broad catch {} (docs/superpowers/plans/2026-06-03-session-agent-activity-stream.md:289–291): The comment says // DB might not be ready, but the catch swallows all errors from the entire replay loop, including programming errors (e.g., a bad SQL query). Consider narrowing to log unexpected errors: catch (err) { if (!(err instanceof DatabaseError)) console.error('replay error', err); }.
[nit] Task 4, Step 4 — TerminalIcon import not specified (docs/superpowers/plans/2026-06-03-session-agent-activity-stream.md:663): TerminalIcon is used in ActivityTimeline but the plan doesn't show where it's imported from. Since the project uses lucide-react elsewhere, this is likely import { Terminal as TerminalIcon } from "lucide-react", but the plan should make this explicit to avoid ambiguity.
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
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.
Summary
docs/superpowers/plans/.Test Plan
git diff --cached --checkbun run typecheckTZ=Asia/Shanghai bun run test(224 passed)