Commit and snapshot in ask_human before suggesting a main merge

This commit is contained in:
Ian Gulliver
2026-10-20 09:11:19 -07:00
parent 3989c2f156
commit 29c993cde0
10 changed files with 229 additions and 211 deletions
+3 -3
View File
@@ -69,12 +69,12 @@ func (s *Store) LastSnapshot(ctx context.Context, taskID string) (api.Snapshot,
}
func CutPoint(trigger api.SnapshotTrigger) bool {
return trigger == api.SnapshotTriggerAnswer || trigger == api.SnapshotTriggerFork
return trigger == api.SnapshotTriggerAnswer || trigger == api.SnapshotTriggerFork || trigger == api.SnapshotTriggerAskHuman
}
func (s *Store) LastReviewable(ctx context.Context, taskID string) (api.Snapshot, error) {
snap, err := scanSnapshot(s.db.QueryRowContext(ctx, `SELECT `+snapshotColumns+` FROM snapshots WHERE task_id = ? AND trigger NOT IN (?, ?) ORDER BY n DESC LIMIT 1`,
taskID, string(api.SnapshotTriggerAnswer), string(api.SnapshotTriggerFork)))
snap, err := scanSnapshot(s.db.QueryRowContext(ctx, `SELECT `+snapshotColumns+` FROM snapshots WHERE task_id = ? AND trigger NOT IN (?, ?, ?) ORDER BY n DESC LIMIT 1`,
taskID, string(api.SnapshotTriggerAnswer), string(api.SnapshotTriggerFork), string(api.SnapshotTriggerAskHuman)))
if errors.Is(err, sql.ErrNoRows) {
return snap, ErrNotFound
}
+2 -2
View File
@@ -766,9 +766,9 @@ func (s *Store) ReadyPromptDue(ctx context.Context, id string) (bool, error) {
err := s.db.QueryRowContext(ctx, `SELECT EXISTS (
SELECT 1 FROM events e, tasks t
WHERE t.id = ? AND e.task_id = t.id AND e.seq > t.ready_prompt_seq
AND ((e.kind = 'snapshot.created' AND json_extract(e.payload, '$.trigger') NOT IN (?, ?))
AND ((e.kind = 'snapshot.created' AND json_extract(e.payload, '$.trigger') NOT IN (?, ?, ?))
OR (e.kind = 'user.message' AND e.actor NOT IN ('byre', ?) AND e.actor NOT LIKE '% (lead)'))
)`, id, string(api.SnapshotTriggerAnswer), string(api.SnapshotTriggerFork), agentActor).Scan(&due)
)`, id, string(api.SnapshotTriggerAnswer), string(api.SnapshotTriggerFork), string(api.SnapshotTriggerAskHuman), agentActor).Scan(&due)
return due, err
}