Repository navigation
fix: prism_submit names its workspace default; linked Issues show their GitHub state - #70
Conversation
…ir GitHub state - prism_submit's description says workspace defaults to this thread's current directory and must be set for another repository or worktree (#68). AGENTS.md notes running vp as `pnpm exec vp` where it is not on PATH. - The Linked PRs and Issues panel read no state for Issues and drew every row with the open icon; the footer counted only pull requests. The panel now reads each linked Issue's current state, rereads it on each pull request sync, draws GitHub's state glyph, and counts open Issues in the footer (#69). Closes #68 Closes #69 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Thread transfer impact✅ Thread transfer remains within every enforced ceiling.
Baseline: Scenario and decoded snapshot size10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.
Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed. |
…nown Review of d6434a1 (Luna): - Failed or missing reads are their own `unknown` state: shown with a question glyph and not counted open. Before the first read a row is `pending` and is not counted either. - The panel's states query refreshes every 60s while shown, besides mount and each pull request sync. - New `issues.states` RPC reads only `state stateReason` for all linked Issues in one aliased GraphQL request per host, instead of one full `issues.detail` read (body, comments, closing references) per Issue. Tests: IssueService.states with a fake gh (request shape, null for a missing Issue, failure on a gh error, no request for no Issues); the query runtime rereading on its refresh interval; the panel's state transitions pending -> open -> done, and failed or missing -> unknown. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
… panel Re-review of 4435f31 (Luna): - The panel no longer slices linked Issues to 50. It reads them in chunks of at most ISSUE_STATES_MAX, one states query per chunk, and a failed chunk leaves only its own Issues unknown. - ThreadLinksPanel.test.tsx renders the panel for pending, failed, missing, open, done and not-planned states and checks each row's icon and the footer's open and linked counts, including an Issue closed after linking. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
|
Independent review (Codex gpt-6-luna, three rounds): round 1 on d6434a1 and round 2 on 4435f31 requested changes (failed reads counted as open, no refresh without PR sync, full detail read per Issue; then the 50-Issue cap and no rendered test). All fixed. Round 3 on exact head 4fce40a: APPROVE, no new defect; |
…s Mac (#78) * docs: AGENTS.md lets agents stage the merged build on the maintainer's Mac Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> * fix(ci): allowlist fork edits to AGENTS.md and the PR panel; drop an unused export Main's Fork Stack Model and knip checks failed after #70 and #76. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
What:
prism_submitnow saysworkspacedefaults to this thread's directory, and the Linked PRs and Issues panel shows each linked Issue's current GitHub state (or unknown when it cannot be read) and counts open Issues in its footer.Why: The description never mentioned the default, so a job ran in the wrong repository (#68); the panel read no Issue state at all and drew every Issue with the open icon, while the footer counted only pull requests (#69).
So what: Review rounds 1 (d6434a1) and 2 (4435f31) by Luna are addressed in 4fce40a; it needs re-review, then the user's merge. The real-thread check of #69 happens after install.
Requirements and who asked: the user (2026-09-29) filed #68 and #69 and asked for both in one PR.
Deleted: making
workspacerequired; a server-side Issue state cache; a manual refresh button; per-Issueissues.detailreads (replaced by one state-only read after review).Bottleneck: #69's cause:
IssueRowhard-codedCircleDotIconwith the success tone andThreadIssueLinkcarries no state, so no sync could ever change it; the footer'sopenCountiterated pull requests only.Checked myself: ran the targeted tests and typechecks below and read the render and sync code; I did not run the app.
Closes #68
Closes #69
Changes
apps/server/src/mcp/toolkits/prism/tools.ts: one sentence on theworkspacedefault (description 576 chars, still starts "Use when");alwaysLoad.test.tspins it.AGENTS.md: runvpaspnpm exec vpwhere it is not on PATH.issues.statesRPC (contracts, read scope, handler,IssueService.states): one GraphQL request per host with aresource(url:)alias per Issue selecting onlystate stateReason; a deleted or invisible Issue returnsstate: null.apps/web:useLinkedIssueStatesreadsissues.stateson the thread's server in chunks of at most 50 Issues (a failed chunk leaves only its own Issues unknown), on mount, every 60 s while shown, and on each pull request sync. Rows drawIssueStateGlyph, a muted circle while pending, and a question glyph for unknown (failed read or no state). The footer adds open and linked Issues to the pull request counts; pending and unknown Issues are not counted open.Proof (head 4fce40a)
apps/server:vp test run src/issues/IssueService.test.ts src/issues/gitHubIssues.test.ts src/mcp/alwaysLoad.test.ts: 20 passed.IssueService.stateswith a fakegh: request shape (state only, one request), null for a missing Issue,IssueOperationErroron aghfailure, no request for no Issues.packages/client-runtime:vp test run src/state/runtime.test.ts: 29 passed, including a query rereading on its refresh interval while mounted.apps/web:vp test run src/components/issues/ThreadLinksPanel.test.tsx src/components/issues/issueLinks.logic.test.ts: 21 passed. The rendered panel shows the expected row icon for pending, failed, missing, open, done and not-planned Issues and the matching footer counts, including an Issue closed after linking; 120 linked Issues read as chunks of 50, 50 and 20.tsc --noEmitinapps/server,apps/web,packages/contracts,packages/client-runtime: 0 errors.vp linton the touched files and directories: no findings.Not covered
🤖 Generated with Claude Code