FE-1118: Reconcile host executor promotion#282
Conversation
PR SummaryHigh Risk Overview Executor + app: New Pi / policy: Registers Tests: Vitest coverage for core helpers, app port (including real temp-git apply/conflict), registry/TUI tool lists, and execute-mode activation. Reviewed by Cursor Bugbot for commit 4867ea0. Bugbot is set up for automated code reviews on this repo. Configure here. |
d6dac66 to
c29af50
Compare
d93ee6c to
318a3a2
Compare
|
Warning This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
This stack of pull requests is managed by Graphite. Learn more about stacking. |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit c29af50. Configure here.
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit c29af50. Configure here.
318a3a2 to
fc35e8d
Compare
03ffd7b to
c8f0c42
Compare
fc35e8d to
3e8bb5b
Compare
lunelson
left a comment
There was a problem hiding this comment.
This host-promotion layer keeps the risky part narrow: preflight is read-only, apply requires the accepted SHA, and host changes are file-only with no commit/ref/index mutation.
One thing I noticed is that this PR also admits the full execute_* lifecycle in active-tools.ts, while memory/SPEC.md in this PR still describes the lifecycle tools as inactive until the stack lands. I’m okay with that because #284 appears to be the stack-closing doc sync that retires that language and makes the active lifecycle explicit. If #282 ever lands without #284, that invariant text should be updated here.
c8f0c42 to
9be8e5f
Compare
3e8bb5b to
7d771f0
Compare
The execute_status narrative kept three hand-maintained tool lists that had drifted: the text advertised execute_plan_draft_artifact and execute_plan_outline_artifact (not admitted in CODE mode) and named execute_agent_result/test_result/launch/plan_file that details.portedTools omitted. Derive both from the execute-mode subset of EXECUTOR_ALLOWED_TOOL_NAMES so text and details cannot disagree.
Adding stdin support changed command-runner's stdio first element to a ternary, which defeats TypeScript's non-null narrowing of child.stdout/ stderr; guard both with optional chaining (positions 1 and 2 are always 'pipe', matching the existing child.stdin?.end call). The host-promotion execute-mode test also carried stale agentStrategy/agentLens fields that are no longer part of BrunchAgentState.
7d771f0 to
8cb164a
Compare
9be8e5f to
4867ea0
Compare
Merge activity
|


Summary
Verification
npm run verify