Skip to content

feat(issues): fp issue filters and facets - #900

Draft
chhhee10 wants to merge 6 commits into
feat/fp-cli-parityfrom
feat/issue-filters
Draft

chhhee10 wants to merge 6 commits into
feat/fp-cli-parityfrom
feat/issue-filters

Conversation

@chhhee10

@chhhee10 chhhee10 commented Oct 14, 2026 •

Copy link
Copy Markdown
Member

What changed

  • Add repeatable/CSV fp issues list|count|facets filters for agent, environment, machine, source, alert, audit, assignee, opened date range, and title/summary text. Session /api and API-key /v1 modes share the same query contract.
  • Keep agent tags on issue rows and retain top-level agent_ids, environments, machine_ids, and scope_computed_at in JSON. Facets show supported values with counts; alert/audit names render in human output and ids remain in JSON.
  • Preserve legacy list --alert-id routing unless combined with new filters. Normal filtered calls make no extra request. A raw row's agent_ids key confirms support; non-empty legacy rows warn once, while empty lists/zero counts probe facets at most once per process and warn once if missing. Positive counts make no extra request.
  • Update the README, fp skill/reference, and both changelogs. Add a scoped stacked-PR CI workflow testing the CLI on Python 3.10–3.13 and a fresh-wheel user-level smoke.

Why / dependencies

Terminal users need the same failures-inbox scopes as the redesigned Cloud dashboard. This PR is now client-only, following the October 14 product decision: all collector changes and their feature-specific tests have been removed. Collector files and wire behaviour are identical to the PR base.

Stacked on #885 (feat/fp-cli-parity), itself on #881. Agenteye #1074 must merge first, before this client PR.

The new server retains a bare issue-list array with no filter echo. Compatibility detection uses raw agent_ids keys before model defaults are applied. Older Cloud list/count calls remain usable with a warning when unsupported filters are detected, and missing facets uses the existing “not available on this FailproofAI Cloud yet” error.

Round 2 verification

  • Collector implementation and tests match origin/feat/fp-cli-parity exactly (git diff --exit-code).
  • Branch diff checked case-insensitively with zero context: no retired-dimension additions remain.
  • Updated tests cover all retained query flags in session/key mode, the exact allowed flag sets, agent scope tags/JSON, supported facet dimensions, named alert/audit facets, and once-per-process compatibility probes/warnings.
  • Full Python suite: 1,595 passed, one skipped; focused filter/alert/output/routing suite: 284 passed.
  • Fresh wheel build/install and session/key HTTP/CLI smoke passed, including agent tags, named facets, JSON fields, exact query params, request counts and older-Cloud behaviour. Artifacts: /job/artifacts/round2-smoke/.
  • Restored collector suite: 584 passed; cargo fmt/clippy passed. This is a regression check only; no collector diff remains.
  • E2E: 351 passed, six skipped; workflow guards: 3 passed; lint passed with five existing warnings; TypeScript, skill and changelog validators passed.
  • CI green on 6263daed: Python 3.10–3.13 full suites, fresh-wheel smoke, and security checks passed. Run: https://github.com/FailproofAI/failproofai/actions/runs/38567495197

Integration notes

  • No server/dashboard, collector, OTLP, schema, or release changes. No edits to the shared ci.yml.
  • Server scope fields: agent_ids, environments, machine_ids, scope_computed_at. Facet dimensions: agents, environments, machines, sources, alerts, audits, assignees. Most entries are {value,count}; alerts/audits are {id,name,count}.
  • The previous collector-specific CI job is removed; this branch now tests only the client feature.

Open questions / limitations

  • The server PR must merge first. Installed CLI checks use local server-shaped fixtures, not a live production deployment.
  • --since accepts existing presets or RFC3339; --until accepts RFC3339. Dates apply to issue opening.
  • Docker was unavailable in this builder (no executable or socket); fresh wheel environments and real HTTP/CLI smoke are used instead.
  • Previous full root-unit runs exposed two unrelated ARM64/x64 daemon-download fixture failures, reproduced identically on the unchanged base at 82b02ec6. Evidence: /job/artifacts/base-arm64-fixture-tests.log. These tests are not changed.
  • No merge, release, version bump, or branch outside feat/issue-filters was pushed.

@github-actions

Copy link
Copy Markdown
Contributor

Thanks @chhhee10 for your contribution to Failproof AI! 🙌

We'd love to discuss your PR and welcome you to our community.

Discord: https://discord.befailproof.ai/
Reddit: https://www.reddit.com/r/failproofai/

@coderabbitai

coderabbitai Bot commented Oct 14, 2026

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@chhhee10 chhhee10 changed the title feat(issues): collector stamps the harness; fp issues filters and facets feat(issues): fp issue filters and facets Oct 14, 2026

This branch has not been deployed

No deployments
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