feature/0001-severity-levels #3

Merged
bjoern merged 20 commits from feature/0001-severity-levels into main 2026-08-16 16:33:45 +00:00
Owner

Closed Issues

# Closed Issues * #1 * #2
Compute has_high from the severity-filtered diffs instead of all run.diffs,
so excluded low diffs no longer escalate the ntfy priority/tags.

Also add tests covering the filtered-priority behavior.
Validate op against a supported set (including empty = presence-only) in
JsonRuleConfig, failing fast on typos. The severity engine now also returns
False for unrecognized operators instead of matching the rule.

Update severity tests to expect ValidationError for unknown ops and document
the supported op values.
Thread the CLI config path through interactive -> run_tui -> AptesterTui so
CompareScreen evaluates severity rules against the user's -c config file
instead of always config/default.yaml. Update AGENTS.md accordingly.
Stable ordering for diffs sharing the same severity level.
- README: add severity feature to Features list, config example
  (reporting + severity sections), severity guide link, complete
  project structure (severity.py, notifier.py, login.py, tui.py, etc.)
- 01-implementation-plan: add all missing test files, document
  min_display_severity and min_notification_severity in compare engine
  (Step 14) and notifications (Step 20), fix cryptography range to
  >=49.0 <51 (CVE-2026-69247)
- 02-architecture: document min_display_severity in ReportingConfig,
  min_notification_severity in SeverityConfig, filter_diffs_by_severity
  as shared helper, severity-based display filtering in reporter.py
- AGENTS.md: add severity.filter_diffs_by_severity to Key Architecture
  Decisions
- CHANGELOG: add min_display_severity entry under Added
- 04-severity-guide: add §5 Display filtering, renumber §6-§8
Runs ruff check src/, mypy src/, and pytest (with optional --no-cov)
sequentially. Uses .venv/bin if present, falls back to PATH.

Options:
  --no-cov   skip coverage enforcement (pytest --no-cov)
  --src-only skip pytest, lint + type-check only
Add a configurable severity threshold that hides diffs below a level in
all terminal / TUI diff displays (run, compare, report, TUI Compare).
The stored result file (run.diffs) is never filtered.

- ReportingConfig.min_display_severity: Severity | None = None
- severity.filter_diffs_by_severity() shared helper replaces duplicated
  rank logic in notifier.py and reporter.py
- print_diffs(min_severity) filters the table; shows a short note when
  diffs exist but all are below the threshold
- Wired into runner.py, cli.py (compare/report), tui.py CompareScreen
- Tests: reporter filtering (3), config parsing (3)
bjoern merged commit eff57f2fc2 into main 2026-08-16 16:33:45 +00:00
bjoern deleted branch feature/0001-severity-levels 2026-08-16 16:33:46 +00:00
bjoern referenced this pull request from a commit 2026-08-16 16:33:47 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
bjoern/bizzfed-activitypub-tester!3
No description provided.