choo121600 opened a new pull request, #137: URL: https://github.com/apache/airflow-steward/pull/137
## Summary Follow-up to #118: adds five SOFT principle-compliance heuristics plus a separate git-aware trigger-preservation diff to `skill-validate` SOFT checks **do not fail** the run (exit 0) by default — they surface as grouped per-file warnings on stderr. Promote to hard failures with `--strict`, or silence categories with `--skip-categories`. ## Checks added | Category | Detects | |---|---| | `action-inventory` | description sentence with ≥ 5 commas (verb enumeration) | | `distinct-from` | `Unlike` / `Distinct from` / `Counterpart to` / `rather than` | | `chain-handoff` | `Finishes by handing off` / `Hands off to` / `ready for X to take over` | | `parenthetical-rationale` | parens containing `typically` / `implies` / `because` / `since` / `is required first` / `needs to` / `requires` | | `criteria-source` | `process step N` / `Step Na` / `` `docs/X.md` `` / `documented in …` | | `trigger_preservation` | quoted phrases in `when_to_use` dropped vs base ref (default `origin/main`, override via `$SKILL_VALIDATOR_BASE_REF`); silent no-op if base ref unavailable | Each violation is tagged with `[rule-name]` and grouped per file. A per-rule summary count is printed at the end. ## Example output <img width="1571" height="1145" alt="image" src="https://github.com/user-attachments/assets/19fb63e1-3dd9-42ca-87ea-64caa590d3be" /> ## Design notes - **SOFT by default** — heuristics are inherently imprecise; hard failures on heuristic matches would likely create alert fatigue and reduce reviewer trust in validator output. Reviewers retain final judgment on every match. - **Compatible with `add-progressive-disclosure-rule`** — `Violation.category` and `--skip-categories` mirror that branch's design, so either PR can land first without conflict in category dispatch logic. - **Trigger preservation: literal phrases only** — quoted strings in `when_to_use` are treated as the strongest signal of user-typed routing surface. Broader over-trim detection (for example, percentage-based shrink heuristics) is intentionally deferred until real-world false-positive rates are better understood. -- 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]
