@aligndottech/cli 0.63.0 → 0.64.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 (317) hide show
  1. package/dist/cli.d.ts +2 -2
  2. package/dist/cli.js +6 -6
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/adjudicate.d.ts +3 -3
  5. package/dist/commands/capture.js +2 -2
  6. package/dist/commands/capture.js.map +1 -1
  7. package/dist/commands/check.d.ts +1 -1
  8. package/dist/commands/check.js +30 -30
  9. package/dist/commands/check.js.map +1 -1
  10. package/dist/commands/connect-agents.d.ts +4 -2
  11. package/dist/commands/connect-agents.d.ts.map +1 -1
  12. package/dist/commands/connect-agents.js +7 -7
  13. package/dist/commands/connect-agents.js.map +1 -1
  14. package/dist/commands/connect.d.ts +1 -1
  15. package/dist/commands/connector/index.js +1 -1
  16. package/dist/commands/connector/index.js.map +1 -1
  17. package/dist/commands/context.d.ts +4 -4
  18. package/dist/commands/context.js +7 -7
  19. package/dist/commands/context.js.map +1 -1
  20. package/dist/commands/decisions/index.js +4 -4
  21. package/dist/commands/decisions/index.js.map +1 -1
  22. package/dist/commands/default-action.d.ts.map +1 -1
  23. package/dist/commands/default-action.js +8 -5
  24. package/dist/commands/default-action.js.map +1 -1
  25. package/dist/commands/glossary.d.ts +1 -1
  26. package/dist/commands/import/confluence.js +1 -1
  27. package/dist/commands/import/confluence.js.map +1 -1
  28. package/dist/commands/import/git.js +4 -4
  29. package/dist/commands/import/git.js.map +1 -1
  30. package/dist/commands/import/jira.js +1 -1
  31. package/dist/commands/import/jira.js.map +1 -1
  32. package/dist/commands/import/sessions.d.ts +6 -6
  33. package/dist/commands/import/sessions.js +10 -10
  34. package/dist/commands/import/sessions.js.map +1 -1
  35. package/dist/commands/import.d.ts +2 -2
  36. package/dist/commands/import.js +2 -2
  37. package/dist/commands/invite.d.ts +1 -1
  38. package/dist/commands/invite.js +1 -1
  39. package/dist/commands/invite.js.map +1 -1
  40. package/dist/commands/local.js +3 -3
  41. package/dist/commands/local.js.map +1 -1
  42. package/dist/commands/mcp.d.ts +4 -4
  43. package/dist/commands/mcp.d.ts.map +1 -1
  44. package/dist/commands/mcp.js +34 -35
  45. package/dist/commands/mcp.js.map +1 -1
  46. package/dist/commands/ratify.d.ts +1 -1
  47. package/dist/commands/ratify.js +1 -1
  48. package/dist/commands/ratify.js.map +1 -1
  49. package/dist/commands/registry.d.ts +2 -2
  50. package/dist/commands/registry.js +3 -3
  51. package/dist/commands/registry.js.map +1 -1
  52. package/dist/commands/search.js +2 -2
  53. package/dist/commands/search.js.map +1 -1
  54. package/dist/commands/setup.d.ts +14 -10
  55. package/dist/commands/setup.d.ts.map +1 -1
  56. package/dist/commands/setup.js +133 -75
  57. package/dist/commands/setup.js.map +1 -1
  58. package/dist/commands/status.js +2 -2
  59. package/dist/commands/status.js.map +1 -1
  60. package/dist/commands/telemetry.d.ts +2 -2
  61. package/dist/commands/telemetry.js +3 -3
  62. package/dist/commands/telemetry.js.map +1 -1
  63. package/dist/commands/why.js +31 -31
  64. package/dist/commands/why.js.map +1 -1
  65. package/dist/detector/local-model-default.d.ts +1 -1
  66. package/dist/detector/local-model-default.js +1 -1
  67. package/dist/index.js +2 -2
  68. package/dist/index.js.map +1 -1
  69. package/dist/lib/access-capability.d.ts +1 -1
  70. package/dist/lib/access-capability.js +1 -1
  71. package/dist/lib/advisory-verdict.d.ts +3 -3
  72. package/dist/lib/advisory-verdict.js +3 -3
  73. package/dist/lib/agent-rules.d.ts +9 -0
  74. package/dist/lib/agent-rules.d.ts.map +1 -1
  75. package/dist/lib/agent-rules.js +55 -39
  76. package/dist/lib/agent-rules.js.map +1 -1
  77. package/dist/lib/approve-suggestions.d.ts +1 -1
  78. package/dist/lib/approve-suggestions.js +1 -1
  79. package/dist/lib/as-of.d.ts +6 -6
  80. package/dist/lib/as-of.js +6 -6
  81. package/dist/lib/ask-evidence.js +1 -1
  82. package/dist/lib/ask-key-offer.js +1 -1
  83. package/dist/lib/ask-listing.js +1 -1
  84. package/dist/lib/brand.d.ts +2 -2
  85. package/dist/lib/brand.js +3 -3
  86. package/dist/lib/capture-report.d.ts +1 -1
  87. package/dist/lib/capture-report.d.ts.map +1 -1
  88. package/dist/lib/capture-report.js +3 -3
  89. package/dist/lib/capture-report.js.map +1 -1
  90. package/dist/lib/capture-sources.d.ts +1 -1
  91. package/dist/lib/capture-sources.js +1 -1
  92. package/dist/lib/check-depth.d.ts +1 -1
  93. package/dist/lib/check-depth.js +1 -1
  94. package/dist/lib/claude-presence.d.ts +1 -1
  95. package/dist/lib/claude-presence.js +1 -1
  96. package/dist/lib/cli-oauth.js +1 -1
  97. package/dist/lib/cli-oauth.js.map +1 -1
  98. package/dist/lib/commands-doc.d.ts +1 -1
  99. package/dist/lib/commands-doc.js +1 -1
  100. package/dist/lib/commit-cite.js +2 -2
  101. package/dist/lib/commit-shape.d.ts +1 -1
  102. package/dist/lib/commit-shape.js +1 -1
  103. package/dist/lib/config.d.ts +6 -6
  104. package/dist/lib/config.js +7 -7
  105. package/dist/lib/config.js.map +1 -1
  106. package/dist/lib/connect-prompt.d.ts +1 -1
  107. package/dist/lib/connect-prompt.js +1 -1
  108. package/dist/lib/decider-kind.d.ts +4 -4
  109. package/dist/lib/decider-kind.js +4 -4
  110. package/dist/lib/decision-links.d.ts +7 -8
  111. package/dist/lib/decision-links.d.ts.map +1 -1
  112. package/dist/lib/decision-links.js +8 -9
  113. package/dist/lib/decision-links.js.map +1 -1
  114. package/dist/lib/decision-refs.d.ts +3 -3
  115. package/dist/lib/decision-refs.js +4 -4
  116. package/dist/lib/decision-refs.js.map +1 -1
  117. package/dist/lib/decision-relations.d.ts +4 -4
  118. package/dist/lib/decision-relations.js +4 -4
  119. package/dist/lib/decision-render.d.ts +2 -2
  120. package/dist/lib/decision-render.d.ts.map +1 -1
  121. package/dist/lib/decision-render.js +5 -5
  122. package/dist/lib/decision-render.js.map +1 -1
  123. package/dist/lib/decisions-context.d.ts +4 -4
  124. package/dist/lib/decisions-context.js +5 -5
  125. package/dist/lib/decisions-context.js.map +1 -1
  126. package/dist/lib/doctor-mcp.js +1 -1
  127. package/dist/lib/doctor.d.ts +2 -2
  128. package/dist/lib/embedding-assets.js +1 -1
  129. package/dist/lib/embedding-runtime.js +1 -1
  130. package/dist/lib/fetchers/capture.d.ts +1 -1
  131. package/dist/lib/fetchers/docs.d.ts +1 -1
  132. package/dist/lib/fetchers/docs.js +5 -5
  133. package/dist/lib/fetchers/docs.js.map +1 -1
  134. package/dist/lib/fetchers/git.d.ts +1 -1
  135. package/dist/lib/fetchers/git.js +1 -1
  136. package/dist/lib/fetchers/github.d.ts +2 -2
  137. package/dist/lib/fetchers/github.js +2 -2
  138. package/dist/lib/fetchers/linear.js +1 -1
  139. package/dist/lib/fetchers/slack.d.ts +2 -2
  140. package/dist/lib/fetchers/slack.js +2 -2
  141. package/dist/lib/first-decision.d.ts +1 -1
  142. package/dist/lib/first-decision.js +1 -1
  143. package/dist/lib/first-run-pr-import.d.ts +1 -1
  144. package/dist/lib/format-date.d.ts +1 -1
  145. package/dist/lib/format-date.js +1 -1
  146. package/dist/lib/found-summary.js +4 -4
  147. package/dist/lib/found-summary.js.map +1 -1
  148. package/dist/lib/gateway-client.d.ts +27 -27
  149. package/dist/lib/gateway-client.d.ts.map +1 -1
  150. package/dist/lib/gateway-client.js +30 -30
  151. package/dist/lib/gateway-client.js.map +1 -1
  152. package/dist/lib/git.d.ts +10 -10
  153. package/dist/lib/git.d.ts.map +1 -1
  154. package/dist/lib/git.js +12 -12
  155. package/dist/lib/git.js.map +1 -1
  156. package/dist/lib/hook-context.js +1 -1
  157. package/dist/lib/hook-payload.d.ts +1 -1
  158. package/dist/lib/hybrid-rank.d.ts +3 -3
  159. package/dist/lib/hybrid-rank.d.ts.map +1 -1
  160. package/dist/lib/hybrid-rank.js +3 -3
  161. package/dist/lib/hybrid-rank.js.map +1 -1
  162. package/dist/lib/import-defaults.d.ts +5 -5
  163. package/dist/lib/import-defaults.js +3 -3
  164. package/dist/lib/inline-rules.d.ts +1 -1
  165. package/dist/lib/inline-rules.js +1 -1
  166. package/dist/lib/invite-prompt.d.ts +1 -1
  167. package/dist/lib/invite-prompt.js +1 -1
  168. package/dist/lib/launch/mcp-child-env.js +1 -1
  169. package/dist/lib/launch/mcp-child-env.js.map +1 -1
  170. package/dist/lib/launch/strict-entry.js +2 -2
  171. package/dist/lib/launch/strict-entry.js.map +1 -1
  172. package/dist/lib/lexical-store.d.ts +1 -1
  173. package/dist/lib/lexical-store.js +1 -1
  174. package/dist/lib/lexical-terms.d.ts +1 -1
  175. package/dist/lib/lexical-terms.js +1 -1
  176. package/dist/lib/lexical-text.d.ts +2 -2
  177. package/dist/lib/lexical-text.js +2 -2
  178. package/dist/lib/llm-providers.d.ts +1 -1
  179. package/dist/lib/llm-providers.js +2 -2
  180. package/dist/lib/llm-providers.js.map +1 -1
  181. package/dist/lib/llm-trace.d.ts +1 -1
  182. package/dist/lib/llm-trace.js +1 -1
  183. package/dist/lib/llm-trace.js.map +1 -1
  184. package/dist/lib/local-candidate-classify.d.ts +1 -1
  185. package/dist/lib/local-candidate-classify.js +3 -3
  186. package/dist/lib/local-candidate-classify.js.map +1 -1
  187. package/dist/lib/local-db-migrate.d.ts +6 -6
  188. package/dist/lib/local-db-migrate.js +9 -9
  189. package/dist/lib/local-db-migrate.js.map +1 -1
  190. package/dist/lib/local-db-v11.d.ts +1 -1
  191. package/dist/lib/local-db.d.ts +33 -33
  192. package/dist/lib/local-db.d.ts.map +1 -1
  193. package/dist/lib/local-db.js +27 -27
  194. package/dist/lib/local-db.js.map +1 -1
  195. package/dist/lib/local-embeddings-native.js +1 -1
  196. package/dist/lib/local-embeddings.d.ts +2 -2
  197. package/dist/lib/local-embeddings.js +2 -2
  198. package/dist/lib/local-embeddings.js.map +1 -1
  199. package/dist/lib/local-gateway-client.d.ts +5 -5
  200. package/dist/lib/local-gateway-client.js +40 -40
  201. package/dist/lib/local-gateway-client.js.map +1 -1
  202. package/dist/lib/local-ingest.d.ts +3 -3
  203. package/dist/lib/local-ingest.js +3 -3
  204. package/dist/lib/local-link-pass.js +1 -1
  205. package/dist/lib/local-link-pass.js.map +1 -1
  206. package/dist/lib/local-llm.d.ts +21 -22
  207. package/dist/lib/local-llm.d.ts.map +1 -1
  208. package/dist/lib/local-llm.js +28 -30
  209. package/dist/lib/local-llm.js.map +1 -1
  210. package/dist/lib/local-mode.d.ts +1 -1
  211. package/dist/lib/local-mode.js +2 -2
  212. package/dist/lib/local-mode.js.map +1 -1
  213. package/dist/lib/local-provenance.d.ts +1 -1
  214. package/dist/lib/local-provenance.js +1 -1
  215. package/dist/lib/local-relationship-classifier.d.ts +6 -6
  216. package/dist/lib/local-relationship-classifier.js +7 -7
  217. package/dist/lib/local-relationship-classifier.js.map +1 -1
  218. package/dist/lib/local-thresholds.d.ts +3 -3
  219. package/dist/lib/local-thresholds.js +4 -4
  220. package/dist/lib/local-thresholds.js.map +1 -1
  221. package/dist/lib/mcp/share-status-tool.js +1 -1
  222. package/dist/lib/mcp/share-tool.js +1 -1
  223. package/dist/lib/mcp-setup.d.ts +11 -4
  224. package/dist/lib/mcp-setup.d.ts.map +1 -1
  225. package/dist/lib/mcp-setup.js +22 -12
  226. package/dist/lib/mcp-setup.js.map +1 -1
  227. package/dist/lib/mcp-timeline-tools.d.ts +5 -5
  228. package/dist/lib/mcp-timeline-tools.d.ts.map +1 -1
  229. package/dist/lib/mcp-timeline-tools.js +22 -23
  230. package/dist/lib/mcp-timeline-tools.js.map +1 -1
  231. package/dist/lib/next-step.d.ts +11 -5
  232. package/dist/lib/next-step.d.ts.map +1 -1
  233. package/dist/lib/next-step.js +12 -4
  234. package/dist/lib/next-step.js.map +1 -1
  235. package/dist/lib/personal-import.d.ts +3 -3
  236. package/dist/lib/personal-import.d.ts.map +1 -1
  237. package/dist/lib/personal-import.js +4 -4
  238. package/dist/lib/personal-import.js.map +1 -1
  239. package/dist/lib/personal-oauth.js +3 -3
  240. package/dist/lib/personal-oauth.js.map +1 -1
  241. package/dist/lib/query-expand.d.ts +1 -1
  242. package/dist/lib/query-expand.js +1 -1
  243. package/dist/lib/read-value-rollup.d.ts +2 -2
  244. package/dist/lib/read-value-rollup.js +3 -3
  245. package/dist/lib/read-value-rollup.js.map +1 -1
  246. package/dist/lib/reason-extract.d.ts +1 -1
  247. package/dist/lib/reason-extract.js +1 -1
  248. package/dist/lib/repo-identity.d.ts +2 -2
  249. package/dist/lib/repo-identity.js +3 -3
  250. package/dist/lib/resolve-env.d.ts +1 -1
  251. package/dist/lib/resolve-env.js +1 -1
  252. package/dist/lib/scope-defaults.js +1 -1
  253. package/dist/lib/scope-real.d.ts.map +1 -1
  254. package/dist/lib/scope-real.js +1 -1
  255. package/dist/lib/scope-real.js.map +1 -1
  256. package/dist/lib/search-query.d.ts +2 -2
  257. package/dist/lib/search-query.js +2 -2
  258. package/dist/lib/search-rerank.d.ts +1 -1
  259. package/dist/lib/search-rerank.js +1 -1
  260. package/dist/lib/sessions/confirm-freetext.d.ts +3 -3
  261. package/dist/lib/sessions/confirm-freetext.d.ts.map +1 -1
  262. package/dist/lib/sessions/confirm-freetext.js +2 -2
  263. package/dist/lib/sessions/extract-freetext.d.ts +3 -3
  264. package/dist/lib/sessions/extract-freetext.d.ts.map +1 -1
  265. package/dist/lib/sessions/import-summary.d.ts +1 -1
  266. package/dist/lib/sessions/import-summary.js +1 -1
  267. package/dist/lib/sessions/memory-files.d.ts +1 -1
  268. package/dist/lib/sessions/memory-files.js +5 -5
  269. package/dist/lib/sessions/source-url.d.ts +2 -2
  270. package/dist/lib/sessions/source-url.js +2 -2
  271. package/dist/lib/sessions/types.d.ts +6 -6
  272. package/dist/lib/sessions/types.js +4 -4
  273. package/dist/lib/setup-funnel.d.ts +2 -2
  274. package/dist/lib/setup-ux.d.ts +2 -2
  275. package/dist/lib/setup-ux.js +3 -3
  276. package/dist/lib/setup-ux.js.map +1 -1
  277. package/dist/lib/share/approval.js +1 -1
  278. package/dist/lib/share/browser-flow.d.ts +1 -1
  279. package/dist/lib/share/browser-flow.js +1 -1
  280. package/dist/lib/share/command.js +1 -1
  281. package/dist/lib/share/envelope.js +1 -1
  282. package/dist/lib/share/pending.d.ts +1 -1
  283. package/dist/lib/share/requests-client.d.ts +1 -1
  284. package/dist/lib/share/run.d.ts +1 -1
  285. package/dist/lib/sparse-graph.d.ts +20 -0
  286. package/dist/lib/sparse-graph.d.ts.map +1 -0
  287. package/dist/lib/sparse-graph.js +39 -0
  288. package/dist/lib/sparse-graph.js.map +1 -0
  289. package/dist/lib/suppress-sqlite-warning.d.ts +1 -1
  290. package/dist/lib/sync/real-env.d.ts.map +1 -1
  291. package/dist/lib/telemetry-env.d.ts +3 -3
  292. package/dist/lib/telemetry-env.js +1 -1
  293. package/dist/lib/token-estimate.d.ts +1 -1
  294. package/dist/lib/token-estimate.js +3 -3
  295. package/dist/lib/token-estimate.js.map +1 -1
  296. package/dist/lib/token-scope-gate.d.ts +1 -1
  297. package/dist/lib/token-scope-gate.js +1 -1
  298. package/dist/lib/trusted-align-bin.d.ts +2 -2
  299. package/dist/lib/trusted-align-bin.d.ts.map +1 -1
  300. package/dist/lib/trusted-align-bin.js +2 -2
  301. package/dist/lib/trusted-align-bin.js.map +1 -1
  302. package/dist/lib/usage-telemetry.d.ts +17 -17
  303. package/dist/lib/usage-telemetry.js +24 -24
  304. package/dist/lib/usage-telemetry.js.map +1 -1
  305. package/dist/lib/user-hooks.d.ts +1 -1
  306. package/dist/lib/user-hooks.d.ts.map +1 -1
  307. package/dist/lib/user-hooks.js +3 -3
  308. package/dist/lib/user-hooks.js.map +1 -1
  309. package/dist/lib/value-rollup.d.ts +7 -7
  310. package/dist/lib/value-rollup.d.ts.map +1 -1
  311. package/dist/lib/value-rollup.js +12 -12
  312. package/dist/lib/value-rollup.js.map +1 -1
  313. package/dist/lib/write-confirm.d.ts +53 -0
  314. package/dist/lib/write-confirm.d.ts.map +1 -0
  315. package/dist/lib/write-confirm.js +70 -0
  316. package/dist/lib/write-confirm.js.map +1 -0
  317. package/package.json +1 -1
@@ -28,9 +28,9 @@ export declare function currentRepoIdentity(opts?: {
28
28
  /**
29
29
  * Turns `--repo`/`--all` CLI flags into the `{ repo, all }` scope object
30
30
  * searchDecisions/listDecisions take - and, since the repo dimension is local-only
31
- * (ALI-798 scoped it to the local graph, not the cloud gateway), warns and drops them
31
+ * (it is scoped to the local graph, not the cloud gateway), warns and drops them
32
32
  * when the resolved environment has no repo dimension at all. One place decides this so
33
- * every command that adds the flags applies the same rule (see ALI-505: a flag that
33
+ * every command that adds the flags applies the same rule (a flag that
34
34
  * silently does nothing is a bug, not a graceful degradation).
35
35
  *
36
36
  * Returns undefined for "no scope opinion" - a caller passes that straight through to
@@ -1,5 +1,5 @@
1
1
  /**
2
- * ALI-798: the repo dimension for the local graph. Without this, every checkout's
2
+ * The repo dimension for the local graph. Without this, every checkout's
3
3
  * decisions land in one global SQLite file with nothing recording which repo a row
4
4
  * came from - so `align ask` inside align-cli silently answers from align-stack's
5
5
  * commits too. This module is the one place identity is computed, so a decision's
@@ -89,9 +89,9 @@ export async function currentRepoIdentity(opts = {}) {
89
89
  /**
90
90
  * Turns `--repo`/`--all` CLI flags into the `{ repo, all }` scope object
91
91
  * searchDecisions/listDecisions take - and, since the repo dimension is local-only
92
- * (ALI-798 scoped it to the local graph, not the cloud gateway), warns and drops them
92
+ * (it is scoped to the local graph, not the cloud gateway), warns and drops them
93
93
  * when the resolved environment has no repo dimension at all. One place decides this so
94
- * every command that adds the flags applies the same rule (see ALI-505: a flag that
94
+ * every command that adds the flags applies the same rule (a flag that
95
95
  * silently does nothing is a bug, not a graceful degradation).
96
96
  *
97
97
  * Returns undefined for "no scope opinion" - a caller passes that straight through to
@@ -16,7 +16,7 @@ export declare function resolveEnv(flagValue?: string, opts?: {
16
16
  config?: ConfigStore;
17
17
  }): EnvName;
18
18
  /**
19
- * Env resolution for `align connect <tool>` (ALI-675).
19
+ * Env resolution for `align connect <tool>`.
20
20
  *
21
21
  * Imports were left off the preferLocalEmbedded redirect on the premise that
22
22
  * they are cloud-only. They are not: the local-embedded client implements
@@ -46,7 +46,7 @@ export function resolveEnv(flagValue, opts = {}) {
46
46
  return defaultEnv;
47
47
  }
48
48
  /**
49
- * Env resolution for `align connect <tool>` (ALI-675).
49
+ * Env resolution for `align connect <tool>`.
50
50
  *
51
51
  * Imports were left off the preferLocalEmbedded redirect on the premise that
52
52
  * they are cloud-only. They are not: the local-embedded client implements
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * L4: what to preselect when a person picks a Jira project or a Linear team: the ticket prefixes their own decisions already
3
- * cite (`decision_refs`, ALI-792). A suggestion only - the picker shows it, and a non-interactive run uses it as the plan says
3
+ * cite (`decision_refs`). A suggestion only - the picker shows it, and a non-interactive run uses it as the plan says
4
4
  * (Decision 7) - so it is cheap, local and never an error: no graph, no refs table or no refs all give an empty list.
5
5
  */
6
6
  import fs from 'node:fs';
@@ -1 +1 @@
1
- {"version":3,"file":"scope-real.d.ts","sourceRoot":"","sources":["../../src/lib/scope-real.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAA2B,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AACtF,OAAO,EAAE,KAAK,WAAW,EAAmD,MAAM,mBAAmB,CAAC;AAEtG,wHAAwH;AACxH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAEzE;AAED,wBAAgB,gBAAgB,CAAC,MAAM;;;;;;;sBAiD8/P,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAjDz+P,GAAG,UAAU,CAUzE;AAED,oJAAoJ;AACpJ,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM;;;;;;;sBAoC6+P,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CApCx9P,GAAG,WAAW,GAAG,IAAI,CAGlG;AAED,yKAAyK;AACzK,wBAAgB,gBAAgB,CAAC,MAAM;;;;;;;sBA8B8/P,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA9Bz+P,GAAG;IAAE,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAAC,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAAC,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;CAAE,CAgB7M;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,CAAC,GAAE;IAAE,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAA;CAAO,GAAG,SAAS,CAW9H"}
1
+ {"version":3,"file":"scope-real.d.ts","sourceRoot":"","sources":["../../src/lib/scope-real.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAA2B,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AACtF,OAAO,EAAE,KAAK,WAAW,EAAmD,MAAM,mBAAmB,CAAC;AAEtG,wHAAwH;AACxH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAEzE;AAED,wBAAgB,gBAAgB,CAAC,MAAM;;;;;;;sBAiD09P,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAjDr8P,GAAG,UAAU,CAUzE;AAED,oJAAoJ;AACpJ,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM;;;;;;;sBAoCy8P,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CApCp7P,GAAG,WAAW,GAAG,IAAI,CAGlG;AAED,yKAAyK;AACzK,wBAAgB,gBAAgB,CAAC,MAAM;;;;;;;sBA8B09P,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA9Br8P,GAAG;IAAE,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAAC,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAAC,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;CAAE,CAgB7M;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,CAAC,GAAE;IAAE,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAA;CAAO,GAAG,SAAS,CAW9H"}
@@ -49,7 +49,7 @@ export function realScopeDeps(dbPath, o = {}) {
49
49
  dbPath,
50
50
  now: () => new Date(),
51
51
  isTty: () => Boolean(process.stdin.isTTY && process.stdout.isTTY),
52
- // ALI-917's own folder detection, so GitHub has one reader of "which repo am I in" (it is imported lazily: a connector-core fetcher).
52
+ // The own folder detection, so GitHub has one reader of "which repo am I in" (it is imported lazily: a connector-core fetcher).
53
53
  cwdRepo: async () => (await import('./fetchers/github.js')).resolveGitHubRepoScope({}),
54
54
  cwdGitlabProject: async () => gitlabPlaceOf(await currentRepoIdentity()),
55
55
  fetch: (url, init) => fetch(url, init),
@@ -1 +1 @@
1
- {"version":3,"file":"scope-real.js","sourceRoot":"","sources":["../../src/lib/scope-real.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scope-real.js","sourceRoot":"","sources":["../../src/lib/scope-real.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,8 @@
2
2
  * Reduce a natural-language question to its content words, for use as a SECOND
3
3
  * retrieval attempt when the raw query matched nothing.
4
4
  *
5
- * Deliberately NOT a replacement for the raw query. ALI-105 removed the old
6
- * `normaliseWhyQuery()` because normalising BEFORE the cloud gateway defeated its
5
+ * Deliberately NOT a replacement for the raw query. The old
6
+ * `normaliseWhyQuery()` was removed because normalising BEFORE the cloud gateway defeated its
7
7
  * strategy selector, which routes on the shape of the query. That decision stands:
8
8
  * the raw query is still what gets embedded first, in both modes.
9
9
  *
@@ -2,8 +2,8 @@
2
2
  * Reduce a natural-language question to its content words, for use as a SECOND
3
3
  * retrieval attempt when the raw query matched nothing.
4
4
  *
5
- * Deliberately NOT a replacement for the raw query. ALI-105 removed the old
6
- * `normaliseWhyQuery()` because normalising BEFORE the cloud gateway defeated its
5
+ * Deliberately NOT a replacement for the raw query. The old
6
+ * `normaliseWhyQuery()` was removed because normalising BEFORE the cloud gateway defeated its
7
7
  * strategy selector, which routes on the shape of the query. That decision stands:
8
8
  * the raw query is still what gets embedded first, in both modes.
9
9
  *
@@ -1,5 +1,5 @@
1
1
  /**
2
- * A deterministic title rerank over dense candidates (ALI-1775, from ALI-1773).
2
+ * A deterministic title rerank over dense candidates.
3
3
  *
4
4
  * A dense embedding rewards a commit that repeats a noun: "why was align setup removed"
5
5
  * ranked three commits that say "align setup" over and over (0.666, 0.639, 0.597) above the
@@ -1,6 +1,6 @@
1
1
  import { SCAFFOLDING } from './search-query.js';
2
2
  /**
3
- * A deterministic title rerank over dense candidates (ALI-1775, from ALI-1773).
3
+ * A deterministic title rerank over dense candidates.
4
4
  *
5
5
  * A dense embedding rewards a commit that repeats a noun: "why was align setup removed"
6
6
  * ranked three commits that say "align setup" over and over (0.666, 0.639, 0.597) above the
@@ -2,7 +2,7 @@ import { type LlmFailure } from '../local-llm.js';
2
2
  import type { AgentName } from './types.js';
3
3
  import type { RawFreeTextCandidate } from './extract-freetext.js';
4
4
  /** A raw heuristic hit the model reviewed and stood behind - the only shape that may reach
5
- * the confirm-each UX (align decision ALI-409: "only adjudicated results assert"). */
5
+ * the confirm-each UX (an Align decision: "only adjudicated results assert"). */
6
6
  export interface ConfirmedFreeTextDecision {
7
7
  agent: AgentName;
8
8
  sessionId: string;
@@ -32,9 +32,9 @@ export type ConfirmOutcome =
32
32
  };
33
33
  /**
34
34
  * A per-reason hint, not one collapsed "no LLM configured" line - align-stack's own
35
- * local-gateway-client.ts already documents why collapsing this union is wrong (ALI-420: "an
35
+ * local-gateway-client.ts already documents why collapsing this union is wrong ("an
36
36
  * unvetted local model gets its own remedy... nonsense to someone already running one") and
37
- * ALI-692 for provider_stopped naming the model that actually failed. Only `no_llm_key` means
37
+ * why provider_stopped names the model that actually failed. Only `no_llm_key` means
38
38
  * nothing is configured; the other three all require a provider that DID answer or a model
39
39
  * that IS installed, so telling that caller to "set a key or run Ollama" is actively wrong.
40
40
  */
@@ -1 +1 @@
1
- {"version":3,"file":"confirm-freetext.d.ts","sourceRoot":"","sources":["../../../src/lib/sessions/confirm-freetext.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,UAAU,EAIhB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAElE;uFACuF;AACvF,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,SAAS,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB;kFAC8E;IAC9E,SAAS,EAAE,MAAM,CAAC;IAClB;sEACkE;IAClE,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED;gGACgG;AAChG,MAAM,MAAM,oBAAoB,GAAG,YAAY,GAAG,eAAe,GAAG,qBAAqB,GAAG,sBAAsB,CAAC;AAEnH,MAAM,MAAM,cAAc;AACxB;+DAC+D;AAC7D;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,yBAAyB,GAAG,IAAI,CAAA;CAAE,GACxD;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,oBAAoB,CAAC;IAAC,OAAO,CAAC,EAAE,UAAU,CAAA;CAAE,CAAC;AAoCtE;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,oBAAoB,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,MAAM,CAajG;AAED,wBAAsB,wBAAwB,CAAC,SAAS,EAAE,oBAAoB,GAAG,OAAO,CAAC,cAAc,CAAC,CA4BvG"}
1
+ {"version":3,"file":"confirm-freetext.d.ts","sourceRoot":"","sources":["../../../src/lib/sessions/confirm-freetext.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,UAAU,EAIhB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAElE;kFACkF;AAClF,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,SAAS,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB;kFAC8E;IAC9E,SAAS,EAAE,MAAM,CAAC;IAClB;sEACkE;IAClE,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED;gGACgG;AAChG,MAAM,MAAM,oBAAoB,GAAG,YAAY,GAAG,eAAe,GAAG,qBAAqB,GAAG,sBAAsB,CAAC;AAEnH,MAAM,MAAM,cAAc;AACxB;+DAC+D;AAC7D;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,yBAAyB,GAAG,IAAI,CAAA;CAAE,GACxD;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,oBAAoB,CAAC;IAAC,OAAO,CAAC,EAAE,UAAU,CAAA;CAAE,CAAC;AAoCtE;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,oBAAoB,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,MAAM,CAajG;AAED,wBAAsB,wBAAwB,CAAC,SAAS,EAAE,oBAAoB,GAAG,OAAO,CAAC,cAAc,CAAC,CA4BvG"}
@@ -29,9 +29,9 @@ function parseConfirmation(text) {
29
29
  }
30
30
  /**
31
31
  * A per-reason hint, not one collapsed "no LLM configured" line - align-stack's own
32
- * local-gateway-client.ts already documents why collapsing this union is wrong (ALI-420: "an
32
+ * local-gateway-client.ts already documents why collapsing this union is wrong ("an
33
33
  * unvetted local model gets its own remedy... nonsense to someone already running one") and
34
- * ALI-692 for provider_stopped naming the model that actually failed. Only `no_llm_key` means
34
+ * why provider_stopped names the model that actually failed. Only `no_llm_key` means
35
35
  * nothing is configured; the other three all require a provider that DID answer or a model
36
36
  * that IS installed, so telling that caller to "set a key or run Ollama" is actively wrong.
37
37
  */
@@ -1,9 +1,9 @@
1
1
  import type { AgentName, CanonicalSession } from './types.js';
2
2
  /**
3
- * ALI-809 Pass B, heuristic half: a HUMAN turn whose own words redirect or settle on an
3
+ * Pass B, heuristic half: a HUMAN turn whose own words redirect or settle on an
4
4
  * approach mid-session. Everything downstream (confirm-freetext.ts) treats this as a proposal
5
5
  * only - "heuristic proposes, LLM adjudicates, only adjudicated results assert" is the same
6
- * shape as decision_links' writer split (align decision ALI-409), applied here to candidates
6
+ * shape as decision_links' writer split (an Align decision), applied here to candidates
7
7
  * instead of edges.
8
8
  */
9
9
  export interface RawFreeTextCandidate {
@@ -18,7 +18,7 @@ export interface RawFreeTextCandidate {
18
18
  /** The assistant turn immediately after, when there is one - CONTEXT for the LLM confirmation
19
19
  * pass to read, never itself scanned for the trigger phrase and never the source of the
20
20
  * claim (the same "don't let bot content pass as the human's own statement" principle as
21
- * align decision ALI-538, applied to a different pipeline). */
21
+ * an Align decision, applied to a different pipeline). */
22
22
  contextText: string | null;
23
23
  timestamp: string | null;
24
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"extract-freetext.d.ts","sourceRoot":"","sources":["../../../src/lib/sessions/extract-freetext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9D;;;;;;GAMG;AACH,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,SAAS,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB;;qDAEiD;IACjD,SAAS,EAAE,MAAM,CAAC;IAClB,6FAA6F;IAC7F,SAAS,EAAE,MAAM,CAAC;IAClB;;;oEAGgE;IAChE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAsCD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,gBAAgB,GAAG,oBAAoB,EAAE,CAgBxF"}
1
+ {"version":3,"file":"extract-freetext.d.ts","sourceRoot":"","sources":["../../../src/lib/sessions/extract-freetext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9D;;;;;;GAMG;AACH,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,SAAS,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB;;qDAEiD;IACjD,SAAS,EAAE,MAAM,CAAC;IAClB,6FAA6F;IAC7F,SAAS,EAAE,MAAM,CAAC;IAClB;;;+DAG2D;IAC3D,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAsCD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,gBAAgB,GAAG,oBAAoB,EAAE,CAgBxF"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * ALI-835: the line a human reads at the end of `align connect sessions`, and the counts the
2
+ * The line a human reads at the end of `align connect sessions`, and the counts the
3
3
  * funnel reports.
4
4
  *
5
5
  * The line is the product moment; the ping is the measurement. They are built from ONE object
@@ -1,5 +1,5 @@
1
1
  /**
2
- * ALI-835: the line a human reads at the end of `align connect sessions`, and the counts the
2
+ * The line a human reads at the end of `align connect sessions`, and the counts the
3
3
  * funnel reports.
4
4
  *
5
5
  * The line is the product moment; the ping is the measurement. They are built from ONE object
@@ -49,7 +49,7 @@ export interface MemoryDecisionCandidate {
49
49
  * empty list, which is indistinguishable from "no memories yet".
50
50
  * 2. Otherwise, the `memory/` sibling of this project's Claude Code session files. The docs
51
51
  * say `<project>` is derived from the git repository, and the exact slug encoding is not
52
- * documented - so rather than guess at it, this reuses the cwd matching ALI-808 already
52
+ * documented - so rather than guess at it, this reuses the cwd matching session import already
53
53
  * proved (each session file records its own `cwd`) and takes the directory those files
54
54
  * sit in. That is correct for worktrees and subdirectories for free, because they share
55
55
  * one project directory.
@@ -1,7 +1,7 @@
1
1
  /**
2
- * ALI-810: Claude Code's own auto-memory as a second, already-curated decision source.
2
+ * Claude Code's own auto-memory as a second, already-curated decision source.
3
3
  *
4
- * ALI-808 mines raw transcripts. This reads the notes the harness already decided were worth
4
+ * Session import mines raw transcripts. This reads the notes the harness already decided were worth
5
5
  * keeping: `~/.claude/projects/<project>/memory/*.md`, one fact per file, with a `type` in
6
6
  * frontmatter. Higher precision per file and far cheaper to parse - no noise filtering, no
7
7
  * repeat-loop exclusion, no plan-file resolution.
@@ -10,7 +10,7 @@
10
10
  *
11
11
  * There is no captured memory-file fixture, because this environment has no memory directory
12
12
  * at all (checked: `find ~/.claude -type d -name memory` is empty while `~/.claude/projects`
13
- * exists). Under ALI-808's own gate - "the gate is the fixture, not the agent name" - that
13
+ * exists). Under the own gate - "the gate is the fixture, not the agent name" - that
14
14
  * would normally mean shipping `locate` and refusing to parse, the way `gemini-cli` and
15
15
  * `cursor` do.
16
16
  *
@@ -29,7 +29,7 @@
29
29
  * legitimately carry no frontmatter at all;
30
30
  * - `autoMemoryDirectory` in settings.json relocates the directory.
31
31
  *
32
- * **The ALI-810 ticket also names `description` and `originSessionId` frontmatter fields.
32
+ * **The ticket also names `description` and `originSessionId` frontmatter fields.
33
33
  * The documentation describes neither.** They may well exist - the ticket was written from a
34
34
  * real machine and this one has no memory directory to check - but nothing here depends on
35
35
  * them, because a field this module cannot confirm is a field it must not require. If they
@@ -65,7 +65,7 @@ export const MEMORY_INDEX_FILENAME = 'MEMORY.md';
65
65
  * empty list, which is indistinguishable from "no memories yet".
66
66
  * 2. Otherwise, the `memory/` sibling of this project's Claude Code session files. The docs
67
67
  * say `<project>` is derived from the git repository, and the exact slug encoding is not
68
- * documented - so rather than guess at it, this reuses the cwd matching ALI-808 already
68
+ * documented - so rather than guess at it, this reuses the cwd matching session import already
69
69
  * proved (each session file records its own `cwd`) and takes the directory those files
70
70
  * sit in. That is correct for worktrees and subdirectories for free, because they share
71
71
  * one project directory.
@@ -1,5 +1,5 @@
1
1
  import type { AgentName } from './types.js';
2
- /** ALI-808 shared contract: the agent name lives in the scheme, `platform` stays the single
2
+ /** Shared contract: the agent name lives in the scheme, `platform` stays the single
3
3
  * value `agent-session` everywhere else. */
4
4
  export declare function buildSessionSourceUrl(agent: AgentName, sessionId: string, messageId: string): string;
5
5
  export declare function parseSessionSourceUrl(url: string): {
@@ -8,7 +8,7 @@ export declare function parseSessionSourceUrl(url: string): {
8
8
  messageId: string;
9
9
  } | null;
10
10
  /**
11
- * ALI-810: memory files are not sessions, so they get their own scheme rather than being
11
+ * Memory files are not sessions, so they get their own scheme rather than being
12
12
  * squeezed into `<agent>-session://<sessionId>/<messageId>` with invented ids.
13
13
  *
14
14
  * Built from the project directory name and the topic file's stem, both of which are stable
@@ -1,5 +1,5 @@
1
1
  const AGENTS = ['claude-code', 'codex', 'cursor', 'gemini-cli', 'opencode', 'pi'];
2
- /** ALI-808 shared contract: the agent name lives in the scheme, `platform` stays the single
2
+ /** Shared contract: the agent name lives in the scheme, `platform` stays the single
3
3
  * value `agent-session` everywhere else. */
4
4
  export function buildSessionSourceUrl(agent, sessionId, messageId) {
5
5
  return `${agent}-session://${sessionId}/${messageId}`;
@@ -18,7 +18,7 @@ export function parseSessionSourceUrl(url) {
18
18
  return null;
19
19
  }
20
20
  /**
21
- * ALI-810: memory files are not sessions, so they get their own scheme rather than being
21
+ * Memory files are not sessions, so they get their own scheme rather than being
22
22
  * squeezed into `<agent>-session://<sessionId>/<messageId>` with invented ids.
23
23
  *
24
24
  * Built from the project directory name and the topic file's stem, both of which are stable
@@ -1,10 +1,10 @@
1
1
  /**
2
- * ALI-808: the canonical shape every per-agent adapter parses into, so extraction (Pass A,
3
- * and eventually ALI-809's Pass B) never learns which agent it is reading - the same
4
- * `normalizeHookPayload` pattern used for the destructive-command guard (ALI-357/#1953) and
5
- * the pre-edit conflict check (align-cli#86), both cited in the ALI-608 addendum.
2
+ * The canonical shape every per-agent adapter parses into, so extraction (Pass A,
3
+ * and eventually the Pass B) never learns which agent it is reading - the same
4
+ * `normalizeHookPayload` pattern used for the destructive-command guard (align-stack#1953) and
5
+ * the pre-edit conflict check (align-cli#86), both cited in the addendum.
6
6
  */
7
- /** The six agents named in the ALI-808 shared contract. Not every adapter parses content yet
7
+ /** The six agents named in the shared contract. Not every adapter parses content yet
8
8
  * (see `fixtureVerified` on SessionAdapter) - the name is reserved even where the reader
9
9
  * is not, because it is also the scheme host in a session's source_url. */
10
10
  export type AgentName = 'claude-code' | 'codex' | 'cursor' | 'gemini-cli' | 'opencode' | 'pi';
@@ -36,7 +36,7 @@ export interface CanonicalSession {
36
36
  }
37
37
  export interface SessionAdapter {
38
38
  agent: AgentName;
39
- /** True only when a real captured session backs this adapter's fixture (the ALI-808
39
+ /** True only when a real captured session backs this adapter's fixture (the
40
40
  * shared-contract gate: "the gate is the fixture, not the agent name"). False means
41
41
  * `parseSession` is intentionally unimplemented - see fixtures/sessions/README.md for
42
42
  * which agents and why. */
@@ -1,8 +1,8 @@
1
1
  /**
2
- * ALI-808: the canonical shape every per-agent adapter parses into, so extraction (Pass A,
3
- * and eventually ALI-809's Pass B) never learns which agent it is reading - the same
4
- * `normalizeHookPayload` pattern used for the destructive-command guard (ALI-357/#1953) and
5
- * the pre-edit conflict check (align-cli#86), both cited in the ALI-608 addendum.
2
+ * The canonical shape every per-agent adapter parses into, so extraction (Pass A,
3
+ * and eventually the Pass B) never learns which agent it is reading - the same
4
+ * `normalizeHookPayload` pattern used for the destructive-command guard (align-stack#1953) and
5
+ * the pre-edit conflict check (align-cli#86), both cited in the addendum.
6
6
  */
7
7
  /** Thrown by an unverified adapter's parseSession, instead of guessing at a format nobody
8
8
  * has confirmed against a real session (verification.md: a plausible construction is not
@@ -1,11 +1,11 @@
1
1
  import type { EnvironmentConfig } from './config.js';
2
2
  /**
3
- * ALI-949: the setup wizard's two funnel stages, carried through `runSetup` so bare
3
+ * The setup wizard's two funnel stages, carried through `runSetup` so bare
4
4
  * `align` and `align setup` share one emitter (both run runSetup's body).
5
5
  *
6
6
  * `started` BUFFERS rather than sends. When a mode branch begins nothing may be sendable
7
7
  * on a fresh install: cloud has no token until login, and local mode asks for consent
8
- * mid-wizard (ALI-794 puts the found-decisions moment before any question, and that order
8
+ * mid-wizard (the found-decisions moment comes before any question, and that order
9
9
  * is not negotiable here). So the wizard offers the current env at each checkpoint - the
10
10
  * top of the local value phase, after consent, the top of cloud setup, after login - and
11
11
  * this object sends at the first offer the emitter reports as sent. Sendability is
@@ -21,7 +21,7 @@ export declare function detectCliToken(bin: string, args: string[]): Promise<str
21
21
  * Connectors whose token can be read from an already-authenticated local CLI.
22
22
  *
23
23
  * `verify` is REQUIRED, not optional. A reused credential was minted for something
24
- * else, so it is taken only on positive confirmation it cannot write (ALI-98) - and
24
+ * else, so it is taken only on positive confirmation it cannot write - and
25
25
  * making the field mandatory means a future source (glab, linear) cannot ship reuse
26
26
  * without deciding how to prove read-only-ness for its provider. The ungated version
27
27
  * of this table shipped in #183 and silently held gh's repo-scoped (write-capable)
@@ -34,7 +34,7 @@ export declare const CLI_TOKEN_SOURCES: Record<string, {
34
34
  verify: (token: string) => Promise<ScopeVerdict>;
35
35
  }>;
36
36
  /**
37
- * Clear the terminal before the connector picker (ALI-794 component 5).
37
+ * Clear the terminal before the connector picker.
38
38
  *
39
39
  * Moving the found-decisions summary before the picker reintroduces the exact
40
40
  * condition that used to corrupt clack's in-place redraw for an outside tester
@@ -11,7 +11,7 @@ import * as readline from 'node:readline';
11
11
  // Lines the prompt needs beyond the option rows themselves: the message, clack's
12
12
  // top and bottom rules, the key hint, and one spare. This was 8 while the picker was
13
13
  // drawn under a screenful of git output; the screen has been cleared before the
14
- // picker since ALI-794, so the extra slack only hid rows. Measured 2026-09-03: a
14
+ // picker, so the extra slack only hid rows. Measured 2026-09-03: a
15
15
  // 12-row panel showed 4 of 8 sources and read as truncated. Now it shows 7.
16
16
  const RESERVED_ROWS = 5;
17
17
  // Below this a paginated list is unusable, so we overflow slightly rather than
@@ -58,7 +58,7 @@ export async function detectCliToken(bin, args) {
58
58
  * Connectors whose token can be read from an already-authenticated local CLI.
59
59
  *
60
60
  * `verify` is REQUIRED, not optional. A reused credential was minted for something
61
- * else, so it is taken only on positive confirmation it cannot write (ALI-98) - and
61
+ * else, so it is taken only on positive confirmation it cannot write - and
62
62
  * making the field mandatory means a future source (glab, linear) cannot ship reuse
63
63
  * without deciding how to prove read-only-ness for its provider. The ungated version
64
64
  * of this table shipped in #183 and silently held gh's repo-scoped (write-capable)
@@ -73,7 +73,7 @@ export const CLI_TOKEN_SOURCES = {
73
73
  },
74
74
  };
75
75
  /**
76
- * Clear the terminal before the connector picker (ALI-794 component 5).
76
+ * Clear the terminal before the connector picker.
77
77
  *
78
78
  * Moving the found-decisions summary before the picker reintroduces the exact
79
79
  * condition that used to corrupt clack's in-place redraw for an outside tester
@@ -1 +1 @@
1
- {"version":3,"file":"setup-ux.js","sourceRoot":"","sources":["../../src/lib/setup-ux.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup-ux.js","sourceRoot":"","sources":["../../src/lib/setup-ux.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * ALI-1540: the client side of an approval, as functions over an injected client, a clock and a sleep.
2
+ * The client side of an approval, as functions over an injected client, a clock and a sleep.
3
3
  *
4
4
  * stage - make the request id, seal, send the ciphertext, check the answer is about THIS request.
5
5
  * poll - ask the gateway what the person did, backing off, stopping at the expiry, stopping on Ctrl-C.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * ALI-1540: `align share` when the person approves in a browser instead of typing y.
2
+ * `align share` when the person approves in a browser instead of typing y.
3
3
  *
4
4
  * For each request (at most SHARE_BATCH_ITEMS decisions, and small enough to seal): stage it, print the link and the
5
5
  * code, wait, and when the gateway says the person approved, send the approved bytes. The link carries the key in
@@ -1,5 +1,5 @@
1
1
  /**
2
- * ALI-1540: `align share` when the person approves in a browser instead of typing y.
2
+ * `align share` when the person approves in a browser instead of typing y.
3
3
  *
4
4
  * For each request (at most SHARE_BATCH_ITEMS decisions, and small enough to seal): stage it, print the link and the
5
5
  * code, wait, and when the gateway says the person approved, send the approved bytes. The link carries the key in
@@ -2,7 +2,7 @@
2
2
  * L9: `align share` as a function of injected dependencies, returning an exit code. The commander
3
3
  * wrapper (commands/share.ts) wires the real config, gateway client and prompts; tests wire fakes.
4
4
  *
5
- * Who may complete a share depends on what the gateway says (GET /share-requests/config, ALI-1540):
5
+ * Who may complete a share depends on what the gateway says (GET /share-requests/config):
6
6
  *
7
7
  * - `required`, or `available` without `--typed`: the person approves in a BROWSER session. This process stages
8
8
  * an encrypted request, prints a link and a code, waits, and sends only what the gateway says was approved.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * ALI-1540: seal what a share would send, so the team server holds only ciphertext until a person approves.
2
+ * Seal what a share would send, so the team server holds only ciphertext until a person approves.
3
3
  *
4
4
  * The CLI seals the exact plaintext bytes with AES-256-GCM under a random 32-byte key the server never sees:
5
5
  * the key travels only in the approve link's `#k=` fragment, which a browser does not send. The AAD is
@@ -48,7 +48,7 @@ export declare const REQUEST_GRACE_MS: number;
48
48
  /** Remove code files (and abandoned `.used` files) older than a day. Returns how many. Touches only its own directories. */
49
49
  export declare function sweepPending(now?: Date): number;
50
50
  /**
51
- * ALI-1540: a share staged for BROWSER approval, kept so a later call (the MCP `align_share_status`) can finish it
51
+ * A share staged for BROWSER approval, kept so a later call (the MCP `align_share_status`) can finish it
52
52
  * and so asking again returns the same live link instead of burning one of the gateway's five live requests.
53
53
  *
54
54
  * It holds what is secret: the key (it makes the link) and the exact plaintext bytes (decision text). So the file is
@@ -1,5 +1,5 @@
1
1
  /**
2
- * ALI-1540: the gateway's share-request routes, parsed without trusting them.
2
+ * The gateway's share-request routes, parsed without trusting them.
3
3
  *
4
4
  * Built from `request` (the gateway client's own fetch wrapper: bearer, identity headers, error text) so there
5
5
  * is one HTTP path. Every call refuses a redirect: a 30x to another host would carry the bearer token and the
@@ -107,7 +107,7 @@ export interface SendHooks {
107
107
  team: TeamDecision;
108
108
  }) => Promise<boolean>;
109
109
  /**
110
- * Browser approval (ALI-1540): the batch goes out through the gateway's completion of a request the person
110
+ * Browser approval: the batch goes out through the gateway's completion of a request the person
111
111
  * approved, NOT through shareBatch. Called once per batch with phase 'share' (the caller already holds the
112
112
  * answer) and once more with phase 'confirm' for a re-post that waits on the team's text. Null means that
113
113
  * step was not approved (declined, expired, cancelled): nothing was posted for it.
@@ -0,0 +1,20 @@
1
+ /**
2
+ * A graph with fewer decisions than this is "sparse" and setup says what to do next.
3
+ *
4
+ * It reuses LOCAL_SHARE_THRESHOLD (5) instead of inventing a number: that is the size at
5
+ * which the CLI already treats a local graph as worth using and sharing, and the size
6
+ * `align ask` already nudges at. Below it, the graph is too thin to answer much.
7
+ */
8
+ export declare const SPARSE_GRAPH_THRESHOLD = 5;
9
+ export declare function isSparseGraph(total: number): boolean;
10
+ /**
11
+ * The lines setup prints when the graph came out empty or thin. Pure strings, no chalk and
12
+ * no I/O. Only commands that exist are named: `align connect github` (PR descriptions,
13
+ * where the reason usually lives), `align connect docs` (ADRs and CLAUDE.md/AGENTS.md),
14
+ * and `align connect` for the picker (Notion, Linear, Jira and the rest). There is no
15
+ * sample-decision or starter-rules command in this CLI, so none is offered.
16
+ */
17
+ export declare function sparseGraphHint(total: number, opts?: {
18
+ bareReadsLocal?: boolean;
19
+ }): string[] | undefined;
20
+ //# sourceMappingURL=sparse-graph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sparse-graph.d.ts","sourceRoot":"","sources":["../../src/lib/sparse-graph.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,IAAwB,CAAC;AAE5D,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,MAAM,EAAE,GAAG,SAAS,CAkB5G"}
@@ -0,0 +1,39 @@
1
+ import { LOCAL_SHARE_THRESHOLD } from './value-rollup.js';
2
+ /**
3
+ * A graph with fewer decisions than this is "sparse" and setup says what to do next.
4
+ *
5
+ * It reuses LOCAL_SHARE_THRESHOLD (5) instead of inventing a number: that is the size at
6
+ * which the CLI already treats a local graph as worth using and sharing, and the size
7
+ * `align ask` already nudges at. Below it, the graph is too thin to answer much.
8
+ */
9
+ export const SPARSE_GRAPH_THRESHOLD = LOCAL_SHARE_THRESHOLD;
10
+ export function isSparseGraph(total) {
11
+ return total < SPARSE_GRAPH_THRESHOLD;
12
+ }
13
+ /**
14
+ * The lines setup prints when the graph came out empty or thin. Pure strings, no chalk and
15
+ * no I/O. Only commands that exist are named: `align connect github` (PR descriptions,
16
+ * where the reason usually lives), `align connect docs` (ADRs and CLAUDE.md/AGENTS.md),
17
+ * and `align connect` for the picker (Notion, Linear, Jira and the rest). There is no
18
+ * sample-decision or starter-rules command in this CLI, so none is offered.
19
+ */
20
+ export function sparseGraphHint(total, opts = {}) {
21
+ if (!isSparseGraph(total))
22
+ return undefined;
23
+ // A bare `align connect` targets whichever graph bare commands read. When that is a cloud graph
24
+ // (logged in, or ALIGN_ENV exported) the printed commands would fill the wrong one, so name the local one.
25
+ const env = opts.bareReadsLocal === false ? ' --env local' : '';
26
+ const lead = total === 0
27
+ ? 'Your graph is empty. Nothing in the history or docs here stated a reason.'
28
+ : `Your graph has ${total} ${total === 1 ? 'decision' : 'decisions'}. That is thin.`;
29
+ return [
30
+ lead,
31
+ 'The reason for a change usually lives somewhere else. Add it:',
32
+ ...[
33
+ ['align connect github', 'PR descriptions'],
34
+ ['align connect docs', 'ADRs, CLAUDE.md, AGENTS.md'],
35
+ ['align connect', 'pick another source (Notion, Linear, Jira ...)'],
36
+ ].map(([cmd, what]) => ` ${`${cmd}${env}`.padEnd(`align connect github${env}`.length + 3)}${what}`),
37
+ ];
38
+ }
39
+ //# sourceMappingURL=sparse-graph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sparse-graph.js","sourceRoot":"","sources":["../../src/lib/sparse-graph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,qBAAqB,CAAC;AAE5D,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,OAAO,KAAK,GAAG,sBAAsB,CAAC;AACxC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,KAAa,EAAE,OAAqC,EAAE;IACpF,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5C,gGAAgG;IAChG,2GAA2G;IAC3G,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,KAAK,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;IAChE,MAAM,IAAI,GACR,KAAK,KAAK,CAAC;QACT,CAAC,CAAC,2EAA2E;QAC7E,CAAC,CAAC,kBAAkB,KAAK,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,iBAAiB,CAAC;IACzF,OAAO;QACL,IAAI;QACJ,+DAA+D;QAC/D,GAAG;YACD,CAAC,sBAAsB,EAAE,iBAAiB,CAAC;YAC3C,CAAC,oBAAoB,EAAE,4BAA4B,CAAC;YACpD,CAAC,eAAe,EAAE,gDAAgD,CAAC;SACpE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,uBAAuB,GAAG,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC;KACrG,CAAC;AACJ,CAAC"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * ALI-1779: Node 22.16 prints `ExperimentalWarning: SQLite is an experimental feature` on every
2
+ * Node 22.16 prints `ExperimentalWarning: SQLite is an experimental feature` on every
3
3
  * command, because the local graph loads `node:sqlite` (stable-ish from Node 24, still flagged
4
4
  * experimental on the 22.x floor). It is stderr noise the user cannot act on. Only that one
5
5
  * warning is dropped: any other warning, and any other ExperimentalWarning, is forwarded as is.
@@ -1 +1 @@
1
- {"version":3,"file":"real-env.d.ts","sourceRoot":"","sources":["../../../src/lib/sync/real-env.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAI/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,6GAA6G;AAC7G,wBAAgB,cAAc,CAAC,MAAM;;;;;;;sBAiCo4S,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAjC/2S,GAAG,MAAM,GAAG,SAAS,CAG/E;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM;;;;;;;sBA4Bu3S,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA5Bl2S,GAAG,OAAO,CAcjF;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM;;;;;;;sBAYo3S,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAZ/1S,GAAG,UAAU,CAWvF"}
1
+ {"version":3,"file":"real-env.d.ts","sourceRoot":"","sources":["../../../src/lib/sync/real-env.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAI/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,6GAA6G;AAC7G,wBAAgB,cAAc,CAAC,MAAM;;;;;;;sBAiC01S,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAjCr0S,GAAG,MAAM,GAAG,SAAS,CAG/E;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM;;;;;;;sBA4B60S,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA5BxzS,GAAG,OAAO,CAcjF;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM;;;;;;;sBAY00S,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAZrzS,GAAG,UAAU,CAWvF"}