Goal:
- Make
opensre tests discovery more reliable, improve missing-dependency UX, and add focused test coverage for catalog stability, filtering, and execution.
Key areas:
- discover.py — tighten discovery so catalog entries are less dependent on hand-curated Makefile assumptions
- interactive.py / main.py — clearer fallback/error paths; non-interactive commands work when TUI deps are missing
- runner.py — consistent behavior for dry-run, unknown IDs, and non-runnable items
- cli_inventory_test.py — cover missing-dep fallback, category/search filtering, stable IDs, command rendering
Verify: pytest + make lint + make typecheck
User experience:
- Terminal is easy to navigate and clear
- Graceful degradation — missing TUI dependencies surface a clear, actionable message instead of a traceback; the CLI never feels broken, just reduced
- Always-on discovery — opensre tests list works in every environment: CI, containers, bare terminals, full desktop
- Helpful errors — invalid IDs or non-runnable items respond with what went wrong, what was received, and what to try instead
Done when:
- opensre tests list works without interactive prompt deps
- Suite/scenario IDs are stable
- Interactive and non-interactive paths fail predictably with helpful messages
- Test coverage exists for discovery, filtering, dry-run, and fallback
Goal:
opensre testsdiscovery more reliable, improve missing-dependency UX, and add focused test coverage for catalog stability, filtering, and execution.Key areas:
Verify: pytest + make lint + make typecheck
User experience:
Done when: