Add background audits of the default branch's newest commit

This commit is contained in:
Ian Gulliver
2026-10-20 21:08:31 -07:00
parent 1d3c4576ff
commit 5823af6ff9
21 changed files with 745 additions and 357 deletions
+27
View File
@@ -368,6 +368,12 @@ func (m *Manager) Observe(events []api.Event) {
go m.promptReady(id, nil)
}
}
switch {
case (ev.Kind == "task.merged" || ev.Kind == "task.merged_to_main" || ev.Kind == "task.discarded") && ev.ProjectId != nil:
go m.audit(*ev.ProjectId)
case ev.Kind == "task.discard_suggested" && ev.TaskId != nil:
go m.dismissAudit(*ev.TaskId)
}
switch ev.Kind {
case "inbox.created", "inbox.updated", "task.created", "task.merge_queued", "task.merge_after_review", "task.merge_after_review_cancelled", "task.merge_after_review_dropped", "task.merge_started", "task.merged", "task.discarded", "turn.ended", "task.workflow_stage", "task.workflow_finished", "review.started", "review.finished", "task.state", "task.ready", "task.discard_suggested":
case "task.ready_cleared":
@@ -416,6 +422,10 @@ func (m *Manager) signal(ctx context.Context, batch []api.Event) error {
if err != nil {
return err
}
batch, err = m.dropBackground(ctx, batch)
if err != nil || len(batch) == 0 {
return err
}
texts := []string{}
for _, ev := range batch {
@@ -464,6 +474,23 @@ func (m *Manager) signal(ctx context.Context, batch []api.Event) error {
return nil
}
func (m *Manager) dropBackground(ctx context.Context, batch []api.Event) ([]api.Event, error) {
kept := []api.Event{}
for _, ev := range batch {
if ev.TaskId != nil {
task, err := m.store.GetTask(ctx, *ev.TaskId)
if err != nil {
return nil, err
}
if task.Background {
continue
}
}
kept = append(kept, ev)
}
return kept, nil
}
func quietSignal(ev api.Event) bool {
switch ev.Kind {
case "task.state", "review.started":