@aperant/framework 0.8.1 → 0.8.6

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 (308) hide show
  1. package/CHANGELOG.md +443 -1
  2. package/agents/apt-planner.md +39 -7
  3. package/dist/cli/commands/adr.mjs +1 -1
  4. package/dist/cli/commands/audit-branch-current.d.mts +25 -0
  5. package/dist/cli/commands/audit-branch-current.d.mts.map +1 -0
  6. package/dist/cli/commands/audit-branch-current.mjs +252 -0
  7. package/dist/cli/commands/audit-branch-current.mjs.map +1 -0
  8. package/dist/cli/commands/audit.d.mts.map +1 -1
  9. package/dist/cli/commands/audit.mjs +13 -2
  10. package/dist/cli/commands/audit.mjs.map +1 -1
  11. package/dist/cli/commands/check-version.d.mts.map +1 -1
  12. package/dist/cli/commands/check-version.mjs +19 -1
  13. package/dist/cli/commands/check-version.mjs.map +1 -1
  14. package/dist/cli/commands/context.mjs +3 -3
  15. package/dist/cli/commands/context.mjs.map +1 -1
  16. package/dist/cli/commands/coverage-check.d.mts.map +1 -1
  17. package/dist/cli/commands/coverage-check.mjs +74 -7
  18. package/dist/cli/commands/coverage-check.mjs.map +1 -1
  19. package/dist/cli/commands/detect-runtime.d.mts +6 -0
  20. package/dist/cli/commands/detect-runtime.d.mts.map +1 -0
  21. package/dist/cli/commands/detect-runtime.mjs +142 -0
  22. package/dist/cli/commands/detect-runtime.mjs.map +1 -0
  23. package/dist/cli/commands/driver-doctor.d.mts +29 -0
  24. package/dist/cli/commands/driver-doctor.d.mts.map +1 -0
  25. package/dist/cli/commands/driver-doctor.mjs +291 -0
  26. package/dist/cli/commands/driver-doctor.mjs.map +1 -0
  27. package/dist/cli/commands/gate.mjs +14 -0
  28. package/dist/cli/commands/gate.mjs.map +1 -1
  29. package/dist/cli/commands/init.d.mts.map +1 -1
  30. package/dist/cli/commands/init.mjs +9 -6
  31. package/dist/cli/commands/init.mjs.map +1 -1
  32. package/dist/cli/commands/install-from-source.d.mts +2 -0
  33. package/dist/cli/commands/install-from-source.d.mts.map +1 -0
  34. package/dist/cli/commands/install-from-source.mjs +2 -0
  35. package/dist/cli/commands/install-from-source.mjs.map +1 -0
  36. package/dist/cli/commands/modes.mjs +1 -1
  37. package/dist/cli/commands/route.d.mts.map +1 -1
  38. package/dist/cli/commands/route.mjs +38 -1
  39. package/dist/cli/commands/route.mjs.map +1 -1
  40. package/dist/cli/commands/triage.mjs +1 -1
  41. package/dist/cli/config/load.d.mts.map +1 -1
  42. package/dist/cli/config/load.mjs +9 -3
  43. package/dist/cli/config/load.mjs.map +1 -1
  44. package/dist/cli/coordination/auto-emit-artifact-ready.mjs +1 -1
  45. package/dist/cli/coordination/event-schema.d.mts.map +1 -1
  46. package/dist/cli/coordination/event-schema.mjs +18 -0
  47. package/dist/cli/coordination/event-schema.mjs.map +1 -1
  48. package/dist/cli/coverage-check/user-outcomes.d.mts +84 -0
  49. package/dist/cli/coverage-check/user-outcomes.d.mts.map +1 -0
  50. package/dist/cli/coverage-check/user-outcomes.mjs +265 -0
  51. package/dist/cli/coverage-check/user-outcomes.mjs.map +1 -0
  52. package/dist/cli/dispatch.d.mts.map +1 -1
  53. package/dist/cli/dispatch.mjs +18 -1
  54. package/dist/cli/dispatch.mjs.map +1 -1
  55. package/dist/cli/gate/context.d.mts +1 -0
  56. package/dist/cli/gate/context.d.mts.map +1 -1
  57. package/dist/cli/gate/context.mjs +14 -1
  58. package/dist/cli/gate/context.mjs.map +1 -1
  59. package/dist/cli/gate/gates/consistency-check.d.mts +1 -0
  60. package/dist/cli/gate/gates/consistency-check.d.mts.map +1 -1
  61. package/dist/cli/gate/gates/consistency-check.mjs +1 -0
  62. package/dist/cli/gate/gates/consistency-check.mjs.map +1 -1
  63. package/dist/cli/gate/gates/review-clean.d.mts +1 -0
  64. package/dist/cli/gate/gates/review-clean.d.mts.map +1 -1
  65. package/dist/cli/gate/gates/review-clean.mjs +1 -0
  66. package/dist/cli/gate/gates/review-clean.mjs.map +1 -1
  67. package/dist/cli/gate/gates/verify-approved.d.mts +1 -0
  68. package/dist/cli/gate/gates/verify-approved.d.mts.map +1 -1
  69. package/dist/cli/gate/gates/verify-approved.mjs +1 -0
  70. package/dist/cli/gate/gates/verify-approved.mjs.map +1 -1
  71. package/dist/cli/gate/registry.d.mts.map +1 -1
  72. package/dist/cli/gate/registry.mjs +9 -1
  73. package/dist/cli/gate/registry.mjs.map +1 -1
  74. package/dist/cli/host/detect.mjs +1 -1
  75. package/dist/cli/host/detect.mjs.map +1 -1
  76. package/dist/cli/install/find-workspace-framework-version.d.mts +16 -0
  77. package/dist/cli/install/find-workspace-framework-version.d.mts.map +1 -0
  78. package/dist/cli/install/find-workspace-framework-version.mjs +85 -0
  79. package/dist/cli/install/find-workspace-framework-version.mjs.map +1 -0
  80. package/dist/cli/install/install-from-source.d.mts +10 -0
  81. package/dist/cli/install/install-from-source.d.mts.map +1 -0
  82. package/dist/cli/install/install-from-source.mjs +271 -0
  83. package/dist/cli/install/install-from-source.mjs.map +1 -0
  84. package/dist/cli/install/install-kernel.d.mts.map +1 -1
  85. package/dist/cli/install/install-kernel.mjs +24 -0
  86. package/dist/cli/install/install-kernel.mjs.map +1 -1
  87. package/dist/cli/install/legacy-paths.d.mts +33 -11
  88. package/dist/cli/install/legacy-paths.d.mts.map +1 -1
  89. package/dist/cli/install/legacy-paths.mjs +163 -39
  90. package/dist/cli/install/legacy-paths.mjs.map +1 -1
  91. package/dist/cli/install/runtime-detect.mjs +1 -1
  92. package/dist/cli/install/runtime-detect.mjs.map +1 -1
  93. package/dist/cli/install/runtime-migrate.d.mts +34 -14
  94. package/dist/cli/install/runtime-migrate.d.mts.map +1 -1
  95. package/dist/cli/install/runtime-migrate.mjs +63 -30
  96. package/dist/cli/install/runtime-migrate.mjs.map +1 -1
  97. package/dist/cli/install/transforms/codex.d.mts.map +1 -1
  98. package/dist/cli/install/transforms/codex.mjs +28 -17
  99. package/dist/cli/install/transforms/codex.mjs.map +1 -1
  100. package/dist/cli/skill-author/contract.mjs +2 -2
  101. package/dist/cli/skill-author/contract.mjs.map +1 -1
  102. package/dist/cli/verify-proof/audit.d.mts +34 -0
  103. package/dist/cli/verify-proof/audit.d.mts.map +1 -0
  104. package/dist/cli/verify-proof/audit.mjs +53 -0
  105. package/dist/cli/verify-proof/audit.mjs.map +1 -0
  106. package/dist/cli/verify-proof/exec.d.mts +20 -0
  107. package/dist/cli/verify-proof/exec.d.mts.map +1 -0
  108. package/dist/cli/verify-proof/exec.mjs +74 -0
  109. package/dist/cli/verify-proof/exec.mjs.map +1 -0
  110. package/dist/cli/verify-proof/idl/index.d.mts +2 -0
  111. package/dist/cli/verify-proof/idl/index.d.mts.map +1 -0
  112. package/dist/cli/verify-proof/idl/index.mjs +13 -0
  113. package/dist/cli/verify-proof/idl/index.mjs.map +1 -0
  114. package/dist/cli/verify-proof/idl/types.d.ts +10 -0
  115. package/dist/cli/verify-proof/idl/types.d.ts.map +1 -0
  116. package/dist/cli/verify-proof/idl/types.js +10 -0
  117. package/dist/cli/verify-proof/idl/types.js.map +1 -0
  118. package/dist/cli/verify-proof/manifest-validator.d.mts +19 -0
  119. package/dist/cli/verify-proof/manifest-validator.d.mts.map +1 -0
  120. package/dist/cli/verify-proof/manifest-validator.mjs +182 -0
  121. package/dist/cli/verify-proof/manifest-validator.mjs.map +1 -0
  122. package/dist/cli/verify-proof/resolver.d.mts +105 -0
  123. package/dist/cli/verify-proof/resolver.d.mts.map +1 -0
  124. package/dist/cli/verify-proof/resolver.mjs +320 -0
  125. package/dist/cli/verify-proof/resolver.mjs.map +1 -0
  126. package/dist/cli/verify-proof/runtime-detect.d.mts +30 -0
  127. package/dist/cli/verify-proof/runtime-detect.d.mts.map +1 -0
  128. package/dist/cli/verify-proof/runtime-detect.mjs +209 -0
  129. package/dist/cli/verify-proof/runtime-detect.mjs.map +1 -0
  130. package/dist/cli/verify-proof/trust.d.mts +70 -0
  131. package/dist/cli/verify-proof/trust.d.mts.map +1 -0
  132. package/dist/cli/verify-proof/trust.mjs +174 -0
  133. package/dist/cli/verify-proof/trust.mjs.map +1 -0
  134. package/dist/driver-sdk/conformance.d.ts +41 -0
  135. package/dist/driver-sdk/conformance.d.ts.map +1 -0
  136. package/dist/driver-sdk/conformance.js +123 -0
  137. package/dist/driver-sdk/conformance.js.map +1 -0
  138. package/dist/driver-sdk/errors.d.ts +75 -0
  139. package/dist/driver-sdk/errors.d.ts.map +1 -0
  140. package/dist/driver-sdk/errors.js +80 -0
  141. package/dist/driver-sdk/errors.js.map +1 -0
  142. package/dist/driver-sdk/idl.d.ts +221 -0
  143. package/dist/driver-sdk/idl.d.ts.map +1 -0
  144. package/dist/driver-sdk/idl.js +140 -0
  145. package/dist/driver-sdk/idl.js.map +1 -0
  146. package/dist/driver-sdk/index.d.ts +28 -0
  147. package/dist/driver-sdk/index.d.ts.map +1 -0
  148. package/dist/driver-sdk/index.js +28 -0
  149. package/dist/driver-sdk/index.js.map +1 -0
  150. package/dist/driver-sdk/manifest.d.ts +93 -0
  151. package/dist/driver-sdk/manifest.d.ts.map +1 -0
  152. package/dist/driver-sdk/manifest.js +12 -0
  153. package/dist/driver-sdk/manifest.js.map +1 -0
  154. package/dist/driver-sdk/retry.d.ts +33 -0
  155. package/dist/driver-sdk/retry.d.ts.map +1 -0
  156. package/dist/driver-sdk/retry.js +50 -0
  157. package/dist/driver-sdk/retry.js.map +1 -0
  158. package/dist/plugin/.claude-plugin/plugin.json +4 -1
  159. package/dist/plugin/agents/apt-planner.md +39 -7
  160. package/dist/plugin/skills/apt/SKILL.md +75 -6
  161. package/dist/plugin/skills/apt-caveman/SKILL.md +64 -0
  162. package/dist/plugin/skills/apt-debug/SKILL.md +36 -4
  163. package/dist/plugin/skills/apt-debug/appendices/diagnose-discipline.md +2 -11
  164. package/dist/plugin/skills/apt-discuss/SKILL.md +4 -4
  165. package/dist/plugin/skills/apt-discuss/appendices/grill-discipline.md +2 -11
  166. package/dist/plugin/skills/apt-discuss/appendices/zoom-out-helper.md +0 -8
  167. package/dist/plugin/skills/apt-execute/SKILL.md +27 -4
  168. package/dist/plugin/skills/apt-execute/appendices/tdd-mode.md +2 -10
  169. package/dist/plugin/skills/apt-fan-out/SKILL.md +36 -1
  170. package/dist/plugin/skills/apt-handoff/SKILL.md +228 -0
  171. package/dist/plugin/skills/apt-improve/DEEPENING.md +0 -8
  172. package/dist/plugin/skills/apt-improve/INTERFACE-DESIGN.md +0 -8
  173. package/dist/plugin/skills/apt-improve/LANGUAGE.md +0 -8
  174. package/dist/plugin/skills/apt-improve/SKILL.md +4 -4
  175. package/dist/plugin/skills/apt-plan/SKILL.md +73 -5
  176. package/dist/plugin/skills/apt-plan/adapters/conductor.md +1 -1
  177. package/dist/plugin/skills/apt-pr-review/SKILL.md +1 -1
  178. package/dist/plugin/skills/apt-prototype/LOGIC.md +0 -8
  179. package/dist/plugin/skills/apt-prototype/SKILL.md +4 -4
  180. package/dist/plugin/skills/apt-prototype/UI.md +0 -8
  181. package/dist/plugin/skills/apt-quick/SKILL.md +31 -1
  182. package/dist/plugin/skills/apt-research/SKILL.md +526 -0
  183. package/dist/plugin/skills/apt-research/appendices/budget-loop.md +397 -0
  184. package/dist/plugin/skills/apt-research/appendices/claim-graph-schema.md +206 -0
  185. package/dist/plugin/skills/apt-research/appendices/domain-tools.md +236 -0
  186. package/dist/plugin/skills/apt-resume/SKILL.md +54 -31
  187. package/dist/plugin/skills/apt-run/SKILL.md +114 -16
  188. package/dist/plugin/skills/apt-setup/SKILL.md +97 -8
  189. package/dist/plugin/skills/apt-ship/SKILL.md +165 -9
  190. package/dist/plugin/skills/apt-spar/SKILL.md +84 -23
  191. package/dist/plugin/skills/apt-triage/AGENT-BRIEF.md +0 -8
  192. package/dist/plugin/skills/apt-triage/OUT-OF-SCOPE.md +0 -7
  193. package/dist/plugin/skills/apt-triage/SKILL.md +2 -2
  194. package/dist/plugin/skills/apt-update/SKILL.md +74 -17
  195. package/dist/plugin/skills/apt-verify-proof/SKILL.md +87 -1
  196. package/dist/plugin/skills/apt-zoom-out/SKILL.md +3 -3
  197. package/dist/schemas/quick-task.d.ts +17 -17
  198. package/dist/schemas/quick-task.d.ts.map +1 -1
  199. package/dist/schemas/quick-task.js +2 -2
  200. package/dist/schemas/quick-task.js.map +1 -1
  201. package/dist/types/config.d.ts +33 -0
  202. package/dist/types/config.d.ts.map +1 -1
  203. package/dist/types/state.d.ts +1 -1
  204. package/dist/types/state.d.ts.map +1 -1
  205. package/dist/types/task-record.d.ts +1 -1
  206. package/dist/types/task-record.d.ts.map +1 -1
  207. package/drivers/.gitkeep +0 -0
  208. package/drivers/api/README.md +40 -0
  209. package/drivers/api/driver.mjs +59 -0
  210. package/drivers/api/manifest.json +26 -0
  211. package/drivers/browser/README.md +105 -0
  212. package/drivers/browser/driver.mjs +134 -0
  213. package/drivers/browser/manifest.json +35 -0
  214. package/drivers/cli/README.md +44 -0
  215. package/drivers/cli/driver.mjs +62 -0
  216. package/drivers/cli/manifest.json +28 -0
  217. package/drivers/electron/README.md +64 -0
  218. package/drivers/electron/driver.mjs +87 -0
  219. package/drivers/electron/manifest.json +37 -0
  220. package/package.json +138 -133
  221. package/prompts/planner.md +1 -1
  222. package/prompts/spec_writer.md +1 -1
  223. package/skills/apt/SKILL.md +75 -6
  224. package/skills/apt-caveman/SKILL.md +64 -0
  225. package/skills/apt-debug/SKILL.md +36 -4
  226. package/skills/apt-debug/appendices/diagnose-discipline.md +2 -11
  227. package/skills/apt-discuss/SKILL.md +4 -4
  228. package/skills/apt-discuss/appendices/grill-discipline.md +2 -11
  229. package/skills/apt-discuss/appendices/zoom-out-helper.md +0 -8
  230. package/skills/apt-execute/SKILL.md +27 -4
  231. package/skills/apt-execute/appendices/tdd-mode.md +2 -10
  232. package/skills/apt-fan-out/SKILL.md +36 -1
  233. package/skills/apt-handoff/SKILL.md +228 -0
  234. package/skills/apt-improve/DEEPENING.md +0 -8
  235. package/skills/apt-improve/INTERFACE-DESIGN.md +0 -8
  236. package/skills/apt-improve/LANGUAGE.md +0 -8
  237. package/skills/apt-improve/SKILL.md +4 -4
  238. package/skills/apt-plan/SKILL.md +73 -5
  239. package/skills/apt-plan/adapters/conductor.md +1 -1
  240. package/skills/apt-planner.md +17 -1
  241. package/skills/apt-pr-review/SKILL.md +1 -1
  242. package/skills/apt-prototype/LOGIC.md +0 -8
  243. package/skills/apt-prototype/SKILL.md +4 -4
  244. package/skills/apt-prototype/UI.md +0 -8
  245. package/skills/apt-quick/SKILL.md +31 -1
  246. package/skills/apt-research/SKILL.md +526 -0
  247. package/skills/apt-research/appendices/budget-loop.md +397 -0
  248. package/skills/apt-research/appendices/claim-graph-schema.md +206 -0
  249. package/skills/apt-research/appendices/domain-tools.md +236 -0
  250. package/skills/apt-resume/SKILL.md +54 -31
  251. package/skills/apt-run/SKILL.md +114 -16
  252. package/skills/apt-setup/SKILL.md +97 -8
  253. package/skills/apt-ship/SKILL.md +165 -9
  254. package/skills/apt-spar/SKILL.md +84 -23
  255. package/skills/apt-triage/AGENT-BRIEF.md +0 -8
  256. package/skills/apt-triage/OUT-OF-SCOPE.md +0 -7
  257. package/skills/apt-triage/SKILL.md +2 -2
  258. package/skills/apt-update/SKILL.md +74 -17
  259. package/skills/apt-verify-proof/SKILL.md +87 -1
  260. package/skills/apt-zoom-out/SKILL.md +3 -3
  261. package/src/cli/commands/adr.mjs +1 -1
  262. package/src/cli/commands/audit-branch-current.mjs +250 -0
  263. package/src/cli/commands/audit.mjs +13 -2
  264. package/src/cli/commands/check-version.mjs +20 -1
  265. package/src/cli/commands/context.mjs +3 -3
  266. package/src/cli/commands/coverage-check.mjs +126 -44
  267. package/src/cli/commands/detect-runtime.mjs +143 -0
  268. package/src/cli/commands/driver-doctor.mjs +294 -0
  269. package/src/cli/commands/gate.mjs +15 -0
  270. package/src/cli/commands/init.mjs +9 -6
  271. package/src/cli/commands/install-from-source.mjs +1 -0
  272. package/src/cli/commands/modes.mjs +1 -1
  273. package/src/cli/commands/route.mjs +42 -1
  274. package/src/cli/commands/triage.mjs +1 -1
  275. package/src/cli/config/load.mjs +9 -3
  276. package/src/cli/coordination/auto-emit-artifact-ready.mjs +1 -1
  277. package/src/cli/coordination/event-schema.mjs +19 -0
  278. package/src/cli/coverage-check/user-outcomes.mjs +273 -0
  279. package/src/cli/dispatch.mjs +17 -1
  280. package/src/cli/gate/context.mjs +20 -1
  281. package/src/cli/gate/gates/consistency-check.mjs +1 -0
  282. package/src/cli/gate/gates/review-clean.mjs +1 -0
  283. package/src/cli/gate/gates/verify-approved.mjs +1 -0
  284. package/src/cli/gate/registry.mjs +11 -1
  285. package/src/cli/host/detect.mjs +1 -1
  286. package/src/cli/install/find-workspace-framework-version.mjs +88 -0
  287. package/src/cli/install/install-from-source.mjs +276 -0
  288. package/src/cli/install/install-kernel.mjs +24 -0
  289. package/src/cli/install/legacy-paths.mjs +164 -39
  290. package/src/cli/install/runtime-detect.mjs +1 -1
  291. package/src/cli/install/runtime-migrate.mjs +63 -30
  292. package/src/cli/install/transforms/codex.mjs +26 -17
  293. package/src/cli/skill-author/contract.mjs +2 -2
  294. package/src/cli/verify-proof/.gitkeep +0 -0
  295. package/src/cli/verify-proof/audit.mjs +55 -0
  296. package/src/cli/verify-proof/exec.mjs +74 -0
  297. package/src/cli/verify-proof/idl/index.mjs +23 -0
  298. package/src/cli/verify-proof/idl/types.ts +42 -0
  299. package/src/cli/verify-proof/manifest-schema.json +212 -0
  300. package/src/cli/verify-proof/manifest-validator.mjs +184 -0
  301. package/src/cli/verify-proof/resolver.mjs +330 -0
  302. package/src/cli/verify-proof/runtime-detect.mjs +211 -0
  303. package/src/cli/verify-proof/trust.mjs +187 -0
  304. package/templates/adr-format.md +0 -8
  305. package/templates/aperant-claude-md-appendix.md +1 -1
  306. package/templates/context-format.md +1 -9
  307. package/templates/proof-verification.md +51 -8
  308. package/workflows/verify-proof.md +130 -19
@@ -0,0 +1,252 @@
1
+ /**
2
+ * commands/audit-branch-current.mjs — pre-PR rebase gate envelope for apt:ship §0.7.
3
+ *
4
+ * Pure read-only branch-drift audit. Given a base ref (default `main`), reports
5
+ * how many commits HEAD is ahead/behind `origin/<base>`, captures the current
6
+ * `origin/<base>` tip SHA (the lease target for any subsequent
7
+ * `--force-with-lease=refs/heads/<branch>:<sha>` push), and probes whether a
8
+ * trial merge against the remote tip would conflict.
9
+ *
10
+ * Single network call: `git fetch origin <base>`. Fetch failure is recovered
11
+ * as `audit_warning: 'fetch-failed'` — the envelope still returns, just with
12
+ * stale counts. No `git rebase`, no `git push`, no `git reset` — the SKILL.md
13
+ * prose owns history rewrites.
14
+ *
15
+ * Envelope:
16
+ *
17
+ * {
18
+ * status: 'ok',
19
+ * command: 'audit-branch-current',
20
+ * projectDir: string,
21
+ * base: string,
22
+ * ahead: number, // commits HEAD has over origin/<base>
23
+ * behind: number, // commits origin/<base> has over HEAD
24
+ * remote_tip_sha: string | null, // origin/<base> after fetch
25
+ * mergeable: boolean | null, // null when probe unavailable
26
+ * conflicts_preview?: string[], // populated only when mergeable=false
27
+ * audit_warning?: string // 'fetch-failed' | 'git-version-too-old' | ...
28
+ * }
29
+ *
30
+ * Spec cross-ref: .aperant/tasks/apt-ship-pre-pr-rebase-gate-audit-branch_21-05-26/spec.md
31
+ *
32
+ * @internal
33
+ */
34
+ import { execFileSync } from 'node:child_process';
35
+ import { resolve } from 'node:path';
36
+ import { err, ok } from '../util/result.mjs';
37
+ /**
38
+ * Try-execute a git command, returning {ok, stdout, stderr, code}. Never throws.
39
+ *
40
+ * @param {string} cwd
41
+ * @param {string[]} args
42
+ */
43
+ function gitTry(cwd, args) {
44
+ try {
45
+ const stdout = execFileSync('git', args, {
46
+ cwd,
47
+ encoding: 'utf-8',
48
+ stdio: ['ignore', 'pipe', 'pipe'],
49
+ });
50
+ return { ok: true, stdout, stderr: '', code: 0 };
51
+ }
52
+ catch (e) {
53
+ // execFileSync throws an error whose `stdout`, `stderr`, and `status`
54
+ // properties carry the captured output and exit code.
55
+ return {
56
+ ok: false,
57
+ stdout: typeof e?.stdout === 'string' ? e.stdout : (e?.stdout?.toString() ?? ''),
58
+ stderr: typeof e?.stderr === 'string' ? e.stderr : (e?.stderr?.toString() ?? ''),
59
+ code: typeof e?.status === 'number' ? e.status : 1,
60
+ };
61
+ }
62
+ }
63
+ /**
64
+ * Parse `--base <ref>` (or `--base=<ref>`) from extraArgs. Defaults to 'main'.
65
+ *
66
+ * @param {string[]} extraArgs
67
+ * @returns {string}
68
+ */
69
+ function parseBaseFlag(extraArgs) {
70
+ for (let i = 0; i < extraArgs.length; i++) {
71
+ const a = extraArgs[i];
72
+ if (a === '--base' && i + 1 < extraArgs.length)
73
+ return extraArgs[i + 1];
74
+ if (a.startsWith('--base='))
75
+ return a.slice('--base='.length);
76
+ }
77
+ return 'main';
78
+ }
79
+ /**
80
+ * Parse `git merge-tree --write-tree --no-messages HEAD origin/<base>` output
81
+ * for conflict file paths. Modern (git ≥ 2.38) merge-tree emits, on conflict:
82
+ *
83
+ * <tree-OID>
84
+ * <conflict report lines, each "<mode> <stage> <oid>\t<path>" for stage > 0>
85
+ * (NUL separator)
86
+ * <textual conflict messages>
87
+ *
88
+ * Older variants emit a `+<<<<<<< ... +======= ... +>>>>>>>` diff per file.
89
+ * For correctness we use the stable form: extract file paths from the conflict
90
+ * report. The report includes the SAME path multiple times (once per non-zero
91
+ * stage), so we de-dupe.
92
+ *
93
+ * @param {string} stdout
94
+ * @returns {string[]}
95
+ */
96
+ function parseConflictPaths(stdout) {
97
+ const paths = new Set();
98
+ for (const rawLine of stdout.split('\n')) {
99
+ const line = rawLine.replace(/\0/g, '');
100
+ if (!line.trim())
101
+ continue;
102
+ // Match "<mode> <oid> <stage>\t<path>" — git merge-tree --write-tree
103
+ // emits conflict report lines as "<mode> <oid> <stage>\t<path>".
104
+ // Stage 0 means no conflict, so we only surface stage ≥ 1.
105
+ const m = line.match(/^(\d{6})\s+([0-9a-f]{4,40})\s+(\d)\t(.+)$/);
106
+ if (m) {
107
+ const stage = Number.parseInt(m[3], 10);
108
+ if (stage >= 1)
109
+ paths.add(m[4]);
110
+ continue;
111
+ }
112
+ // Fallback (older git): the textual report block prefixes paths with
113
+ // "CONFLICT (content): Merge conflict in <path>".
114
+ const c = line.match(/Merge conflict in (.+)$/);
115
+ if (c)
116
+ paths.add(c[1].trim());
117
+ }
118
+ return Array.from(paths).sort();
119
+ }
120
+ /**
121
+ * Detect "git too old" from merge-tree stderr. Pre-2.38 git rejects
122
+ * `--write-tree` outright; older still rejects merge-tree's modern arg
123
+ * shape entirely. We treat any non-zero-with-no-output as "version too old"
124
+ * — callers are expected to fall back gracefully.
125
+ *
126
+ * @param {string} stderr
127
+ * @returns {boolean}
128
+ */
129
+ function isGitVersionTooOld(stderr) {
130
+ return /unknown option|did you mean|usage: git merge-tree/i.test(stderr);
131
+ }
132
+ /**
133
+ * @param {string} projectDir
134
+ * @param {string[]} extraArgs
135
+ */
136
+ export function auditBranchCurrent(projectDir, extraArgs = []) {
137
+ if (!projectDir) {
138
+ return err('Usage: apt-tools audit branch-current <project-dir> [--base <ref>]');
139
+ }
140
+ const targetDir = resolve(projectDir);
141
+ const base = parseBaseFlag(extraArgs);
142
+ /** @type {string | undefined} */
143
+ let auditWarning;
144
+ /** @type {string[]} */
145
+ const warnings = [];
146
+ // 1. Fetch origin <base>. Tolerate failure (offline, no remote, etc.).
147
+ const fetch = gitTry(targetDir, ['fetch', 'origin', base]);
148
+ if (!fetch.ok) {
149
+ auditWarning = 'fetch-failed';
150
+ warnings.push(fetch.stderr.trim().split('\n').slice(0, 3).join(' | '));
151
+ }
152
+ // 2. Resolve origin/<base> tip.
153
+ let remoteTipSha = null;
154
+ const tip = gitTry(targetDir, ['rev-parse', `origin/${base}`]);
155
+ if (tip.ok) {
156
+ remoteTipSha = tip.stdout.trim();
157
+ }
158
+ else {
159
+ // No origin/<base> ref at all — emit an envelope with null counts so the
160
+ // caller can recognise the gap. The SKILL.md prose treats null counts as
161
+ // "audit unavailable, STOP with a clear message" rather than proceeding.
162
+ return ok({
163
+ status: 'ok',
164
+ command: 'audit-branch-current',
165
+ projectDir: targetDir,
166
+ base,
167
+ ahead: null,
168
+ behind: null,
169
+ remote_tip_sha: null,
170
+ mergeable: null,
171
+ audit_warning: auditWarning ?? 'no-remote-base-ref',
172
+ warnings,
173
+ });
174
+ }
175
+ // 3. Counts.
176
+ let ahead = 0;
177
+ let behind = 0;
178
+ const aheadOut = gitTry(targetDir, ['rev-list', '--count', `origin/${base}..HEAD`]);
179
+ const behindOut = gitTry(targetDir, ['rev-list', '--count', `HEAD..origin/${base}`]);
180
+ if (aheadOut.ok)
181
+ ahead = Number.parseInt(aheadOut.stdout.trim(), 10) || 0;
182
+ if (behindOut.ok)
183
+ behind = Number.parseInt(behindOut.stdout.trim(), 10) || 0;
184
+ // 4. Mergeability.
185
+ // - When behind === 0, the branch is current or strictly ahead — no
186
+ // remote changes to integrate, mergeable = true by definition.
187
+ // - When behind > 0 AND ahead === 0, the branch is strictly fast-forward
188
+ // behind — a clean fast-forward rebase is always mergeable.
189
+ // - When diverged (behind > 0 AND ahead > 0), probe via git merge-tree.
190
+ let mergeable;
191
+ /** @type {string[] | undefined} */
192
+ let conflictsPreview;
193
+ if (behind === 0) {
194
+ mergeable = true;
195
+ }
196
+ else if (behind > 0 && ahead === 0) {
197
+ mergeable = true;
198
+ }
199
+ else {
200
+ // Diverged. Run modern merge-tree trial.
201
+ const probe = gitTry(targetDir, [
202
+ 'merge-tree',
203
+ '--write-tree',
204
+ '--no-messages',
205
+ 'HEAD',
206
+ `origin/${base}`,
207
+ ]);
208
+ if (probe.ok) {
209
+ mergeable = true;
210
+ }
211
+ else if (probe.code === 1) {
212
+ // Documented merge-tree exit-code semantics: 0 clean, 1 conflict,
213
+ // other = invocation error.
214
+ mergeable = false;
215
+ conflictsPreview = parseConflictPaths(probe.stdout);
216
+ }
217
+ else if (isGitVersionTooOld(probe.stderr)) {
218
+ mergeable = null;
219
+ auditWarning = auditWarning ?? 'git-version-too-old';
220
+ warnings.push(`git merge-tree --write-tree unsupported: ${probe.stderr.trim().slice(0, 200)}`);
221
+ }
222
+ else {
223
+ // Unknown probe failure — treat as unknown rather than asserting
224
+ // clean.
225
+ mergeable = null;
226
+ auditWarning = auditWarning ?? 'merge-tree-probe-failed';
227
+ warnings.push(`git merge-tree probe failed (code ${probe.code}): ${probe.stderr.trim().slice(0, 200)}`);
228
+ }
229
+ }
230
+ const envelope = {
231
+ status: 'ok',
232
+ command: 'audit-branch-current',
233
+ projectDir: targetDir,
234
+ base,
235
+ ahead,
236
+ behind,
237
+ remote_tip_sha: remoteTipSha,
238
+ mergeable,
239
+ };
240
+ if (conflictsPreview && conflictsPreview.length > 0) {
241
+ envelope.conflicts_preview = conflictsPreview;
242
+ }
243
+ if (auditWarning)
244
+ envelope.audit_warning = auditWarning;
245
+ if (warnings.length > 0)
246
+ envelope.warnings = warnings;
247
+ return ok(envelope);
248
+ }
249
+ // Test-only export for unit-level parser coverage (not part of the public CLI
250
+ // contract).
251
+ export { parseConflictPaths as __parseConflictPathsForTests };
252
+ //# sourceMappingURL=audit-branch-current.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit-branch-current.mjs","sourceRoot":"","sources":["../../../src/cli/commands/audit-branch-current.mjs"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAA;AAE5C;;;;;GAKG;AACH,SAAS,MAAM,CAAC,GAAG,EAAE,IAAI;IACxB,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE;YACxC,GAAG;YACH,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;SACjC,CAAC,CAAA;QACF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAA;IACjD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACZ,sEAAsE;QACtE,sDAAsD;QACtD,OAAO;YACN,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAChF,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAChF,IAAI,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SAClD,CAAA;IACF,CAAC;AACF,CAAC;AAED;;;;;GAKG;AACH,SAAS,aAAa,CAAC,SAAS;IAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAA;QACtB,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,MAAM;YAAE,OAAO,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QACvE,IAAI,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;IAC9D,CAAC;IACD,OAAO,MAAM,CAAA;AACd,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,SAAS,kBAAkB,CAAC,MAAM;IACjC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAE,CAAA;IACvB,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;QACvC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,SAAQ;QAC1B,qEAAqE;QACrE,iEAAiE;QACjE,2DAA2D;QAC3D,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAA;QACjE,IAAI,CAAC,EAAE,CAAC;YACP,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;YACvC,IAAI,KAAK,IAAI,CAAC;gBAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAC/B,SAAQ;QACT,CAAC;QACD,qEAAqE;QACrE,kDAAkD;QAClD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAA;QAC/C,IAAI,CAAC;YAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;IAC9B,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAA;AAChC,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,kBAAkB,CAAC,MAAM;IACjC,OAAO,oDAAoD,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;AACzE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAAU,EAAE,SAAS,GAAG,EAAE;IAC5D,IAAI,CAAC,UAAU,EAAE,CAAC;QACjB,OAAO,GAAG,CAAC,oEAAoE,CAAC,CAAA;IACjF,CAAC;IACD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IACrC,MAAM,IAAI,GAAG,aAAa,CAAC,SAAS,CAAC,CAAA;IAErC,iCAAiC;IACjC,IAAI,YAAY,CAAA;IAChB,uBAAuB;IACvB,MAAM,QAAQ,GAAG,EAAE,CAAA;IAEnB,uEAAuE;IACvE,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAA;IAC1D,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;QACf,YAAY,GAAG,cAAc,CAAA;QAC7B,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;IACvE,CAAC;IAED,gCAAgC;IAChC,IAAI,YAAY,GAAG,IAAI,CAAA;IACvB,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC,WAAW,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC,CAAA;IAC9D,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;IACjC,CAAC;SAAM,CAAC;QACP,yEAAyE;QACzE,yEAAyE;QACzE,yEAAyE;QACzE,OAAO,EAAE,CAAC;YACT,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,sBAAsB;YAC/B,UAAU,EAAE,SAAS;YACrB,IAAI;YACJ,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,IAAI;YACZ,cAAc,EAAE,IAAI;YACpB,SAAS,EAAE,IAAI;YACf,aAAa,EAAE,YAAY,IAAI,oBAAoB;YACnD,QAAQ;SACR,CAAC,CAAA;IACH,CAAC;IAED,aAAa;IACb,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,IAAI,MAAM,GAAG,CAAC,CAAA;IACd,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,IAAI,QAAQ,CAAC,CAAC,CAAA;IACnF,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,gBAAgB,IAAI,EAAE,CAAC,CAAC,CAAA;IACpF,IAAI,QAAQ,CAAC,EAAE;QAAE,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAA;IACzE,IAAI,SAAS,CAAC,EAAE;QAAE,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAA;IAE5E,mBAAmB;IACnB,uEAAuE;IACvE,oEAAoE;IACpE,4EAA4E;IAC5E,iEAAiE;IACjE,2EAA2E;IAC3E,IAAI,SAAS,CAAA;IACb,mCAAmC;IACnC,IAAI,gBAAgB,CAAA;IACpB,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;QAClB,SAAS,GAAG,IAAI,CAAA;IACjB,CAAC;SAAM,IAAI,MAAM,GAAG,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QACtC,SAAS,GAAG,IAAI,CAAA;IACjB,CAAC;SAAM,CAAC;QACP,yCAAyC;QACzC,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,EAAE;YAC/B,YAAY;YACZ,cAAc;YACd,eAAe;YACf,MAAM;YACN,UAAU,IAAI,EAAE;SAChB,CAAC,CAAA;QACF,IAAI,KAAK,CAAC,EAAE,EAAE,CAAC;YACd,SAAS,GAAG,IAAI,CAAA;QACjB,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC7B,kEAAkE;YAClE,4BAA4B;YAC5B,SAAS,GAAG,KAAK,CAAA;YACjB,gBAAgB,GAAG,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QACpD,CAAC;aAAM,IAAI,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7C,SAAS,GAAG,IAAI,CAAA;YAChB,YAAY,GAAG,YAAY,IAAI,qBAAqB,CAAA;YACpD,QAAQ,CAAC,IAAI,CAAC,4CAA4C,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;QAC/F,CAAC;aAAM,CAAC;YACP,iEAAiE;YACjE,SAAS;YACT,SAAS,GAAG,IAAI,CAAA;YAChB,YAAY,GAAG,YAAY,IAAI,yBAAyB,CAAA;YACxD,QAAQ,CAAC,IAAI,CACZ,qCAAqC,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CACxF,CAAA;QACF,CAAC;IACF,CAAC;IAED,MAAM,QAAQ,GAAG;QAChB,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,sBAAsB;QAC/B,UAAU,EAAE,SAAS;QACrB,IAAI;QACJ,KAAK;QACL,MAAM;QACN,cAAc,EAAE,YAAY;QAC5B,SAAS;KACT,CAAA;IACD,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrD,QAAQ,CAAC,iBAAiB,GAAG,gBAAgB,CAAA;IAC9C,CAAC;IACD,IAAI,YAAY;QAAE,QAAQ,CAAC,aAAa,GAAG,YAAY,CAAA;IACvD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAA;IACrD,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAA;AACpB,CAAC;AAED,8EAA8E;AAC9E,aAAa;AACb,OAAO,EAAE,kBAAkB,IAAI,4BAA4B,EAAE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"audit.d.mts","sourceRoot":"","sources":["../../../src/cli/commands/audit.mjs"],"names":[],"mappings":"AAiDA;;;;;;;;GAQG;AACH,qCANW,MAAM,cACN,MAAM,cACN,MAAM,EAAE,8CA0BlB"}
1
+ {"version":3,"file":"audit.d.mts","sourceRoot":"","sources":["../../../src/cli/commands/audit.mjs"],"names":[],"mappings":"AA0DA;;;;;;;;GAQG;AACH,qCANW,MAAM,cACN,MAAM,cACN,MAAM,EAAE,8CA4BlB"}
@@ -28,6 +28,14 @@
28
28
  * committable bucket is non-empty after staging (CI-friendly gate).
29
29
  * Default: report-only, exits 0 regardless.
30
30
  *
31
+ * apt-tools audit branch-current <project-dir> [--base <ref>]
32
+ * Pre-PR rebase gate envelope for apt:ship §0.7. Pure read-only:
33
+ * `git fetch origin <base>`, captures origin/<base> tip SHA, counts
34
+ * ahead/behind, and (when diverged) probes mergeability with
35
+ * `git merge-tree --write-tree`. Returns {ahead, behind,
36
+ * remote_tip_sha, mergeable, conflicts_preview?}. Never mutates
37
+ * HEAD, the index, the worktree, or any remote ref.
38
+ *
31
39
  * Single source of truth: buildPolicyIgnoreMatcher in share-policy.mjs is
32
40
  * the ONLY matcher anywhere in the CLI. If you add a new taxonomy class or
33
41
  * toggle, update share-policy and this command follows automatically.
@@ -45,6 +53,7 @@ import { selfStageCommittableWrites } from '../artifacts/self-stage.mjs';
45
53
  import { buildPolicyIgnoreMatcher, resolveSharePolicy } from '../config/share-policy.mjs';
46
54
  import { detectPublicRemote } from '../git/remote.mjs';
47
55
  import { err, exitWith, ok } from '../util/result.mjs';
56
+ import { auditBranchCurrent } from './audit-branch-current.mjs';
48
57
  /**
49
58
  * Dispatch an `audit <subcommand>` call.
50
59
  *
@@ -56,7 +65,7 @@ import { err, exitWith, ok } from '../util/result.mjs';
56
65
  */
57
66
  export function cmdAudit(subcommand, projectDir, extraArgs = []) {
58
67
  if (!subcommand) {
59
- return err('Usage: apt-tools audit <privacy|visibility-signals|pending-artifacts> <project-dir> [flags]');
68
+ return err('Usage: apt-tools audit <privacy|visibility-signals|pending-artifacts|branch-current> <project-dir> [flags]');
60
69
  }
61
70
  if (!projectDir) {
62
71
  return err(`Usage: apt-tools audit ${subcommand} <project-dir> [flags]`);
@@ -69,8 +78,10 @@ export function cmdAudit(subcommand, projectDir, extraArgs = []) {
69
78
  return auditVisibilitySignals(targetDir);
70
79
  case 'pending-artifacts':
71
80
  return auditPendingArtifacts(targetDir, extraArgs);
81
+ case 'branch-current':
82
+ return auditBranchCurrent(targetDir, extraArgs);
72
83
  default:
73
- return err(`Unknown audit subcommand: ${subcommand}. Expected 'privacy', 'visibility-signals', or 'pending-artifacts'.`);
84
+ return err(`Unknown audit subcommand: ${subcommand}. Expected 'privacy', 'visibility-signals', 'pending-artifacts', or 'branch-current'.`);
74
85
  }
75
86
  }
76
87
  function loadConfig(targetDir) {
@@ -1 +1 @@
1
- {"version":3,"file":"audit.mjs","sourceRoot":"","sources":["../../../src/cli/commands/audit.mjs"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAClD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAA;AACtE,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAA;AACxE,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AACzF,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAA;AAEtD;;;;;;;;GAQG;AACH,MAAM,UAAU,QAAQ,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,GAAG,EAAE;IAC9D,IAAI,CAAC,UAAU,EAAE,CAAC;QACjB,OAAO,GAAG,CACT,6FAA6F,CAC7F,CAAA;IACF,CAAC;IACD,IAAI,CAAC,UAAU,EAAE,CAAC;QACjB,OAAO,GAAG,CAAC,0BAA0B,UAAU,wBAAwB,CAAC,CAAA;IACzE,CAAC;IACD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IACrC,QAAQ,UAAU,EAAE,CAAC;QACpB,KAAK,SAAS;YACb,OAAO,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;QAC1C,KAAK,oBAAoB;YACxB,OAAO,sBAAsB,CAAC,SAAS,CAAC,CAAA;QACzC,KAAK,mBAAmB;YACvB,OAAO,qBAAqB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;QACnD;YACC,OAAO,GAAG,CACT,6BAA6B,UAAU,qEAAqE,CAC5G,CAAA;IACH,CAAC;AACF,CAAC;AAED,SAAS,UAAU,CAAC,SAAS;IAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,aAAa,CAAC,CAAA;IAC7D,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,EAAE,CAAA;IACtC,IAAI,CAAC;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAA;IACrD,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,EAAE,CAAA;IACV,CAAC;AACF,CAAC;AAED,SAAS,uBAAuB,CAAC,SAAS;IACzC,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,EAAE;YACtE,GAAG,EAAE,SAAS;YACd,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;SACnC,CAAC,CAAA;QACF,OAAO,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAC3D,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,EAAE,CAAA;IACV,CAAC;AACF,CAAC;AAED,SAAS,YAAY,CAAC,SAAS,EAAE,SAAS;IACzC,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;IAC3C,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,CAAA;IACpC,MAAM,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAA;IACzC,MAAM,OAAO,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAA;IAEhD,MAAM,OAAO,GAAG,uBAAuB,CAAC,SAAS,CAAC,CAAA;IAClD,MAAM,UAAU,GAAG,EAAE,CAAA;IACrB,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;QAC7B,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACrB,UAAU,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,gBAAgB;gBAC1C,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,SAAS;aACjC,CAAC,CAAA;QACH,CAAC;IACF,CAAC;IAED,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAA;IAClE,MAAM,cAAc,GACnB,UAAU,CAAC,MAAM,GAAG,CAAC;QACpB,CAAC,CAAC,sBAAsB,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QACjF,CAAC,CAAC,IAAI,CAAA;IAER,MAAM,OAAO,GAAG;QACf,MAAM;QACN,OAAO,EAAE,eAAe;QACxB,UAAU,EAAE,SAAS;QACrB,MAAM;QACN,UAAU;QACV,cAAc;KACd,CAAA;IAED,IAAI,KAAK,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QAC3C,OAAO,CAAC,KAAK,GAAG;YACf,OAAO,EAAE,kCAAkC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACtG,SAAS,EAAE;gBACV,0CAA0C;gBAC1C,mEAAmE;gBACnE,8DAA8D;gBAC9D,+EAA+E;gBAC/E,+EAA+E;gBAC/E,kCAAkC;aAClC;YACD,OAAO,EACN,sGAAsG;SACvG,CAAA;IACF,CAAC;SAAM,IAAI,KAAK,EAAE,CAAC;QAClB,wEAAwE;QACxE,8BAA8B;QAC9B,OAAO,CAAC,KAAK,GAAG,IAAI,CAAA;IACrB,CAAC;IAED,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAA;AAClE,CAAC;AAED,SAAS,wBAAwB,CAAC,aAAa;IAC9C,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAChC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,CAAA;IAClE,CAAC;IACD,MAAM,IAAI,GAAG,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;IACjD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC9B,MAAM,SAAS,GAAG,EAAE,CAAA;IACpB,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAA;QACvB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAQ;QAC3C,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,oEAAoE;YACpE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;YAClD,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACxB,CAAC;IACF,CAAC;IACD,OAAO;QACN,MAAM,EAAE,IAAI;QACZ,iBAAiB,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACtF,SAAS;KACT,CAAA;AACF,CAAC;AAED,SAAS,sBAAsB,CAAC,SAAS;IACxC,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,CAAA;IACpC,MAAM,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAA;IACzC,MAAM,YAAY,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAA;IAElD,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,YAAY,CAAC,CAAA;IAC/D,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,aAAa,CAAC,CAAA;IAEjE,wEAAwE;IACxE,oEAAoE;IACpE,kDAAkD;IAClD,MAAM,eAAe,GAAG,EAAE,CAAA;IAC1B,KAAK,MAAM,IAAI,IAAI,iBAAiB,CAAC,SAAS,EAAE,CAAC;QAChD,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QAC1C,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;YAChC,eAAe,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAA;QACrD,CAAC;IACF,CAAC;IAED,oDAAoD;IACpD,IAAI,WAAW,GAAG,KAAK,CAAA;IACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,WAAW,CAAC,CAAA;IACzD,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,IAAI,CAAC;YACJ,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAA;YACxD,WAAW,GAAG,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;QACrC,CAAC;QAAC,MAAM,CAAC;YACR,WAAW,GAAG,KAAK,CAAA;QACpB,CAAC;IACF,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;IAExD,wEAAwE;IACxE,qEAAqE;IACrE,6DAA6D;IAC7D,MAAM,aAAa,GAAG;QACrB,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,IAAI,MAAM;QAC/C,KAAK,EAAE;YACN,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE;YACpC,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,OAAO,EACN,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,SAAS,IAAI,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI;gBACtE,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO;SACxB;KACD,CAAA;IAED,OAAO,EAAE,CAAC;QACT,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,0BAA0B;QACnC,UAAU,EAAE,SAAS;QACrB,YAAY;QACZ,iBAAiB,EAAE;YAClB,MAAM,EAAE,iBAAiB,CAAC,MAAM;YAChC,iBAAiB,EAAE,iBAAiB,CAAC,iBAAiB;YACtD,SAAS,EAAE,iBAAiB,CAAC,SAAS;YACtC,eAAe;SACf;QACD,WAAW;QACX,cAAc;QACd,aAAa;KACb,CAAC,CAAA;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,cAAc,CAAC,IAAI,EAAE,MAAM;IACnC,4CAA4C;IAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;IAE7C,4CAA4C;IAC5C,IACC,OAAO,KAAK,YAAY;QACxB,OAAO,KAAK,aAAa;QACzB,OAAO,KAAK,WAAW;QACvB,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC;QAC/B,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC;QAC9B,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC;QAChC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC;QAChC,OAAO,CAAC,UAAU,CAAC,oBAAoB,CAAC;QACxC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,EAC/B,CAAC;QACF,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;IAC1C,CAAC;IAED,iBAAiB;IACjB,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;QAC7B,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM;YACxB,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;YACpC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,yBAAyB,EAAE,CAAA;IAC5D,CAAC;IACD,IAAI,OAAO,KAAK,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9D,OAAO,MAAM,CAAC,OAAO;YACpB,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;YACpC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAA;IACxD,CAAC;IACD,IAAI,OAAO,KAAK,YAAY,IAAI,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACrE,OAAO,MAAM,CAAC,SAAS;YACtB,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;YACpC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAA;IAC1D,CAAC;IACD,IAAI,OAAO,KAAK,UAAU,IAAI,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACjE,OAAO,MAAM,CAAC,OAAO;YACpB,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;YACpC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAA;IACxD,CAAC;IACD,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1D,OAAO,MAAM,CAAC,KAAK;YAClB,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;YACpC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAA;IACtD,CAAC;IAED,8DAA8D;IAC9D,OAAO,IAAI,CAAA;AACZ,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,mBAAmB,CAAC,SAAS;IACrC,MAAM,GAAG,GAAG,EAAE,CAAA;IACd,KAAK,MAAM,OAAO,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7C,IAAI,CAAC,OAAO;YAAE,SAAQ;QACtB,gEAAgE;QAChE,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACrC,MAAM,GAAG,GAAG,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAC3D,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAA;QACpD,IAAI,OAAO;YAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC/B,CAAC;IACD,OAAO,GAAG,CAAA;AACX,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,qBAAqB,CAAC,SAAS,EAAE,SAAS;IAClD,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;IAC3C,MAAM,WAAW,GAAG,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAA;IAEzD,IAAI,SAAS,GAAG,EAAE,CAAA;IAClB,IAAI,CAAC;QACJ,yEAAyE;QACzE,wEAAwE;QACxE,qEAAqE;QACrE,wEAAwE;QACxE,kCAAkC;QAClC,SAAS,GAAG,YAAY,CACvB,KAAK,EACL,CAAC,QAAQ,EAAE,aAAa,EAAE,uBAAuB,EAAE,IAAI,EAAE,WAAW,CAAC,EACrE;YACC,GAAG,EAAE,SAAS;YACd,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;SACjC,CACD,CAAA;IACF,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACZ,gEAAgE;QAChE,OAAO,EAAE,CAAC;YACT,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,yBAAyB;YAClC,UAAU,EAAE,SAAS;YACrB,WAAW,EAAE,EAAE;YACf,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,EAAE;YACX,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,CAAC,sBAAsB,CAAC,EAAE,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3D,CAAC,CAAA;IACH,CAAC;IAED,MAAM,UAAU,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAA;IACjD,MAAM,WAAW,GAAG,EAAE,CAAA;IACtB,MAAM,SAAS,GAAG,EAAE,CAAA;IACpB,MAAM,OAAO,GAAG,EAAE,CAAA;IAClB,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAA;QACtC,IAAI,GAAG,KAAK,aAAa;YAAE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;aAC5C,IAAI,GAAG,KAAK,WAAW;YAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;;YAC7C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACxB,CAAC;IAED,MAAM,QAAQ,GAAG,EAAE,CAAA;IACnB,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,IAAI,KAAK,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrC,qEAAqE;QACrE,oEAAoE;QACpE,sEAAsE;QACtE,iEAAiE;QACjE,iEAAiE;QACjE,MAAM,GAAG,GAAG,0BAA0B,CAAC,SAAS,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;QACjF,MAAM,GAAG,GAAG,CAAC,MAAM,CAAA;QACnB,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,QAAQ;YAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC9C,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAC7B,QAAQ,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAA;QAC3D,CAAC;IACF,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,QAAQ,CAAC,IAAI,CACZ,mBAAmB,OAAO,CAAC,MAAM,oGAAoG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACrK,CAAA;IACF,CAAC;IAED,yEAAyE;IACzE,+CAA+C;IAC/C,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAA;IACjC,MAAM,oBAAoB,GAAG,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAA;IAE/F,MAAM,OAAO,GAAG;QACf,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,yBAAyB;QAClC,UAAU,EAAE,SAAS;QACrB,WAAW;QACX,SAAS;QACT,OAAO;QACP,MAAM;QACN,QAAQ;KACR,CAAA;IAED,IAAI,WAAW,IAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;QAC5E,OAAO,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;IAC5B,CAAC;IACD,OAAO,EAAE,CAAC,OAAO,CAAC,CAAA;AACnB,CAAC"}
1
+ {"version":3,"file":"audit.mjs","sourceRoot":"","sources":["../../../src/cli/commands/audit.mjs"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"check-version.d.mts","sourceRoot":"","sources":["../../../src/cli/commands/check-version.mjs"],"names":[],"mappings":"AAqGA;;GAEG;AACH,4CAFW,MAAM,8CAsFhB"}
1
+ {"version":3,"file":"check-version.d.mts","sourceRoot":"","sources":["../../../src/cli/commands/check-version.mjs"],"names":[],"mappings":"AA6GA;;GAEG;AACH,4CAFW,MAAM,8CAiGhB"}
@@ -29,7 +29,13 @@
29
29
  * // `framework_version` field (read from package.json, never from
30
30
  * // the cache).
31
31
  * framework: {
32
- * latest_version: '0.6.7' | null
32
+ * latest_version: '0.6.7' | null,
33
+ * // Bundle A (0.8.3) — additive nullable field. Set when a workspace
34
+ * // `packages/framework/package.json` is found above the project root
35
+ * // and its `name === '@aperant/framework'`. When workspace_version
36
+ * // is ahead of the running kernel, `update_available` flips true
37
+ * // regardless of cache state (workspace wins on self-host).
38
+ * workspace_version: '0.8.3' | null
33
39
  * },
34
40
  * update_available: false,
35
41
  * dev_install_ahead: false,
@@ -47,11 +53,13 @@
47
53
  import { existsSync, readFileSync } from 'node:fs';
48
54
  import { dirname, join, resolve } from 'node:path';
49
55
  import { fileURLToPath } from 'node:url';
56
+ import { findWorkspaceFrameworkVersion } from '../install/find-workspace-framework-version.mjs';
50
57
  import { readManifest } from '../install/manifest.mjs';
51
58
  import { detectInstalledRuntimes } from '../install/runtime-detect.mjs';
52
59
  import { readFreshUpdateCache } from '../install/update-chips.mjs';
53
60
  import { inspectManifestFiles } from '../install/version-header.mjs';
54
61
  import { err, ok } from '../util/result.mjs';
62
+ import { compareVersions } from '../util/semver.mjs';
55
63
  const __filename = fileURLToPath(import.meta.url);
56
64
  const __dirname = dirname(__filename);
57
65
  /**
@@ -162,6 +170,15 @@ export function cmdCheckVersion(projectDir) {
162
170
  if (typeof c.lookup_error === 'string')
163
171
  lookupError = c.lookup_error;
164
172
  }
173
+ // Bundle A — additive `framework.workspace_version` field. When the
174
+ // workspace package.json is ahead of the running kernel, flip
175
+ // `update_available` true regardless of cache state (the workspace is
176
+ // the source of truth on self-host). schema_version stays at 1 (D-01).
177
+ const workspace = findWorkspaceFrameworkVersion(targetDir);
178
+ const workspaceVersion = workspace?.source_version ?? null;
179
+ if (workspaceVersion && compareVersions(workspaceVersion, frameworkVersion) > 0) {
180
+ updateAvailable = true;
181
+ }
165
182
  return ok({
166
183
  status,
167
184
  command: 'check-version',
@@ -173,6 +190,7 @@ export function cmdCheckVersion(projectDir) {
173
190
  // file-header schema comment.
174
191
  framework: {
175
192
  latest_version: latestVersion,
193
+ workspace_version: workspaceVersion,
176
194
  },
177
195
  update_available: updateAvailable,
178
196
  dev_install_ahead: devInstallAhead,
@@ -1 +1 @@
1
- {"version":3,"file":"check-version.mjs","sourceRoot":"","sources":["../../../src/cli/commands/check-version.mjs"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"check-version.mjs","sourceRoot":"","sources":["../../../src/cli/commands/check-version.mjs"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  /**
2
- * commands/context.mjs — `apt-tools context write` (Pocock adoption ST-5, AC4).
2
+ * commands/context.mjs — `apt-tools context write`.
3
3
  *
4
4
  * Upserts a term-block into the project's CONTEXT.md (the persistent
5
- * project glossary). Format ported from Pocock's CONTEXT-FORMAT.md
5
+ * project glossary). Format ported from the Aperant CONTEXT-FORMAT.md
6
6
  * (see packages/framework/templates/context-format.md for the MIT
7
7
  * attribution + field semantics).
8
8
  *
@@ -178,7 +178,7 @@ export function cmdContext(subcommand, projectDir, extraArgs) {
178
178
  else {
179
179
  source = `${HEADER}\n\n${HEADER_NOTE}\n\n`;
180
180
  }
181
- // Ensure the file starts with the header even if it existed pre-Pocock.
181
+ // Ensure the file starts with the header even if it existed pre-vertical-slice.
182
182
  if (!source.startsWith(HEADER)) {
183
183
  source = `${HEADER}\n\n${HEADER_NOTE}\n\n${source}`;
184
184
  }
@@ -1 +1 @@
1
- {"version":3,"file":"context.mjs","sourceRoot":"","sources":["../../../src/cli/commands/context.mjs"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.mjs","sourceRoot":"","sources":["../../../src/cli/commands/context.mjs"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"coverage-check.d.mts","sourceRoot":"","sources":["../../../src/cli/commands/coverage-check.mjs"],"names":[],"mappings":"AASA,+HAkPC"}
1
+ {"version":3,"file":"coverage-check.d.mts","sourceRoot":"","sources":["../../../src/cli/commands/coverage-check.mjs"],"names":[],"mappings":"AAmBA,+HA6RC"}
@@ -1,9 +1,19 @@
1
1
  /**
2
2
  * commands/coverage-check.mjs — plan-to-spec verification coverage validator (C29).
3
+ *
4
+ * v0.8.6 adds a second gate: `## User Outcomes` parsing + gate (see
5
+ * coverage-check/user-outcomes.mjs). The new gate is ADDITIVE — it does
6
+ * NOT change the existing AC parsing branch and does NOT block when
7
+ * only Acceptance Criteria are present (outcomes and ACs are
8
+ * independent concerns per spec §ID-01). QUICK-track plans
9
+ * (`complexity: "simple"` OR no `vertical_slice_schema_version`) skip
10
+ * the User Outcomes branch entirely per Fast Path Guarantee (ID-08).
3
11
  */
4
12
  import { existsSync, readFileSync } from 'node:fs';
5
- import { join, resolve } from 'node:path';
13
+ import { dirname, join, resolve } from 'node:path';
14
+ import { fileURLToPath } from 'node:url';
6
15
  import { parseAcceptanceCriteria, resolveSpecPath } from '../config/coverage-ac.mjs';
16
+ import { parseUserOutcomes, userOutcomesGateResult } from '../coverage-check/user-outcomes.mjs';
7
17
  import { err, ok } from '../util/result.mjs';
8
18
  export function cmdCoverageCheck(subcommand, projectDir, extraArgs) {
9
19
  if (!subcommand)
@@ -113,12 +123,40 @@ export function cmdCoverageCheck(subcommand, projectDir, extraArgs) {
113
123
  /* use default */
114
124
  }
115
125
  }
126
+ // Build the User Outcomes payload — additive, ID-08 QUICK-exempt.
127
+ // Plans with `complexity: "simple"` OR no
128
+ // `vertical_slice_schema_version` are QUICK-track per the Fast
129
+ // Path Guarantee — skip the gate entirely (the payload's
130
+ // `user_outcomes` key is OMITTED).
131
+ const isQuickTrack = plan.complexity === 'simple' || !plan.vertical_slice_schema_version;
132
+ let userOutcomesPayload = null;
133
+ if (!isQuickTrack && resolvedSpec.path) {
134
+ const specContentForOutcomes = readFileSync(resolvedSpec.path, 'utf-8');
135
+ const parsedOutcomes = parseUserOutcomes(specContentForOutcomes);
136
+ const frameworkVersion = readFrameworkVersion();
137
+ const gateResult = userOutcomesGateResult(parsedOutcomes, frameworkVersion);
138
+ userOutcomesPayload = {
139
+ header_present: parsedOutcomes.header_present,
140
+ body_kind: parsedOutcomes.body_kind,
141
+ outcomes_count: parsedOutcomes.outcomes.length,
142
+ gate_result: gateResult,
143
+ };
144
+ if (parsedOutcomes.epic)
145
+ userOutcomesPayload.epic = parsedOutcomes.epic;
146
+ if (parsedOutcomes.validation_warnings && parsedOutcomes.validation_warnings.length > 0) {
147
+ userOutcomesPayload.validation_warnings = parsedOutcomes.validation_warnings;
148
+ }
149
+ if (gateResult === 'warn') {
150
+ userOutcomesPayload.migration_deadline =
151
+ '## User Outcomes section becomes a hard block in v0.9.0 — add it now, or use the empty-with-note escape (`_No user-observable changes — pure refactor._`) for refactor-only specs.';
152
+ }
153
+ }
116
154
  // Zero-criteria guard — do NOT silently report ok when there is
117
155
  // nothing to verify. This is the motivating bug: zero criteria
118
156
  // trivially pass unmapped.length === 0, which produced a false
119
157
  // green signal. Treat it as incomplete with an explicit reason.
120
158
  if (criteria.length === 0) {
121
- return ok({
159
+ return ok(withUserOutcomes({
122
160
  status: 'incomplete',
123
161
  command: 'coverage-validate',
124
162
  criteria_count: 0,
@@ -136,7 +174,7 @@ export function cmdCoverageCheck(subcommand, projectDir, extraArgs) {
136
174
  sources_checked: sourcesChecked,
137
175
  spec_path: resolvedSpec.path,
138
176
  autonomy_action: autonomyLevelEarly <= 1 ? 'stop-and-ask' : 'generate-stubs',
139
- });
177
+ }, userOutcomesPayload));
140
178
  }
141
179
  // Classify verification methods for each subtask (D-19)
142
180
  function classifyVerification(verification) {
@@ -206,7 +244,7 @@ export function cmdCoverageCheck(subcommand, projectDir, extraArgs) {
206
244
  }
207
245
  }
208
246
  if (unmapped.length > 0) {
209
- return ok({
247
+ return ok(withUserOutcomes({
210
248
  status: 'incomplete',
211
249
  command: 'coverage-validate',
212
250
  criteria_count: criteria.length,
@@ -218,9 +256,9 @@ export function cmdCoverageCheck(subcommand, projectDir, extraArgs) {
218
256
  autonomy_action: autonomyLevel <= 1 ? 'stop-and-ask' : 'generate-stubs',
219
257
  spec_path: resolvedSpec.path,
220
258
  sources_checked: sourcesChecked,
221
- });
259
+ }, userOutcomesPayload));
222
260
  }
223
- return ok({
261
+ return ok(withUserOutcomes({
224
262
  status: 'ok',
225
263
  command: 'coverage-validate',
226
264
  criteria_count: criteria.length,
@@ -229,10 +267,39 @@ export function cmdCoverageCheck(subcommand, projectDir, extraArgs) {
229
267
  subtask_verifications: subtaskVerifications,
230
268
  spec_path: resolvedSpec.path,
231
269
  sources_checked: sourcesChecked,
232
- });
270
+ }, userOutcomesPayload));
233
271
  }
234
272
  default:
235
273
  return err(`Unknown coverage-check subcommand: ${subcommand}. Available: validate`);
236
274
  }
237
275
  }
276
+ /**
277
+ * Attach the `user_outcomes` payload to a coverage-check envelope when
278
+ * present (i.e. STANDARD/DEEP plan with a spec on disk). QUICK plans
279
+ * pass `null` and the key is OMITTED from the envelope entirely — Fast
280
+ * Path Guarantee (ID-08).
281
+ */
282
+ function withUserOutcomes(envelope, userOutcomesPayload) {
283
+ if (userOutcomesPayload === null)
284
+ return envelope;
285
+ return { ...envelope, user_outcomes: userOutcomesPayload };
286
+ }
287
+ /**
288
+ * Read the running kernel's framework version from its own package.json.
289
+ * Used to gate the `## User Outcomes` missing-header behavior — warn in
290
+ * v0.8.x, hard-block from v0.9.0 forward. Returns `'0.0.0'` on failure
291
+ * so the gate fails-soft to warn (callers treat unknown version as
292
+ * pre-0.9.0).
293
+ */
294
+ function readFrameworkVersion() {
295
+ try {
296
+ const here = dirname(fileURLToPath(import.meta.url));
297
+ const pkgPath = resolve(here, '..', '..', '..', 'package.json');
298
+ const pkg = JSON.parse(readFileSync(pkgPath, 'utf-8'));
299
+ return typeof pkg.version === 'string' ? pkg.version : '0.0.0';
300
+ }
301
+ catch {
302
+ return '0.0.0';
303
+ }
304
+ }
238
305
  //# sourceMappingURL=coverage-check.mjs.map