package store import ( core "agent-system-core" "encoding/json" ) // WorkDispatches is an internal startup-recovery scan. Individual reads and // commits still use the normal owner and effective-account fences. func (s *Store) WorkDispatches() (map[string][]core.ActivityCard, error) { rows, err := s.db.Query(`SELECT owner,payload FROM activity_cards`) if err != nil { return nil, err } defer rows.Close() result := map[string][]core.ActivityCard{} for rows.Next() { var owner, raw string if err := rows.Scan(&owner, &raw); err != nil { return nil, err } var card core.ActivityCard if json.Unmarshal([]byte(raw), &card) != nil { continue } if card.Work != nil && card.Work.Decision != nil && card.Work.Decision.State == "dispatching" { result[owner] = append(result[owner], card) } } return result, rows.Err() }