🤖 perf: reuse agent definitions within stream requests - #3954
Conversation
|
@codex review |
|
Codex Review: Didn't find any major issues. Chef's kiss. Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
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". |
|
Security review completed. No security issues were found in this pull request. Reviewed commit: Only the user who started this review can view the report in Codex. ℹ️ About Codex security reviews in GitHubThis is an experimental Codex feature. Security reviews are triggered when:
Once complete, Codex will leave suggestions, or a comment if no findings are found. |
Summary
Reuses parsed agent-definition packages within a single stream request so agent resolution, inherited body/frontmatter construction, and available-subagent discovery do not repeatedly read the same winning definition file.
Implementation
AgentDefinitionRequestCachekeyed by the concrete runtime and normalized source path, with winning lookups recorded only after successful parsing..xum,.mux, host-global, and plugin sources.Validation
bun test src/node/services/agentResolution.test.ts src/node/services/agentDefinitions/agentDefinitionsService.test.ts src/node/services/streamContextBuilder.test.ts src/node/services/aiService.test.ts— 144 passedgit diff --checkmake build-main, targeted ESLint, andbun run tsgo --noEmit -p tsconfig.main.jsonwere attempted repeatedly but the local processes were killed with exit 137/SIGKILL in the constrained workspace.Risks
This touches agent precedence and inheritance plumbing. The cache is intentionally request-scoped and only stores successfully parsed winners by concrete source identity; existing fallback, disablement, desktop capability, and policy behavior remains covered by the integration test and existing service suites.
Generated with
xum• Model:openai:gpt-5.6-sol• Thinking:medium• Cost:$unknown