justinmclean opened a new issue, #377:
URL: https://github.com/apache/airflow-steward/issues/377
## Summary
Add a `--list-categories` flag to `skill-and-tool-validator` that prints
every violation category name it can emit (one per line), marks which
are SOFT (advisory), and exits zero without running validation.
## Background
The CLI already accepts `--skip-categories <name>,<name>` to suppress
specific categories, but the only way to find out what names are valid
today is to grep
`tools/skill-and-tool-validator/src/skill_and_tool_validator/__init__.py`
for `CATEGORY` constants. New contributors and CI authors who hit a
violation they want to defer end up guessing at the name. A discovery
flag costs almost nothing and makes `--skip-categories` self-documenting.
## Where to look
- `tools/skill-and-tool-validator/src/skill_and_tool_validator/__init__.py`
— the `argparse` block in `main()` around line 1636. Add the flag
next to `--strict` and `--skip-categories`.
- Same file, lines 228–246 — the category constants (`PRINCIPLE_CATEGORY`,
`TRIGGER_PRESERVATION_CATEGORY`, etc.) and the `SOFT_CATEGORIES`
frozenset. These are the values to print.
- `tools/skill-and-tool-validator/tests/test_validator.py` — where the
regression test goes.
## Acceptance criteria
- [ ] `python3 -m skill_and_tool_validator --list-categories` prints
every category constant value, one per line, sorted alphabetically.
- [ ] Each line marks SOFT categories (for example a trailing
` (advisory)`) so callers know which ones are warnings vs hard
failures.
- [ ] `--list-categories` exits 0 without running `run_validation()`
(it's a discovery flag, not a check).
- [ ] A test in `tests/test_validator.py` invokes the CLI with
`--list-categories`, asserts every known category constant
appears in stdout, and asserts SOFT categories are marked.
- [ ] `uv run --directory tools/skill-and-tool-validator --group dev pytest`
passes.
## Estimated effort
~1-2 hours for someone new to the codebase.
## Getting started
- [How to
contribute](https://github.com/apache/airflow-steward/blob/main/CONTRIBUTING.md#your-first-contribution)
---
_This issue was drafted with the help of an AI-assisted tool and reviewed by
an apache/airflow-steward maintainer before posting. If anything here is
unclear or looks wrong, say so on the issue: a real person is reading._
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]