steve8708/changes 601 - #2857
Conversation
steve8708
commented
Aug 13, 2026
- chore: publish branch work in .changeset/brand-kit-motion-token-type.md, .changeset/chat-image-lightbox.md, .changeset/compact-share-dialog.md, … (179 files)
- chore: publish branch work in .changeset/toolkit-canvas-interactions.md, packages/core, packages/toolkit, … (12 files)
- chore: publish branch work in packages/core, templates/analytics, templates/slides (15 files)
- chore: publish branch work in packages/core, templates/analytics (9 files)
- chore: publish branch work in .changeset/durable-resource-instructions-and-dashboard-reference-search.md, templates/analytics (6 files)
- chore: publish branch work in templates/analytics (1 files)
- chore: publish branch work in templates/analytics (1 files)
- chore: publish branch work in .agents/plugins (3 files)
- chore: publish branch work in templates/analytics, templates/design (3 files)
- chore: publish branch work in templates/analytics (1 files)
- chore: sync generated design bridge
- chore: publish branch work in templates/slides (2 files)
- chore: publish branch work in templates/design (2 files)
- chore: publish branch work in scripts/dev-lazy.test.ts, scripts/dev-lazy.ts, templates/clips, … (6 files)
- chore: publish branch work in templates/clips (4 files)
- chore: publish branch work in templates/clips (1 files)
- chore: publish branch work in templates/clips (1 files)
- chore: publish branch work in templates/clips (3 files)
- chore: publish branch work in templates/clips (5 files)
- chore: publish branch work in templates/clips (2 files)
- chore: publish branch work in templates/clips (1 files)
- chore: publish branch work in templates/clips (3 files)
- chore: publish branch work in .changeset/action-route-stored-active-org-fallback.md, .changeset/collapsed-chat-first-new-chat.md, .changeset/fix-agent-panel-overlay-focus.md, … (133 files)
…md, .changeset/chat-image-lightbox.md, .changeset/compact-share-dialog.md, … (179 files)
…md, packages/core, packages/toolkit, … (12 files)
…plates/slides (15 files)
…s-and-dashboard-reference-search.md, templates/analytics (6 files)
…azy.ts, templates/clips, … (6 files)
…rg-fallback.md, .changeset/collapsed-chat-first-new-chat.md, .changeset/fix-agent-panel-overlay-focus.md, … (133 files)
…ckages/dispatch (8 files)
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
# Conflicts: # templates/analytics/server/plugins/agent-chat.ts # templates/design/actions/present-design-variants.ts # templates/design/actions/run-design-audit.spec.ts # templates/design/shared/design-review.ts # templates/design/shared/html-integrity.test.ts # templates/design/shared/html-integrity.ts
This comment has been minimized.
This comment has been minimized.
…-tool-turn.md, .changeset/render-inline-markdown.md, packages/core, … (59 files)
There was a problem hiding this comment.
Builder reviewed your changes and found 1 potential issue 🟡
Review Details
Code Review Summary
This incremental review focused on the newest folder-backed agent packs, Dispatch agent actions/discovery/resources, Factory integration, package and lockfile changes, and related core/Dispatch behavior. Two parallel reviewers found no issues, while one identified a confirmed approval-state UX/data consistency bug in the new pack editor. The targeted Dispatch and core tests passed; the existing eleven unresolved comments were excluded and not reposted. Risk level: Standard.
Key Findings
- 🟡 MEDIUM — Agent-pack file create/update callbacks report completion even when approval policy only queues the mutation.
🧪 Browser testing: Skipped — dev-server/browser setup remains unavailable because the setup command previously failed.
| ); | ||
| const update = useActionMutation("update-workspace-resource", { | ||
| onSuccess: () => { | ||
| toast.success("Pack file updated"); |
There was a problem hiding this comment.
🟡 Do not report approval-queued pack edits as completed
update-workspace-resource and create-workspace-resource can return a successful approval-request result instead of applying the resource change when approval policy is enabled for an all-app pack. These callbacks always announce “Pack file updated/added”, close/reset the add dialog, and refetch as if the write completed. Branch on the mutation result's pending-approval status: tell the user the change was submitted for approval and preserve the draft until approval rather than reporting a completed change.
Additional Info
Found by 1 of 3 parallel reviewers; confirmed against the approval-aware workspace-resource mutation behavior.
There was a problem hiding this comment.
Fixed: agent-pack mutations distinguish approval queued from applied, retain the draft while queued, and refresh/onChange only after application. The focused Simple Agents panel tests pass.
There was a problem hiding this comment.
Correction: agent-pack mutations distinguish approval queued from applied, retain the draft while queued, and refresh or call onChange only after application. Focused Simple Agents panel tests pass.
…plates/clips (10 files)
…tes/analytics, … (31 files)
…plates/clips, … (19 files)
There was a problem hiding this comment.
Builder reviewed your changes and found 2 potential issues 🟡
Review Details
Code Review Summary
This incremental review covered the newest large PR changes across core resource-backed agents, toolkit, background recovery, inline Markdown, Clips, Analytics, Dispatch, Calendar, and package/workflow updates. The standard PR diff command exceeded the platform file limit, so reviewers inspected the current branch diff directly and ran focused tests. Two new performance/scheduling correctness issues were confirmed; the twelve previously unresolved comments were excluded and not reposted. Risk level: Standard.
Key Findings
- 🟡 MEDIUM — Custom-agent discovery now performs an N+1 resource-scope lookup for every profile.
- 🟡 MEDIUM — Adjacent availability windows are not merged, preventing bookings that span their shared boundary.
🧪 Browser testing: Skipped — dev-server/browser setup remains unavailable because the setup command previously failed.
| profile: CustomAgentProfile, | ||
| ): Promise<CustomAgentProfile> { | ||
| const root = profile.path.replace(/\.md$/i, ""); | ||
| const resources = await resourceListAccessible(owner, `${root}/`); |
There was a problem hiding this comment.
🟡 Batch accessible resources during custom-agent discovery
listAccessibleCustomAgents calls enrichAgentProfile once per discovered profile, and each call invokes resourceListAccessible. That helper fans out across personal, organization, legacy shared, and workspace scopes, adding roughly four resource-list queries per agent pack in addition to the profile loads. Batch accessible resources once and group entries by agents/<slug>/ in memory so workspaces with many agents do not incur an N+1 startup cost.
Additional Info
Found by 1 of 2 reviewers; confirmed by the per-profile enrichment call and resourceListAccessible implementation.
There was a problem hiding this comment.
Fixed: custom-agent discovery now performs one accessible-resource listing and filters that result per profile during enrichment instead of repeating the listing per profile. Focused Core agent tests pass.
There was a problem hiding this comment.
Correction: custom-agent discovery performs one accessible-resource listing and filters that result per profile during enrichment. Focused Core agent tests pass.
| }> = []; | ||
| for (const entry of valid) { | ||
| const previous = normalized.at(-1); | ||
| if (previous && entry.start < previous.end) { |
There was a problem hiding this comment.
🟡 Merge adjacent availability windows before generating booking slots
The normalizer merges only when entry.start < previous.end, so touching windows such as 09:00–10:00 followed by 10:00–11:00 remain separate. Booking generation evaluates each window independently, causing a 60- or 90-minute slot crossing 10:00 to be omitted even though the host is continuously available through 11:00. Merge touching windows with <= (while retaining any desired strict overlap validation for user input).
Additional Info
Found by 1 of 2 reviewers; confirmed against normalizeAvailabilitySlots and the booking-slot generator.
There was a problem hiding this comment.
Fixed: touching availability windows now merge before slot generation (), including chained windows. The focused schedule tests pass.
There was a problem hiding this comment.
Correction: touching availability windows merge before slot generation with start less than or equal to previous end, including chained windows. Focused schedule tests pass.
…plates/content (5 files)
…ates/dispatch, … (8 files)
# Conflicts: # package.json # packages/core/src/server/agent-discovery.spec.ts
…emplates/plan, … (8 files)
…emplates/plan (6 files)
…ates/calendar, … (16 files)
…ering.md (1 files)
…ackages/dispatch (2 files)
…ering.md, packages/dispatch, templates/clips (4 files)