FE-1118: Reconcile host executor promotion#282
Conversation
PR SummaryHigh Risk Overview Core seam: new CODE-mode tools: Safety / hardening: apply fails closed on stale SHA, missing acceptance, or patch conflicts; no host commits, refs, branch switches, or index staging. Integration tests use real temp git repos for success and conflict paths; apply result type no longer includes impossible Plan/SPEC/invariant I56-L updated to document the new boundary; scope cards record the slice breakdown. Reviewed by Cursor Bugbot for commit c8f0c42. 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
c29af50 to
03ffd7b
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.
03ffd7b to
c8f0c42
Compare
fc35e8d to
3e8bb5b
Compare


Summary
Verification
npm run verify