feat: Trigger daily performance improvements from the dashboard - #13731
Merged
Merged
Conversation
Adds an operator control for the daily performance-improvement workflow so it can be started on demand, not only by the 15:30 UTC schedule. The operator channel now dispatches per `x-operator-action`: the performance action sends the same prompt the schedule uses, with app auth and task mode, so `begin_performance_improvement`, the opposite-model adversarial review, and the publish gates all apply to manual runs. Its start response reports the author and reviewer models resolved from the session date, matching the agent's own model selection. Shared operator run actions live in one module used by both the channel and the dashboard, and the start/poll/status logic is extracted so the two operation cards behave identically. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Co-Authored-By: Anthony Shew <35677084+anthonyshew@users.noreply.github.com>
Contributor
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This branch was successfully deployed
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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
Stacked on #13729 — base is
daily-performance-agent, so this diff is only the operator surface for that workflow.Run performance improvement nowcontrol, the 15:30 UTC schedule, the rotation rule, and the review/output gatesx-operator-action: the new performance action sends the sameDAILY_PERFORMANCE_IMPROVEMENT_PROMPTthe schedule uses, with app auth and task mode, sobegin_performance_improvement, the opposite-model adversarial review, the stale-diff/protected-path checks, and draft-PR publication all apply to manual runsselectPerformanceModels(sessionDate(session.id))so the dashboard shows the same pair the agent resolves rather than a separate guessagent/lib/operator-runs.tsso the dashboard and channel cannot drift, and extract the start/poll/status logic intoapp/operator-run.tsxso both operation cards behave identicallyExisting behavior is unchanged: the maintenance action keeps its origin, action, content-type, and example validation, and its start response is byte-identical (the optional
modelsfield is omitted).Verification
pnpm --dir apps/agents testpnpm --dir apps/agents exec tsc --noEmitpnpm --dir apps/agents buildpnpm --dir apps/agents exec eve inforeports 0 diagnostics and discovers both operator routes, both schedules, and both reviewer subagentsnext devrender check: both operation cards, facts, and controls render; the client bundle carries both operator actions403 Invalid operator request.; a matching origin with an invalid example returns400 A valid example is required.turbo run format check:toml,cargo fmt --check) andoxlint apps/agentsA live performance run was deliberately not triggered from this box: it would clone the repo, spend model budget, and can publish a draft pull request.
🤖 Generated with Claude Code