Skip to content

feat(runway): wire merge controller to Merger extension#283

Merged
kevinlnew merged 1 commit into
mainfrom
kevin.new/runway-merge-ctrl
Jul 2, 2026
Merged

feat(runway): wire merge controller to Merger extension#283
kevinlnew merged 1 commit into
mainfrom
kevin.new/runway-merge-ctrl

Conversation

@kevinlnew

Copy link
Copy Markdown
Contributor

Summary

  • Wire the merge controller to the merger.Factory extension so it performs the committing merge instead of just logging
  • Publish MergeResult (with produced revisions) to the merge-signal topic — SUCCEEDED on clean merge, FAILED on merger.ErrConflict
  • Mirrors the merge-conflict-check controller pattern from feat(runway): wire merge-conflict-check controller to Merger extension #280
  • Publish errors are retryable; deserialize/factory/merge errors are non-retryable
  • Update example server wiring with merger factory, registry, and merge-signal topic

Stacked on #280 — merge that first.

Test plan

  • Unit tests: success (with output verification), merge conflict, merger infra error, factory error, publish error (retryable), deserialize error
  • bazel test //runway/controller/merge:merge_test passes
  • bazel build //example/runway/server:runway builds cleanly
  • make gazelle && make fmt — in sync

🤖 Generated with Claude Code

@kevinlnew kevinlnew requested review from a team, behinddwalls and sbalabanov as code owners June 29, 2026 20:36
Comment thread runway/controller/merge/merge.go
Comment thread runway/controller/merge/merge.go Outdated
Comment thread runway/controller/merge/merge_test.go Outdated
Comment thread runway/controller/merge/merge_test.go Outdated
@kevinlnew kevinlnew force-pushed the kevin.new/runway-merge-ctrl branch from d46d3cc to ef51e2f Compare June 30, 2026 21:38
@kevinlnew kevinlnew changed the base branch from main to kevin.new/runway-merge-check-ctrl June 30, 2026 21:39
@kevinlnew kevinlnew force-pushed the kevin.new/runway-merge-ctrl branch from ef51e2f to 04c860c Compare June 30, 2026 22:04
@kevinlnew kevinlnew force-pushed the kevin.new/runway-merge-check-ctrl branch from 86384e6 to 6cd393d Compare June 30, 2026 22:04
Comment thread runway/controller/merge/merge.go
The merge controller was a parse-and-log stub. Wire it to the Merger
extension so it performs the committing merge and publishes the
MergeResult (with produced revisions) to the merge-signal topic.
Mirrors the merge-conflict-check controller pattern.
@behinddwalls behinddwalls changed the base branch from kevin.new/runway-merge-check-ctrl to main July 2, 2026 21:14
@behinddwalls behinddwalls force-pushed the kevin.new/runway-merge-ctrl branch from 04c860c to f3f7f75 Compare July 2, 2026 21:14
@kevinlnew kevinlnew added this pull request to the merge queue Jul 2, 2026
Merged via the queue into main with commit 3aef74e Jul 2, 2026
15 of 27 checks passed
@behinddwalls behinddwalls deleted the kevin.new/runway-merge-ctrl branch July 2, 2026 21:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants