FE-1112: Reconcile run-local executor promotion#279
Conversation
f8650f8 to
509221e
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. |
PR SummaryHigh Risk Overview
Idempotent recovery handles commit-before-persist races: if Pi wiring: default composition injects Reviewed by Cursor Bugbot for commit 3e8bb5b. Bugbot is set up for automated code reviews on this repo. Configure here. |
lunelson
left a comment
There was a problem hiding this comment.
The run-local promotion boundary is scoped well: the git mutation stays inside the run worktree and host promotion remains out of scope.
One thing to consider before FE-1118: promotion.json records the commit SHA, but not changed files or diff stats. Since host promotion will need to explain what is being carried forward, it may be useful for this report to include a small audit summary. Not blocking this PR.
d93ee6c to
318a3a2
Compare
7407ef9 to
1ec2beb
Compare
318a3a2 to
fc35e8d
Compare
1ec2beb to
e7de782
Compare
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 fc35e8d. Configure here.
| { kind: 'write_file', path, ifExists: 'overwrite' }, | ||
| metadataEffect, | ||
| ], | ||
| }; |
There was a problem hiding this comment.
False promotion on stale report
Medium Severity
When promotion.json is present but recoverPreparedPromotion rejects it, preparePromotion skips persisting promotionBaseSha. On a clean worktree, GitLandPort.promote returns no_changes with the current HEAD, and the check land.commitSha !== promotionMetadata.promotionBaseSha succeeds because promotionBaseSha is undefined. The run can reach promotion_prepared without any promotion commit.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit fc35e8d. Configure here.
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
fc35e8d to
3e8bb5b
Compare



What
Adds run-local executor promotion.
execute_promotion_preparenow commits verified changes inside the executor run worktree and records the sandbox commit SHA inpromotion.jsonandrun.json.This does not apply changes back to the host project branch. Host promotion is handled by FE-1118.
Verification
npm run verify