DEVX-3: Pluggable change classification framework #13

Merged
emil merged 1 commits from DEVX-3-classify-changes-framework into master 2026-06-22 17:31:31 +00:00
1 Commits
Author SHA1 Message Date
emilandDevin <158243242+devin-ai-integration[bot]@users.noreply.github.com> 583e8d384d feat: pluggable change classification framework
CI / detect-changes (pull_request) Successful in 1m7s
CI / pr-review (pull_request) Successful in 1m13s
CI / quality (pull_request) Successful in 1m28s
CI / auto-merge (pull_request) Successful in 11s
CI / release-dry-run (pull_request) Successful in 48s
Replace hardcoded path patterns with a config-driven framework that
reads classification rules from [tool.devx.classify] in pyproject.toml.

Design principles:
- Safe-by-default: unknown files → user-facing (never skip releases)
- Config-driven: projects declare paths, framework handles logic
- Layered rules: user_facing_overrides > infrastructure_overrides >
  infrastructure patterns > default (user-facing)
- Tag system: orthogonal categories for CI conditional execution
  (e.g., "ansible" tag for molecule test gating)
- Transparent: every classification has a human-readable reason
- Proper glob matching: ** for recursive, * within segments

Backward-compatible API preserved (is_user_facing, is_workflow_only,
classify_changes, has_user_facing_changes) with optional legacy
patterns parameter for existing callers.

Projects like GRM and infra can now plug in their own criteria via
pyproject.toml without modifying framework code.

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-06-22 19:29:19 +02:00