@intentic/sandbox-contract 1.176.3 → 1.209.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 (334) hide show
  1. package/README.md +65 -0
  2. package/dist/agent-catalog.d.ts +15 -2
  3. package/dist/agent-catalog.d.ts.map +1 -1
  4. package/dist/agent-catalog.js +50 -1
  5. package/dist/agent-catalog.js.map +1 -1
  6. package/dist/agent-run-model.d.ts +3 -0
  7. package/dist/agent-run-model.d.ts.map +1 -0
  8. package/dist/agent-run-model.js +10 -0
  9. package/dist/agent-run-model.js.map +1 -0
  10. package/dist/capability-env.d.ts +2 -0
  11. package/dist/capability-env.d.ts.map +1 -0
  12. package/dist/capability-env.js +2 -0
  13. package/dist/capability-env.js.map +1 -0
  14. package/dist/chores/chores.d.ts +9 -0
  15. package/dist/chores/chores.d.ts.map +1 -1
  16. package/dist/chores/chores.js +257 -18
  17. package/dist/chores/chores.js.map +1 -1
  18. package/dist/chores/digest.js +0 -0
  19. package/dist/chores/digest.js.map +1 -1
  20. package/dist/chores/extension-update.d.ts +9 -0
  21. package/dist/chores/extension-update.d.ts.map +1 -0
  22. package/dist/chores/extension-update.js +15 -0
  23. package/dist/chores/extension-update.js.map +1 -0
  24. package/dist/chores/fix-deps.d.ts +10 -0
  25. package/dist/chores/fix-deps.d.ts.map +1 -0
  26. package/dist/chores/fix-deps.js +18 -0
  27. package/dist/chores/fix-deps.js.map +1 -0
  28. package/dist/chores/index.d.ts +7 -2
  29. package/dist/chores/index.d.ts.map +1 -1
  30. package/dist/chores/index.js +4 -1
  31. package/dist/chores/index.js.map +1 -1
  32. package/dist/chores/probes.d.ts.map +1 -1
  33. package/dist/chores/probes.js +127 -3
  34. package/dist/chores/probes.js.map +1 -1
  35. package/dist/chores/stack.d.ts +27 -0
  36. package/dist/chores/stack.d.ts.map +1 -0
  37. package/dist/chores/stack.js +121 -0
  38. package/dist/chores/stack.js.map +1 -0
  39. package/dist/chores/verdict.d.ts +2 -1
  40. package/dist/chores/verdict.d.ts.map +1 -1
  41. package/dist/chores/verdict.js +53 -6
  42. package/dist/chores/verdict.js.map +1 -1
  43. package/dist/contract-lock.d.ts +3 -0
  44. package/dist/contract-lock.d.ts.map +1 -0
  45. package/dist/contract-lock.js +35 -0
  46. package/dist/contract-lock.js.map +1 -0
  47. package/dist/contracts/activity.contract.d.ts +10 -0
  48. package/dist/contracts/activity.contract.d.ts.map +1 -1
  49. package/dist/contracts/agent.contract.d.ts +230 -20
  50. package/dist/contracts/agent.contract.d.ts.map +1 -1
  51. package/dist/contracts/agent.contract.js +2 -1
  52. package/dist/contracts/agent.contract.js.map +1 -1
  53. package/dist/contracts/agents.contract.d.ts +847 -1
  54. package/dist/contracts/agents.contract.d.ts.map +1 -1
  55. package/dist/contracts/agents.contract.js +3 -1
  56. package/dist/contracts/agents.contract.js.map +1 -1
  57. package/dist/contracts/automations.contract.d.ts +89 -0
  58. package/dist/contracts/automations.contract.d.ts.map +1 -1
  59. package/dist/contracts/automations.contract.js +3 -1
  60. package/dist/contracts/automations.contract.js.map +1 -1
  61. package/dist/contracts/capabilities.contract.d.ts +108 -32
  62. package/dist/contracts/capabilities.contract.d.ts.map +1 -1
  63. package/dist/contracts/capabilities.contract.js +5 -1
  64. package/dist/contracts/capabilities.contract.js.map +1 -1
  65. package/dist/contracts/chores.contract.d.ts +43 -0
  66. package/dist/contracts/chores.contract.d.ts.map +1 -1
  67. package/dist/contracts/ci.contract.d.ts +5 -0
  68. package/dist/contracts/ci.contract.d.ts.map +1 -1
  69. package/dist/contracts/ci.contract.js +2 -2
  70. package/dist/contracts/ci.contract.js.map +1 -1
  71. package/dist/contracts/claude.contract.d.ts +3 -14
  72. package/dist/contracts/claude.contract.d.ts.map +1 -1
  73. package/dist/contracts/claude.contract.js +2 -3
  74. package/dist/contracts/claude.contract.js.map +1 -1
  75. package/dist/contracts/drafts.contract.d.ts +4 -0
  76. package/dist/contracts/drafts.contract.d.ts.map +1 -1
  77. package/dist/contracts/endpoints.contract.d.ts +28 -12
  78. package/dist/contracts/endpoints.contract.d.ts.map +1 -1
  79. package/dist/contracts/endpoints.contract.js +9 -0
  80. package/dist/contracts/endpoints.contract.js.map +1 -1
  81. package/dist/contracts/extensions.contract.d.ts +399 -69
  82. package/dist/contracts/extensions.contract.d.ts.map +1 -1
  83. package/dist/contracts/extensions.contract.js +15 -1
  84. package/dist/contracts/extensions.contract.js.map +1 -1
  85. package/dist/contracts/git.contract.d.ts +209 -11
  86. package/dist/contracts/git.contract.d.ts.map +1 -1
  87. package/dist/contracts/git.contract.js +12 -2
  88. package/dist/contracts/git.contract.js.map +1 -1
  89. package/dist/contracts/grok.contract.d.ts +0 -13
  90. package/dist/contracts/grok.contract.d.ts.map +1 -1
  91. package/dist/contracts/grok.contract.js +1 -2
  92. package/dist/contracts/grok.contract.js.map +1 -1
  93. package/dist/contracts/host.contract.d.ts +39 -0
  94. package/dist/contracts/host.contract.d.ts.map +1 -1
  95. package/dist/contracts/host.contract.js +3 -2
  96. package/dist/contracts/host.contract.js.map +1 -1
  97. package/dist/contracts/loops.contract.d.ts +343 -0
  98. package/dist/contracts/loops.contract.d.ts.map +1 -0
  99. package/dist/contracts/loops.contract.js +11 -0
  100. package/dist/contracts/loops.contract.js.map +1 -0
  101. package/dist/contracts/panels.contract.d.ts +6 -0
  102. package/dist/contracts/panels.contract.d.ts.map +1 -1
  103. package/dist/contracts/personas.contract.d.ts +112 -0
  104. package/dist/contracts/personas.contract.d.ts.map +1 -0
  105. package/dist/contracts/personas.contract.js +13 -0
  106. package/dist/contracts/personas.contract.js.map +1 -0
  107. package/dist/contracts/ports.contract.d.ts +1 -0
  108. package/dist/contracts/ports.contract.d.ts.map +1 -1
  109. package/dist/contracts/prepush.contract.d.ts +1 -0
  110. package/dist/contracts/prepush.contract.d.ts.map +1 -1
  111. package/dist/contracts/prepush.contract.js.map +1 -1
  112. package/dist/contracts/{codex.contract.d.ts → providers.contract.d.ts} +11 -3
  113. package/dist/contracts/providers.contract.d.ts.map +1 -0
  114. package/dist/contracts/providers.contract.js +6 -0
  115. package/dist/contracts/providers.contract.js.map +1 -0
  116. package/dist/contracts/public.contract.d.ts +24 -0
  117. package/dist/contracts/public.contract.d.ts.map +1 -0
  118. package/dist/contracts/public.contract.js +8 -0
  119. package/dist/contracts/public.contract.js.map +1 -0
  120. package/dist/contracts/push.contract.d.ts +3 -3
  121. package/dist/contracts/secrets.contract.d.ts +9 -0
  122. package/dist/contracts/secrets.contract.d.ts.map +1 -1
  123. package/dist/contracts/sessions.contract.d.ts +16 -1
  124. package/dist/contracts/sessions.contract.d.ts.map +1 -1
  125. package/dist/contracts/sessions.contract.js +1 -1
  126. package/dist/contracts/sessions.contract.js.map +1 -1
  127. package/dist/contracts/settings.contract.d.ts +352 -58
  128. package/dist/contracts/settings.contract.d.ts.map +1 -1
  129. package/dist/contracts/settings.contract.js +2 -1
  130. package/dist/contracts/settings.contract.js.map +1 -1
  131. package/dist/contracts/share.contract.d.ts +55 -0
  132. package/dist/contracts/share.contract.d.ts.map +1 -0
  133. package/dist/contracts/share.contract.js +9 -0
  134. package/dist/contracts/share.contract.js.map +1 -0
  135. package/dist/contracts/skills.contract.d.ts +41 -0
  136. package/dist/contracts/skills.contract.d.ts.map +1 -0
  137. package/dist/contracts/skills.contract.js +9 -0
  138. package/dist/contracts/skills.contract.js.map +1 -0
  139. package/dist/contracts/system.contract.d.ts +204 -8
  140. package/dist/contracts/system.contract.d.ts.map +1 -1
  141. package/dist/contracts/system.contract.js +10 -2
  142. package/dist/contracts/system.contract.js.map +1 -1
  143. package/dist/contracts/workflows.contract.d.ts +575 -0
  144. package/dist/contracts/workflows.contract.d.ts.map +1 -0
  145. package/dist/contracts/workflows.contract.js +13 -0
  146. package/dist/contracts/workflows.contract.js.map +1 -0
  147. package/dist/contracts/workspace.contract.d.ts +18 -4
  148. package/dist/contracts/workspace.contract.d.ts.map +1 -1
  149. package/dist/contracts/workspace.contract.js +6 -3
  150. package/dist/contracts/workspace.contract.js.map +1 -1
  151. package/dist/conversation-ids.d.ts +2 -0
  152. package/dist/conversation-ids.d.ts.map +1 -0
  153. package/dist/conversation-ids.js +113 -0
  154. package/dist/conversation-ids.js.map +1 -0
  155. package/dist/events.d.ts +523 -17
  156. package/dist/events.d.ts.map +1 -1
  157. package/dist/events.js +106 -13
  158. package/dist/events.js.map +1 -1
  159. package/dist/history-state.d.ts.map +1 -1
  160. package/dist/history-state.js +10 -0
  161. package/dist/history-state.js.map +1 -1
  162. package/dist/hostnames.d.ts +4 -0
  163. package/dist/hostnames.d.ts.map +1 -1
  164. package/dist/hostnames.js +7 -2
  165. package/dist/hostnames.js.map +1 -1
  166. package/dist/index.d.ts +3791 -478
  167. package/dist/index.d.ts.map +1 -1
  168. package/dist/index.js +39 -17
  169. package/dist/index.js.map +1 -1
  170. package/dist/listener-protocol.d.ts +77 -0
  171. package/dist/listener-protocol.d.ts.map +1 -0
  172. package/dist/listener-protocol.js +33 -0
  173. package/dist/listener-protocol.js.map +1 -0
  174. package/dist/model-order.d.ts +1 -0
  175. package/dist/model-order.d.ts.map +1 -1
  176. package/dist/model-order.js +16 -0
  177. package/dist/model-order.js.map +1 -1
  178. package/dist/output-fields.d.ts +30 -0
  179. package/dist/output-fields.d.ts.map +1 -0
  180. package/dist/output-fields.js +57 -0
  181. package/dist/output-fields.js.map +1 -0
  182. package/dist/path-refs.d.ts.map +1 -1
  183. package/dist/path-refs.js.map +1 -1
  184. package/dist/publish-drafts.d.ts +7 -0
  185. package/dist/publish-drafts.d.ts.map +1 -0
  186. package/dist/publish-drafts.js +20 -0
  187. package/dist/publish-drafts.js.map +1 -0
  188. package/dist/quick-model.d.ts +2 -1
  189. package/dist/quick-model.d.ts.map +1 -1
  190. package/dist/quick-model.js +18 -14
  191. package/dist/quick-model.js.map +1 -1
  192. package/dist/routes.d.ts +3 -0
  193. package/dist/routes.d.ts.map +1 -1
  194. package/dist/routes.js +63 -0
  195. package/dist/routes.js.map +1 -1
  196. package/dist/runtime-state.d.ts +33 -0
  197. package/dist/runtime-state.d.ts.map +1 -0
  198. package/dist/runtime-state.js +14 -0
  199. package/dist/runtime-state.js.map +1 -0
  200. package/dist/schemas.d.ts +4886 -851
  201. package/dist/schemas.d.ts.map +1 -1
  202. package/dist/schemas.js +993 -192
  203. package/dist/schemas.js.map +1 -1
  204. package/dist/search-globs.d.ts +6 -0
  205. package/dist/search-globs.d.ts.map +1 -0
  206. package/dist/search-globs.js +39 -0
  207. package/dist/search-globs.js.map +1 -0
  208. package/dist/share-paths.d.ts +8 -0
  209. package/dist/share-paths.d.ts.map +1 -0
  210. package/dist/share-paths.js +21 -0
  211. package/dist/share-paths.js.map +1 -0
  212. package/dist/title.d.ts.map +1 -1
  213. package/dist/title.js +1 -1
  214. package/dist/title.js.map +1 -1
  215. package/dist/tunnel-ids.d.ts +1 -0
  216. package/dist/tunnel-ids.d.ts.map +1 -1
  217. package/dist/tunnel-ids.js +1 -0
  218. package/dist/tunnel-ids.js.map +1 -1
  219. package/dist/versions.d.ts +4 -0
  220. package/dist/versions.d.ts.map +1 -0
  221. package/dist/versions.js +15 -0
  222. package/dist/versions.js.map +1 -0
  223. package/dist/workflow-faults.d.ts +4 -0
  224. package/dist/workflow-faults.d.ts.map +1 -0
  225. package/dist/workflow-faults.js +115 -0
  226. package/dist/workflow-faults.js.map +1 -0
  227. package/dist/workspace-state.d.ts +280 -1
  228. package/dist/workspace-state.d.ts.map +1 -1
  229. package/dist/workspace-state.js +163 -21
  230. package/dist/workspace-state.js.map +1 -1
  231. package/package.json +30 -6
  232. package/src/agent-catalog.test.ts +147 -7
  233. package/src/agent-catalog.ts +233 -21
  234. package/src/agent-run-model.test.ts +60 -0
  235. package/src/agent-run-model.ts +51 -0
  236. package/src/capability-env.ts +10 -0
  237. package/src/capability-ledger.test.ts +110 -0
  238. package/src/chores/chores.test.ts +32 -0
  239. package/src/chores/chores.ts +456 -32
  240. package/src/chores/digest.ts +0 -0
  241. package/src/chores/extension-update.ts +37 -0
  242. package/src/chores/fix-deps.ts +40 -0
  243. package/src/chores/index.ts +7 -2
  244. package/src/chores/probes.test.ts +155 -3
  245. package/src/chores/probes.ts +200 -4
  246. package/src/chores/stack.test.ts +126 -0
  247. package/src/chores/stack.ts +244 -0
  248. package/src/chores/verdict.test.ts +357 -19
  249. package/src/chores/verdict.ts +95 -21
  250. package/src/contract-lock.test.ts +17 -0
  251. package/src/contract-lock.ts +66 -0
  252. package/src/contracts/agent.contract.ts +6 -0
  253. package/src/contracts/agents.contract.ts +12 -0
  254. package/src/contracts/automations.contract.ts +17 -1
  255. package/src/contracts/capabilities.contract.ts +22 -0
  256. package/src/contracts/ci.contract.ts +10 -2
  257. package/src/contracts/claude.contract.ts +8 -4
  258. package/src/contracts/endpoints.contract.ts +21 -0
  259. package/src/contracts/extensions.contract.ts +42 -0
  260. package/src/contracts/git.contract.ts +33 -6
  261. package/src/contracts/grok.contract.ts +4 -3
  262. package/src/contracts/host.contract.ts +13 -2
  263. package/src/contracts/loops.contract.ts +62 -0
  264. package/src/contracts/personas.contract.ts +56 -0
  265. package/src/contracts/prepush.contract.ts +4 -3
  266. package/src/contracts/providers.contract.ts +23 -0
  267. package/src/contracts/public.contract.ts +14 -0
  268. package/src/contracts/sessions.contract.ts +5 -1
  269. package/src/contracts/settings.contract.ts +5 -0
  270. package/src/contracts/share.contract.ts +20 -0
  271. package/src/contracts/skills.contract.ts +24 -0
  272. package/src/contracts/system.contract.ts +27 -3
  273. package/src/contracts/workflows.contract.ts +78 -0
  274. package/src/contracts/workspace.contract.ts +10 -2
  275. package/src/conversation-ids.test.ts +25 -0
  276. package/src/conversation-ids.ts +160 -0
  277. package/src/events.test.ts +20 -1
  278. package/src/events.ts +404 -43
  279. package/src/history-state.ts +30 -1
  280. package/src/hostnames.ts +20 -6
  281. package/src/index.ts +58 -17
  282. package/src/listener-protocol.ts +96 -0
  283. package/src/model-order.test.ts +32 -1
  284. package/src/model-order.ts +56 -3
  285. package/src/output-fields.ts +111 -0
  286. package/src/path-refs.test.ts +4 -4
  287. package/src/path-refs.ts +5 -5
  288. package/src/publish-drafts.ts +59 -0
  289. package/src/quick-model.test.ts +70 -27
  290. package/src/quick-model.ts +76 -40
  291. package/src/routes.test.ts +91 -3
  292. package/src/routes.ts +135 -0
  293. package/src/runtime-state.test.ts +45 -0
  294. package/src/runtime-state.ts +124 -0
  295. package/src/schemas.test.ts +16 -29
  296. package/src/schemas.ts +3475 -552
  297. package/src/search-globs.test.ts +46 -0
  298. package/src/search-globs.ts +76 -0
  299. package/src/share-paths.test.ts +48 -0
  300. package/src/share-paths.ts +68 -0
  301. package/src/state-portability.ts +8 -8
  302. package/src/title.test.ts +20 -1
  303. package/src/title.ts +12 -3
  304. package/src/tunnel-ids.ts +15 -1
  305. package/src/versions.test.ts +39 -0
  306. package/src/versions.ts +48 -0
  307. package/src/workflow-faults.test.ts +127 -0
  308. package/src/workflow-faults.ts +188 -0
  309. package/src/workspace-state.test.ts +169 -15
  310. package/src/workspace-state.ts +427 -35
  311. package/dist/contracts/codex.contract.d.ts.map +0 -1
  312. package/dist/contracts/codex.contract.js +0 -6
  313. package/dist/contracts/codex.contract.js.map +0 -1
  314. package/dist/contracts/gemini.contract.d.ts +0 -16
  315. package/dist/contracts/gemini.contract.d.ts.map +0 -1
  316. package/dist/contracts/gemini.contract.js +0 -6
  317. package/dist/contracts/gemini.contract.js.map +0 -1
  318. package/dist/contracts/kimi.contract.d.ts +0 -16
  319. package/dist/contracts/kimi.contract.d.ts.map +0 -1
  320. package/dist/contracts/kimi.contract.js +0 -6
  321. package/dist/contracts/kimi.contract.js.map +0 -1
  322. package/dist/contracts/komodo.contract.d.ts +0 -125
  323. package/dist/contracts/komodo.contract.d.ts.map +0 -1
  324. package/dist/contracts/komodo.contract.js +0 -14
  325. package/dist/contracts/komodo.contract.js.map +0 -1
  326. package/dist/contracts/memory.contract.d.ts +0 -34
  327. package/dist/contracts/memory.contract.d.ts.map +0 -1
  328. package/dist/contracts/memory.contract.js +0 -9
  329. package/dist/contracts/memory.contract.js.map +0 -1
  330. package/src/contracts/codex.contract.ts +0 -10
  331. package/src/contracts/gemini.contract.ts +0 -11
  332. package/src/contracts/kimi.contract.ts +0 -9
  333. package/src/contracts/komodo.contract.ts +0 -36
  334. package/src/contracts/memory.contract.ts +0 -13
@@ -1,11 +1,13 @@
1
1
  import { bucketOf, digestOf } from "./digest.js";
2
2
  import { CHORE_INVARIANTS, composeAsk, REPORT_INVARIANTS, TRIAGE_NOTE } from "./prompt.js";
3
+ import { componentStem, frameworksOf, idiomRule, normalizePath, UI_FRAMEWORKS, usesTailwind } from "./stack.js";
3
4
  const DAY_MS = 86_400_000;
4
5
  const AUDIT_REPORT = `/tmp/intentic-chore-audit.json`;
5
6
  const KNIP_REPORT = `/tmp/intentic-chore-knip.json`;
6
7
  const JSCPD_DIR = `/tmp/intentic-chore-jscpd`;
7
8
  const JSCPD_REPORT = `${JSCPD_DIR}/jscpd-report.json`;
8
9
  export const repoLabel = (repo) => (repo === `root` || repo === `` ? `the workspace root repository` : repo);
10
+ export const repoName = (repo) => (repo === `root` || repo === `` ? `workspace root` : repo);
9
11
  const plural = (count, one, many = `${one}s`) => `${count} ${count === 1 ? one : many}`;
10
12
  const outdatedLine = (entry) => `${entry.kind} · ${entry.name} ${entry.current} → ${entry.latest}`;
11
13
  const factsOf = (context, id) => {
@@ -21,8 +23,9 @@ const security = {
21
23
  title: `Patch security advisories`,
22
24
  icon: `shield`,
23
25
  description: `Published advisories against this dependency tree, and the ones whose fix is a version bump.`,
26
+ kind: `carrying`,
24
27
  criterion: `pnpm audit reports an advisory of high or critical severity against the resolved tree.`,
25
- applies: (signals) => (signals.shape.lockfile ? undefined : `there is no lockfile here, so nothing resolves to a tree that could be audited`),
28
+ applies: (signals) => (signals.shape.lockfile ? undefined : `no lockfile`),
26
29
  stance: `act`,
27
30
  needs: [`audit`],
28
31
  cadenceMs: 0,
@@ -70,8 +73,9 @@ const dependencies = {
70
73
  title: `Update dependencies`,
71
74
  icon: `arrow-circle-up`,
72
75
  description: `How far behind the registry this tree has drifted, and which majors are waiting.`,
76
+ kind: `accruing`,
73
77
  criterion: `A dependency is a major version behind, or more than 20 are behind by any amount.`,
74
- applies: (signals) => (signals.shape.packageManifest ? undefined : `this repository has no package.json, so there is no npm dependency tree to be behind`),
78
+ applies: (signals) => (signals.shape.packageManifest ? undefined : `no package.json`),
75
79
  stance: `act`,
76
80
  needs: [`outdated`],
77
81
  cadenceMs: 30 * DAY_MS,
@@ -108,8 +112,9 @@ const deadCode = {
108
112
  title: `Clear out dead code`,
109
113
  icon: `trash`,
110
114
  description: `Files, exports and dependencies nothing in this repository references any more.`,
115
+ kind: `accruing`,
111
116
  criterion: `knip reports at least one unreferenced file, export or dependency.`,
112
- applies: (signals) => (signals.shape.packageManifest ? undefined : `this repository is not a Node project, and knip only reads those`),
117
+ applies: (signals) => (signals.shape.packageManifest ? undefined : `no package.json`),
113
118
  stance: `act`,
114
119
  needs: [`knip`],
115
120
  cadenceMs: 14 * DAY_MS,
@@ -155,6 +160,7 @@ const duplication = {
155
160
  title: `Find duplication worth collapsing`,
156
161
  icon: `clone`,
157
162
  description: `Copy-paste that has grown past a fifth of a percent of the tree. Reports only — extracting is a design call.`,
163
+ kind: `drifting`,
158
164
  criterion: `jscpd reports more than 5% of the scanned tree duplicated.`,
159
165
  stance: `report`,
160
166
  needs: [`jscpd`],
@@ -193,9 +199,10 @@ const documentation = {
193
199
  id: `documentation-refresh`,
194
200
  title: `Document what nothing explains`,
195
201
  icon: `file-edit`,
196
- description: `Packages in this repository with no architecture document — new ones first.`,
197
- criterion: `A workspace package has no docs/architecture document.`,
198
- applies: (signals) => (signals.packages.length > 0 ? undefined : `this repository is not a workspace, so it has no packages to document one by one`),
202
+ description: `Packages in this repository with no README — new ones first.`,
203
+ kind: `drifting`,
204
+ criterion: `A workspace package has no README.`,
205
+ applies: (signals) => (signals.packages.length > 0 ? undefined : `not a workspace`),
199
206
  stance: `act`,
200
207
  needs: [],
201
208
  cadenceMs: 90 * DAY_MS,
@@ -210,7 +217,7 @@ const documentation = {
210
217
  digest: digestOf(...undocumented.map((entry) => entry.dir).toSorted()),
211
218
  severity: `info`,
212
219
  why: `${plural(undocumented.length, `package`)} of ${context.signals.packages.length} in ${repoLabel(context.repo)} have no ` +
213
- `docs/architecture document: ${undocumented.map((entry) => entry.dir).join(`, `)}.`,
220
+ `README: ${undocumented.map((entry) => entry.dir).join(`, `)}.`,
214
221
  };
215
222
  },
216
223
  diagnosis: `A package nobody can read the shape of gets worked in by guesswork, and the guesses accumulate.`,
@@ -234,6 +241,7 @@ const complexity = {
234
241
  title: `Simplify what everything waits on`,
235
242
  icon: `wave-pulse`,
236
243
  description: `Files that both churn and carry the repository — where edits are slow and ripple outward.`,
244
+ kind: `accruing`,
237
245
  criterion: `A file in the hotspot ranking is also a key module, or its branching is three times the median of that ranking.`,
238
246
  stance: `act`,
239
247
  needs: [],
@@ -278,8 +286,9 @@ const runtime = {
278
286
  title: `Move off an end-of-life runtime`,
279
287
  icon: `bolt`,
280
288
  description: `Whether the Node this sandbox runs still receives security patches.`,
289
+ kind: `carrying`,
281
290
  criterion: `The Node release this sandbox runs is past its end-of-life date, or within 90 days of it.`,
282
- applies: (signals) => (signals.shape.packageManifest ? undefined : `this repository is not a Node project, so the sandbox's runtime is not its concern`),
291
+ applies: (signals) => (signals.shape.packageManifest ? undefined : `no package.json`),
283
292
  stance: `act`,
284
293
  needs: [],
285
294
  cadenceMs: 0,
@@ -297,7 +306,9 @@ const runtime = {
297
306
  const days = Math.round(Math.abs(eolMs - context.nowMs) / DAY_MS);
298
307
  const pinned = context.signals.packages.filter((entry) => entry.engines?.[`node`] !== undefined);
299
308
  return {
300
- headline: past ? `Node ${major} stopped receiving security patches ${days} days ago` : `Node ${major} reaches end of life in ${days} days`,
309
+ headline: past
310
+ ? `Node ${major} stopped receiving security patches ${days} days ago`
311
+ : `Node ${major} reaches end of life in ${days} days`,
301
312
  detail: [
302
313
  `running · ${context.node}`,
303
314
  `end of life · ${eol}`,
@@ -329,8 +340,9 @@ const libraries = {
329
340
  title: `Settle on one library per job`,
330
341
  icon: `box`,
331
342
  description: `Two dependencies solving the same problem — both shipped, both maintained, one picked at random.`,
343
+ kind: `drifting`,
332
344
  criterion: `Two or more installed dependencies do the same job.`,
333
- applies: (signals) => (signals.packages.length > 0 ? undefined : `this repository is not a workspace, so there are no package manifests to compare`),
345
+ applies: (signals) => (signals.packages.length > 0 ? undefined : `not a workspace`),
334
346
  stance: `report`,
335
347
  needs: [],
336
348
  cadenceMs: 90 * DAY_MS,
@@ -356,11 +368,228 @@ const libraries = {
356
368
  `the second is only transitive, say so and close the question.`,
357
369
  done: `Done when every overlapping pair has a recommendation with a call-site count behind it, or a reason the overlap is fine.`,
358
370
  };
371
+ const DETAIL_LIMIT = 8;
372
+ const FRAMEWORK_LABELS = UI_FRAMEWORKS.map((framework) => framework.label).join(`, `);
373
+ const needsFramework = (signals) => frameworksOf(signals.shape.deps).length > 0 ? undefined : `no ${FRAMEWORK_LABELS}`;
374
+ const bytesLabel = (bytes) => (bytes >= 1024 * 1024 ? `${(bytes / (1024 * 1024)).toFixed(1)} MB` : `${Math.round(bytes / 1024)} kB`);
375
+ const BUNDLE_SHARE_FLOOR = 50;
376
+ const BUNDLE_MIN_ASSETS = 3;
377
+ const stableAsset = (path) => path.replace(/[.-](?=[A-Za-z0-9_-]*[0-9])[A-Za-z0-9_-]{8,}(\.[a-z0-9]+)$/, `$1`);
378
+ const bundleWeight = {
379
+ id: `bundle-weight`,
380
+ title: `Split what the browser downloads first`,
381
+ icon: `download`,
382
+ description: `What the last build put on disk, and whether it arrives as one download or several.`,
383
+ kind: `accruing`,
384
+ criterion: `A single asset is more than half of the build's total transfer size.`,
385
+ applies: needsFramework,
386
+ stance: `report`,
387
+ needs: [`bundle`],
388
+ cadenceMs: 30 * DAY_MS,
389
+ assess: (context) => {
390
+ const facts = factsOf(context, `bundle`);
391
+ if (facts === undefined) {
392
+ return undefined;
393
+ }
394
+ const { assets, totalGzip, dir } = facts.bundle;
395
+ if (assets.length < BUNDLE_MIN_ASSETS || totalGzip === 0) {
396
+ return undefined;
397
+ }
398
+ const ranked = assets.toSorted((left, right) => right.gzip - left.gzip);
399
+ const largest = ranked[0];
400
+ if (largest === undefined) {
401
+ return undefined;
402
+ }
403
+ const share = (largest.gzip / totalGzip) * 100;
404
+ if (share < BUNDLE_SHARE_FLOOR) {
405
+ return undefined;
406
+ }
407
+ return {
408
+ headline: `${largest.path} is ${Math.round(share)}% of the ${bytesLabel(totalGzip)} this build ships`,
409
+ detail: ranked
410
+ .slice(0, DETAIL_LIMIT)
411
+ .map((asset) => `${bytesLabel(asset.gzip)} gzipped · ${asset.path} (${bytesLabel(asset.bytes)} on disk)`),
412
+ digest: digestOf(`total:${bucketOf(totalGzip)}`, ...ranked
413
+ .slice(0, 5)
414
+ .map((asset) => stableAsset(asset.path))
415
+ .toSorted()),
416
+ severity: `info`,
417
+ why: `The build output in ${dir}/ of ${repoLabel(context.repo)} is ${bytesLabel(totalGzip)} gzipped across ` +
418
+ `${plural(assets.length, `asset`)}, and ${largest.path} alone is ${bytesLabel(largest.gzip)} of it — ${Math.round(share)}%. ` +
419
+ `The next largest are ${ranked
420
+ .slice(1, 4)
421
+ .map((asset) => `${asset.path} (${bytesLabel(asset.gzip)})`)
422
+ .join(`, `)}. ` +
423
+ `This is the last build someone ran, read off disk; nothing rebuilt it to measure.`,
424
+ };
425
+ },
426
+ diagnosis: `Everything in the first chunk is downloaded and parsed before anything renders, whether or not the visitor needed it.`,
427
+ goal: `Find out what is actually IN the dominant chunk before proposing anything — the repository's own bundler can report this, and a ` +
428
+ `recommendation made without it is guesswork. Then report the split worth making: which routes or features could load on demand, ` +
429
+ `which dependencies are pulled in wholesale for one function, and which are only used behind an interaction nobody has yet had. ` +
430
+ `Name the boundary for each and estimate what it saves. Where the chunk is genuinely all first-paint code, say so and close it.`,
431
+ done: `Done when every recommendation names a specific import boundary and the bytes it would move out of the first download.`,
432
+ };
433
+ const frameworkIdiom = {
434
+ id: `framework-idiom`,
435
+ title: `Finish the framework migrations`,
436
+ icon: `history`,
437
+ description: `Code still written the way the framework used to recommend, long after it stopped.`,
438
+ kind: `accruing`,
439
+ criterion: `A file uses a framework idiom that framework's own maintainers have replaced.`,
440
+ applies: needsFramework,
441
+ stance: `act`,
442
+ needs: [`ui`],
443
+ cadenceMs: 60 * DAY_MS,
444
+ assess: (context) => {
445
+ const facts = factsOf(context, `ui`);
446
+ if (facts === undefined) {
447
+ return undefined;
448
+ }
449
+ const frameworks = new Set(frameworksOf(context.signals.shape.deps).map((framework) => framework.id));
450
+ const found = facts.scan.idioms.flatMap(({ id, files }) => {
451
+ const rule = idiomRule(id);
452
+ return rule === undefined || !frameworks.has(rule.framework) || files.length === 0 ? [] : [{ rule, files }];
453
+ });
454
+ if (found.length === 0) {
455
+ return undefined;
456
+ }
457
+ const total = found.reduce((sum, entry) => sum + entry.files.length, 0);
458
+ const ranked = found.toSorted((left, right) => right.files.length - left.files.length);
459
+ return {
460
+ headline: `${plural(found.length, `retired idiom`)} still in use, across ${plural(total, `file`)}`,
461
+ detail: ranked.map((entry) => `${plural(entry.files.length, `file`)} · ${entry.rule.label} → ${entry.rule.replacement}`),
462
+ digest: digestOf(...ranked.map((entry) => `${entry.rule.id}:${bucketOf(entry.files.length)}`).toSorted()),
463
+ severity: `info`,
464
+ why: `${repoLabel(context.repo)} still uses ${plural(found.length, `idiom`)} its framework has replaced: ` +
465
+ `${ranked.map((entry) => `${entry.rule.label} in ${plural(entry.files.length, `file`)} (replaced by ${entry.rule.replacement})`).join(`; `)}. ` +
466
+ `A sample of the files: ${ranked
467
+ .flatMap((entry) => entry.files.slice(0, 3))
468
+ .slice(0, DETAIL_LIMIT)
469
+ .join(`, `)}.`,
470
+ };
471
+ },
472
+ diagnosis: `A retired idiom keeps working until the major release that drops it, and then it is an emergency inside somebody else's upgrade.`,
473
+ goal: `Take ONE idiom, the one with the most files, and no more. Convert the files where the conversion is mechanical and the behaviour ` +
474
+ `is provably identical. Stop at the first file that needs a design decision — a class component with genuine error-boundary ` +
475
+ `semantics, an NgModule that something outside the repository imports — leave it, and say what it would take. Do not convert an ` +
476
+ `idiom the repository has deliberately kept: if the newest code uses it too, that is a choice, and reporting it as one is the ` +
477
+ `useful answer.`,
478
+ done: `Done when a re-scan reports fewer files on that idiom, the repository's type-check and tests pass, and every file you skipped has a one-line reason.`,
479
+ };
480
+ const componentOverlap = {
481
+ id: `component-overlap`,
482
+ title: `Settle on one component per job`,
483
+ icon: `copy`,
484
+ description: `Components built twice — the same name in two places, or the same logic under two names.`,
485
+ kind: `drifting`,
486
+ criterion: `Two component files reduce to the same name, or a duplicated block spans two components.`,
487
+ applies: needsFramework,
488
+ stance: `report`,
489
+ needs: [`ui`, `jscpd`],
490
+ cadenceMs: 90 * DAY_MS,
491
+ assess: (context) => {
492
+ const ui = factsOf(context, `ui`);
493
+ const jscpd = factsOf(context, `jscpd`);
494
+ if (ui === undefined || jscpd === undefined) {
495
+ return undefined;
496
+ }
497
+ const byStem = new Map();
498
+ for (const path of ui.scan.components) {
499
+ const stem = componentStem(path);
500
+ if (stem !== undefined) {
501
+ byStem.set(stem, [...(byStem.get(stem) ?? []), normalizePath(path)]);
502
+ }
503
+ }
504
+ const families = [...byStem]
505
+ .filter(([, paths]) => paths.length > 1)
506
+ .map(([stem, paths]) => ({ stem, paths: paths.toSorted() }))
507
+ .toSorted((left, right) => right.paths.length - left.paths.length);
508
+ const inventory = new Set(ui.scan.components.map(normalizePath));
509
+ const pairs = jscpd.duplication.top.filter((clone) => inventory.has(normalizePath(clone.first)) && inventory.has(normalizePath(clone.second)));
510
+ if (families.length === 0 && pairs.length === 0) {
511
+ return undefined;
512
+ }
513
+ const parts = [
514
+ ...(families.length === 0 ? [] : [`${plural(families.length, `name`)} used by more than one component`]),
515
+ ...(pairs.length === 0 ? [] : [`${plural(pairs.length, `clone`)} spanning two of them`]),
516
+ ];
517
+ return {
518
+ headline: parts.join(`, `),
519
+ detail: [
520
+ ...families.slice(0, DETAIL_LIMIT).map((family) => `${family.stem} · ${family.paths.join(`, `)}`),
521
+ ...pairs.map((clone) => `${clone.lines} shared lines · ${normalizePath(clone.first)} ↔ ${normalizePath(clone.second)}`),
522
+ ],
523
+ digest: digestOf(...families.map((family) => `${family.stem}:${family.paths.join(`+`)}`).toSorted(), ...pairs.map((clone) => `${normalizePath(clone.first)}|${normalizePath(clone.second)}`).toSorted()),
524
+ severity: `info`,
525
+ why: `${repoLabel(context.repo)} has ${parts.join(` and `)}, out of ${plural(ui.scan.components.length, `component file`)} scanned. ` +
526
+ `${families.length === 0
527
+ ? ``
528
+ : `The names: ${families
529
+ .slice(0, DETAIL_LIMIT)
530
+ .map((family) => `${family.stem} (${family.paths.join(`, `)})`)
531
+ .join(`; `)}. `}` +
532
+ `${pairs.length === 0 ? `` : `The clones: ${pairs.map((clone) => `${normalizePath(clone.first)} ↔ ${normalizePath(clone.second)}, ${clone.lines} lines`).join(`; `)}.`}`,
533
+ };
534
+ },
535
+ diagnosis: `A component built twice is maintained once — whichever copy the next person happens to open is the one that gets the fix.`,
536
+ goal: `Read every file in each group before saying anything about it; a shared name is a reason to look, not a finding on its own. For ` +
537
+ `each group, say whether these genuinely do the same job, and if they do, name the one to keep and count the call sites that would ` +
538
+ `have to move. Where the answer is that the same LOGIC is duplicated rather than the whole component — the same fetch and loading ` +
539
+ `state, the same form validation, the same list virtualization written twice — say so, and name the hook or composable it should ` +
540
+ `become and where it would live. Where two components share a name and nothing else, say that too and close it: a false family is ` +
541
+ `worth one line, and the next reader needs to know it was considered.`,
542
+ done: `Done when every group has either a component to keep with a call-site count, a shared unit to extract with a home, or a reason it is fine.`,
543
+ };
544
+ const tailwindBypass = {
545
+ id: `tailwind-arbitrary-values`,
546
+ title: `Put hard-coded styles back on the scale`,
547
+ icon: `palette`,
548
+ description: `Colours and sizes written inline in the markup, around the theme that already defines them.`,
549
+ kind: `drifting`,
550
+ criterion: `A Tailwind class hard-codes a colour or a pixel size instead of using the theme's scale.`,
551
+ applies: (signals) => (usesTailwind(signals.shape.deps) ? undefined : `no Tailwind`),
552
+ stance: `act`,
553
+ needs: [`ui`],
554
+ cadenceMs: 30 * DAY_MS,
555
+ assess: (context) => {
556
+ const facts = factsOf(context, `ui`);
557
+ if (facts === undefined) {
558
+ return undefined;
559
+ }
560
+ const { bypasses } = facts.scan;
561
+ if (bypasses.length === 0) {
562
+ return undefined;
563
+ }
564
+ const total = bypasses.reduce((sum, entry) => sum + entry.count, 0);
565
+ const worst = bypasses.toSorted((left, right) => right.count - left.count).slice(0, DETAIL_LIMIT);
566
+ return {
567
+ headline: `${plural(total, `hard-coded value`)} across ${plural(bypasses.length, `file`)}`,
568
+ detail: worst.map((entry) => `${entry.path} · ${plural(entry.count, `value`)}`),
569
+ digest: digestOf(...worst.map((entry) => entry.path).toSorted(), `files:${bucketOf(bypasses.length)}`, `total:${bucketOf(total)}`),
570
+ severity: `info`,
571
+ why: `${repoLabel(context.repo)} has ${plural(total, `Tailwind class`, `Tailwind classes`)} hard-coding a colour or a pixel size ` +
572
+ `across ${plural(bypasses.length, `file`)}; the heaviest are ` +
573
+ `${worst
574
+ .slice(0, 5)
575
+ .map((entry) => `${entry.path} (${entry.count})`)
576
+ .join(`, `)}.`,
577
+ };
578
+ },
579
+ diagnosis: `Every inline colour is a place the theme cannot reach — a palette change lands everywhere except the files that opted out of it.`,
580
+ goal: `Read the theme first — the Tailwind config, or the CSS that defines the tokens — so you know what the scale actually offers. Then ` +
581
+ `replace the values that have a token: an exact palette match, a spacing step, a type size. Where a value is CLOSE to a token but ` +
582
+ `not equal, do not round it silently; that is a visual change wearing a refactor's clothes. List those separately with both values ` +
583
+ `and let the owner decide. Where a value has no token and should — a brand colour used in nine places — say that the theme is ` +
584
+ `missing an entry rather than editing nine files.`,
585
+ done: `Done when a re-scan reports fewer hard-coded values, nothing renders differently, and every value you left has a one-line reason.`,
586
+ };
359
587
  const survey = ({ id, title, icon, description, diagnosis, goal, done, cadenceDays, applies }) => ({
360
588
  id,
361
589
  title,
362
590
  icon,
363
591
  description,
592
+ kind: `surveying`,
364
593
  criterion: `${cadenceDays} days have passed since this review was last run.`,
365
594
  applies,
366
595
  stance: `report`,
@@ -391,9 +620,7 @@ const patterns = survey({
391
620
  `estimate the size of the conversion. Do not convert anything.`,
392
621
  done: `Done when each concern has a named convention, a reference file, and a count of the sites that diverge from it.`,
393
622
  cadenceDays: 90,
394
- applies: (signals) => signals.totals.files >= PATTERNS_FLOOR
395
- ? undefined
396
- : `this repository has ${signals.totals.files} indexed files — too few for cross-cutting patterns to have diverged`,
623
+ applies: (signals) => (signals.totals.files >= PATTERNS_FLOOR ? undefined : `only ${signals.totals.files} indexed files`),
397
624
  });
398
625
  const deprecated = survey({
399
626
  id: `deprecated-apis`,
@@ -407,7 +634,7 @@ const deprecated = survey({
407
634
  `replacement for each. Change nothing.`,
408
635
  done: `Done when every deprecation has call sites cited, a replacement named, and the release it is expected to break in.`,
409
636
  cadenceDays: 90,
410
- applies: (signals) => (signals.shape.packageManifest ? undefined : `this repository declares no dependencies whose deprecations could be read`),
637
+ applies: (signals) => (signals.shape.packageManifest ? undefined : `no package.json`),
411
638
  });
412
639
  const documentationDrift = survey({
413
640
  id: `documentation-drift`,
@@ -420,7 +647,7 @@ const documentationDrift = survey({
420
647
  `what, which file to change — over prose that has merely aged. Do not rewrite the documents; produce the list of what is wrong.`,
421
648
  done: `Done when every architecture document has been read and every false claim is listed with both sides cited.`,
422
649
  cadenceDays: 90,
423
- applies: (signals) => (signals.shape.docs.length > 0 ? undefined : `this repository has no architecture documents to re-read`),
650
+ applies: (signals) => (signals.shape.docs.length > 0 ? undefined : `no architecture documents`),
424
651
  });
425
652
  const pipelines = survey({
426
653
  id: `ci-hygiene`,
@@ -434,7 +661,7 @@ const pipelines = survey({
434
661
  `because it genuinely has to be, say so — a pipeline that is honestly expensive is not a finding.`,
435
662
  done: `Done when every finding names a file, a step, and a concrete change, and anything deliberately slow is called out as such.`,
436
663
  cadenceDays: 90,
437
- applies: (signals) => (signals.shape.ci.length > 0 ? undefined : `this repository defines no CI pipeline`),
664
+ applies: (signals) => (signals.shape.ci.length > 0 ? undefined : `no CI pipeline`),
438
665
  });
439
666
  const images = survey({
440
667
  id: `docker-image`,
@@ -448,23 +675,35 @@ const images = survey({
448
675
  `Dockerfiles — an image that fails to build is a much worse problem than one that is larger than ideal.`,
449
676
  done: `Done when every finding cites a Dockerfile line and names the change, with the ones that would need a base-image swap called out separately.`,
450
677
  cadenceDays: 90,
451
- applies: (signals) => (signals.shape.dockerfiles.length > 0 ? undefined : `this repository ships no Dockerfile`),
678
+ applies: (signals) => (signals.shape.dockerfiles.length > 0 ? undefined : `no Dockerfile`),
452
679
  });
453
- export const CHORES = [
680
+ export const CHORE_KINDS = [
681
+ { kind: `carrying`, label: `Carrying`, caption: `a risk this repository is running today — someone else decides when it becomes urgent` },
682
+ { kind: `accruing`, label: `Accruing`, caption: `cheap now, expensive later, and always getting later` },
683
+ { kind: `drifting`, label: `Drifting`, caption: `the shape of the thing is diverging from the idea of it` },
684
+ { kind: `surveying`, label: `Surveying`, caption: `periodic reads with nothing measuring them — due because it has been that long` },
685
+ ];
686
+ const BOOK = [
454
687
  security,
455
688
  runtime,
456
689
  dependencies,
457
690
  deadCode,
458
691
  complexity,
692
+ bundleWeight,
693
+ frameworkIdiom,
459
694
  documentation,
460
695
  duplication,
461
696
  libraries,
697
+ componentOverlap,
698
+ tailwindBypass,
462
699
  patterns,
463
700
  deprecated,
464
701
  documentationDrift,
465
702
  pipelines,
466
703
  images,
467
704
  ];
705
+ const KIND_ORDER = CHORE_KINDS.map(({ kind }) => kind);
706
+ export const CHORES = BOOK.toSorted((left, right) => KIND_ORDER.indexOf(left.kind) - KIND_ORDER.indexOf(right.kind));
468
707
  export const choreById = (id) => CHORES.find((chore) => chore.id === id);
469
708
  export const choreAutomationPrompt = (chore) => chore.automation === undefined
470
709
  ? undefined
@@ -1 +1 @@
1
- {"version":3,"file":"chores.js","sourceRoot":"","sources":["../../src/chores/chores.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chores.js","sourceRoot":"","sources":["../../src/chores/chores.ts"],"names":[],"mappings":"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"}
Binary file
@@ -1 +1 @@
1
- {"version":3,"file":"digest.js","sourceRoot":"","sources":["../../src/chores/digest.ts"],"names":[],"mappings":"AAiBA,MAAM,UAAU,GAAG,UAAU,CAAC;AAC9B,MAAM,SAAS,GAAG,UAAU,CAAC;AAI7B,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAG,KAAmC,EAAU,EAAE;IACvE,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,IAAI,GAAG,UAAU,CAAC;IACtB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QAChD,IAAI,GAAG,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,SAAS,CAAC;QAC5D,IAAI,MAAM,CAAC,CAAC;IAChB,CAAC;IACD,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC9C,CAAC,CAAC;AAYF,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"digest.js","sourceRoot":"","sources":["../../src/chores/digest.ts"],"names":[],"mappings":"AAiBA,MAAM,UAAU,GAAG,UAAU,CAAC;AAC9B,MAAM,SAAS,GAAG,UAAU,CAAC;AAI7B,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAG,KAAmC,EAAU,EAAE;IACvE,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnC,IAAI,IAAI,GAAG,UAAU,CAAC;IACtB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QAChD,IAAI,GAAG,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,SAAS,CAAC;QAC5D,IAAI,MAAM,CAAC,CAAC;IAChB,CAAC;IACD,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC9C,CAAC,CAAC;AAYF,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC"}
@@ -0,0 +1,9 @@
1
+ export interface UpdateBrief {
2
+ readonly label: string;
3
+ readonly url: string;
4
+ readonly fromRef: string;
5
+ readonly toRef: string;
6
+ readonly path: string;
7
+ }
8
+ export declare const updateBrief: ({ label, url, fromRef, toRef, path }: UpdateBrief) => string;
9
+ //# sourceMappingURL=extension-update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extension-update.d.ts","sourceRoot":"","sources":["../../src/chores/extension-update.ts"],"names":[],"mappings":"AAiBA,MAAM,WAAW,WAAW;IAExB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAErB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,WAAW,yCAA0C,WAAW,KAAG,MAQ1E,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { composeAsk } from "./prompt.js";
2
+ const UPDATE_INVARIANTS = `This turn reads and reports; it changes nothing and installs nothing. Clone into a scratch directory ` +
3
+ `outside the workspace and read the diff between the two commits — the installed code was approved once ` +
4
+ `already, so what is between them is the whole subject. Lead with the manifest's delta: any route added to ` +
5
+ `\`permissions.sandbox\` is reach the owner never approved and the headline whatever else changed. Then the ` +
6
+ `code: what behaviour changed, in the owner's terms, citing file and line.`;
7
+ export const updateBrief = ({ label, url, fromRef, toRef, path }) => composeAsk({
8
+ subject: `Read what changed in the ${label} extension before it is updated here: ${url}, from ${fromRef} to ${toRef}${path === `` ? `` : `, in ${path}`}.`,
9
+ why: `The installed commit was approved once already; the update replaces it wholesale, because the sha is the identity and there is no build step between the pushed bytes and the code that runs.`,
10
+ diagnosis: `The manifest (intentic-extension.json at the extension root) is the contract on both sides of the diff, so its delta is readable exactly like the code's.`,
11
+ goal: `Read the diff and say what the update actually is: the manifest delta first, then what the code now does that it did not, and what it stopped doing.`,
12
+ invariants: UPDATE_INVARIANTS,
13
+ done: `Done when you end on a recommendation the owner can act on — update, update and watch something named, or stay on ${fromRef.slice(0, 7)} — with the change that decided it cited by file and line.`,
14
+ });
15
+ //# sourceMappingURL=extension-update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extension-update.js","sourceRoot":"","sources":["../../src/chores/extension-update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAUzC,MAAM,iBAAiB,GACnB,uGAAuG;IACvG,yGAAyG;IACzG,4GAA4G;IAC5G,6GAA6G;IAC7G,2EAA2E,CAAC;AAahF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAe,EAAU,EAAE,CACrF,UAAU,CAAC;IACP,OAAO,EAAE,4BAA4B,KAAK,yCAAyC,GAAG,UAAU,OAAO,OAAO,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,GAAG;IAC1J,GAAG,EAAE,+LAA+L;IACpM,SAAS,EAAE,2JAA2J;IACtK,IAAI,EAAE,sJAAsJ;IAC5J,UAAU,EAAE,iBAAiB;IAC7B,IAAI,EAAE,qHAAqH,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,4DAA4D;CAC7M,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ export declare const FIX_DEPS_AUTOMATION: {
2
+ readonly id: "fix-dependency-breakage";
3
+ readonly title: "Fix what a dependency change broke";
4
+ readonly event: "deps.broken";
5
+ readonly holdForSeconds: 60;
6
+ readonly guard: `test "$(printf '%s' "$AUTOMATION_PAYLOAD" | jq -r '.deps.attempt // 1')" -le 2`;
7
+ readonly guardNote: "stops after 2 attempts";
8
+ readonly prompt: string;
9
+ };
10
+ //# sourceMappingURL=fix-deps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fix-deps.d.ts","sourceRoot":"","sources":["../../src/chores/fix-deps.ts"],"names":[],"mappings":"AAsBA,eAAO,MAAM,mBAAmB;aAC5B,EAAE,EAAE,yBAAyB;aAC7B,KAAK,EAAE,oCAAoC;aAC3C,KAAK,EAAE,aAAa;aACpB,cAAc,EAAE,EAAE;aAClB,KAAK,EAAE,gFAAgF;aACvF,SAAS,EAAE,wBAAwB;aACnC,MAAM;CAUA,CAAC"}
@@ -0,0 +1,18 @@
1
+ export const FIX_DEPS_AUTOMATION = {
2
+ id: "fix-dependency-breakage",
3
+ title: "Fix what a dependency change broke",
4
+ event: "deps.broken",
5
+ holdForSeconds: 60,
6
+ guard: `test "$(printf '%s' "$AUTOMATION_PAYLOAD" | jq -r '.deps.attempt // 1')" -le 2`,
7
+ guardNote: "stops after 2 attempts",
8
+ prompt: "A landed change drifted this workspace's dependencies; the daemon reinstalled them and ran the project's own checks, " +
9
+ "and they failed. The payload names the project (`deps.project`), the check command (`deps.command`), how it exited " +
10
+ "(`deps.exitCode`) and the tail of its output (`deps.logTail`); the full log is in the project's `--verify` terminal.\n\n" +
11
+ "Re-run the check yourself to see the failure first-hand, then fix the ROOT CAUSE. That usually means updating call " +
12
+ "sites, types or tests to match what actually changed — never loosening or deleting the checks, pinning or downgrading " +
13
+ "dependencies just to silence them, or editing generated files. If the breakage needs a decision only the owner can " +
14
+ "make (an intentional breaking upgrade, a license change, a dependency that should be dropped), stop and say exactly " +
15
+ "that instead of guessing.\n\n" +
16
+ "Finish by running the same check command and reporting what was broken, what you changed, and whether it is green now.",
17
+ };
18
+ //# sourceMappingURL=fix-deps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fix-deps.js","sourceRoot":"","sources":["../../src/chores/fix-deps.ts"],"names":[],"mappings":"AAsBA,MAAM,CAAC,MAAM,mBAAmB,GAAG;IAC/B,EAAE,EAAE,yBAAyB;IAC7B,KAAK,EAAE,oCAAoC;IAC3C,KAAK,EAAE,aAAa;IACpB,cAAc,EAAE,EAAE;IAClB,KAAK,EAAE,gFAAgF;IACvF,SAAS,EAAE,wBAAwB;IACnC,MAAM,EACF,uHAAuH;QACvH,qHAAqH;QACrH,0HAA0H;QAC1H,qHAAqH;QACrH,wHAAwH;QACxH,qHAAqH;QACrH,sHAAsH;QACtH,+BAA+B;QAC/B,wHAAwH;CACtH,CAAC"}