Skip to content

feat(serve): add tags filter to GET /api/decisions (GH-338)#346

Merged
fagemx merged 1 commit intomainfrom
feat/GH-338-decisions-tags-filter
Mar 20, 2026
Merged

feat(serve): add tags filter to GET /api/decisions (GH-338)#346
fagemx merged 1 commit intomainfrom
feat/GH-338-decisions-tags-filter

Conversation

@fagemx
Copy link
Owner

@fagemx fagemx commented Mar 20, 2026

Summary

  • Add tags query parameter to GET /api/decisions endpoint (comma-separated, OR semantics)
  • Add tags: Vec<String> to AskOptions in edda-ask with a tags_filter closure applied uniformly across all query paths (exact key, domain, keyword, overview)
  • Expose tags field on DecisionHit (parsed from DecisionRow.tags JSON array)
  • Update all AskOptions constructors in edda-serve (batch handler) and edda-mcp

Example

GET /api/decisions?tags=architecture,policy

Returns decisions that have "architecture" OR "policy" in their tags array.

Test plan

  • cargo fmt --all passes
  • cargo clippy --workspace -- -D warnings passes (zero warnings)
  • cargo test -p edda-ask -p edda-serve passes (86 tests)
  • Manual test with ?tags=... query parameter

Closes #338

🤖 Generated with Claude Code

Add comma-separated `tags` query parameter that filters decisions by
tag membership using OR semantics. Tags are parsed from the decision
row's JSON array and exposed on DecisionHit for filtering.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@fagemx fagemx merged commit cde8511 into main Mar 20, 2026
4 of 7 checks passed
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.

feat(serve): add tags query filter to GET /api/decisions

1 participant