pi-aia-asf 0.17.3 → 0.17.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/CHANGELOG.md +52 -3
  2. package/index.ts +18 -1574
  3. package/lib/code-health/config.mjs +70 -62
  4. package/lib/code-health/detect.mjs +99 -81
  5. package/lib/code-health/eslint-run.mjs +156 -0
  6. package/lib/code-health/exec.mjs +26 -0
  7. package/lib/code-health/files.mjs +14 -8
  8. package/lib/code-health/index.mjs +1 -1
  9. package/lib/code-health/model-patterns.mjs +129 -0
  10. package/lib/code-health/model-scan.mjs +58 -0
  11. package/lib/code-health/model.mjs +105 -240
  12. package/lib/code-health/report.mjs +33 -30
  13. package/lib/code-health/run.mjs +12 -150
  14. package/lib/code-health/tools.mjs +60 -59
  15. package/lib/extension/commands/index.ts +61 -0
  16. package/lib/extension/commands/inspect.ts +125 -0
  17. package/lib/extension/commands/run-control.ts +58 -0
  18. package/lib/extension/commands/session.ts +85 -0
  19. package/lib/extension/commands/verify.ts +109 -0
  20. package/lib/extension/deps.ts +77 -0
  21. package/lib/extension/evidence.ts +51 -0
  22. package/lib/extension/gate-state.ts +71 -0
  23. package/lib/extension/handlers/lifecycle.ts +125 -0
  24. package/lib/extension/handlers/settle.ts +219 -0
  25. package/lib/extension/handlers/tool-call.ts +226 -0
  26. package/lib/extension/handlers/tool-result.ts +59 -0
  27. package/lib/extension/paths.ts +58 -0
  28. package/lib/extension/pi-ref.ts +18 -0
  29. package/lib/extension/run.ts +136 -0
  30. package/lib/extension/runtime.ts +50 -0
  31. package/lib/extension/specs.ts +77 -0
  32. package/lib/extension/state.ts +164 -0
  33. package/lib/extension/steer.ts +46 -0
  34. package/lib/extension/tools/health.ts +87 -0
  35. package/lib/extension/types.ts +93 -0
  36. package/lib/gates/authority.d.mts +6 -6
  37. package/lib/gates/authority.mjs +78 -73
  38. package/lib/gates/blockers.d.mts +1 -2
  39. package/lib/gates/blockers.mjs +70 -57
  40. package/lib/gates/config.mjs +80 -59
  41. package/lib/gates/declarations.mjs +61 -54
  42. package/lib/gates/defaults.mjs +79 -309
  43. package/lib/gates/drift.mjs +76 -43
  44. package/lib/gates/ledger.d.mts +2 -4
  45. package/lib/gates/ledger.mjs +60 -68
  46. package/lib/gates/math.mjs +9 -0
  47. package/lib/gates/params.mjs +242 -0
  48. package/lib/gates/settle.mjs +81 -72
  49. package/lib/parallel-estimate.mjs +85 -56
  50. package/lib/review.mjs +39 -36
  51. package/lib/run-card.mjs +25 -18
  52. package/lib/skill-budget.mjs +35 -19
  53. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -7,13 +7,62 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
- ## [0.17.3] - 2026-11-07
10
+ ## [0.17.4] - 2026-11-07
11
11
 
12
12
  ### Added
13
13
 
14
- - (describe changes for 0.17.3)
14
+ - (describe changes for 0.17.4)
15
+
16
+ ## [0.18.0] - 2026-11-07
17
+
18
+ ### Changed — ASF now passes its own health gate, and the gate measures the right tree
19
+
20
+ ASF demanded code health of every project and did not meet it itself: 74
21
+ violations across `index.ts` and `lib/`. This release is that debt paid, and two
22
+ real defects the work exposed.
23
+
24
+ - `index.ts` is 37 lines of wiring. The extension lives in `lib/extension/`
25
+ (`commands/`, `tools/`, `handlers/`, plus state, specs, evidence, steer, run),
26
+ so no single file is the whole extension any more.
27
+ - `lib/gates/`: the parameter table moved to `params.mjs` (the table reads as a
28
+ table), `clamp`/`round2` to `math.mjs` (the table's calibrations use them, and
29
+ importing them from the resolver was a cycle), `ledger.mjs`/`drift.mjs`/
30
+ `settle.mjs`/`blockers.mjs`/`config.mjs`/`declarations.mjs`/`authority.mjs`
31
+ decomposed into named pieces instead of one long function each.
32
+ - `lib/code-health/`: `model-scan.mjs` (file selection and I/O), `model-patterns.mjs`
33
+ (the pattern tables), `eslint-run.mjs` (config generation and counting),
34
+ `exec.mjs` (the bounded spawn).
35
+ - Functions that took four or more positional arguments now take one options
36
+ object (`deriveSuiteRun`, `deriveHealthRun`, `transition`, `evaluateBlockers`,
37
+ `planMetrics`, `walk`, `resolveParam`'s resolvers, `runBlocker`).
38
+
39
+ ### Fixed — the gate wrote into the repo it was measuring
40
+
41
+ `jscpd`'s report went to `<project>/.asf-code-health-tmp`, which dirtied the
42
+ measured tree (it tripped ASF's own dirty-tree guards) and shipped a committed
43
+ temp file. It now writes to a `mktemp`-style directory under the OS temp root and
44
+ removes it. A test asserts the `--output` path is outside the project and that
45
+ the directory is gone afterwards.
15
46
 
16
- ## [0.17.2] - 2026-11-07
47
+ ### Fixed — `asf_health` measured the session's cwd, not the run's project
48
+
49
+ A session started in `$HOME` measured the whole home directory: 960 "handwritten
50
+ cascade" findings from `site-packages`, and a fail verdict on a healthy repo.
51
+ Every consumer of "the project" (the health tool, `/asf health`, `/asf verify`,
52
+ `/asf config`, the project config read, the git-dirty probe, `PLAN.md`, spec
53
+ traces) now goes through `runRoot()` — the git work-tree root — instead of
54
+ `process.cwd()`. A test fails if any extension module measures
55
+ `process.cwd()` as the project.
56
+
57
+ ### Fixed — the tests stopped covering half the extension
58
+
59
+ The text-assertion helpers in `test-operator-surface.mjs`, `test-browser-touched.mjs`
60
+ and `test-model-gate.mjs` read `lib/extension/*.ts` non-recursively, so after the
61
+ split the `commands/`, `tools/` and `handlers/` modules were outside every text
62
+ assertion. They read recursively now.
63
+
64
+
65
+ ## [0.17.3] - 2026-11-07
17
66
 
18
67
  ### Fixed — the tools were installed but never found
19
68