Skip to content

feat(daemon): add filtering parameters to ListRuns API#386

Open
proboscis wants to merge 1 commit intomainfrom
issue/orch-383/run-20260201-104217
Open

feat(daemon): add filtering parameters to ListRuns API#386
proboscis wants to merge 1 commit intomainfrom
issue/orch-383/run-20260201-104217

Conversation

@proboscis
Copy link
Owner

Summary

Adds server-side filtering parameters to the daemon's ListRuns API, enabling the daemon to handle all filtering logic instead of CLI/TUI performing client-side filtering.

Changes

New API Parameters (ListRunsRequest)

Parameter Type Description
issue_status repeated IssueStatus Filter runs by associated issue status (open/resolved/closed)
older_than string Filter by age: "7d", "2w", "1m", "3m", "6m", "1y"
agents repeated string Multi-value agent filter (overrides single agent if set)
tags repeated string Filter runs by associated issue tags
tags_mode string "and" = all tags must match, "or" = any tag matches (default: "and")

Files Modified

  • api/orch.proto - Added new fields to ListRunsRequest
  • api/orchpb/orch.pb.go - Regenerated protobuf code
  • internal/store/store.go - Extended ListRunsFilter struct
  • internal/daemon/proto_handler.go - Map proto fields to store filter
  • internal/daemon/proto_client.go - Added ListRunsWithOptions method
  • internal/store/file/run_index.go - Implemented filtering logic
  • internal/orchapi/types.go - Extended client-side filter types
  • internal/orchapi/daemon_client.go - Pass new fields to proto client

Testing

$ go build ./...
# Build passes

$ go test ./internal/store/file/... -v
# All store tests pass

$ go test ./internal/daemon/... -v  
# All daemon tests pass

Evidence

Build and unit tests pass. The existing integration test failures are pre-existing issues unrelated to this change (they involve agent session handling and path resolution).

Closes orch-383

@proboscis proboscis force-pushed the issue/orch-383/run-20260201-104217 branch from 0636081 to f6e5493 Compare February 1, 2026 02:54
Add server-side filtering to daemon's ListRuns API to replace client-side
filtering and establish daemon as single source of truth.

New parameters:
- issue_status: filter by associated issue status (open/resolved/closed)
- older_than: filter by age using human-readable format (7d, 2w, 1m)
- agents: multi-value agent filter (replaces single agent parameter)
- tags/tags_mode: filter by issue tags with AND/OR logic

Closes orch-383
@proboscis proboscis force-pushed the issue/orch-383/run-20260201-104217 branch from f6e5493 to a4a9710 Compare February 3, 2026 04:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant