Skip to content

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

Open
kevinlnew wants to merge 1 commit into
kevin.new/runway-merge-check-ctrlfrom
kevin.new/runway-merge-ctrl
Open

feat(runway): wire merge controller to Merger extension#283
kevinlnew wants to merge 1 commit into
kevin.new/runway-merge-check-ctrlfrom
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
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.
@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
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