β¨ refactor(agent-signal): add executeViaExecAgent self-iteration shell#15192
β¨ refactor(agent-signal): add executeViaExecAgent self-iteration shell#15192arvinxx wants to merge 1 commit into
Conversation
Phase 2 of LOBE-9434: introduces `executeViaExecAgent` as the async-queue replacement for `executeSelfIteration` (LOBE-9454). - Builds the self-iteration prompt via the shared `createAgentSignalSelfIterationPrompt` - Routes through `AiAgentService.execAgent` with the `self-iteration` builtin slug and `suppressSignal: true` so the run cannot recurse into AgentSignal - Caller-supplied window overrides the context-derived defaults Not yet wired into any caller β the review / reflection / feedback handlers keep calling `executeSelfIteration` directly. Migration of each caller happens in Phase 3. Tests: 5 unit tests covering happy path, default mode, window precedence, context fallback, and enqueue-failure surfacing.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
π‘ Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e560c34aba
βΉοΈ 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".
| autoStart: true, | ||
| maxSteps: input.maxSteps, | ||
| prompt, | ||
| slug: BUILTIN_AGENT_SLUGS.selfIteration, |
There was a problem hiding this comment.
Ensure self-iteration tools are actually available
This enqueues the builtin self-iteration agent by slug, but does not provide the agent-signal-self-iteration tool manifest/executor that the agent depends on. In this repo, that identifier is referenced by the builtin agent runtime (packages/builtin-agents/src/agents/self-iteration/index.ts) but is not registered in the builtin tools list (packages/builtin-tools/src/index.ts only wires selfFeedbackIntentManifest from that package), and AgentToolsEngine drops unknown tool IDs. As a result, once callers migrate to this helper, runs can start without the self-iteration read/write tool surface, so proposal/write behavior will silently fail to execute.
Useful? React with πΒ / π.
Codecov Reportβ
All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## canary #15192 +/- ##
=========================================
Coverage 70.92% 70.92%
=========================================
Files 3152 3153 +1
Lines 314060 314099 +39
Branches 28568 34277 +5709
=========================================
+ Hits 222738 222777 +39
Misses 91154 91154
Partials 168 168
Flags with carried forward coverage won't be shown. Click here to find out more.
π New features to boost your workflow:
|
|
Closing this PR β superseded by a different architectural direction. Context: The shell here was built around a single
New direction (see follow-up PR):
Next PR will start by restoring the 3 slugs (dormant agents with empty |
π» Change Type
π Related Issue
Part of LOBE-9434 (parent), LOBE-9454.
Supersedes the Phase 2 piece of #15116 (that PR will be closed; see comment there for context).
π Description of Change
Phase 2 of LOBE-9434: introduces
executeViaExecAgentas the async-queuereplacement for
executeSelfIteration. Builds on the Phase 1 plumbinglanded in #15187.
Not wired into any caller yet β the review / reflection / feedback
handlers continue to call
executeSelfIterationdirectly. Migration ofeach caller happens in Phase 3, one at a time, so each cutover is
independently revertable.
What it does:
createAgentSignalSelfIterationPromptAiAgentService.execAgentwith theself-iterationbuiltin slug and
suppressSignal: trueso the run cannot recurseinto AgentSignal (
shouldSuppressSignalfrom Phase 1 enforces this)windowoverrides the context-derived defaultsWhat it does NOT do:
executeSelfIterationinexecute.tsπ§ͺ How to Test
bun run type-checkcleanprecedence, context fallback, and enqueue-failure surfacing
π Additional Information
Safe to merge: zero callers reference the new function until Phase 3,
so this is dormant code on the day it lands. Cloud impact: none.
Next: Phase 3 F (
userMemory.tsmigration toexecAgent) β thehigh-risk piece β will be a separate dedicated PR so it can be reviewed
and reverted on its own.