Remove the mrqueue side-channel from gastown. The merge queue now uses
beads merge-request wisps exclusively, not parallel .beads/mq/*.json files.
Changes:
- Delete internal/mrqueue/ package (~830 lines removed)
- Move scoring logic to internal/refinery/score.go
- Update Refinery engineer to query beads via ReadyWithType("merge-request")
- Add MRInfo struct to replace mrqueue.MR
- Add ClaimMR/ReleaseMR methods using beads assignee field
- Update HandleMergeReady to not create duplicate queue entries
- Update gt refinery commands (claim, release, unclaimed) to use beads
- Stub out MQEventSource (no longer needed)
The Refinery now:
- Lists MRs via beads.ReadyWithType("merge-request")
- Claims via beads.Update(..., {Assignee: worker})
- Closes via beads.CloseWithReason("merged", mrID)
- Blocks on conflicts via beads.AddDependency(mrID, taskID)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
49 lines
1.1 KiB
Go
49 lines
1.1 KiB
Go
package feed
|
|
|
|
import (
|
|
"context"
|
|
)
|
|
|
|
// MQEventSource was used to read MQ lifecycle events from mq_events.jsonl.
|
|
// The mrqueue package has been removed, so this is now a no-op stub.
|
|
// MR events can be observed via beads activity instead.
|
|
type MQEventSource struct {
|
|
events chan Event
|
|
cancel context.CancelFunc
|
|
}
|
|
|
|
// NewMQEventSource creates a stub source that produces no events.
|
|
// The mrqueue event log is no longer written.
|
|
func NewMQEventSource(beadsDir string) (*MQEventSource, error) {
|
|
ctx, cancel := context.WithCancel(context.Background())
|
|
|
|
source := &MQEventSource{
|
|
events: make(chan Event, 1),
|
|
cancel: cancel,
|
|
}
|
|
|
|
// Start a goroutine that just waits for cancellation
|
|
go func() {
|
|
<-ctx.Done()
|
|
close(source.events)
|
|
}()
|
|
|
|
return source, nil
|
|
}
|
|
|
|
// NewMQEventSourceFromWorkDir creates an MQ event source (stub).
|
|
func NewMQEventSourceFromWorkDir(workDir string) (*MQEventSource, error) {
|
|
return NewMQEventSource("")
|
|
}
|
|
|
|
// Events returns the event channel (always empty).
|
|
func (s *MQEventSource) Events() <-chan Event {
|
|
return s.events
|
|
}
|
|
|
|
// Close stops the source.
|
|
func (s *MQEventSource) Close() error {
|
|
s.cancel()
|
|
return nil
|
|
}
|