Repository navigation
Conversation
Chart kinds, tool families and canonical-text projection were spread across hand-written name lists. The durable projection kept canonical text for only eight chart kinds, so taiyi, astrology and almanac results fell back to raw JSON, and tool cards guessed icons from name fragments. - tool-catalog.ts is the browser-safe source for chart identity, tool families and canonical-text projection. - The projection, chart tools, presentation helpers and tool cards read it; presentation types are keyed by the catalog's chart kinds, so a kind without a canonical JSON type fails to compile. - Tests guard that every Core and registered Agent tool has a family and that all eleven chart kinds keep canonical text end to end. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GzFwaF8xWLhKF9YvLdD34m
…ched ask_user, todo_write, web_search, select_final_artifacts and search_knowledge changed the checkpoint before agent_cache_tool stored their result, and each effect was written twice: in execute and in the cache-replay branch. A failed cache write left a question that paused the task, a task-list revision the model never saw (so retrying the same revision always conflicted), sources or a final selection. One reducer per tool now derives checkpoint state from persisted details. It runs after the cache write succeeds and on cache replay; execute only validates and returns the result. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GzFwaF8xWLhKF9YvLdD34m
Every connection built the full public view once per second, which also reads the command queue, even for idle heartbeats. The run row already holds the cursor, worker epoch and status that decide whether a frame is sent, so the view is built only for snapshots. Frames, resync and terminal behavior are unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GzFwaF8xWLhKF9YvLdD34m
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GzFwaF8xWLhKF9YvLdD34m
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
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. |
- Keep Core canonical text on dayun, pillar resolution, ziwei horoscope and flying-star results so their views can fall back to it. - remember_user_fact returns only the memory's id, title, content, kind and update time; ownership and fingerprint columns no longer reach the model or the transcript. - Collaboration progress records each member's actual reasoning effort and configured focus. - The public run view carries the settled billing state. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GzFwaF8xWLhKF9YvLdD34m
Every tool call maps to one workspace location chosen through the tool catalog: reads, inspections and focus of one chart share a tab, searches share the evidence view, records, attachments and methods merge by identity, plans go to the process section and final selections to the results section. Following tracks the latest call except plan updates; chart, question and collaboration events may open the panel. Parsers read stored results only and reject incomplete ones. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GzFwaF8xWLhKF9YvLdD34m
Workspace: one view per tool family (charts, Core calculations, evidence, records, attachments, methods, questions, collaboration, memory, raw external results), results and process sections, model following, and a canonical-text fallback for any view error. Chat column: header with mode badge and live task clock, avatar message header, one-row task list, a single task-process card whose steps show state, summary, time and family tag and open in the workspace, compact chart and collaboration cards, an evidence chip, mode and web controls beside the composer, a docked question panel and a greeting empty state. Five-element colors become readable tokens inside the chat only. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GzFwaF8xWLhKF9YvLdD34m
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GzFwaF8xWLhKF9YvLdD34m
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 4fc35eb6eb
ℹ️ 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".
| ); | ||
| return null; | ||
| })} | ||
| <AgentEvidenceChip parts={data.parts} /> |
There was a problem hiding this comment.
Suppress the old source links when adding the evidence chip
Whenever web_search returns HTTP results, its checkpoint effect still adds source parts, and the loop above still renders every one as an .agent-source-link; appending this chip therefore shows both the full per-source list and the new workspace-backed summary. This defeats the documented behavior of moving retrieval results out of the chat and can leave large searches cluttering every answer, so the source parts should be omitted from the inline rendering when the evidence chip is used.
Useful? React with 👍 / 👎.
…boards Replicate the "Taibu Agent 对话工作台" boards for the session header, composer, empty state, model menu and question panel. - Header: 56px bar with title menu (rename, export, delete), Agent and collaboration badge, run status with elapsed time or collaboration progress, workspace button with result count, and a more menu holding the reading width (default now 700px). - Composer: single shell with "+", @, Agent/对话 switch, web toggle, context ring, model trigger and send/stop; state-dependent note, credit strip, saved-chart chips and suggestion cards on the hero. - Model menu: tier labels from /api/models, segmented reasoning, style and mode controls, collaboration members as chips with one editor. - Question dock replaces the modal dialog in the composer position: step navigation with short headers, review before submit, and "稍后回答" folding into a strip that hands the input back. - Shared conversation export helper for header, /export and workspace. - Tests: export helper, collaboration progress, question labels, composer copy, model tiers; browser fixture and live scripts follow the new dock, menu and labels. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GzFwaF8xWLhKF9YvLdD34m
Message: status pill icons per state, a folded process line that names its steps, step rows with marker, summary, note, measured time and family tag that open their view in the workspace, and a current-step mark shared with the reading cards. Plan updates stay in the task list, answered questions are not repeated, and reasoning alone shows as a thinking line. Steps are numbered once across the task. Readings become one-line cards (pillars or glyph, title, summary, a workspace button that reads 正在工作区显示 while shown); outside the workspace they expand in a dialog. Collaboration shows members side by side with model, effort and state, and a member left running when the task ended reads 未完成. The answer gets its own typography and caret, 本任务成果 lists saved readings and names the intermediate ones, and evidence and message actions share one row. Workspace process section: the step being looked at shows as 第 N 步 with its arguments and result to copy, its execution time apart from waiting, and whether a replay reuses the cached result. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GzFwaF8xWLhKF9YvLdD34m
… suggestions - Number evidence once per conversation: search results and chart focuses carry a server-stamped cite; answers render [n] as badges that open the cited source in the workspace and show which paragraph cited it. - Rebuild the evidence view to the AgentResearch board: source filter, numbered cards, highlighted excerpts, empty-search notices. - parallel_analysis accepts a title and up to 4 topics; members end with a <positions> block, the workspace shows live member steps, call counts, durations and a divergence table for option topics. - The final answer may end with a <followups> block; it is stripped from the stored text and shown as suggestion chips above the composer. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GzFwaF8xWLhKF9YvLdD34m
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
Summary
What changed:
checkpointEffectsmap increateAgentTools, ensuring all checkpoint mutations happen only after successful cache writessrc/lib/agent/tool-catalog.tsto unify tool identity, family classification, and canonical text projection across the codebaseask_user,todo_write,web_search,select_final_artifacts,search_knowledge) to return results without side effects; effects now apply uniformly via the reducer mapAGENT_CHART_NAMESfromtool-presentation.tstotool-catalog.tsand updated all importsWhy:
agent_cache_toolwrites could leave phantom checkpoint state (pending questions, advanced task revisions, stale selections). Now effects only apply after successful cache persistence, allowing the model to safely retry the same step.tool-catalog.tsprevents inconsistencies (e.g., three chart kinds missing from the projection whitelist, tool icons guessing from name fragments).Spec-Kit (Required)
No Spec, explain why: This is a refactoring of internal tool execution and state management with no changes to database schema, API contracts, or user-facing behavior. The checkpoint structure and SSE message format remain identical.Validation
pnpm lint— passespnpm test— all tests pass, including newagent-tool-effects.test.tsandagent-tool-catalog.test.tsRisk & Rollback
Risk: Low. The changes are internal to tool execution and state management:
Rollback plan: Revert the commit. No data migration or cleanup required.
Checklist
No Specreason.agent-tool-effects.test.ts(cache failure safety, fresh vs. replay consistency, knowledge hit counting) andagent-tool-catalog.test.ts(tool family coverage, canonical text projection).https://claude.ai/code/session_01GzFwaF8xWLhKF9YvLdD34m