mandrel 2.60.0 → 2.62.0

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 (662) hide show
  1. package/.agents/README.md +10 -10
  2. package/.agents/agents/story-worker.md +1 -1
  3. package/.agents/docs/agentrc-reference.json +4 -82
  4. package/.agents/docs/configuration.md +20 -87
  5. package/.agents/docs/workflows.md +1 -1
  6. package/.agents/instructions.md +1 -3
  7. package/.agents/rules/gherkin-standards.md +4 -0
  8. package/.agents/schemas/agentrc.schema.json +11 -486
  9. package/.agents/schemas/story-deliver-terminal.schema.json +10 -0
  10. package/.agents/schemas/validation-evidence.schema.json +2 -1
  11. package/.agents/scripts/README.md +14 -14
  12. package/.agents/scripts/acceptance-eval.js +32 -164
  13. package/.agents/scripts/agents-bootstrap-github.js +27 -129
  14. package/.agents/scripts/apply-quality-bootstrap.js +4 -40
  15. package/.agents/scripts/audit-baselines.js +6 -27
  16. package/.agents/scripts/audit-labels-bootstrap.js +5 -29
  17. package/.agents/scripts/audit-to-stories.js +91 -361
  18. package/.agents/scripts/boot-sweep.js +19 -72
  19. package/.agents/scripts/bootstrap.js +74 -395
  20. package/.agents/scripts/ceremony-derive.js +9 -45
  21. package/.agents/scripts/check-arch-cycles.js +14 -64
  22. package/.agents/scripts/check-baselines.js +8 -48
  23. package/.agents/scripts/check-context-budget.js +46 -172
  24. package/.agents/scripts/check-cyclomatic.js +12 -44
  25. package/.agents/scripts/check-dead-exports.js +13 -64
  26. package/.agents/scripts/check-doc-links.js +38 -186
  27. package/.agents/scripts/check-gherkin-corpus.js +24 -127
  28. package/.agents/scripts/check-test-temp-hygiene.js +28 -169
  29. package/.agents/scripts/coverage-capture.js +32 -99
  30. package/.agents/scripts/deliver-light.js +14 -101
  31. package/.agents/scripts/deliver-recover.js +6 -42
  32. package/.agents/scripts/deliver-run.js +36 -133
  33. package/.agents/scripts/diagnose-friction.js +24 -116
  34. package/.agents/scripts/drain-pending-cleanup.js +1 -1
  35. package/.agents/scripts/evidence-gate.js +23 -85
  36. package/.agents/scripts/file-ci-gap.js +10 -50
  37. package/.agents/scripts/generate-config-docs.js +30 -170
  38. package/.agents/scripts/generate-lens-checklists.js +8 -52
  39. package/.agents/scripts/generate-skills-index.js +14 -112
  40. package/.agents/scripts/generate-workflows-doc.js +10 -70
  41. package/.agents/scripts/git-cleanup.js +2 -34
  42. package/.agents/scripts/lib/Graph.js +24 -81
  43. package/.agents/scripts/lib/ITicketingProvider.js +47 -143
  44. package/.agents/scripts/lib/Logger.js +14 -76
  45. package/.agents/scripts/lib/audit-baselines/engine.js +11 -31
  46. package/.agents/scripts/lib/audit-baselines/gate-surface.js +3 -17
  47. package/.agents/scripts/lib/audit-baselines/headroom.js +4 -20
  48. package/.agents/scripts/lib/audit-baselines/hotspots.js +3 -15
  49. package/.agents/scripts/lib/audit-baselines/kinds.js +23 -89
  50. package/.agents/scripts/lib/audit-baselines/outliers.js +6 -23
  51. package/.agents/scripts/lib/audit-baselines/read.js +3 -16
  52. package/.agents/scripts/lib/audit-baselines/staleness.js +7 -26
  53. package/.agents/scripts/lib/audit-baselines/surface-entry.js +7 -28
  54. package/.agents/scripts/lib/audit-baselines/trend.js +7 -20
  55. package/.agents/scripts/lib/audit-baselines/weights.js +9 -37
  56. package/.agents/scripts/lib/audit-suite/audit-rules-reader.js +3 -18
  57. package/.agents/scripts/lib/audit-suite/checklist-threading.js +26 -124
  58. package/.agents/scripts/lib/audit-suite/dispatch-checklist.js +14 -45
  59. package/.agents/scripts/lib/audit-suite/findings.js +12 -52
  60. package/.agents/scripts/lib/audit-suite/frontmatter.js +5 -29
  61. package/.agents/scripts/lib/audit-suite/index.js +1 -15
  62. package/.agents/scripts/lib/audit-suite/lens-checklist.js +10 -45
  63. package/.agents/scripts/lib/audit-suite/lens-diff-floor.js +11 -76
  64. package/.agents/scripts/lib/audit-suite/runner.js +13 -43
  65. package/.agents/scripts/lib/audit-suite/selector.js +49 -349
  66. package/.agents/scripts/lib/audit-suite/substitutions.js +12 -40
  67. package/.agents/scripts/lib/audit-suite/workflow-loader.js +3 -15
  68. package/.agents/scripts/lib/audit-to-stories/audit-label-taxonomy.js +11 -73
  69. package/.agents/scripts/lib/audit-to-stories/audit-lenses.js +8 -37
  70. package/.agents/scripts/lib/audit-to-stories/build-story-body.js +25 -143
  71. package/.agents/scripts/lib/audit-to-stories/dedupe-against-github.js +14 -80
  72. package/.agents/scripts/lib/audit-to-stories/epic-grouping-directive.js +4 -18
  73. package/.agents/scripts/lib/audit-to-stories/finding-adapter.js +7 -40
  74. package/.agents/scripts/lib/audit-to-stories/group-findings.js +9 -39
  75. package/.agents/scripts/lib/audit-to-stories/issue-corpus.js +10 -66
  76. package/.agents/scripts/lib/audit-to-stories/issue-index.js +6 -30
  77. package/.agents/scripts/lib/audit-to-stories/issues-file.js +6 -36
  78. package/.agents/scripts/lib/audit-to-stories/ledger-commit.js +17 -69
  79. package/.agents/scripts/lib/audit-to-stories/ledger-pr.js +17 -85
  80. package/.agents/scripts/lib/audit-to-stories/ledger-record.js +10 -48
  81. package/.agents/scripts/lib/audit-to-stories/parse-audit-md.js +38 -146
  82. package/.agents/scripts/lib/audit-to-stories/seed-from-findings.js +7 -42
  83. package/.agents/scripts/lib/audit-to-stories/wire-dependencies.js +10 -57
  84. package/.agents/scripts/lib/baseline-loader.js +12 -51
  85. package/.agents/scripts/lib/baseline-schema-registry.js +5 -22
  86. package/.agents/scripts/lib/baselines/component-matcher.js +3 -12
  87. package/.agents/scripts/lib/baselines/components.js +10 -61
  88. package/.agents/scripts/lib/baselines/coverage-updater-cli.js +7 -36
  89. package/.agents/scripts/lib/baselines/crap-preview-incremental.js +5 -21
  90. package/.agents/scripts/lib/baselines/crap-preview-scan.js +19 -45
  91. package/.agents/scripts/lib/baselines/crap-updater-cli.js +16 -65
  92. package/.agents/scripts/lib/baselines/diff-scope-cli.js +5 -33
  93. package/.agents/scripts/lib/baselines/duplication-scanner.js +11 -60
  94. package/.agents/scripts/lib/baselines/env-overrides.js +12 -67
  95. package/.agents/scripts/lib/baselines/envelope.js +13 -129
  96. package/.agents/scripts/lib/baselines/exit-codes.js +6 -49
  97. package/.agents/scripts/lib/baselines/git-base.js +23 -142
  98. package/.agents/scripts/lib/baselines/kernel.js +11 -111
  99. package/.agents/scripts/lib/baselines/kinds/_crap-new-method-gate.js +9 -47
  100. package/.agents/scripts/lib/baselines/kinds/_crap-read.js +8 -51
  101. package/.agents/scripts/lib/baselines/kinds/_shared-metric.js +7 -62
  102. package/.agents/scripts/lib/baselines/kinds/bundle-size.js +8 -29
  103. package/.agents/scripts/lib/baselines/kinds/coverage.js +3 -15
  104. package/.agents/scripts/lib/baselines/kinds/crap.js +94 -415
  105. package/.agents/scripts/lib/baselines/kinds/duplication.js +4 -30
  106. package/.agents/scripts/lib/baselines/kinds/kind-factory.js +7 -53
  107. package/.agents/scripts/lib/baselines/kinds/maintainability.js +15 -80
  108. package/.agents/scripts/lib/baselines/kinds/mutation.js +12 -72
  109. package/.agents/scripts/lib/baselines/maintainability-baseline-io.js +4 -11
  110. package/.agents/scripts/lib/baselines/merge-envelopes.js +30 -146
  111. package/.agents/scripts/lib/baselines/path-canon.js +19 -128
  112. package/.agents/scripts/lib/baselines/preview-gates.js +8 -37
  113. package/.agents/scripts/lib/baselines/reader.js +14 -107
  114. package/.agents/scripts/lib/baselines/refresh-service.js +35 -252
  115. package/.agents/scripts/lib/baselines/scope.js +11 -135
  116. package/.agents/scripts/lib/baselines/writer.js +16 -149
  117. package/.agents/scripts/lib/bdd-runner-detect.js +18 -113
  118. package/.agents/scripts/lib/bdd-scenario-budget.js +9 -36
  119. package/.agents/scripts/lib/bdd-scenario-scanner.js +11 -73
  120. package/.agents/scripts/lib/bdd-step-index.js +26 -100
  121. package/.agents/scripts/lib/bootstrap/baseline-merge-driver.js +23 -103
  122. package/.agents/scripts/lib/bootstrap/branch-protection.js +2 -5
  123. package/.agents/scripts/lib/bootstrap/commit-push.js +12 -50
  124. package/.agents/scripts/lib/bootstrap/gh-preflight.js +14 -101
  125. package/.agents/scripts/lib/bootstrap/hitl-confirm.js +5 -30
  126. package/.agents/scripts/lib/bootstrap/install-ledger.js +17 -73
  127. package/.agents/scripts/lib/bootstrap/issue-forms-template.js +17 -121
  128. package/.agents/scripts/lib/bootstrap/manifest.js +15 -86
  129. package/.agents/scripts/lib/bootstrap/merge-methods.js +4 -33
  130. package/.agents/scripts/lib/bootstrap/preflight.js +12 -61
  131. package/.agents/scripts/lib/bootstrap/project-bootstrap.js +34 -235
  132. package/.agents/scripts/lib/bootstrap/prompt.js +21 -129
  133. package/.agents/scripts/lib/bootstrap/quality-bootstrap.js +27 -141
  134. package/.agents/scripts/lib/bootstrap/summary.js +1 -8
  135. package/.agents/scripts/lib/bootstrap/workflow-audit.js +11 -84
  136. package/.agents/scripts/lib/branch-name-guard.js +4 -23
  137. package/.agents/scripts/lib/changed-files.js +31 -143
  138. package/.agents/scripts/lib/checks/core-bare-clean.js +4 -24
  139. package/.agents/scripts/lib/checks/index.js +18 -101
  140. package/.agents/scripts/lib/checks/loop-health.js +11 -53
  141. package/.agents/scripts/lib/checks/state.js +16 -91
  142. package/.agents/scripts/lib/checks/story-init-not-backgrounded.js +10 -61
  143. package/.agents/scripts/lib/checks/subagent-agent-tool-required.js +14 -83
  144. package/.agents/scripts/lib/child-exec.js +39 -108
  145. package/.agents/scripts/lib/cli/standard-args.js +9 -116
  146. package/.agents/scripts/lib/cli-args.js +31 -146
  147. package/.agents/scripts/lib/cli-usage.js +5 -27
  148. package/.agents/scripts/lib/cli-utils.js +2 -12
  149. package/.agents/scripts/lib/close-validation/commands.js +13 -76
  150. package/.agents/scripts/lib/close-validation/gates.js +92 -331
  151. package/.agents/scripts/lib/close-validation/process.js +121 -151
  152. package/.agents/scripts/lib/close-validation/projections/advisories.js +5 -31
  153. package/.agents/scripts/lib/close-validation/projections/crap.js +19 -67
  154. package/.agents/scripts/lib/close-validation/projections/head-sha.js +1 -17
  155. package/.agents/scripts/lib/close-validation/projections/inputs.js +4 -34
  156. package/.agents/scripts/lib/close-validation/projections/maintainability.js +11 -58
  157. package/.agents/scripts/lib/close-validation/runner.js +53 -110
  158. package/.agents/scripts/lib/command-header.js +6 -28
  159. package/.agents/scripts/lib/config/acceptance-eval.js +4 -30
  160. package/.agents/scripts/lib/config/baselines.js +3 -14
  161. package/.agents/scripts/lib/config/ci.js +8 -38
  162. package/.agents/scripts/lib/config/commands.js +1 -15
  163. package/.agents/scripts/lib/config/defaults.js +4 -33
  164. package/.agents/scripts/lib/config/delivery-routing.js +6 -35
  165. package/.agents/scripts/lib/config/explain.js +9 -80
  166. package/.agents/scripts/lib/config/gates/coverage.schema.js +0 -12
  167. package/.agents/scripts/lib/config/gates/crap-incremental-coverage.schema.js +2 -30
  168. package/.agents/scripts/lib/config/gates/crap.schema.js +1 -34
  169. package/.agents/scripts/lib/config/gates/duplication.schema.js +1 -8
  170. package/.agents/scripts/lib/config/gates/index.js +2 -17
  171. package/.agents/scripts/lib/config/gates/maintainability.schema.js +1 -20
  172. package/.agents/scripts/lib/config/gates/mutation.schema.js +1 -7
  173. package/.agents/scripts/lib/config/gates/shared.js +4 -64
  174. package/.agents/scripts/lib/config/github.js +4 -22
  175. package/.agents/scripts/lib/config/limits.js +4 -57
  176. package/.agents/scripts/lib/config/paths.js +2 -21
  177. package/.agents/scripts/lib/config/qa.js +4 -38
  178. package/.agents/scripts/lib/config/quality.js +76 -432
  179. package/.agents/scripts/lib/config/runners.js +12 -56
  180. package/.agents/scripts/lib/config/runtime.js +13 -57
  181. package/.agents/scripts/lib/config/shared.js +2 -16
  182. package/.agents/scripts/lib/config/sync-agentrc.js +9 -50
  183. package/.agents/scripts/lib/config/temp-paths.js +40 -280
  184. package/.agents/scripts/lib/config/validate-orchestration.js +5 -17
  185. package/.agents/scripts/lib/config/worktree-isolation.js +9 -28
  186. package/.agents/scripts/lib/config-resolver.js +10 -52
  187. package/.agents/scripts/lib/config-schema-shared.js +1 -4
  188. package/.agents/scripts/lib/config-settings-schema-delivery.js +12 -294
  189. package/.agents/scripts/lib/config-settings-schema-quality.js +7 -219
  190. package/.agents/scripts/lib/config-settings-schema.js +37 -274
  191. package/.agents/scripts/lib/coverage-baseline.js +20 -110
  192. package/.agents/scripts/lib/coverage-capture-fullscope.js +12 -37
  193. package/.agents/scripts/lib/coverage-capture-incremental.js +12 -43
  194. package/.agents/scripts/lib/coverage-capture-usage.js +4 -24
  195. package/.agents/scripts/lib/coverage-capture.js +99 -224
  196. package/.agents/scripts/lib/coverage-utils.js +14 -79
  197. package/.agents/scripts/lib/cpu-pool.js +17 -123
  198. package/.agents/scripts/lib/crap-baseline-join.js +16 -88
  199. package/.agents/scripts/lib/crap-coordinates.js +6 -25
  200. package/.agents/scripts/lib/crap-engine.js +40 -153
  201. package/.agents/scripts/lib/crap-method-identity.js +16 -78
  202. package/.agents/scripts/lib/crap-utils.js +31 -155
  203. package/.agents/scripts/lib/cyclomatic-ceiling.js +14 -87
  204. package/.agents/scripts/lib/cyclomatic-scope.js +10 -50
  205. package/.agents/scripts/lib/dead-exports-knip.js +18 -56
  206. package/.agents/scripts/lib/dead-exports-mode.js +5 -24
  207. package/.agents/scripts/lib/degraded-mode.js +3 -26
  208. package/.agents/scripts/lib/dependency-parser.js +8 -40
  209. package/.agents/scripts/lib/dependency-version.js +13 -35
  210. package/.agents/scripts/lib/detect-package-manager.js +6 -36
  211. package/.agents/scripts/lib/doc-tiers.js +22 -126
  212. package/.agents/scripts/lib/duplicate-search.js +8 -72
  213. package/.agents/scripts/lib/env-loader.js +5 -27
  214. package/.agents/scripts/lib/error-redactor.js +6 -31
  215. package/.agents/scripts/lib/errors/index.js +2 -22
  216. package/.agents/scripts/lib/escomplex-ast-compat.js +22 -163
  217. package/.agents/scripts/lib/escomplex-kernel.js +21 -123
  218. package/.agents/scripts/lib/feedback-loop/graduator-core.js +93 -419
  219. package/.agents/scripts/lib/feedback-loop/prior-feedback-fetcher.js +20 -98
  220. package/.agents/scripts/lib/feedback-loop/retro-proposals-graduator.js +27 -151
  221. package/.agents/scripts/lib/findings/audit-ledger.js +23 -97
  222. package/.agents/scripts/lib/findings/classify-finding.js +14 -69
  223. package/.agents/scripts/lib/findings/promote-finding.js +14 -112
  224. package/.agents/scripts/lib/findings/provenance-field.js +11 -52
  225. package/.agents/scripts/lib/findings/route-finding.js +37 -255
  226. package/.agents/scripts/lib/findings/semantic-issue-search.js +14 -59
  227. package/.agents/scripts/lib/findings/severity.js +18 -104
  228. package/.agents/scripts/lib/format-generated-json.js +12 -44
  229. package/.agents/scripts/lib/full-suite-lock.js +160 -429
  230. package/.agents/scripts/lib/full-suite-queue.js +213 -0
  231. package/.agents/scripts/lib/gates/baseline-store.js +5 -9
  232. package/.agents/scripts/lib/gates/friction.js +1 -3
  233. package/.agents/scripts/lib/generated/agentrc-validator.js +2 -2
  234. package/.agents/scripts/lib/gh-exec.js +31 -259
  235. package/.agents/scripts/lib/git/cached-fetch.js +9 -52
  236. package/.agents/scripts/lib/git/sync-from-base.js +15 -107
  237. package/.agents/scripts/lib/git-branch-cleanup.js +14 -61
  238. package/.agents/scripts/lib/git-branch-lifecycle.js +16 -87
  239. package/.agents/scripts/lib/git-utils.js +37 -161
  240. package/.agents/scripts/lib/github/framework-repo.js +8 -71
  241. package/.agents/scripts/lib/github-url.js +2 -17
  242. package/.agents/scripts/lib/import-graph.js +11 -38
  243. package/.agents/scripts/lib/install-cmd-parser.js +4 -13
  244. package/.agents/scripts/lib/json-utils.js +3 -18
  245. package/.agents/scripts/lib/label-constants.js +16 -111
  246. package/.agents/scripts/lib/label-taxonomy.js +4 -30
  247. package/.agents/scripts/lib/maintainability-engine.js +12 -80
  248. package/.agents/scripts/lib/maintainability-unscorable.js +5 -25
  249. package/.agents/scripts/lib/maintainability-utils.js +16 -92
  250. package/.agents/scripts/lib/mandrel-catalog.js +12 -70
  251. package/.agents/scripts/lib/notifications/notifier.js +13 -38
  252. package/.agents/scripts/lib/npm-scripts.js +4 -23
  253. package/.agents/scripts/lib/observability/metrics-ledger.js +16 -76
  254. package/.agents/scripts/lib/observability/runtime-friction.js +44 -286
  255. package/.agents/scripts/lib/observability/signal-validator.js +5 -37
  256. package/.agents/scripts/lib/observability/signals-writer.js +11 -121
  257. package/.agents/scripts/lib/observability/source-classifier.js +21 -203
  258. package/.agents/scripts/lib/observability/terse-result.js +14 -47
  259. package/.agents/scripts/lib/onboard/init-tail.js +13 -74
  260. package/.agents/scripts/lib/onboard/scaffold-docs.js +11 -34
  261. package/.agents/scripts/lib/orchestration/acceptance-eval-decision.js +25 -139
  262. package/.agents/scripts/lib/orchestration/auto-merge-cwd.js +11 -66
  263. package/.agents/scripts/lib/orchestration/behind-recovery.js +10 -55
  264. package/.agents/scripts/lib/orchestration/ceremony-routing.js +5 -75
  265. package/.agents/scripts/lib/orchestration/change-set.js +7 -36
  266. package/.agents/scripts/lib/orchestration/check-baselines/phases/compare.js +9 -46
  267. package/.agents/scripts/lib/orchestration/check-baselines/phases/evaluate.js +11 -44
  268. package/.agents/scripts/lib/orchestration/check-baselines/phases/floors.js +5 -24
  269. package/.agents/scripts/lib/orchestration/check-baselines/phases/friction.js +3 -12
  270. package/.agents/scripts/lib/orchestration/check-baselines/phases/parse-args.js +5 -38
  271. package/.agents/scripts/lib/orchestration/check-baselines/phases/pipeline.js +3 -8
  272. package/.agents/scripts/lib/orchestration/check-baselines/phases/refresh-ack.js +28 -136
  273. package/.agents/scripts/lib/orchestration/check-baselines/phases/report.js +3 -13
  274. package/.agents/scripts/lib/orchestration/check-state.js +92 -0
  275. package/.agents/scripts/lib/orchestration/ci-gap-intake.js +37 -144
  276. package/.agents/scripts/lib/orchestration/ci-rerun-guard.js +42 -189
  277. package/.agents/scripts/lib/orchestration/code-review.js +24 -128
  278. package/.agents/scripts/lib/orchestration/column-sync.js +23 -111
  279. package/.agents/scripts/lib/orchestration/complexity-gate.js +42 -214
  280. package/.agents/scripts/lib/orchestration/deliver-recover.js +36 -168
  281. package/.agents/scripts/lib/orchestration/dependency-analyzer.js +4 -35
  282. package/.agents/scripts/lib/orchestration/dependency-candidates.js +9 -41
  283. package/.agents/scripts/lib/orchestration/diff-magnitude.js +25 -115
  284. package/.agents/scripts/lib/orchestration/doc-reader.js +2 -6
  285. package/.agents/scripts/lib/orchestration/docs-digest.js +13 -51
  286. package/.agents/scripts/lib/orchestration/epic-candidates.js +13 -53
  287. package/.agents/scripts/lib/orchestration/epic-checklist.js +9 -33
  288. package/.agents/scripts/lib/orchestration/epic-container.js +41 -167
  289. package/.agents/scripts/lib/orchestration/epic-expansion.js +10 -40
  290. package/.agents/scripts/lib/orchestration/epic-rollup.js +55 -207
  291. package/.agents/scripts/lib/orchestration/file-assumption-enum.js +2 -22
  292. package/.agents/scripts/lib/orchestration/file-assumptions.js +45 -253
  293. package/.agents/scripts/lib/orchestration/git-cleanup/phases/branches-detect.js +9 -46
  294. package/.agents/scripts/lib/orchestration/git-cleanup/phases/branches-reap.js +7 -57
  295. package/.agents/scripts/lib/orchestration/git-cleanup/phases/branches.js +21 -126
  296. package/.agents/scripts/lib/orchestration/git-cleanup/phases/cli.js +2 -6
  297. package/.agents/scripts/lib/orchestration/git-cleanup/phases/fast-forward.js +1 -4
  298. package/.agents/scripts/lib/orchestration/git-cleanup/phases/filters.js +1 -5
  299. package/.agents/scripts/lib/orchestration/git-cleanup/phases/git-probes-ff.js +9 -34
  300. package/.agents/scripts/lib/orchestration/git-cleanup/phases/git-probes.js +41 -190
  301. package/.agents/scripts/lib/orchestration/git-cleanup/phases/merged-tip.js +9 -45
  302. package/.agents/scripts/lib/orchestration/git-cleanup/phases/parse-args.js +1 -4
  303. package/.agents/scripts/lib/orchestration/git-cleanup/phases/phase-drivers.js +19 -85
  304. package/.agents/scripts/lib/orchestration/git-cleanup/phases/prompts.js +3 -17
  305. package/.agents/scripts/lib/orchestration/git-cleanup/phases/prune.js +1 -5
  306. package/.agents/scripts/lib/orchestration/git-cleanup/phases/render.js +16 -100
  307. package/.agents/scripts/lib/orchestration/git-cleanup/phases/stashes.js +1 -4
  308. package/.agents/scripts/lib/orchestration/lease-guard-shared.js +16 -67
  309. package/.agents/scripts/lib/orchestration/lifecycle/emit-ledger-event.js +9 -33
  310. package/.agents/scripts/lib/orchestration/lifecycle/emit-merge-flip-failed.js +8 -29
  311. package/.agents/scripts/lib/orchestration/lifecycle/emit-merge-unlanded.js +15 -68
  312. package/.agents/scripts/lib/orchestration/light-backstop.js +11 -49
  313. package/.agents/scripts/lib/orchestration/light-escalation.js +21 -89
  314. package/.agents/scripts/lib/orchestration/light-suitability.js +26 -231
  315. package/.agents/scripts/lib/orchestration/merge-block-class.js +39 -216
  316. package/.agents/scripts/lib/orchestration/merge-poll.js +104 -377
  317. package/.agents/scripts/lib/orchestration/merge-queue.js +158 -0
  318. package/.agents/scripts/lib/orchestration/pinned-identifier-lint.js +17 -57
  319. package/.agents/scripts/lib/orchestration/plan-context.js +52 -303
  320. package/.agents/scripts/lib/orchestration/plan-critic-conditions.js +22 -79
  321. package/.agents/scripts/lib/orchestration/plan-critics-evaluate.js +5 -31
  322. package/.agents/scripts/lib/orchestration/plan-metrics.js +29 -108
  323. package/.agents/scripts/lib/orchestration/plan-navigation.js +8 -27
  324. package/.agents/scripts/lib/orchestration/plan-persist/acceptance-handle-repair.js +12 -49
  325. package/.agents/scripts/lib/orchestration/plan-persist/audit-provenance.js +18 -73
  326. package/.agents/scripts/lib/orchestration/plan-persist/changes-repair.js +14 -78
  327. package/.agents/scripts/lib/orchestration/plan-persist/cross-plan-links.js +6 -30
  328. package/.agents/scripts/lib/orchestration/plan-persist/epic-adoption.js +14 -65
  329. package/.agents/scripts/lib/orchestration/plan-persist/epic-ops.js +21 -76
  330. package/.agents/scripts/lib/orchestration/plan-persist/external-deps.js +6 -43
  331. package/.agents/scripts/lib/orchestration/plan-persist/persist-helpers.js +14 -68
  332. package/.agents/scripts/lib/orchestration/plan-persist/plan-context-source.js +9 -41
  333. package/.agents/scripts/lib/orchestration/plan-persist/run-plan-persist.js +49 -248
  334. package/.agents/scripts/lib/orchestration/plan-persist/soft-findings.js +2 -12
  335. package/.agents/scripts/lib/orchestration/plan-persist/story-ops.js +85 -368
  336. package/.agents/scripts/lib/orchestration/plan-persist/summary.js +8 -38
  337. package/.agents/scripts/lib/orchestration/plan-persist/supersede-ops.js +30 -190
  338. package/.agents/scripts/lib/orchestration/plan-persist/wave-collision-gate.js +9 -49
  339. package/.agents/scripts/lib/orchestration/plan-persist/wave-serialisation.js +7 -28
  340. package/.agents/scripts/lib/orchestration/plan-reachability.js +13 -42
  341. package/.agents/scripts/lib/orchestration/plan-run-labels/reap.js +16 -91
  342. package/.agents/scripts/lib/orchestration/plan-runner/worktree-sweep.js +16 -54
  343. package/.agents/scripts/lib/orchestration/plan-text-hygiene.js +10 -52
  344. package/.agents/scripts/lib/orchestration/planning/authoring-context.js +14 -109
  345. package/.agents/scripts/lib/orchestration/planning/memory-pool-advisory.js +11 -83
  346. package/.agents/scripts/lib/orchestration/pr-watch.js +48 -306
  347. package/.agents/scripts/lib/orchestration/project-meta-cache.js +15 -80
  348. package/.agents/scripts/lib/orchestration/project-meta-resolver.js +10 -51
  349. package/.agents/scripts/lib/orchestration/reassert-status-column.js +12 -76
  350. package/.agents/scripts/lib/orchestration/remote-verifier.js +12 -36
  351. package/.agents/scripts/lib/orchestration/resolve-stories.js +33 -164
  352. package/.agents/scripts/lib/orchestration/retro-proposals.js +66 -361
  353. package/.agents/scripts/lib/orchestration/review-base-ref.js +9 -43
  354. package/.agents/scripts/lib/orchestration/review-depth.js +12 -94
  355. package/.agents/scripts/lib/orchestration/review-providers/codex.js +10 -111
  356. package/.agents/scripts/lib/orchestration/review-providers/degraded-gates.js +13 -71
  357. package/.agents/scripts/lib/orchestration/review-providers/findings-renderer.js +7 -51
  358. package/.agents/scripts/lib/orchestration/review-providers/mi-exemptions.js +8 -53
  359. package/.agents/scripts/lib/orchestration/review-providers/native.js +30 -214
  360. package/.agents/scripts/lib/orchestration/review-providers/parse-findings.js +7 -52
  361. package/.agents/scripts/lib/orchestration/review-providers/review-depth.js +4 -33
  362. package/.agents/scripts/lib/orchestration/review-providers/review-provider-factory.js +11 -71
  363. package/.agents/scripts/lib/orchestration/review-providers/scoped-lint.js +19 -131
  364. package/.agents/scripts/lib/orchestration/review-providers/security-review.js +6 -89
  365. package/.agents/scripts/lib/orchestration/review-providers/types.js +26 -56
  366. package/.agents/scripts/lib/orchestration/review-providers/ultrareview.js +3 -46
  367. package/.agents/scripts/lib/orchestration/run-epilogue.js +40 -199
  368. package/.agents/scripts/lib/orchestration/run-scoped-config.js +13 -81
  369. package/.agents/scripts/lib/orchestration/single-story-close/close-note.js +7 -34
  370. package/.agents/scripts/lib/orchestration/single-story-close/failed-terminal.js +16 -89
  371. package/.agents/scripts/lib/orchestration/single-story-close/gate-log.js +18 -109
  372. package/.agents/scripts/lib/orchestration/single-story-close/phases/auto-merge.js +190 -280
  373. package/.agents/scripts/lib/orchestration/single-story-close/phases/base-sync.js +18 -80
  374. package/.agents/scripts/lib/orchestration/single-story-close/phases/close-validation.js +103 -97
  375. package/.agents/scripts/lib/orchestration/single-story-close/phases/code-review.js +8 -64
  376. package/.agents/scripts/lib/orchestration/single-story-close/phases/confirm-merge.js +183 -485
  377. package/.agents/scripts/lib/orchestration/single-story-close/phases/conventional-subject.js +30 -134
  378. package/.agents/scripts/lib/orchestration/single-story-close/phases/graphql-preflight.js +9 -50
  379. package/.agents/scripts/lib/orchestration/single-story-close/phases/lock-wait-pending.js +49 -0
  380. package/.agents/scripts/lib/orchestration/single-story-close/phases/normalize-pr-title.js +13 -86
  381. package/.agents/scripts/lib/orchestration/single-story-close/phases/options.js +20 -95
  382. package/.agents/scripts/lib/orchestration/single-story-close/phases/post-land.js +46 -203
  383. package/.agents/scripts/lib/orchestration/single-story-close/phases/pre-gate-steps.js +8 -50
  384. package/.agents/scripts/lib/orchestration/single-story-close/phases/pull-request.js +12 -83
  385. package/.agents/scripts/lib/orchestration/single-story-close/phases/push.js +6 -39
  386. package/.agents/scripts/lib/orchestration/single-story-close/phases/review-block.js +1 -6
  387. package/.agents/scripts/lib/orchestration/single-story-close/phases/review-outcome.js +4 -28
  388. package/.agents/scripts/lib/orchestration/single-story-close/phases/review-override.js +6 -51
  389. package/.agents/scripts/lib/orchestration/single-story-close/phases/worktree-reap.js +6 -34
  390. package/.agents/scripts/lib/orchestration/single-story-close/phases/wrong-tree-guard.js +23 -121
  391. package/.agents/scripts/lib/orchestration/single-story-close/runner.js +110 -290
  392. package/.agents/scripts/lib/orchestration/single-story-lease-guard.js +15 -69
  393. package/.agents/scripts/lib/orchestration/story-body-gate.js +4 -23
  394. package/.agents/scripts/lib/orchestration/story-close/baseline-upward-writeback.js +50 -179
  395. package/.agents/scripts/lib/orchestration/story-close/context-budget-writeback.js +11 -41
  396. package/.agents/scripts/lib/orchestration/story-close/format-autofix.js +23 -311
  397. package/.agents/scripts/lib/orchestration/story-close/phases/local-lens-review.js +22 -147
  398. package/.agents/scripts/lib/orchestration/story-close/phases/review-core.js +16 -67
  399. package/.agents/scripts/lib/orchestration/story-deliver-terminal-schema.js +12 -68
  400. package/.agents/scripts/lib/orchestration/story-deliver-terminal.js +42 -201
  401. package/.agents/scripts/lib/orchestration/story-follow-ups.js +43 -245
  402. package/.agents/scripts/lib/orchestration/story-init-envelope.js +4 -23
  403. package/.agents/scripts/lib/orchestration/story-init-remote.js +2 -6
  404. package/.agents/scripts/lib/orchestration/story-reachability.js +3 -23
  405. package/.agents/scripts/lib/orchestration/task-body-validator.js +12 -126
  406. package/.agents/scripts/lib/orchestration/ticket-lease.js +28 -131
  407. package/.agents/scripts/lib/orchestration/ticket-validator-conflicts.js +15 -149
  408. package/.agents/scripts/lib/orchestration/ticket-validator-sizing.js +5 -33
  409. package/.agents/scripts/lib/orchestration/ticket-validator.js +39 -181
  410. package/.agents/scripts/lib/orchestration/ticketing/bulk.js +51 -244
  411. package/.agents/scripts/lib/orchestration/ticketing/reads.js +39 -250
  412. package/.agents/scripts/lib/orchestration/ticketing/state.js +14 -68
  413. package/.agents/scripts/lib/orchestration/ticketing/transition.js +46 -263
  414. package/.agents/scripts/lib/orchestration/ticketing.js +2 -26
  415. package/.agents/scripts/lib/orchestration/verify-credit.js +18 -79
  416. package/.agents/scripts/lib/orchestration/worktree-dirty.js +5 -30
  417. package/.agents/scripts/lib/path-security.js +3 -6
  418. package/.agents/scripts/lib/plan-phase-cleanup.js +9 -49
  419. package/.agents/scripts/lib/preflight-runner.js +13 -69
  420. package/.agents/scripts/lib/process-group.js +143 -0
  421. package/.agents/scripts/lib/project-root.js +2 -8
  422. package/.agents/scripts/lib/provider-factory.js +2 -25
  423. package/.agents/scripts/lib/qa/console-allowlist.js +10 -59
  424. package/.agents/scripts/lib/qa/qa-session.js +15 -69
  425. package/.agents/scripts/lib/qa/redact-evidence.js +18 -129
  426. package/.agents/scripts/lib/qa/resolve-qa-contract.js +26 -135
  427. package/.agents/scripts/lib/qa/resolve-selection.js +16 -84
  428. package/.agents/scripts/lib/reserved-test-ids.js +9 -47
  429. package/.agents/scripts/lib/runtime-deps/dep-resolution.js +13 -53
  430. package/.agents/scripts/lib/runtime-deps/ensure-installed.js +10 -44
  431. package/.agents/scripts/lib/runtime-deps/manifest.js +10 -30
  432. package/.agents/scripts/lib/runtime-deps/parser-major.js +15 -51
  433. package/.agents/scripts/lib/runtime-deps/preflight.js +4 -22
  434. package/.agents/scripts/lib/runtime-deps/scan-imports.js +11 -55
  435. package/.agents/scripts/lib/signals/detectors/common.js +12 -38
  436. package/.agents/scripts/lib/signals/index.js +2 -19
  437. package/.agents/scripts/lib/signals/schema.js +14 -109
  438. package/.agents/scripts/lib/signals/write.js +2 -11
  439. package/.agents/scripts/lib/single-story/confirm-merge.js +31 -72
  440. package/.agents/scripts/lib/single-story/story-merged-notify.js +8 -49
  441. package/.agents/scripts/lib/single-story-sweep/protection-ctx.js +4 -26
  442. package/.agents/scripts/lib/single-story-sweep/protection.js +13 -100
  443. package/.agents/scripts/lib/single-story-sweep/sweep-lock.js +60 -258
  444. package/.agents/scripts/lib/single-story-sweep.js +14 -97
  445. package/.agents/scripts/lib/skills/parse-skill.js +13 -59
  446. package/.agents/scripts/lib/skills/skills-index.js +8 -29
  447. package/.agents/scripts/lib/skills/walk-skill-files.js +17 -78
  448. package/.agents/scripts/lib/source-extensions.js +11 -42
  449. package/.agents/scripts/lib/source-text/strip-js-comments.js +8 -41
  450. package/.agents/scripts/lib/stdio-flush.js +9 -36
  451. package/.agents/scripts/lib/story-adjacency.js +8 -40
  452. package/.agents/scripts/lib/story-body/body-format-lints.js +22 -83
  453. package/.agents/scripts/lib/story-body/footer-block.js +11 -44
  454. package/.agents/scripts/lib/story-body/story-body.js +83 -358
  455. package/.agents/scripts/lib/temp-retention.js +42 -143
  456. package/.agents/scripts/lib/templates/decomposer-prompts.js +11 -65
  457. package/.agents/scripts/lib/test-env.js +12 -65
  458. package/.agents/scripts/lib/test-run-credit.js +10 -65
  459. package/.agents/scripts/lib/test-runner-contract.js +19 -74
  460. package/.agents/scripts/lib/test-temp.js +38 -184
  461. package/.agents/scripts/lib/test-tiers.js +12 -96
  462. package/.agents/scripts/lib/ticket-body-sections.js +21 -96
  463. package/.agents/scripts/lib/transpile.js +15 -74
  464. package/.agents/scripts/lib/util/concurrent-map.js +6 -25
  465. package/.agents/scripts/lib/util/parse-id-list.js +8 -34
  466. package/.agents/scripts/lib/util/poll-loop.js +8 -28
  467. package/.agents/scripts/lib/util/with-timeout.js +2 -11
  468. package/.agents/scripts/lib/validation-evidence.js +21 -96
  469. package/.agents/scripts/lib/wave-runner/footprint.js +17 -70
  470. package/.agents/scripts/lib/wave-runner/live-probe.js +53 -221
  471. package/.agents/scripts/lib/wave-runner/ready-set.js +72 -301
  472. package/.agents/scripts/lib/workers/crap-worker.js +11 -64
  473. package/.agents/scripts/lib/workers/maintainability-report-worker.js +8 -45
  474. package/.agents/scripts/lib/workers/maintainability-worker.js +5 -21
  475. package/.agents/scripts/lib/workers/serve-worker-messages.js +2 -18
  476. package/.agents/scripts/lib/workflow-closure.js +22 -105
  477. package/.agents/scripts/lib/workspace-provisioner.js +16 -54
  478. package/.agents/scripts/lib/worktree/git-hooks.js +15 -60
  479. package/.agents/scripts/lib/worktree/lifecycle/force-drain.js +20 -60
  480. package/.agents/scripts/lib/worktree/lifecycle/merge-reachability.js +10 -62
  481. package/.agents/scripts/lib/worktree/lifecycle/pending-cleanup.js +22 -86
  482. package/.agents/scripts/lib/worktree/lifecycle/reap.js +24 -126
  483. package/.agents/scripts/lib/worktree/lifecycle-manager.js +2 -20
  484. package/.agents/scripts/lib/worktree/node-modules-strategy.js +46 -180
  485. package/.agents/scripts/lib/worktree-manager.js +15 -40
  486. package/.agents/scripts/lint-issue-body.js +12 -68
  487. package/.agents/scripts/mandrel-update-preflight.js +10 -70
  488. package/.agents/scripts/merge-baseline.js +30 -104
  489. package/.agents/scripts/nav-registry-diff.js +22 -108
  490. package/.agents/scripts/notify.js +12 -69
  491. package/.agents/scripts/plan-context.js +27 -111
  492. package/.agents/scripts/plan-critics.js +12 -66
  493. package/.agents/scripts/plan-persist.js +31 -148
  494. package/.agents/scripts/plan-run-epilogue.js +11 -37
  495. package/.agents/scripts/pr-watch-with-update.js +76 -267
  496. package/.agents/scripts/providers/github/auth.js +3 -8
  497. package/.agents/scripts/providers/github/blocked-by-add.js +14 -61
  498. package/.agents/scripts/providers/github/board-add.js +5 -21
  499. package/.agents/scripts/providers/github/branch-protection.js +11 -43
  500. package/.agents/scripts/providers/github/cache.js +2 -14
  501. package/.agents/scripts/providers/github/comments.js +7 -40
  502. package/.agents/scripts/providers/github/compose.js +3 -19
  503. package/.agents/scripts/providers/github/errors.js +22 -125
  504. package/.agents/scripts/providers/github/issues.js +31 -123
  505. package/.agents/scripts/providers/github/labels.js +24 -124
  506. package/.agents/scripts/providers/github/mappers.js +5 -27
  507. package/.agents/scripts/providers/github/merge-methods.js +3 -22
  508. package/.agents/scripts/providers/github/project-board.js +2 -17
  509. package/.agents/scripts/providers/github/projects-v2-graphql.js +3 -6
  510. package/.agents/scripts/providers/github/request-helpers.js +5 -32
  511. package/.agents/scripts/providers/github/search-budget.js +9 -39
  512. package/.agents/scripts/providers/github/search-query.js +5 -26
  513. package/.agents/scripts/providers/github/sub-issue-add.js +15 -65
  514. package/.agents/scripts/providers/github/sub-issues.js +7 -36
  515. package/.agents/scripts/providers/github/tickets.js +32 -134
  516. package/.agents/scripts/providers/github.js +18 -59
  517. package/.agents/scripts/prune-plan-run-labels.js +12 -46
  518. package/.agents/scripts/quality-preview.js +35 -220
  519. package/.agents/scripts/resolve-doc-tiers.js +3 -26
  520. package/.agents/scripts/resolve-stories.js +16 -67
  521. package/.agents/scripts/resync-status-column.js +6 -25
  522. package/.agents/scripts/run-tests.js +29 -104
  523. package/.agents/scripts/single-story-close.js +23 -135
  524. package/.agents/scripts/single-story-confirm-merge.js +32 -139
  525. package/.agents/scripts/single-story-init.js +47 -209
  526. package/.agents/scripts/stories-wave-tick.js +102 -472
  527. package/.agents/scripts/sync-agentrc.js +3 -21
  528. package/.agents/scripts/sync-claude-agents.js +9 -55
  529. package/.agents/scripts/sync-claude-commands.js +20 -110
  530. package/.agents/scripts/test-wrapper.js +6 -43
  531. package/.agents/scripts/update-coverage-baseline.js +5 -22
  532. package/.agents/scripts/update-crap-baseline.js +7 -30
  533. package/.agents/scripts/update-duplication-baseline.js +16 -92
  534. package/.agents/scripts/update-maintainability-baseline.js +8 -62
  535. package/.agents/scripts/update-ticket-state.js +1 -7
  536. package/.agents/scripts/validate-skills.js +6 -26
  537. package/.agents/templates/agent-protocol.md +2 -2
  538. package/.agents/templates/docs/audit-sweep-runbook.md +3 -4
  539. package/.agents/workflows/audit-accessibility.md +4 -7
  540. package/.agents/workflows/audit-adrs.md +3 -6
  541. package/.agents/workflows/audit-architecture.md +3 -11
  542. package/.agents/workflows/audit-baselines.md +6 -9
  543. package/.agents/workflows/audit-clean-code.md +8 -12
  544. package/.agents/workflows/audit-data-model.md +3 -7
  545. package/.agents/workflows/audit-dependencies.md +4 -7
  546. package/.agents/workflows/audit-devops.md +4 -8
  547. package/.agents/workflows/audit-documentation.md +1 -4
  548. package/.agents/workflows/audit-mobile.md +4 -7
  549. package/.agents/workflows/audit-navigability.md +3 -6
  550. package/.agents/workflows/audit-performance.md +2 -4
  551. package/.agents/workflows/audit-privacy.md +4 -7
  552. package/.agents/workflows/audit-quality.md +4 -7
  553. package/.agents/workflows/audit-security.md +4 -7
  554. package/.agents/workflows/audit-seo.md +4 -7
  555. package/.agents/workflows/audit-sre.md +4 -7
  556. package/.agents/workflows/audit-to-stories.md +17 -30
  557. package/.agents/workflows/audit-ux-ui.md +4 -7
  558. package/.agents/workflows/helpers/audit-lens-core.md +1 -1
  559. package/.agents/workflows/helpers/code-quality-guardrails.md +12 -15
  560. package/.agents/workflows/helpers/deliver-digest.md +6 -4
  561. package/.agents/workflows/helpers/deliver-reference.md +114 -188
  562. package/.agents/workflows/helpers/deliver-story-reference.md +189 -533
  563. package/.agents/workflows/helpers/plan-reference.md +86 -139
  564. package/.agents/workflows/helpers/qa-core.md +12 -0
  565. package/.agents/workflows/memory-consolidate.md +1 -1
  566. package/.agents/workflows/qa-assist.md +27 -71
  567. package/.agents/workflows/qa-explore.md +19 -59
  568. package/.agents/workflows/qa-run.md +11 -33
  569. package/README.md +1 -1
  570. package/bin/mandrel.js +5 -46
  571. package/bin/postinstall.js +18 -107
  572. package/docs/CHANGELOG.md +32 -0
  573. package/lib/cli/doctor.js +11 -71
  574. package/lib/cli/init.js +26 -165
  575. package/lib/cli/migrate.js +5 -64
  576. package/lib/cli/registry.js +84 -467
  577. package/lib/cli/sync-agents.js +4 -64
  578. package/lib/cli/sync-commands.js +11 -64
  579. package/lib/cli/sync.js +34 -213
  580. package/lib/cli/uninstall.js +40 -219
  581. package/lib/cli/update.js +105 -661
  582. package/lib/cli/version-check.js +8 -72
  583. package/lib/cli/version-helpers.js +14 -87
  584. package/lib/migrations/helpers/retire-agentrc-key.js +11 -52
  585. package/lib/migrations/index.js +15 -92
  586. package/lib/migrations/steps/2.1.0-retire-mi-drop-knobs.js +2 -15
  587. package/lib/migrations/steps/2.1.0-retire-verify-concurrency-cap.js +1 -13
  588. package/lib/migrations/steps/2.11.0-retire-max-seed-words.js +2 -15
  589. package/lib/migrations/steps/2.2.0-retire-epic-ac-tags.js +9 -38
  590. package/lib/migrations/steps/2.20.0-retire-codebase-snapshot.js +1 -13
  591. package/lib/migrations/steps/2.32.0-retire-lint-baseline-command.js +2 -27
  592. package/lib/migrations/steps/2.57.0-retire-delivery-limit-knobs.js +2 -23
  593. package/lib/migrations/steps/2.57.0-retire-planning-limit-knobs.js +2 -27
  594. package/lib/migrations/steps/2.60.0-retire-audit-results-autofile.js +2 -21
  595. package/lib/migrations/steps/strip-removed-agentrc-keys.js +333 -0
  596. package/package.json +16 -14
  597. package/.agents/docs/SDLC.md +0 -590
  598. package/.agents/docs/quality-gates.md +0 -1183
  599. package/.agents/rules/known-tooling-behavior.md +0 -200
  600. package/.agents/rules/orchestration-error-handling.md +0 -61
  601. package/.agents/rules/test-seams.md +0 -59
  602. package/.agents/schemas/baselines/lighthouse.schema.json +0 -59
  603. package/.agents/schemas/baselines/lint.schema.json +0 -47
  604. package/.agents/scripts/check-action-pinning.js +0 -260
  605. package/.agents/scripts/check-audit-attribution.js +0 -302
  606. package/.agents/scripts/check-baseline-drift.js +0 -211
  607. package/.agents/scripts/check-baseline-scope.js +0 -362
  608. package/.agents/scripts/check-generated-validator.js +0 -202
  609. package/.agents/scripts/check-knip-entries.js +0 -159
  610. package/.agents/scripts/check-lifecycle-lint.js +0 -294
  611. package/.agents/scripts/check-pinned-override-notes.js +0 -102
  612. package/.agents/scripts/check-schema-references.js +0 -368
  613. package/.agents/scripts/check-test-portability.js +0 -512
  614. package/.agents/scripts/check-workflow-citations.js +0 -218
  615. package/.agents/scripts/check-workflow-cli-lint.js +0 -299
  616. package/.agents/scripts/check-workflow-timeouts.js +0 -291
  617. package/.agents/scripts/install-matrix-assert.js +0 -326
  618. package/.agents/scripts/lib/audit-advisories.js +0 -195
  619. package/.agents/scripts/lib/audit-attribution.js +0 -134
  620. package/.agents/scripts/lib/baselines/drift-detector.js +0 -351
  621. package/.agents/scripts/lib/baselines/kinds/lighthouse.js +0 -87
  622. package/.agents/scripts/lib/baselines/kinds/lint.js +0 -184
  623. package/.agents/scripts/lib/baselines/orphan-pruner.js +0 -233
  624. package/.agents/scripts/lib/baselines/scope-assert.js +0 -223
  625. package/.agents/scripts/lib/baselines/scope-inventory.js +0 -314
  626. package/.agents/scripts/lib/c8-cli-path.js +0 -21
  627. package/.agents/scripts/lib/config/gates/lighthouse.schema.js +0 -51
  628. package/.agents/scripts/lib/config/gates/lint.schema.js +0 -18
  629. package/.agents/scripts/lib/dynamic-workflow/architecture-report-contract.js +0 -70
  630. package/.agents/scripts/lib/dynamic-workflow/audit-orchestrator.js +0 -284
  631. package/.agents/scripts/lib/dynamic-workflow/clean-code-report-contract.js +0 -80
  632. package/.agents/scripts/lib/dynamic-workflow/degraded-coverage.js +0 -81
  633. package/.agents/scripts/lib/dynamic-workflow/documentation-report-contract.js +0 -87
  634. package/.agents/scripts/lib/dynamic-workflow/performance-report-contract.js +0 -74
  635. package/.agents/scripts/lib/dynamic-workflow/quality-report-contract.js +0 -90
  636. package/.agents/scripts/lib/dynamic-workflow/report-contract-core.js +0 -43
  637. package/.agents/scripts/lib/dynamic-workflow/security-report-contract.js +0 -83
  638. package/.agents/scripts/lib/fs-walk.js +0 -52
  639. package/.agents/scripts/lib/knip-config-resolver.js +0 -181
  640. package/.agents/scripts/lib/knip-entry-sync.js +0 -452
  641. package/.agents/scripts/lib/pinned-override-notes.js +0 -88
  642. package/.agents/scripts/lib/pinned-override-resolve.js +0 -212
  643. package/.agents/scripts/lib/test-isolate/cli-options.js +0 -93
  644. package/.agents/scripts/lib/test-isolate/env-snapshot-loader.js +0 -52
  645. package/.agents/scripts/lib/test-isolate/list-files.js +0 -90
  646. package/.agents/scripts/lib/test-isolate/parse-tap.js +0 -75
  647. package/.agents/scripts/lib/test-isolate/progress-log.js +0 -45
  648. package/.agents/scripts/lib/test-isolate/render-report.js +0 -97
  649. package/.agents/scripts/lib/test-isolate/run-isolate.js +0 -87
  650. package/.agents/scripts/lib/test-isolate/runner.js +0 -483
  651. package/.agents/scripts/lib/test-profile/parse-tap.js +0 -136
  652. package/.agents/scripts/lib/test-profile/render-report.js +0 -45
  653. package/.agents/scripts/lint-label-vocabulary.js +0 -214
  654. package/.agents/scripts/post-structured-comment.js +0 -127
  655. package/.agents/scripts/provision-git-hooks.js +0 -85
  656. package/.agents/scripts/prune-baseline-orphans.js +0 -181
  657. package/.agents/scripts/run-coverage.js +0 -197
  658. package/.agents/scripts/run-lint.js +0 -133
  659. package/.agents/scripts/run-test-profile.js +0 -129
  660. package/.agents/scripts/run-verify.js +0 -125
  661. package/.agents/scripts/test-isolate.js +0 -55
  662. package/.agents/scripts/update-dead-exports-baseline.js +0 -321
@@ -6,17 +6,14 @@ description: Audit CI/CD workflows, container images, infrastructure-as-code, an
6
6
 
7
7
  You are a Principal DevOps Engineer & Infrastructure Architect auditing this
8
8
  repo's DevOps infrastructure, DX tooling, and CI/CD pipelines for
9
- inefficiencies, security risks, and modernization opportunities. The shared lens
10
- machinery — read-only constraint, scope interpretation, report envelope +
11
- finding-block skeleton, severity scale, self-cross-check, and execution
12
- strategy — lives in
9
+ inefficiencies, security risks, and modernization opportunities. The shared lens machinery lives in
13
10
  [`helpers/audit-lens-core.md`](helpers/audit-lens-core.md). Write the report to
14
11
  `{{auditOutputDir}}/audit-devops-results.md`. The report adds a **Proposed
15
12
  Implementation Roadmap** section (a logical, phased plan).
16
13
 
17
14
  ## Scope
18
15
 
19
- Interpret this lens's change-set fence per the core's Scope interpretation:
16
+ Per the core's Scope interpretation:
20
17
 
21
18
  ```text
22
19
  {{changedFiles}}
@@ -24,9 +21,8 @@ Interpret this lens's change-set fence per the core's Scope interpretation:
24
21
 
25
22
  ## Execution strategy
26
23
 
27
- Run this lens as a single `subagent_type: auditor` dispatch returning the report
28
- path + Executive Summary; sequential inline execution is the fallback (see the
29
- core's Execution strategy).
24
+ Run this lens as one `subagent_type: auditor` dispatch per the core's
25
+ Execution strategy.
30
26
 
31
27
  ## Step 1: Detection Battery (Read-Only, Tool-First)
32
28
 
@@ -10,10 +10,7 @@ renamed, scripts move, workflows change shape, version/topology claims go stale.
10
10
  The deterministic gates (`check-doc-links.js` and the generators' `--check`
11
11
  mode) catch broken links and generator drift — they cannot tell whether the
12
12
  prose still describes how the code actually behaves. That semantic
13
- verification is this lens's job. The
14
- shared lens machinery — read-only constraint, scope interpretation, report
15
- envelope + finding-block skeleton, severity scale, self-cross-check, and
16
- execution strategy — lives in
13
+ verification is this lens's job. The shared lens machinery lives in
17
14
  [`helpers/audit-lens-core.md`](helpers/audit-lens-core.md). Write the report to
18
15
  `{{auditOutputDir}}/audit-documentation-results.md`. Each finding carries a
19
16
  **Category:** (`Broken Instruction | Stale Description | Missing Coverage |
@@ -8,9 +8,7 @@ You are a Senior Mobile Web Engineer holding the frontend to its **small-screen
8
8
  and touch contract**: does every surface lay out, scroll, and answer a finger on
9
9
  a phone and a tablet — and does anything in the suite actually verify that it
10
10
  does? Default to **static** detection over source; escalate to a **runtime**
11
- viewport pass only when a live target is configured. The shared lens machinery —
12
- read-only constraint, scope interpretation, report envelope + finding-block
13
- skeleton, severity scale, self-cross-check, and execution strategy — lives in
11
+ viewport pass only when a live target is configured. The shared lens machinery lives in
14
12
  [`helpers/audit-lens-core.md`](helpers/audit-lens-core.md). Write the report to
15
13
  `{{auditOutputDir}}/audit-mobile-results.md`. Dimension values:
16
14
  `Layout & Viewport | Touch Ergonomics | Responsive Assets | Mobile Verification`.
@@ -55,7 +53,7 @@ small-screen or touch defect; defer the rest so the suite never double-reports:
55
53
 
56
54
  ## Scope
57
55
 
58
- Interpret this lens's change-set fence per the core's Scope interpretation:
56
+ Per the core's Scope interpretation:
59
57
 
60
58
  ```text
61
59
  {{changedFiles}}
@@ -63,9 +61,8 @@ Interpret this lens's change-set fence per the core's Scope interpretation:
63
61
 
64
62
  ## Execution strategy
65
63
 
66
- Run this lens as a single `subagent_type: auditor` dispatch returning the report
67
- path + Executive Summary; sequential inline execution is the fallback (see the
68
- core's Execution strategy).
64
+ Run this lens as one `subagent_type: auditor` dispatch per the core's
65
+ Execution strategy.
69
66
 
70
67
  ## Step 0: Discover the responsive baseline (run first)
71
68
 
@@ -16,9 +16,7 @@ nav-registry entry surfaces it for any persona — only a hardcoded deep-link
16
16
  reaches it) and the **dead nav href** (a nav entry points at a route that does
17
17
  not exist). This is **mechanism, not content**: the lens reads the consumer's
18
18
  configured route tree and nav-registry SSOT and is a **silent no-op when neither
19
- is configured**. The shared lens machinery — read-only constraint, scope
20
- interpretation, report envelope + finding-block skeleton, severity scale,
21
- self-cross-check, and execution strategy — lives in
19
+ is configured**. The shared lens machinery lives in
22
20
  [`helpers/audit-lens-core.md`](helpers/audit-lens-core.md). Write the report to
23
21
  `{{auditOutputDir}}/audit-navigability-results.md`. Dimension values:
24
22
  `Orphaned Route | Dead Nav Href`; extra finding fields **Route / Door:** and
@@ -61,9 +59,8 @@ a foreign change set leak into a scoped lens.
61
59
 
62
60
  ## Execution strategy
63
61
 
64
- Run this lens as a single `subagent_type: auditor` dispatch returning the report
65
- path + Executive Summary; sequential inline execution is the fallback (see the
66
- core's Execution strategy).
62
+ Run this lens as one `subagent_type: auditor` dispatch per the core's
63
+ Execution strategy.
67
64
 
68
65
  ## Configuration
69
66
 
@@ -11,9 +11,7 @@ read-through: **measure before you judge** (a claim with no profile/timing/byte
11
11
  count is a hypothesis, not a finding); **adapt to the repo profile** (activate
12
12
  only the dimensions that apply, declaring the rest inapplicable); and
13
13
  **interleaving correctness is a performance concern** (races have been the most
14
- expensive defects this repo shipped). The shared lens machinery — read-only
15
- constraint, scope interpretation, report envelope + finding-block skeleton,
16
- severity scale, self-cross-check, and execution strategy — lives in
14
+ expensive defects this repo shipped). The shared lens machinery lives in
17
15
  [`helpers/audit-lens-core.md`](helpers/audit-lens-core.md). Write the report to
18
16
  `{{auditOutputDir}}/audit-performance-results.md`. Extra finding field:
19
17
  **Evidence:** [a Step 0 repro command (or quoted code path) + a `measured` or
@@ -21,7 +19,7 @@ severity scale, self-cross-check, and execution strategy — lives in
21
19
 
22
20
  ## Scope
23
21
 
24
- Interpret this lens's change-set fence per the core's Scope interpretation:
22
+ Per the core's Scope interpretation:
25
23
 
26
24
  ```text
27
25
  {{changedFiles}}
@@ -6,9 +6,7 @@ description: Audit logs, telemetry, and persistence paths for PII leakage and re
6
6
 
7
7
  You are a Data Privacy Officer & Security Engineer finding accidental logging,
8
8
  insecure storage, or unnecessary collection of PII, and checking GDPR/CCPA
9
- compliance. The shared lens machinery — read-only constraint, scope
10
- interpretation, report envelope + finding-block skeleton, severity scale,
11
- self-cross-check, and execution strategy — lives in
9
+ compliance. The shared lens machinery lives in
12
10
  [`helpers/audit-lens-core.md`](helpers/audit-lens-core.md). Write the report to
13
11
  `{{auditOutputDir}}/audit-privacy-results.md`. This lens labels the severity
14
12
  axis **Impact** and uses dimension values `Leaky Log | Insecure Storage | Data
@@ -17,7 +15,7 @@ Encryption / Logging Safety / Minimization: Pass/Fail/Partial).
17
15
 
18
16
  ## Scope
19
17
 
20
- Interpret this lens's change-set fence per the core's Scope interpretation:
18
+ Per the core's Scope interpretation:
21
19
 
22
20
  ```text
23
21
  {{changedFiles}}
@@ -25,9 +23,8 @@ Interpret this lens's change-set fence per the core's Scope interpretation:
25
23
 
26
24
  ## Execution strategy
27
25
 
28
- Run this lens as a single `subagent_type: auditor` dispatch returning the report
29
- path + Executive Summary; sequential inline execution is the fallback (see the
30
- core's Execution strategy).
26
+ Run this lens as one `subagent_type: auditor` dispatch per the core's
27
+ Execution strategy.
31
28
 
32
29
  ## Step 1: Sink-First Detection
33
30
 
@@ -7,9 +7,7 @@ description: Audit test coverage gaps, flaky tests, missing assertions, and test
7
7
  You are a Principal SDET & Quality Architect auditing the repository's testing
8
8
  infrastructure, coverage, flaky tests, mocking strategy, and test-pyramid
9
9
  balance — and, in Story-scoped mode, evaluating the implemented tests against
10
- the Story under audit. The shared lens machinery — read-only constraint, scope
11
- interpretation, report envelope + finding-block skeleton, severity scale,
12
- self-cross-check, and execution strategy — lives in
10
+ the Story under audit. The shared lens machinery lives in
13
11
  [`helpers/audit-lens-core.md`](helpers/audit-lens-core.md). Write the report to
14
12
  `{{auditOutputDir}}/audit-quality-results.md`. Each finding carries a
15
13
  **Category:** (`Flakiness | Coverage | Performance | Mocking | Test Plans`); the
@@ -18,7 +16,7 @@ Test Plans: Healthy / Needs Work / Missing).
18
16
 
19
17
  ## Scope
20
18
 
21
- Interpret this lens's change-set fence per the core's Scope interpretation:
19
+ Per the core's Scope interpretation:
22
20
 
23
21
  ```text
24
22
  {{changedFiles}}
@@ -26,9 +24,8 @@ Interpret this lens's change-set fence per the core's Scope interpretation:
26
24
 
27
25
  ## Execution strategy
28
26
 
29
- Run this lens as a single `subagent_type: auditor` dispatch returning the report
30
- path + Executive Summary; sequential inline execution is the fallback (see the
31
- core's Execution strategy).
27
+ Run this lens as one `subagent_type: auditor` dispatch per the core's
28
+ Execution strategy.
32
29
 
33
30
  ## Step 0 - Mode split + tool-first artifact read (mandatory)
34
31
 
@@ -7,9 +7,7 @@ command: false
7
7
 
8
8
  You are a Cybersecurity Architect & Penetration Tester conducting a
9
9
  comprehensive security review (OWASP Top 10, insecure configs, attack vectors).
10
- The shared lens machinery — read-only constraint, scope interpretation, report
11
- envelope + finding-block skeleton, severity scale, self-cross-check, and
12
- execution strategy — lives in
10
+ The shared lens machinery lives in
13
11
  [`helpers/audit-lens-core.md`](helpers/audit-lens-core.md). Write the report to
14
12
  `{{auditOutputDir}}/audit-security-results.md`. Extra finding fields: **CWE
15
13
  ID:** and **Baseline MUST:** (the violated `security-baseline.md` MUST). The
@@ -18,7 +16,7 @@ libraries to harden the app).
18
16
 
19
17
  ## Scope
20
18
 
21
- Interpret this lens's change-set fence per the core's Scope interpretation:
19
+ Per the core's Scope interpretation:
22
20
 
23
21
  ```text
24
22
  {{changedFiles}}
@@ -26,9 +24,8 @@ Interpret this lens's change-set fence per the core's Scope interpretation:
26
24
 
27
25
  ## Execution strategy
28
26
 
29
- Run this lens as a single `subagent_type: auditor` dispatch returning the report
30
- path + Executive Summary; sequential inline execution is the fallback (see the
31
- core's Execution strategy).
27
+ Run this lens as one `subagent_type: auditor` dispatch per the core's
28
+ Execution strategy.
32
29
 
33
30
  ## Rubric — `rules/security-baseline.md` is the contract
34
31
 
@@ -7,9 +7,7 @@ description: Audit SEO fundamentals and Generative Engine Optimization signals (
7
7
  You are a Senior Technical SEO & Generative Engine Optimization (GEO) Specialist
8
8
  (semantic HTML, JSON-LD Schema, Core Web Vitals) surfacing structural, semantic,
9
9
  and content-level improvements that increase discoverability in both traditional
10
- search indexes and AI answer engines. The shared lens machinery — read-only
11
- constraint, scope interpretation, report envelope + finding-block skeleton,
12
- severity scale, self-cross-check, and execution strategy — lives in
10
+ search indexes and AI answer engines. The shared lens machinery lives in
13
11
  [`helpers/audit-lens-core.md`](helpers/audit-lens-core.md). Write the report to
14
12
  `{{auditOutputDir}}/audit-seo-results.md`. Each finding carries a **Category:**
15
13
  (`SEO | GEO | Core Web Vitals | Crawlability`); the report adds a **Detailed
@@ -29,7 +27,7 @@ from an `.agentrc` key, and the probe fails open when indeterminate.
29
27
 
30
28
  ## Scope
31
29
 
32
- Interpret this lens's change-set fence per the core's Scope interpretation:
30
+ Per the core's Scope interpretation:
33
31
 
34
32
  ```text
35
33
  {{changedFiles}}
@@ -37,9 +35,8 @@ Interpret this lens's change-set fence per the core's Scope interpretation:
37
35
 
38
36
  ## Execution strategy
39
37
 
40
- Run this lens as a single `subagent_type: auditor` dispatch returning the report
41
- path + Executive Summary; sequential inline execution is the fallback (see the
42
- core's Execution strategy).
38
+ Run this lens as one `subagent_type: auditor` dispatch per the core's
39
+ Execution strategy.
43
40
 
44
41
  ## Step 0: Indexability gate (run first)
45
42
 
@@ -7,9 +7,7 @@ description: "Audit production-readiness for a release candidate: SLOs, observab
7
7
  You are a Senior SRE & Lead Developer running an operational-readiness audit for
8
8
  a production release candidate — rollback & recovery paths, observability &
9
9
  instrumentation, resilience & failure handling, and runbooks & operational
10
- docs. The shared lens machinery — read-only constraint, scope interpretation,
11
- report envelope + finding-block skeleton, severity scale, self-cross-check, and
12
- execution strategy — lives in
10
+ docs. The shared lens machinery lives in
13
11
  [`helpers/audit-lens-core.md`](helpers/audit-lens-core.md). Write the report to
14
12
  `{{auditOutputDir}}/audit-sre-results.md`. Each finding carries a **Category:**
15
13
  (`Rollback & Recovery | Observability | Resilience | Runbooks`); the report adds
@@ -18,7 +16,7 @@ Found).
18
16
 
19
17
  ## Scope
20
18
 
21
- Interpret this lens's change-set fence per the core's Scope interpretation:
19
+ Per the core's Scope interpretation:
22
20
 
23
21
  ```text
24
22
  {{changedFiles}}
@@ -26,9 +24,8 @@ Interpret this lens's change-set fence per the core's Scope interpretation:
26
24
 
27
25
  ## Execution strategy
28
26
 
29
- Run this lens as a single `subagent_type: auditor` dispatch returning the report
30
- path + Executive Summary; sequential inline execution is the fallback (see the
31
- core's Execution strategy).
27
+ Run this lens as one `subagent_type: auditor` dispatch per the core's
28
+ Execution strategy.
32
29
 
33
30
  ## Step 1: Resilience Detection Battery (Read-Only, Tool-First)
34
31
 
@@ -26,7 +26,7 @@ They remain read-only emitters of audit reports.
26
26
 
27
27
  1. At least one `audit-*-results.md` file under
28
28
  `temp/audits/` (or the path passed as the argument). Run a
29
- `/audit-<dimension>` or `/audit-fan-out` first if none are present.
29
+ `/audit-<dimension>` first if none are present.
30
30
  2. `GITHUB_TOKEN` or `gh auth status` clean — the dedupe and create
31
31
  steps both call GitHub.
32
32
  3. The `audit::<dimension>` label taxonomy bootstrapped via
@@ -37,8 +37,7 @@ They remain read-only emitters of audit reports.
37
37
 
38
38
  `/audit-to-stories [audit-file-or-glob]`
39
39
 
40
- - No argument → scans `temp/audits/audit-*-results.md`. The roll-up
41
- report `audit-fan-out-results.md` is intentionally skipped.
40
+ - No argument → scans `temp/audits/audit-*-results.md`.
42
41
  - Single file path or glob → restricts the scan to that input.
43
42
 
44
43
  ## Phase 1 — Discover & parse
@@ -46,15 +45,11 @@ They remain read-only emitters of audit reports.
46
45
  Run the CLI in `--scan` mode against the resolved glob. It parses every
47
46
  finding block, normalises the fields (`Severity` / `Impact` are
48
47
  both recognised; `Dimension` / `Category` likewise), and extracts file
49
- paths mentioned in the body. A `###` heading that carries no severity axis and
50
- holds `####` blocks is read as a **grouping header**: its `####` children are
51
- the findings, and the header itself never becomes one. It then stamps each
52
- finding with a stable sha1 fingerprint via the shared
48
+ paths mentioned in the body, and stamps each finding with a stable sha1
49
+ fingerprint via the shared
53
50
  [`lib/findings/route-finding.js`](../scripts/lib/findings/route-finding.js)
54
- helper (`fingerprintFinding`) — the single dedup/route implementation
55
- shared with `qa-explore`. The workflow carries **no** separate inline
56
- fingerprint or dedup code; identity, footer round-trip, and routing all
57
- flow through that one module.
51
+ helper (`fingerprintFinding`) — the single dedup/route implementation shared
52
+ with `qa-explore`; carry no separate inline fingerprint or dedup code.
58
53
 
59
54
  ```bash
60
55
  node .agents/scripts/audit-to-stories.js --scan \
@@ -69,13 +64,10 @@ rather than re-parsing the reports.
69
64
  **The tally cross-check is automatic.** Every report declares
70
65
  `Severity tally: Critical <n> / High <n> / Medium <n> / Low <n>` in its
71
66
  Executive Summary; the scan compares that line with what it parsed and carries
72
- each disagreement on `summary.reportFailures[]` as
73
- `{ sourceReport, kind, reported, parsed }`. The kinds are `missing-tally` (no
74
- line), `tally-mismatch` (line and parse disagree), and `unresolved-severity` (a
75
- finding whose severity did not resolve — dropped from grouping, never filed as
76
- an `unknown` group). They print to stderr before `--scan` returns its plan, so
77
- a mis-parsed report is never read as a clean audit: re-run the lens rather than
78
- file from it. Over older reports predating the mandate,
67
+ each disagreement on `summary.reportFailures[]` (`missing-tally`,
68
+ `tally-mismatch`, `unresolved-severity`), printed to stderr before `--scan`
69
+ returns its plan. A mis-parsed report is never a clean audit: re-run the lens
70
+ rather than file from it. Over older reports predating the mandate,
79
71
  `--scan --allow-missing-tally` downgrades **only** `missing-tally` to a
80
72
  warning.
81
73
 
@@ -192,13 +184,9 @@ alone leaves a plan-path Story invisible — and records each Story's
192
184
  carries every fingerprint, so an owner would be a coin flip; persist says so on
193
185
  stderr. Author per-Story `provenance` to record them.
194
186
 
195
- This is deliberately not an authoring step. It used to be: the footers reached
196
- the seed and stopped there, leaving the authoring agent to notice HTML comments
197
- in a one-pager and copy them forward — a remembered step, which is to say no
198
- step at all. Stories filed on the recommended path were therefore invisible to
199
- the next sweep's Phase 6 dedup, which re-filed work it had already planned. If
200
- you find yourself copying a footer by hand, the carry is broken — fix it there
201
- rather than papering over it in the body.
187
+ This is deliberately not an authoring step. If you find yourself copying a
188
+ footer by hand, the carry is broken — fix it there rather than papering over it
189
+ in the body.
202
190
 
203
191
  ## Phase 5b — Standalone-Stories path
204
192
 
@@ -226,9 +214,9 @@ Labels applied:
226
214
  (cross-audit groups carry multiple).
227
215
  - `risk::high` — added when any finding in the group is Critical.
228
216
 
229
- **No `agent::` state label, deliberately.** The filer used to emit
230
- `agent::ready`, which is exactly what `/mandrel-deliver` reads as "available
231
- for pickup" — and these bodies are audit prose, not a delivery-ready Spec. A
217
+ **No `agent::` state label, deliberately.** `agent::ready` is what
218
+ `/mandrel-deliver` reads as "available for pickup", and these bodies are audit
219
+ prose, not a delivery-ready Spec. A
232
220
  Story with no `agent::` label is a legal initial state; `/mandrel-plan` stamps
233
221
  `agent::ready` as its terminal flip once the finding has become a scoped
234
222
  capability slice. Do not re-add it here or apply it by hand at create time.
@@ -425,8 +413,7 @@ The routine shape is **lenses full-scope → dry-run → live with a ledger PR**
425
413
  3. `--auto --ledger-commit` once the tallies stop surprising you.
426
414
 
427
415
  `--auto` runs with **no interactive gates**: it resolves the severity floor
428
- from `delivery.auditToStories.severityFloor` (default `high`, overridable with
429
- `--severity`), applies the two-stage dedup, reconciles the cross-run ledger,
416
+ from `--severity` (default `high`), applies the two-stage dedup, reconciles the cross-run ledger,
430
417
  and prints a run-summary JSON (create / skip-open / skip-reoccurring /
431
418
  suppressed-by-ledger tallies, the `create`-classified group keys the `--ids`
432
419
  map is built from, plus the re-detected open Issue numbers an operator may want
@@ -6,9 +6,7 @@ description: Audit UX/UI consistency and design system adherence
6
6
 
7
7
  You are a Lead Product Designer & Frontend Architect evaluating the frontend for
8
8
  UI consistency, UX best practices, and adherence to the project's design system,
9
- ensuring the app feels premium and cohesive. The shared lens machinery —
10
- read-only constraint, scope interpretation, report envelope + finding-block
11
- skeleton, severity scale, self-cross-check, and execution strategy — lives in
9
+ ensuring the app feels premium and cohesive. The shared lens machinery lives in
12
10
  [`helpers/audit-lens-core.md`](helpers/audit-lens-core.md). Write the report to
13
11
  `{{auditOutputDir}}/audit-ux-ui-results.md`. Dimension values:
14
12
  `Visual Consistency | UX Best Practices | Accessibility`; the report adds a
@@ -23,7 +21,7 @@ description for how applicability is probed from the consumer's checkout.
23
21
 
24
22
  ## Scope
25
23
 
26
- Interpret this lens's change-set fence per the core's Scope interpretation:
24
+ Per the core's Scope interpretation:
27
25
 
28
26
  ```text
29
27
  {{changedFiles}}
@@ -31,9 +29,8 @@ Interpret this lens's change-set fence per the core's Scope interpretation:
31
29
 
32
30
  ## Execution strategy
33
31
 
34
- Run this lens as a single `subagent_type: auditor` dispatch returning the report
35
- path + Executive Summary; sequential inline execution is the fallback (see the
36
- core's Execution strategy).
32
+ Run this lens as one `subagent_type: auditor` dispatch per the core's
33
+ Execution strategy.
37
34
 
38
35
  ## Step 0: Discover the design-system SSOT (run first)
39
36
 
@@ -152,7 +152,7 @@ Treat the following as **out of scope by construction** and drop any finding
152
152
  that rests on one of them:
153
153
 
154
154
  - **Sanctioned test seams** — exports consumed only by tests, and other
155
- patterns the `test-seams` rule blesses. Never a production defect.
155
+ deliberate test-only patterns. Never a production defect.
156
156
  - **Entry points & public API surface** — CLI mains, `bin/` scripts, declared
157
157
  `exports` / `bin` / `main`, and barrel contracts consumed out-of-tree. A
158
158
  zero in-repo consumer count is not death.
@@ -5,11 +5,11 @@ this framework cites. Reviewers, prescriptive auditors, and writing agents all
5
5
  read the same numbers from here so a "high cyclomatic complexity" finding in
6
6
  `/audit-clean-code` and a pre-commit refusal cite the same threshold.
7
7
 
8
- > Tunable via `delivery.quality.codingGuardrails` in `.agentrc.json` —
9
- > see [`agentrc-reference.json`](../../docs/agentrc-reference.json) for the framework
10
- > defaults and [`schemas/agentrc.schema.json`](../../schemas/agentrc.schema.json)
11
- > for the validated shape. Override per-project; never fork this helper to
12
- > change a number.
8
+ > The cyclomatic thresholds are fixed framework constants (Story #5382 folded
9
+ > the never-set `delivery.quality.codingGuardrails` block); the MI tolerance
10
+ > is `delivery.quality.gates.maintainability.tolerance` — see
11
+ > [`agentrc-reference.json`](../../docs/agentrc-reference.json). Never fork
12
+ > this helper to change a number.
13
13
 
14
14
  ## At-keyboard verification
15
15
 
@@ -28,14 +28,14 @@ hook calls the same script.
28
28
 
29
29
  Cyclomatic complexity (CC) is measured per function by `escomplex` (the same
30
30
  engine the maintainability axis of `check-baselines.js` runs). Two
31
- thresholds — the advisory `delivery.quality.codingGuardrails.cyclomaticFlag`
32
- and the fixed ceiling of 12 (`cyclomaticMustFix` was retired as a config
33
- key in Story #5313):
31
+ thresholds — the advisory flag of 8 and the fixed ceiling of 12, both
32
+ constants (`cyclomaticMustFix` was retired as a config key in Story #5313,
33
+ `cyclomaticFlag` in Story #5382):
34
34
 
35
35
  | CC range | Action |
36
36
  | --- | --- |
37
37
  | ≤ 8 | Pass — no annotation required. |
38
- | > 8 (default `cyclomaticFlag`) | **Flag** — `quality:preview` counts the function in its `new-method count over c=<flag>` column. The function is allowed to land but the report names it. |
38
+ | > 8 (the advisory flag) | **Flag** — `quality:preview` counts the function in its `new-method count over c=<flag>` column. The function is allowed to land but the report names it. |
39
39
  | ≥ 12 | **Advisory in `quality:preview`** — listed by file, method and reading; the preview exits 0 on it. **Ratchet in `check-cyclomatic.js`**: fails when a file gains a function above 12, or when its worst function gets worse than the recorded baseline. |
40
40
 
41
41
  `check-cyclomatic.js` is a **ratchet**, not a cliff: `baselines/cyclomatic.json`
@@ -57,11 +57,8 @@ source under `tests/<mirrored-path>/<basename>.test.js`. Same-commit pairing
57
57
  keeps the bisect honest — a regression and the test that would have caught
58
58
  it land or revert together.
59
59
 
60
- When `delivery.quality.codingGuardrails.requireSiblingTest` is `true`,
61
- the pre-commit hook refuses to commit a staged new source file that
62
- lacks a sibling test. Default is `false` so legacy repos opt in
63
- deliberately; once enabled, the structural check replaces the
64
- review-time prose rule.
60
+ No structural check enforces the pairing — it is a review-time rule
61
+ (Story #5382 removed the never-read `requireSiblingTest` switch).
65
62
 
66
63
  ## Maintainability-Index drop refactor rule
67
64
 
@@ -84,7 +81,7 @@ the commit lands (scoped to `HEAD` by default — the alias passes no
84
81
  Renaming a file (or moving it across `src/` directories) detaches its MI and
85
82
  CRAP history from the baseline keys. The correct response is a **baseline
86
83
  refresh**, not a regression entry: include `baseline-refresh:` (the
87
- `delivery.quality.crap.refreshTag` default) in the commit subject so the
84
+ fixed refresh tag) in the commit subject so the
88
85
  ratchet treats the new key as a clean entry instead of comparing it to
89
86
  nothing.
90
87
 
@@ -103,10 +103,12 @@ Per-round mechanics: [`acceptance-self-eval.md`](acceptance-self-eval.md).
103
103
 
104
104
  ## 5. The one credited suite run
105
105
 
106
- After the self-eval loop's last fix commit, run the suite **once** in the
107
- worktree through the depositor — it spawns the project's own `npm test`,
108
- whatever that resolves to, and stamps the result, so any runner earns the
109
- credit:
106
+ After the self-eval loop's last fix commit, fetch and merge
107
+ `origin/<baseBranch>` into the Story branch **first**, ahead of this run and
108
+ the push: close's base-sync then no-ops, so neither stamp goes stale. Then
109
+ run the suite **once** in the worktree through the depositor — it spawns the
110
+ project's own `npm test`, whatever that resolves to, and stamps the result,
111
+ so any runner earns the credit:
110
112
 
111
113
  ```bash
112
114
  node <main-repo>/.agents/scripts/evidence-gate.js --standalone \