Switch to prefixed IDs and tell agents which Mac a message came from
This commit is contained in:
@@ -15,6 +15,7 @@ import (
|
||||
|
||||
"g.fc.run/ai/byre/internal/api"
|
||||
"g.fc.run/ai/byre/internal/git"
|
||||
"g.fc.run/ai/byre/internal/ids"
|
||||
"g.fc.run/ai/byre/internal/mcp"
|
||||
"g.fc.run/ai/byre/internal/store"
|
||||
"g.fc.run/ai/byre/internal/workflow"
|
||||
@@ -210,7 +211,7 @@ func (m *Manager) startReviews(ctx context.Context, task api.Task, snap api.Snap
|
||||
now := time.Now().UTC()
|
||||
if len(changes.Files) == 0 {
|
||||
slog.Info("review skipped, snapshot has no diff", "task", task.Id, "snapshot", snap.N)
|
||||
return m.store.CreateReview(ctx, api.Review{Id: store.NewID(), TaskId: task.Id, SnapshotN: snap.N, State: api.ReviewStateSkipped, CreatedAt: now, FinishedAt: &now}, "")
|
||||
return m.store.CreateReview(ctx, api.Review{Id: ids.New(ids.Review), TaskId: task.Id, SnapshotN: snap.N, State: api.ReviewStateSkipped, CreatedAt: now, FinishedAt: &now}, "")
|
||||
}
|
||||
|
||||
frozen, err := m.store.FreezeWorkflow(ctx, project.ReviewWorkflow)
|
||||
@@ -219,7 +220,7 @@ func (m *Manager) startReviews(ctx context.Context, task api.Task, snap api.Snap
|
||||
}
|
||||
if err != nil {
|
||||
return m.store.CreateReview(ctx, api.Review{
|
||||
Id: store.NewID(),
|
||||
Id: ids.New(ids.Review),
|
||||
TaskId: task.Id,
|
||||
SnapshotN: snap.N,
|
||||
Stage: project.ReviewWorkflow,
|
||||
@@ -293,7 +294,7 @@ func (m *Manager) advanceReviews(ctx context.Context, r api.Review) bool {
|
||||
func (m *Manager) startReviewer(ctx context.Context, task api.Task, project api.Project, snap api.Snapshot, defID string, def api.WorkflowDefinition, stage string, inputs []api.Review) (err error) {
|
||||
model := workflow.Get(def, stage).Model
|
||||
vendor := vendorOf(model)
|
||||
reviewID := store.NewID()
|
||||
reviewID := ids.New(ids.Review)
|
||||
recorded := false
|
||||
defer func() {
|
||||
if err == nil || recorded {
|
||||
@@ -335,13 +336,13 @@ func (m *Manager) startReviewer(ctx context.Context, task api.Task, project api.
|
||||
return err
|
||||
}
|
||||
|
||||
id := newUUID()
|
||||
id := ids.New(ids.Session)
|
||||
sess := api.AgentSession{
|
||||
Id: id,
|
||||
TaskId: task.Id,
|
||||
Vendor: vendor,
|
||||
Model: model,
|
||||
VendorSessionId: initialVendorSessionID(vendor, id),
|
||||
VendorSessionId: initialVendorSessionID(vendor),
|
||||
State: api.AgentSessionStateIdle,
|
||||
Role: api.Reviewer,
|
||||
CreatedBy: task.CreatedBy,
|
||||
@@ -369,7 +370,7 @@ func (m *Manager) startReviewer(ctx context.Context, task api.Task, project api.
|
||||
}
|
||||
recorded = true
|
||||
|
||||
_, err = m.turn(ctx, sess, task, "byre", prompt, "", nil)
|
||||
_, err = m.turn(ctx, sess, task, "byre", prompt, "", "", nil)
|
||||
if err != nil {
|
||||
m.endReviewer(ctx, sess.Id, project, reviewID)
|
||||
m.failReview(ctx, reviewID, "the reviewer didn't start: "+err.Error())
|
||||
@@ -509,7 +510,7 @@ func (m *Manager) deliverFindings(ctx context.Context, r api.Review, reviews []a
|
||||
slog.Info("review findings not delivered, task has no live agent", "task", r.TaskId, "snapshot", r.SnapshotN)
|
||||
return
|
||||
}
|
||||
_, _, err = m.Message(ctx, s.Id, "byre", text, "", "")
|
||||
_, _, err = m.Message(ctx, s.Id, "byre", text, "", "", "")
|
||||
if err != nil {
|
||||
slog.Error("deliver review findings", "task", r.TaskId, "snapshot", r.SnapshotN, "session", s.Id, "err", err)
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user