You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Merge pull request #12 from jier/feature/authorative-complexity-reachability
- error_handlers fixed: was dead (scanned flattened tasks for a rescue/always key that never exists → always 0). Now the graph detects block/rescue/always and sets error_handling on the node; error_handlers counts it. Unit-tested (rescue block → 1); stays 0 for roles genuinely without rescue (CIS, openstack).
- Reachability is now a complete, honest partition (the candidate-10 finding): static_reachable + dynamically_reachable + unreachable == task_files. openstack now reads 2 + 13 + 5 = 20 (previously "static 2 / orphan 5" silently hid the 13 dynamic-gated files). orphan_task_files renamed unreachable_task_files, with a README note explaining the tiers (and that files behind an unresolved dynamic boundary stay "unreachable" — the graph still won't guess {{ pkg_mgr }}.yml).
`jscpd` is informational: its current baseline is 21 clones and 1.30% duplicated lines, not a zero-threshold gate. Update the baseline only after reviewing intentional duplication.
36
36
37
-
## Verified Baseline (2026-08-27)
37
+
## Verified Baseline (2026-09-13)
38
38
39
-
-`uv run pytest`: 1156 passed, 10 warnings.
40
-
-`uv run ruff check .`: 47 findings.
41
-
-`uv run mypy docsible`: 3 errors in 2 files.
39
+
-`uv run pytest` passes with 1215 tests (3 xpassed).
40
+
-`uv run ruff check .` reports no findings.
41
+
-`uv run mypy docsible` reports no issues.
42
42
43
43
Treat these results as a starting point, not permission to introduce additional failures.
- Source-backed `RoleExecutionGraph` — typed include/import, cross-role, notification and variable edges, each with static / dynamic / unknown resolution and a source location
66
+
- README "Execution Routes" + "Execution Graph Summary" — role entry point, statically vs dynamically reachable and unreachable files, and dynamic boundaries, instead of filesystem-order phases
67
+
- Collections get per-role documentation plus a collection-level complexity overview and a role index sorted by complexity
68
+
- Machine-readable `--output-format json` exposes the complexity metrics and the serialized execution graph for CI and downstream renderers
0 commit comments