Skip to content

feat(autopilot): fleet-overview-filters — default-actionable fleet filters + 27-locale i18n#76

Merged
pacphi merged 3 commits into
mainfrom
develop
Jul 1, 2026
Merged

feat(autopilot): fleet-overview-filters — default-actionable fleet filters + 27-locale i18n#76
pacphi merged 3 commits into
mainfrom
develop

Conversation

@pacphi

@pacphi pacphi commented Jul 1, 2026

Copy link
Copy Markdown
Owner

Ready for human review — do NOT auto-merge

Autopilot integration PR for the fleet-overview-filters feature. Delivered across develop; all phase gates passed with green CI. A human decides whether to merge into main.

What shipped

The Remediation Fleet Overview now defaults to the rows operators can act on, via two independent, combinable client-side toggle filters — with a distinct empty state when the filters hide everything.

  • FleetOverview.tsx: onlyWithPrs (openPrCount > 0) + onlyEligible (eligible === true) boolean states, both default ON, AND-combined into a derived filteredFleet over the already-fetched useFleetRemediation() rows. No backend/API change.
  • Two shadcn Switch + Label toggles above the table (mirrors PolicyEditor/RepositoryFilterSettings); toggling either widens the view.
  • Distinct filtered-empty branch (remediation:fleet.filters.noMatch) with a "Show all repositories" escape + always-visible toggles — separate from the existing zero-repos remediation:fleet.empty state.
  • Full 27-locale i18n for the new remediation:fleet.filters.* keys (onlyWithPrs, onlyEligible, noMatch, clear, groupLabel); frontend/src/i18n/types.ts regenerated in sync.
  • A11y: role="group" + aria-label on the filter cluster, role="status" aria-live="polite" on the no-match state.

Phase gate summary

Phase Scope Gate Marker
0 Filters + filtered-empty state + vitest specs + full 27-locale i18n ✅ PASSED — all 21 CI checks green 9ea5c91 (#75)

The plan was originally 2 phases (filters+EN, then translate); Ampel CI's i18n missing gate fails any PR with en-only keys, so the 27-locale translation was carried in phase 0's PR and the plan was collapsed to one phase to match what shipped.

Verification (on develop)

  • make test-frontend924 passed, 6 skipped (61 files); 13 FleetOverview specs (each filter proven independently, toggle round-trip, single-toggle escape from empty, revealed-row preview).
  • make lint-frontend · make format-check · type-check — clean.
  • i18n missing clean · coverage 100% · types.ts in sync · all 27 locales carry the 5 keys.

Review signals

  • qe-code-reviewer: no correctness bugs; empty-state distinction airtight; clear-escape sound; both filters proven independently. 6 LOW/INFO findings all addressed.
  • /code-review (high, workflow): 2 confirmed findings, both working-as-designed per spec — (1) both filters default ON, so a quiet-period fleet (all eligible, zero open PRs) lands on the filtered-empty state on first load. ⚠️ This is a deliberate UX tradeoff — flag if product intent differs. (2) new-keys-only-in-en was resolved by translating all locales in the same PR.
  • Post-translate audit caught and repaired domain-noun mistranslations (repos→pawnshop/repurchase/cure, PR→public relations) by hardening the EN source to full words.

🤖 Automated autopilot feature. Ready for human review; do NOT auto-merge.

pacphi added 3 commits July 1, 2026 12:46
#75)

Phase 0: default-actionable fleet filters (two combinable toggles, both default ON) + distinct filtered-empty state + full 27-locale i18n. All CI required checks green.
@pacphi

pacphi commented Jul 1, 2026

Copy link
Copy Markdown
Owner Author

Snyk checks have passed. No issues have been found so far.

Status Scan Engine Critical High Medium Low Total (0)
Open Source Security 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@github-actions

github-actions Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

📊 Coverage Report

Component Coverage Status
Backend N/A%
Frontend N/A%
Overall N/A%

Coverage Thresholds

  • 🟢 Green: ≥ 80% (target)
  • 🟡 Yellow: 60-79% (acceptable)
  • 🔴 Red: < 60% (needs improvement)

Coverage reports generated by CI workflow

@pacphi pacphi merged commit 9cbd006 into main Jul 1, 2026
36 checks passed
@pacphi pacphi deleted the develop branch July 1, 2026 22:37
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