agentera 3.0.0-dev.6 → 3.0.0-dev.7

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 (439) hide show
  1. package/bundle/extract-corpus-parity.json +23 -0
  2. package/bundle/references/adapters/cursor.md +10 -9
  3. package/bundle/references/adapters/opencode.md +26 -26
  4. package/bundle/references/adapters/runtime-adapter-characterization.md +1 -1
  5. package/bundle/references/adapters/runtime-adapter-registry.yaml +16 -10
  6. package/bundle/references/adapters/runtime-feature-parity.md +2 -2
  7. package/bundle/references/analysis/benchmark.md +1 -1
  8. package/bundle/references/analysis/startup-measurement-contract.yaml +7 -7
  9. package/bundle/references/artifacts/artifact-registry-interface-model.yaml +4 -3
  10. package/bundle/references/cli/agent-ready-state-contract.yaml +6 -6
  11. package/bundle/references/cli/app-lifecycle-vocabulary.yaml +4 -4
  12. package/bundle/references/cli/capability-tool-classification.yaml +12 -12
  13. package/bundle/references/cli/coexistence-probe.yaml +4 -0
  14. package/bundle/references/cli/parity-expected-actual-template.md +30 -0
  15. package/bundle/references/cli/routing-execution-vocabulary.yaml +6 -6
  16. package/bundle/references/cli/routing-model.md +96 -0
  17. package/bundle/references/cli/trigger-schema-enrichment.md +136 -0
  18. package/bundle/references/cli/update-channels.yaml +16 -1
  19. package/bundle/references/cli/upgrade-repair-wording.md +17 -3
  20. package/bundle/references/cli/vocabulary-index.yaml +17 -12
  21. package/bundle/references/cli/vocabulary.md +314 -309
  22. package/bundle/registry.json +13 -13
  23. package/bundle/skills/agentera/.claude-plugin/plugin.json +13 -13
  24. package/bundle/skills/agentera/SKILL.md +99 -415
  25. package/bundle/skills/agentera/agents/audit.toml +6 -0
  26. package/bundle/skills/agentera/agents/build.toml +6 -0
  27. package/bundle/skills/agentera/agents/design.toml +6 -0
  28. package/bundle/skills/agentera/agents/{planera.toml → discuss.toml} +3 -3
  29. package/bundle/skills/agentera/agents/{resonera.toml → document.toml} +3 -3
  30. package/bundle/skills/agentera/agents/{optimera.toml → optimize.toml} +2 -2
  31. package/bundle/skills/agentera/agents/orchestrate.toml +6 -0
  32. package/bundle/skills/agentera/agents/plan.toml +6 -0
  33. package/bundle/skills/agentera/agents/profile.toml +6 -0
  34. package/bundle/skills/agentera/agents/research.toml +6 -0
  35. package/bundle/skills/agentera/agents/status.toml +6 -0
  36. package/bundle/skills/agentera/agents/vision.toml +6 -0
  37. package/bundle/skills/agentera/capabilities/{inspektera → audit}/schemas/artifacts.yaml +10 -10
  38. package/bundle/skills/agentera/capabilities/{inspektera → audit}/schemas/triggers.yaml +15 -6
  39. package/bundle/skills/agentera/capabilities/{inspektera → audit}/schemas/validation.yaml +9 -9
  40. package/bundle/skills/agentera/capabilities/{realisera → build}/schemas/artifacts.yaml +11 -11
  41. package/bundle/skills/agentera/capabilities/{realisera → build}/schemas/triggers.yaml +13 -3
  42. package/bundle/skills/agentera/capabilities/{realisera → build}/schemas/validation.yaml +7 -7
  43. package/bundle/skills/agentera/capabilities/{visualisera → design}/schemas/artifacts.yaml +6 -6
  44. package/bundle/skills/agentera/capabilities/{visualisera → design}/schemas/triggers.yaml +15 -3
  45. package/bundle/skills/agentera/capabilities/{visualisera → design}/schemas/validation.yaml +5 -5
  46. package/bundle/skills/agentera/capabilities/{resonera → discuss}/schemas/artifacts.yaml +6 -6
  47. package/bundle/skills/agentera/capabilities/{resonera → discuss}/schemas/triggers.yaml +11 -3
  48. package/bundle/skills/agentera/capabilities/{resonera → discuss}/schemas/validation.yaml +4 -4
  49. package/bundle/skills/agentera/capabilities/{dokumentera → document}/schemas/artifacts.yaml +10 -10
  50. package/bundle/skills/agentera/capabilities/{dokumentera → document}/schemas/triggers.yaml +14 -3
  51. package/bundle/skills/agentera/capabilities/{dokumentera → document}/schemas/validation.yaml +8 -8
  52. package/bundle/skills/agentera/capabilities/{optimera → optimize}/schemas/artifacts.yaml +8 -8
  53. package/bundle/skills/agentera/capabilities/{optimera → optimize}/schemas/triggers.yaml +11 -3
  54. package/bundle/skills/agentera/capabilities/{optimera → optimize}/schemas/validation.yaml +7 -7
  55. package/bundle/skills/agentera/capabilities/{orkestrera → orchestrate}/schemas/artifacts.yaml +10 -10
  56. package/bundle/skills/agentera/capabilities/{orkestrera → orchestrate}/schemas/triggers.yaml +16 -3
  57. package/bundle/skills/agentera/capabilities/{orkestrera → orchestrate}/schemas/validation.yaml +27 -27
  58. package/bundle/skills/agentera/capabilities/{planera → plan}/schemas/artifacts.yaml +8 -8
  59. package/bundle/skills/agentera/capabilities/{planera → plan}/schemas/exit.yaml +2 -2
  60. package/bundle/skills/agentera/capabilities/{planera → plan}/schemas/triggers.yaml +15 -3
  61. package/bundle/skills/agentera/capabilities/{planera → plan}/schemas/validation.yaml +3 -3
  62. package/bundle/skills/agentera/capabilities/{profilera → profile}/schemas/artifacts.yaml +2 -2
  63. package/bundle/skills/agentera/capabilities/{profilera → profile}/schemas/exit.yaml +2 -1
  64. package/bundle/skills/agentera/capabilities/{profilera → profile}/schemas/triggers.yaml +7 -3
  65. package/bundle/skills/agentera/capabilities/{profilera → profile}/schemas/validation.yaml +2 -2
  66. package/bundle/skills/agentera/capabilities/{inspirera → research}/schemas/artifacts.yaml +5 -5
  67. package/bundle/skills/agentera/capabilities/{inspirera → research}/schemas/triggers.yaml +9 -3
  68. package/bundle/skills/agentera/capabilities/{inspirera → research}/schemas/validation.yaml +2 -2
  69. package/bundle/skills/agentera/capabilities/{hej → status}/schemas/artifacts.yaml +14 -11
  70. package/bundle/skills/agentera/capabilities/{hej → status}/schemas/triggers.yaml +10 -4
  71. package/bundle/skills/agentera/capabilities/{hej → status}/schemas/validation.yaml +5 -5
  72. package/bundle/skills/agentera/capabilities/{visionera → vision}/schemas/artifacts.yaml +8 -8
  73. package/bundle/skills/agentera/capabilities/{visionera → vision}/schemas/triggers.yaml +17 -3
  74. package/bundle/skills/agentera/capabilities/{visionera → vision}/schemas/validation.yaml +7 -7
  75. package/bundle/skills/agentera/capability_schema_contract.yaml +178 -34
  76. package/bundle/skills/agentera/protocol.yaml +29 -29
  77. package/bundle/skills/agentera/references/contract.md +328 -319
  78. package/bundle/skills/agentera/schemas/artifacts/changelog.yaml +4 -4
  79. package/bundle/skills/agentera/schemas/artifacts/decisions.yaml +9 -9
  80. package/bundle/skills/agentera/schemas/artifacts/design.yaml +4 -4
  81. package/bundle/skills/agentera/schemas/artifacts/docs.yaml +8 -7
  82. package/bundle/skills/agentera/schemas/artifacts/experiments.yaml +5 -5
  83. package/bundle/skills/agentera/schemas/artifacts/health.yaml +5 -5
  84. package/bundle/skills/agentera/schemas/artifacts/objective.yaml +4 -4
  85. package/bundle/skills/agentera/schemas/artifacts/plan.yaml +5 -5
  86. package/bundle/skills/agentera/schemas/artifacts/progress.yaml +5 -5
  87. package/bundle/skills/agentera/schemas/artifacts/todo.yaml +40 -35
  88. package/bundle/skills/agentera/schemas/artifacts/vision.yaml +3 -3
  89. package/dist/analytics/extractCorpus/cli.js +49 -1
  90. package/dist/analytics/extractCorpus/cli.js.map +1 -1
  91. package/dist/analytics/extractCorpus/copilotSessions.js +47 -5
  92. package/dist/analytics/extractCorpus/copilotSessions.js.map +1 -1
  93. package/dist/analytics/extractCorpus/core.js +19 -12
  94. package/dist/analytics/extractCorpus/core.js.map +1 -1
  95. package/dist/analytics/extractCorpus/corpus.js +26 -13
  96. package/dist/analytics/extractCorpus/corpus.js.map +1 -1
  97. package/dist/analytics/extractCorpus/coverageAudit.js +261 -0
  98. package/dist/analytics/extractCorpus/coverageAudit.js.map +1 -0
  99. package/dist/analytics/extractCorpus/cursorSessions.js +6 -3
  100. package/dist/analytics/extractCorpus/cursorSessions.js.map +1 -1
  101. package/dist/analytics/extractCorpus/extractCorpusParity.js +105 -0
  102. package/dist/analytics/extractCorpus/extractCorpusParity.js.map +1 -0
  103. package/dist/analytics/extractCorpus/filesystemSources.js.map +1 -1
  104. package/dist/analytics/extractCorpus/index.js +3 -0
  105. package/dist/analytics/extractCorpus/index.js.map +1 -1
  106. package/dist/analytics/extractCorpus/jsonlSessions.js.map +1 -1
  107. package/dist/analytics/extractCorpus/sqliteCaps.js +44 -0
  108. package/dist/analytics/extractCorpus/sqliteCaps.js.map +1 -0
  109. package/dist/analytics/extractCorpus/sqliteSessions.js +98 -5
  110. package/dist/analytics/extractCorpus/sqliteSessions.js.map +1 -1
  111. package/dist/analytics/usageStats.js +19 -19
  112. package/dist/analytics/usageStats.js.map +1 -1
  113. package/dist/capabilities/audit/instructions.js +6 -0
  114. package/dist/capabilities/audit/instructions.js.map +1 -0
  115. package/dist/capabilities/build/instructions.js +6 -0
  116. package/dist/capabilities/build/instructions.js.map +1 -0
  117. package/dist/capabilities/design/instructions.js +5 -0
  118. package/dist/capabilities/design/instructions.js.map +1 -0
  119. package/dist/capabilities/discuss/instructions.js +6 -0
  120. package/dist/capabilities/discuss/instructions.js.map +1 -0
  121. package/dist/capabilities/document/instructions.js +6 -0
  122. package/dist/capabilities/document/instructions.js.map +1 -0
  123. package/dist/capabilities/index.js +24 -24
  124. package/dist/capabilities/index.js.map +1 -1
  125. package/dist/capabilities/inspirera/instructions.js +1 -1
  126. package/dist/capabilities/inspirera/instructions.js.map +1 -1
  127. package/dist/capabilities/optimize/instructions.js +6 -0
  128. package/dist/capabilities/optimize/instructions.js.map +1 -0
  129. package/dist/capabilities/orchestrate/instructions.js +6 -0
  130. package/dist/capabilities/orchestrate/instructions.js.map +1 -0
  131. package/dist/capabilities/plan/instructions.js +6 -0
  132. package/dist/capabilities/plan/instructions.js.map +1 -0
  133. package/dist/capabilities/planera/instructions.js +1 -1
  134. package/dist/capabilities/planera/instructions.js.map +1 -1
  135. package/dist/capabilities/profile/instructions.js +6 -0
  136. package/dist/capabilities/profile/instructions.js.map +1 -0
  137. package/dist/capabilities/profilera/instructions.js +1 -1
  138. package/dist/capabilities/profilera/instructions.js.map +1 -1
  139. package/dist/capabilities/realisera/instructions.js +1 -1
  140. package/dist/capabilities/realisera/instructions.js.map +1 -1
  141. package/dist/capabilities/research/instructions.js +6 -0
  142. package/dist/capabilities/research/instructions.js.map +1 -0
  143. package/dist/capabilities/resonera/instructions.js +1 -1
  144. package/dist/capabilities/resonera/instructions.js.map +1 -1
  145. package/dist/capabilities/status/instructions.js +6 -0
  146. package/dist/capabilities/status/instructions.js.map +1 -0
  147. package/dist/capabilities/vision/instructions.js +6 -0
  148. package/dist/capabilities/vision/instructions.js.map +1 -0
  149. package/dist/capabilities/visionera/instructions.js +1 -1
  150. package/dist/capabilities/visionera/instructions.js.map +1 -1
  151. package/dist/capabilities/visualisera/instructions.js +3 -4
  152. package/dist/capabilities/visualisera/instructions.js.map +1 -1
  153. package/dist/cli/appContext.js +16 -17
  154. package/dist/cli/appContext.js.map +1 -1
  155. package/dist/cli/capabilityContext/benchmark.js +23 -16
  156. package/dist/cli/capabilityContext/benchmark.js.map +1 -1
  157. package/dist/cli/capabilityContext/bespoke.js +20 -9
  158. package/dist/cli/capabilityContext/bespoke.js.map +1 -1
  159. package/dist/cli/capabilityContext/build.js +177 -0
  160. package/dist/cli/capabilityContext/build.js.map +1 -0
  161. package/dist/cli/capabilityContext/closeout.js +11 -11
  162. package/dist/cli/capabilityContext/closeout.js.map +1 -1
  163. package/dist/cli/capabilityContext/contract.js +24 -22
  164. package/dist/cli/capabilityContext/contract.js.map +1 -1
  165. package/dist/cli/capabilityContext/evidence.js +35 -25
  166. package/dist/cli/capabilityContext/evidence.js.map +1 -1
  167. package/dist/cli/capabilityContext/index.js +1 -1
  168. package/dist/cli/capabilityContext/index.js.map +1 -1
  169. package/dist/cli/capabilityContext/orchestration.js +8 -8
  170. package/dist/cli/capabilityContext/orchestration.js.map +1 -1
  171. package/dist/cli/capabilityContext/planState.js +4 -4
  172. package/dist/cli/capabilityContext/planState.js.map +1 -1
  173. package/dist/cli/capabilityContext/progress.js +9 -2
  174. package/dist/cli/capabilityContext/progress.js.map +1 -1
  175. package/dist/cli/capabilityContext/realisera.js +21 -21
  176. package/dist/cli/capabilityContext/realisera.js.map +1 -1
  177. package/dist/cli/capabilityContext/shared.js +1 -1
  178. package/dist/cli/capabilityContext/shared.js.map +1 -1
  179. package/dist/cli/capabilityContext/slim.js +4 -2
  180. package/dist/cli/capabilityContext/slim.js.map +1 -1
  181. package/dist/cli/capabilityContext/startup.js +23 -18
  182. package/dist/cli/capabilityContext/startup.js.map +1 -1
  183. package/dist/cli/capabilityContext/types.js +20 -23
  184. package/dist/cli/capabilityContext/types.js.map +1 -1
  185. package/dist/cli/capabilityContext.js +1 -1
  186. package/dist/cli/capabilityContext.js.map +1 -1
  187. package/dist/cli/commands/appHome.js +23 -0
  188. package/dist/cli/commands/appHome.js.map +1 -0
  189. package/dist/cli/commands/capability.js +2 -2
  190. package/dist/cli/commands/capability.js.map +1 -1
  191. package/dist/cli/commands/compact.js.map +1 -1
  192. package/dist/cli/commands/doctor.js +9 -107
  193. package/dist/cli/commands/doctor.js.map +1 -1
  194. package/dist/cli/commands/prime/bundleStatus.js +140 -0
  195. package/dist/cli/commands/prime/bundleStatus.js.map +1 -0
  196. package/dist/cli/commands/prime/collectOrientationState.js +156 -0
  197. package/dist/cli/commands/prime/collectOrientationState.js.map +1 -0
  198. package/dist/cli/commands/prime/orientationOutput.js +210 -0
  199. package/dist/cli/commands/prime/orientationOutput.js.map +1 -0
  200. package/dist/cli/commands/prime/routeOutput.js +50 -0
  201. package/dist/cli/commands/prime/routeOutput.js.map +1 -0
  202. package/dist/cli/commands/prime/types.js +2 -0
  203. package/dist/cli/commands/prime/types.js.map +1 -0
  204. package/dist/cli/commands/prime/v1Migration.js +39 -0
  205. package/dist/cli/commands/prime/v1Migration.js.map +1 -0
  206. package/dist/cli/commands/prime.js +11 -554
  207. package/dist/cli/commands/prime.js.map +1 -1
  208. package/dist/cli/commands/query.js +4 -1
  209. package/dist/cli/commands/query.js.map +1 -1
  210. package/dist/cli/commands/report.js +17 -9
  211. package/dist/cli/commands/report.js.map +1 -1
  212. package/dist/cli/commands/schema.js +23 -18
  213. package/dist/cli/commands/schema.js.map +1 -1
  214. package/dist/cli/commands/state/decisions.js +11 -5
  215. package/dist/cli/commands/state/decisions.js.map +1 -1
  216. package/dist/cli/commands/state/docs.js +8 -4
  217. package/dist/cli/commands/state/docs.js.map +1 -1
  218. package/dist/cli/commands/state/experiments.js +1 -0
  219. package/dist/cli/commands/state/experiments.js.map +1 -1
  220. package/dist/cli/commands/state/health.js +3 -1
  221. package/dist/cli/commands/state/health.js.map +1 -1
  222. package/dist/cli/commands/state/objective.js +1 -0
  223. package/dist/cli/commands/state/objective.js.map +1 -1
  224. package/dist/cli/commands/state/plan.js +2 -1
  225. package/dist/cli/commands/state/plan.js.map +1 -1
  226. package/dist/cli/commands/state/progress.js +1 -1
  227. package/dist/cli/commands/state/shared.js.map +1 -1
  228. package/dist/cli/commands/state/todo.js +1 -1
  229. package/dist/cli/commands/state/todo.js.map +1 -1
  230. package/dist/cli/commands/validate.js +21 -85
  231. package/dist/cli/commands/validate.js.map +1 -1
  232. package/dist/cli/commands/verify.js +1 -1
  233. package/dist/cli/commands/verify.js.map +1 -1
  234. package/dist/cli/contracts/bundleStatus.js +2 -0
  235. package/dist/cli/contracts/bundleStatus.js.map +1 -0
  236. package/dist/cli/contracts/orientationState.js +2 -0
  237. package/dist/cli/contracts/orientationState.js.map +1 -0
  238. package/dist/cli/dispatch/argvParser.js +33 -0
  239. package/dist/cli/dispatch/argvParser.js.map +1 -0
  240. package/dist/cli/dispatch/check.js +19 -19
  241. package/dist/cli/dispatch/check.js.map +1 -1
  242. package/dist/cli/dispatch/commands.js +27 -0
  243. package/dist/cli/dispatch/commands.js.map +1 -0
  244. package/dist/cli/dispatch/index.js +6 -1
  245. package/dist/cli/dispatch/index.js.map +1 -1
  246. package/dist/cli/dispatch/lifecycle.js +160 -55
  247. package/dist/cli/dispatch/lifecycle.js.map +1 -1
  248. package/dist/cli/dispatch/prime.js +31 -27
  249. package/dist/cli/dispatch/prime.js.map +1 -1
  250. package/dist/cli/dispatch/state.js +11 -16
  251. package/dist/cli/dispatch/state.js.map +1 -1
  252. package/dist/cli/help.js +41 -6
  253. package/dist/cli/help.js.map +1 -1
  254. package/dist/cli/orientation/attention.js +61 -0
  255. package/dist/cli/orientation/attention.js.map +1 -0
  256. package/dist/cli/orientation/corpusCoverage.js +71 -0
  257. package/dist/cli/orientation/corpusCoverage.js.map +1 -0
  258. package/dist/cli/orientation.js +128 -77
  259. package/dist/cli/orientation.js.map +1 -1
  260. package/dist/cli/prime-blob.js +1 -1
  261. package/dist/cli/startupCompletenessContract.js +56 -0
  262. package/dist/cli/startupCompletenessContract.js.map +1 -0
  263. package/dist/cli/stateQuery.js +9 -2
  264. package/dist/cli/stateQuery.js.map +1 -1
  265. package/dist/cli/todoSeverity.js +19 -0
  266. package/dist/cli/todoSeverity.js.map +1 -0
  267. package/dist/core/envPaths.js +21 -0
  268. package/dist/core/envPaths.js.map +1 -0
  269. package/dist/core/jsonValue.js +6 -0
  270. package/dist/core/jsonValue.js.map +1 -0
  271. package/dist/core/pyjson.js +67 -2
  272. package/dist/core/pyjson.js.map +1 -1
  273. package/dist/eval/evalSkills.js +17 -12
  274. package/dist/eval/evalSkills.js.map +1 -1
  275. package/dist/eval/semanticEval.js +43 -19
  276. package/dist/eval/semanticEval.js.map +1 -1
  277. package/dist/eval/semanticFixtures.js +16 -4
  278. package/dist/eval/semanticFixtures.js.map +1 -1
  279. package/dist/hooks/compaction/apply.js +31 -6
  280. package/dist/hooks/compaction/apply.js.map +1 -1
  281. package/dist/hooks/compaction/dryRun.js +5 -3
  282. package/dist/hooks/compaction/dryRun.js.map +1 -1
  283. package/dist/hooks/compaction/index.js +2 -2
  284. package/dist/hooks/compaction/index.js.map +1 -1
  285. package/dist/hooks/compaction/parse.js +132 -3
  286. package/dist/hooks/compaction/parse.js.map +1 -1
  287. package/dist/hooks/compaction/retention.js +3 -1
  288. package/dist/hooks/compaction/retention.js.map +1 -1
  289. package/dist/hooks/compaction/status.js +7 -9
  290. package/dist/hooks/compaction/status.js.map +1 -1
  291. package/dist/hooks/compaction/todoResolved.js +137 -0
  292. package/dist/hooks/compaction/todoResolved.js.map +1 -0
  293. package/dist/hooks/cursorSessionStart.js +10 -2
  294. package/dist/hooks/cursorSessionStart.js.map +1 -1
  295. package/dist/hooks/sessionStart.js +14 -7
  296. package/dist/hooks/sessionStart.js.map +1 -1
  297. package/dist/hooks/sessionStop.js +3 -0
  298. package/dist/hooks/sessionStop.js.map +1 -1
  299. package/dist/hooks/todoLayout.js +177 -0
  300. package/dist/hooks/todoLayout.js.map +1 -0
  301. package/dist/hooks/validateArtifact/index.js +3 -1
  302. package/dist/hooks/validateArtifact/index.js.map +1 -1
  303. package/dist/hooks/validateArtifact/markdown.js +57 -6
  304. package/dist/hooks/validateArtifact/markdown.js.map +1 -1
  305. package/dist/hooks/validateArtifact/runtime.js +6 -3
  306. package/dist/hooks/validateArtifact/runtime.js.map +1 -1
  307. package/dist/hooks/validateArtifact/schema.js +15 -11
  308. package/dist/hooks/validateArtifact/schema.js.map +1 -1
  309. package/dist/hooks/validateArtifact/traversal.js +1 -0
  310. package/dist/hooks/validateArtifact/traversal.js.map +1 -1
  311. package/dist/hooks/validateArtifact/violations.js +2 -2
  312. package/dist/hooks/validateArtifact/violations.js.map +1 -1
  313. package/dist/migrate/v2HandoffManifest.js +119 -5
  314. package/dist/migrate/v2HandoffManifest.js.map +1 -1
  315. package/dist/registries/artifactRegistry.js +23 -9
  316. package/dist/registries/artifactRegistry.js.map +1 -1
  317. package/dist/registries/capabilityContract.js +144 -1
  318. package/dist/registries/capabilityContract.js.map +1 -1
  319. package/dist/registries/evaluatorHandoffContract.js +2 -2
  320. package/dist/registries/evaluatorHandoffContract.js.map +1 -1
  321. package/dist/registries/packageRegistry.js +4 -3
  322. package/dist/registries/packageRegistry.js.map +1 -1
  323. package/dist/registries/runtimeAdapterRegistry.js +5 -4
  324. package/dist/registries/runtimeAdapterRegistry.js.map +1 -1
  325. package/dist/registries/triggerLoader.js +211 -0
  326. package/dist/registries/triggerLoader.js.map +1 -0
  327. package/dist/release/releaseMetadata.js +1 -1
  328. package/dist/release/releaseMetadata.js.map +1 -1
  329. package/dist/routing/index.js +2 -0
  330. package/dist/routing/index.js.map +1 -0
  331. package/dist/routing/routeEngine.js +189 -0
  332. package/dist/routing/routeEngine.js.map +1 -0
  333. package/dist/setup/codex/configToml.js +10 -15
  334. package/dist/setup/codex/configToml.js.map +1 -1
  335. package/dist/setup/codex/constants.js +12 -12
  336. package/dist/setup/codex/constants.js.map +1 -1
  337. package/dist/setup/cursor.js +6 -4
  338. package/dist/setup/cursor.js.map +1 -1
  339. package/dist/setup/cursorSurfaces.js +67 -0
  340. package/dist/setup/cursorSurfaces.js.map +1 -0
  341. package/dist/setup/doctor/core.js +6 -6
  342. package/dist/setup/doctor/core.js.map +1 -1
  343. package/dist/setup/doctor/diagnostics.js +16 -23
  344. package/dist/setup/doctor/diagnostics.js.map +1 -1
  345. package/dist/setup/doctor/opencode.js +32 -0
  346. package/dist/setup/doctor/opencode.js.map +1 -1
  347. package/dist/setup/doctor/report.js +27 -76
  348. package/dist/setup/doctor/report.js.map +1 -1
  349. package/dist/setup/smokeChecks.js +10 -10
  350. package/dist/setup/smokeChecks.js.map +1 -1
  351. package/dist/state/installRoot.js +49 -18
  352. package/dist/state/installRoot.js.map +1 -1
  353. package/dist/state/startupAnalysis/benchmark.js +22 -18
  354. package/dist/state/startupAnalysis/benchmark.js.map +1 -1
  355. package/dist/state/startupAnalysis/contract.js +5 -1
  356. package/dist/state/startupAnalysis/contract.js.map +1 -1
  357. package/dist/state/startupAnalysis/helpers.js +26 -71
  358. package/dist/state/startupAnalysis/helpers.js.map +1 -1
  359. package/dist/state/startupAnalysis/index.js.map +1 -1
  360. package/dist/state/startupAnalysis/metrics.js +25 -18
  361. package/dist/state/startupAnalysis/metrics.js.map +1 -1
  362. package/dist/state/startupAnalysis/records.js +13 -9
  363. package/dist/state/startupAnalysis/records.js.map +1 -1
  364. package/dist/state/startupAnalysis/report.js +26 -37
  365. package/dist/state/startupAnalysis/report.js.map +1 -1
  366. package/dist/state/startupAnalysis/threshold.js +6 -6
  367. package/dist/state/startupAnalysis/threshold.js.map +1 -1
  368. package/dist/upgrade/appContentRefresh.js +342 -0
  369. package/dist/upgrade/appContentRefresh.js.map +1 -0
  370. package/dist/upgrade/appModel.js +8 -6
  371. package/dist/upgrade/appModel.js.map +1 -1
  372. package/dist/upgrade/bundleEvidence.js +34 -0
  373. package/dist/upgrade/bundleEvidence.js.map +1 -0
  374. package/dist/upgrade/channels.js +11 -4
  375. package/dist/upgrade/channels.js.map +1 -1
  376. package/dist/upgrade/cliProbe.js +22 -0
  377. package/dist/upgrade/cliProbe.js.map +1 -0
  378. package/dist/upgrade/coexistenceProbe.js +29 -5
  379. package/dist/upgrade/coexistenceProbe.js.map +1 -1
  380. package/dist/upgrade/compatibility.js +13 -4
  381. package/dist/upgrade/compatibility.js.map +1 -1
  382. package/dist/upgrade/doctor.js +130 -187
  383. package/dist/upgrade/doctor.js.map +1 -1
  384. package/dist/upgrade/doctorClassifier.js +177 -0
  385. package/dist/upgrade/doctorClassifier.js.map +1 -0
  386. package/dist/upgrade/installedHooksRetirement.js +190 -0
  387. package/dist/upgrade/installedHooksRetirement.js.map +1 -0
  388. package/dist/upgrade/legacyAgentCleanup.js +116 -0
  389. package/dist/upgrade/legacyAgentCleanup.js.map +1 -0
  390. package/dist/upgrade/migrateArtifactsV2ToV3.js +57 -31
  391. package/dist/upgrade/migrateArtifactsV2ToV3.js.map +1 -1
  392. package/dist/upgrade/nextMajorDoctor.js +29 -9
  393. package/dist/upgrade/nextMajorDoctor.js.map +1 -1
  394. package/dist/upgrade/npxPlatformStatus.js +23 -0
  395. package/dist/upgrade/npxPlatformStatus.js.map +1 -0
  396. package/dist/upgrade/projectIntegration.js +69 -75
  397. package/dist/upgrade/projectIntegration.js.map +1 -1
  398. package/dist/upgrade/projectIntegrationDecision.js +93 -0
  399. package/dist/upgrade/projectIntegrationDecision.js.map +1 -0
  400. package/dist/upgrade/runtimeMigration.js +156 -66
  401. package/dist/upgrade/runtimeMigration.js.map +1 -1
  402. package/dist/upgrade/versionResolution.js +2 -2
  403. package/dist/upgrade/versionResolution.js.map +1 -1
  404. package/dist/validate/appHomeContract.js +1 -1
  405. package/dist/validate/appHomeContract.js.map +1 -1
  406. package/dist/validate/capability.js +124 -11
  407. package/dist/validate/capability.js.map +1 -1
  408. package/dist/validate/crossCapability.js +1 -1
  409. package/dist/validate/crossCapability.js.map +1 -1
  410. package/dist/validate/lifecycleAdapters/legacyPythonParity.js +93 -0
  411. package/dist/validate/lifecycleAdapters/legacyPythonParity.js.map +1 -0
  412. package/dist/validate/lifecycleAdapters/nodeFormChecks.js +488 -0
  413. package/dist/validate/lifecycleAdapters/nodeFormChecks.js.map +1 -0
  414. package/dist/validate/lifecycleAdapters/shared.js +198 -0
  415. package/dist/validate/lifecycleAdapters/shared.js.map +1 -0
  416. package/dist/validate/lifecycleAdapters.js +13 -723
  417. package/dist/validate/lifecycleAdapters.js.map +1 -1
  418. package/dist/validate/vocabularyAuthority.js +10 -5
  419. package/dist/validate/vocabularyAuthority.js.map +1 -1
  420. package/package.json +26 -23
  421. package/bundle/skills/agentera/agents/dokumentera.toml +0 -6
  422. package/bundle/skills/agentera/agents/hej.toml +0 -6
  423. package/bundle/skills/agentera/agents/inspektera.toml +0 -6
  424. package/bundle/skills/agentera/agents/inspirera.toml +0 -6
  425. package/bundle/skills/agentera/agents/orkestrera.toml +0 -6
  426. package/bundle/skills/agentera/agents/profilera.toml +0 -6
  427. package/bundle/skills/agentera/agents/realisera.toml +0 -6
  428. package/bundle/skills/agentera/agents/visionera.toml +0 -6
  429. package/bundle/skills/agentera/agents/visualisera.toml +0 -6
  430. /package/bundle/skills/agentera/capabilities/{inspektera → audit}/schemas/exit.yaml +0 -0
  431. /package/bundle/skills/agentera/capabilities/{realisera → build}/schemas/exit.yaml +0 -0
  432. /package/bundle/skills/agentera/capabilities/{visualisera → design}/schemas/exit.yaml +0 -0
  433. /package/bundle/skills/agentera/capabilities/{resonera → discuss}/schemas/exit.yaml +0 -0
  434. /package/bundle/skills/agentera/capabilities/{dokumentera → document}/schemas/exit.yaml +0 -0
  435. /package/bundle/skills/agentera/capabilities/{optimera → optimize}/schemas/exit.yaml +0 -0
  436. /package/bundle/skills/agentera/capabilities/{orkestrera → orchestrate}/schemas/exit.yaml +0 -0
  437. /package/bundle/skills/agentera/capabilities/{inspirera → research}/schemas/exit.yaml +0 -0
  438. /package/bundle/skills/agentera/capabilities/{hej → status}/schemas/exit.yaml +0 -0
  439. /package/bundle/skills/agentera/capabilities/{visionera → vision}/schemas/exit.yaml +0 -0
@@ -3,11 +3,13 @@ import { isFile, pathExists, resolvePath } from "../core/paths.js";
3
3
  import { loadYamlMappingFile } from "../core/yaml.js";
4
4
  import { NPX_BUNDLE_SENTINEL } from "../core/sourceRoot.js";
5
5
  import { BUNDLE_MARKER, defaultAppHome } from "../state/installRoot.js";
6
+ import { hasBundleRootEvidence } from "./bundleEvidence.js";
6
7
  /**
7
8
  * v2/v3 coexistence doctor probe (authority: references/cli/coexistence-probe.yaml).
8
9
  */
9
10
  export const COEXISTENCE_PROBE_AUTHORITY = "references/cli/coexistence-probe.yaml";
10
11
  export const COEXISTENCE_SECTION_HEADER = "Coexistence";
12
+ export const COEXISTENCE_NAMING_DIVERGENCE_LABEL = "naming divergence";
11
13
  function authorityPath(sourceRoot) {
12
14
  const candidate = path.join(sourceRoot, COEXISTENCE_PROBE_AUTHORITY);
13
15
  if (pathExists(candidate)) {
@@ -16,11 +18,7 @@ function authorityPath(sourceRoot) {
16
18
  return path.join(process.cwd(), COEXISTENCE_PROBE_AUTHORITY);
17
19
  }
18
20
  export function loadCoexistenceProbeAuthority(sourceRoot) {
19
- return loadYamlMappingFile(authorityPath(sourceRoot));
20
- }
21
- function hasBundleRootEvidence(root) {
22
- return (isFile(path.join(root, "scripts", "agentera")) &&
23
- isFile(path.join(root, "skills", "agentera", "SKILL.md")));
21
+ return loadYamlMappingFile(authorityPath(sourceRoot)); // cast: YAML parse IO boundary
24
22
  }
25
23
  /** True when the platform default app home holds a v2 Python-managed install. */
26
24
  export function isV2ManagedInstallAtAppHome(appHome) {
@@ -46,6 +44,28 @@ export function detectV2Coexistence(opts) {
46
44
  }
47
45
  return [`v2 managed app home: ${appHome}`];
48
46
  }
47
+ /**
48
+ * Renders the naming-divergence dimension from the coexistence probe contract.
49
+ * Surfaces the v3 English capability IDs against the v2 stable Swedish -era IDs
50
+ * so a doctor reader can see the vocabulary split between the two CLI lines.
51
+ * Returns null when the contract omits or malforms the dimension.
52
+ */
53
+ export function formatNamingDivergenceLines(raw) {
54
+ if (!raw || typeof raw !== "object" || Array.isArray(raw)) {
55
+ return null;
56
+ }
57
+ const block = raw;
58
+ const v3 = block.v3_canonical;
59
+ const v2 = block.v2_stable;
60
+ if (!Array.isArray(v3) || v3.length === 0 || !Array.isArray(v2) || v2.length === 0) {
61
+ return null;
62
+ }
63
+ return [
64
+ ` ${COEXISTENCE_NAMING_DIVERGENCE_LABEL}:`,
65
+ ` v3: ${v3.map(String).join(", ")}`,
66
+ ` v2: ${v2.map(String).join(", ")}`,
67
+ ];
68
+ }
49
69
  export function formatCoexistenceDoctorLines(contract) {
50
70
  const section = String(contract.section_header ?? COEXISTENCE_SECTION_HEADER);
51
71
  const warning = contract.warning;
@@ -62,6 +82,10 @@ export function formatCoexistenceDoctorLines(contract) {
62
82
  for (const item of resolutions) {
63
83
  lines.push(` - ${String(item)}`);
64
84
  }
85
+ const divergence = formatNamingDivergenceLines(contract.naming_divergence);
86
+ if (divergence) {
87
+ lines.push(...divergence);
88
+ }
65
89
  return lines;
66
90
  }
67
91
  export function resolveCoexistenceDoctorLines(opts) {
@@ -1 +1 @@
1
- {"version":3,"file":"coexistenceProbe.js","sourceRoot":"","sources":["../../src/upgrade/coexistenceProbe.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAExE;;GAEG;AAEH,MAAM,CAAC,MAAM,2BAA2B,GAAG,uCAAuC,CAAC;AACnF,MAAM,CAAC,MAAM,0BAA0B,GAAG,aAAa,CAAC;AAKxD,SAAS,aAAa,CAAC,UAAkB;IACvC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,2BAA2B,CAAC,CAAC;IACrE,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,2BAA2B,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,UAAkB;IAC9D,OAAO,mBAAmB,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAY;IACzC,OAAO,CACL,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QAC9C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAC1D,CAAC;AACJ,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,2BAA2B,CAAC,OAAe;IACzD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACnD,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAClC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC;QAC7D,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC,CAAC;IACxE,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;IAClF,OAAO,CAAC,YAAY,IAAI,cAAc,CAAC,IAAI,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;AACrF,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAiC;IACnE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACpC,MAAM,OAAO,GAAG,WAAW,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5D,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1C,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,CAAC,wBAAwB,OAAO,EAAE,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,QAAc;IACzD,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,cAAc,IAAI,0BAA0B,CAAC,CAAC;IAC9E,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;IACjC,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACtE,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,CAAC;IACD,MAAM,KAAK,GAAG,OAAe,CAAC;IAC9B,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACrD,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;IACtC,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzE,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;IAC3F,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAClC,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,IAI7C;IACC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACzE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,QAAQ,GAAG,6BAA6B,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAChE,OAAO,4BAA4B,CAAC,QAAQ,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,IAAY,EAAE,YAA6B;IACzF,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;AACjD,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,0BAA0B,KAAU,CAAC"}
1
+ {"version":3,"file":"coexistenceProbe.js","sourceRoot":"","sources":["../../src/upgrade/coexistenceProbe.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAG5D;;GAEG;AAEH,MAAM,CAAC,MAAM,2BAA2B,GAAG,uCAAuC,CAAC;AACnF,MAAM,CAAC,MAAM,0BAA0B,GAAG,aAAa,CAAC;AACxD,MAAM,CAAC,MAAM,mCAAmC,GAAG,mBAAmB,CAAC;AAIvE,SAAS,aAAa,CAAC,UAAkB;IACvC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,2BAA2B,CAAC,CAAC;IACrE,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,2BAA2B,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,UAAkB;IAC9D,OAAO,mBAAmB,CAAC,aAAa,CAAC,UAAU,CAAC,CAAe,CAAC,CAAC,+BAA+B;AACtG,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,2BAA2B,CAAC,OAAe;IACzD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACnD,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAClC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC;QAC7D,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC,CAAC;IACxE,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;IAClF,OAAO,CAAC,YAAY,IAAI,cAAc,CAAC,IAAI,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;AACrF,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAiC;IACnE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACpC,MAAM,OAAO,GAAG,WAAW,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5D,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1C,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,CAAC,wBAAwB,OAAO,EAAE,CAAC,CAAC;AAC7C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,2BAA2B,CAAC,GAAY;IACtD,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1D,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GAAG,GAAiB,CAAC;IAChC,MAAM,EAAE,GAAG,KAAK,CAAC,YAAY,CAAC;IAC9B,MAAM,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC;IAC3B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO;QACL,KAAK,mCAAmC,GAAG;QAC3C,WAAW,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QACtC,WAAW,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;KACvC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,QAAoB;IAC/D,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,cAAc,IAAI,0BAA0B,CAAC,CAAC;IAC9E,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;IACjC,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACtE,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,CAAC;IACD,MAAM,KAAK,GAAG,OAAqB,CAAC;IACpC,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACrD,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;IACtC,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzE,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;IAC3F,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAClC,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC;IACD,MAAM,UAAU,GAAG,2BAA2B,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IAC3E,IAAI,UAAU,EAAE,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,IAI7C;IACC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACzE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,QAAQ,GAAG,6BAA6B,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAChE,OAAO,4BAA4B,CAAC,QAAQ,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,IAAY,EAAE,YAA6B;IACzF,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;AACjD,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,0BAA0B,KAAU,CAAC"}
@@ -6,6 +6,7 @@ import { BUNDLE_MARKER } from "../state/installRoot.js";
6
6
  import { doctorRoots, loadSuiteVersion } from "./appModel.js";
7
7
  import { resolveUpdateChannel } from "./channels.js";
8
8
  import { classifyUpgradeOutcome, shouldIncludeCrossMajorPlanItems, } from "./versionResolution.js";
9
+ import { hasBundleRootEvidence } from "./bundleEvidence.js";
9
10
  export { shouldIncludeCrossMajorPlanItems } from "./versionResolution.js";
10
11
  /**
11
12
  * v2/v3 install layout detection and cross-major upgrade guard rails.
@@ -18,15 +19,23 @@ export const STATUS_READY_TO_APPLY = "ready_to_apply";
18
19
  export const STATUS_APPLIED = "applied";
19
20
  export const UPGRADE_PREVIEW_SCHEMA = "agentera.upgrade.v2";
20
21
  export const STATUS_CONCEPT_MAJOR_BOUNDARY = "major_boundary_crossing";
22
+ export function projectInstallTrack(kind) {
23
+ switch (kind) {
24
+ case "v2_managed_app_home":
25
+ return "v2";
26
+ case "v3_self_contained_npm":
27
+ return "v3";
28
+ case "source_checkout":
29
+ return "source";
30
+ case "unknown_foreign":
31
+ return "unknown";
32
+ }
33
+ }
21
34
  const CROSS_MAJOR_ITEMS = [
22
35
  { phase: "artifacts", verb: "migrate", name: "v2_to_v3_artifacts" },
23
36
  { phase: "runtime", verb: "migrate", name: "v2_to_v3_runtime_rewire" },
24
37
  { phase: "cleanup", verb: "migrate", name: "v2_to_v3_app_home_cleanup" },
25
38
  ];
26
- function hasBundleRootEvidence(root) {
27
- return (isFile(path.join(root, "scripts", "agentera")) &&
28
- isFile(path.join(root, "skills", "agentera", "SKILL.md")));
29
- }
30
39
  function isSourceCheckoutRoot(sourceRoot) {
31
40
  return (pathExists(path.join(sourceRoot, ".git")) &&
32
41
  isFile(path.join(sourceRoot, "skills", "agentera", "SKILL.md")) &&
@@ -1 +1 @@
1
- {"version":3,"file":"compatibility.js","sourceRoot":"","sources":["../../src/upgrade/compatibility.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compatibility.js","sourceRoot":"","sources":["../../src/upgrade/compatibility.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,80 @@
1
1
  import fs from "node:fs";
2
2
  import path from "node:path";
3
- import { expanduser, isFile, pathExists, resolvePath } from "../core/paths.js";
3
+ import { expanduser, pathExists, resolvePath } from "../core/paths.js";
4
4
  import { SOURCE_LABELS, classifyResolvedRoot } from "../state/installRoot.js";
5
5
  import { doctorRoots, loadSuiteVersion } from "./appModel.js";
6
6
  import { isNpxBundleRoot } from "../core/sourceRoot.js";
7
- import { resolveUpdateChannel } from "./channels.js";
8
- import { classifyInstall, crossMajorBoundaryApplies } from "./compatibility.js";
7
+ import { resolveInvokedUpdateChannel } from "./channels.js";
8
+ import { classifyInstall, cliDistributionMajor, crossMajorBoundaryApplies, projectInstallTrack, } from "./compatibility.js";
9
9
  import { isStableSuccessorAnnounced } from "./nextMajorDoctor.js";
10
10
  import { buildUpgradeCommands, commandText } from "./upgradeCommands.js";
11
11
  import { parseSemverMajor } from "./versionResolution.js";
12
+ import { classifyInstallRootStatus } from "./doctorClassifier.js";
13
+ import { hasBundleRootEvidence } from "./bundleEvidence.js";
14
+ function inferInvokingCliRuntime(sourceRoot, env) {
15
+ const explicit = (env.AGENTERA_CLI_RUNTIME ?? "").trim().toLowerCase();
16
+ if (explicit === "js" || explicit === "node") {
17
+ return "js";
18
+ }
19
+ if (explicit === "python" || explicit === "uv") {
20
+ return "python";
21
+ }
22
+ const argv0 = process.argv0 ?? "";
23
+ if (/\bnode\b/i.test(argv0)) {
24
+ return "js";
25
+ }
26
+ if (/\bpython\d*\b/i.test(argv0) || /\buv\b/i.test(argv0)) {
27
+ return "python";
28
+ }
29
+ if (cliDistributionMajor(sourceRoot) >= 3) {
30
+ return "js";
31
+ }
32
+ return "unknown";
33
+ }
34
+ function buildInvokingCliRetryCommand(sourceRoot, channel, env, expectedCommand) {
35
+ const runtime = inferInvokingCliRuntime(sourceRoot, env);
36
+ if (runtime !== "js") {
37
+ return null;
38
+ }
39
+ if (isNpxBundleRoot(sourceRoot)) {
40
+ return commandText(["npx", "-y", "agentera", expectedCommand]);
41
+ }
42
+ const packageSpec = channel.channel === "development" ? "agentera@next" : "agentera@latest";
43
+ return commandText(["npx", "-y", packageSpec, expectedCommand]);
44
+ }
45
+ function crossMajorPendingApprovalPhrase() {
46
+ return "no upgrade offered: v3 successor line is not announced yet";
47
+ }
48
+ /**
49
+ * Doctor status build. Faithful TS port of build_doctor_status /
50
+ * public_doctor_status from scripts/agentera_upgrade.py.
51
+ *
52
+ * The classification -> root_status/signals/status logic matches Python exactly.
53
+ * The emitted command strings use the TS-CLI invocation form (npx/node) rather
54
+ * than the Python uvx/uv form; the final wording is settled in Phase 8 packaging.
55
+ */
12
56
  export const APP_UP_TO_DATE = "up_to_date";
13
57
  export const APP_OUTDATED = "outdated";
14
58
  export const APP_REPAIR_NEEDED = "repair_needed";
15
59
  export const APP_MIGRATION_NEEDED = "migration_needed";
16
60
  export const APP_MANUAL_REVIEW_NEEDED = "manual_review_needed";
17
61
  export const EXPECTED_STATE_COMMANDS = ["prime"];
62
+ /** Operation noun for doctor/prime copy derived from aggregate lifecycle status. */
63
+ export function appLifecycleActionNoun(status) {
64
+ if (status === APP_OUTDATED) {
65
+ return "update";
66
+ }
67
+ if (status === APP_MIGRATION_NEEDED) {
68
+ return "migration";
69
+ }
70
+ return "repair";
71
+ }
72
+ export function appLifecycleApprovalPhrase(status, installRoot) {
73
+ if (status === APP_UP_TO_DATE) {
74
+ return "no action needed: Agentera app files are up to date";
75
+ }
76
+ return `approve app files ${appLifecycleActionNoun(status)} for ${installRoot}`;
77
+ }
18
78
  export const BUNDLE_MARKER = ".agentera-bundle.json";
19
79
  /** Agentera user state preserved during v2→v3 managed app-home cleanup. */
20
80
  export const AGENTERA_USER_STATE_NAMES = new Set([
@@ -39,10 +99,6 @@ export const ROOT_USER_STATE_DIR_NAMES = new Set([
39
99
  "intermediate",
40
100
  "sessions",
41
101
  ]);
42
- function hasBundleRootEvidence(root) {
43
- return (isFile(path.join(root, "scripts", "agentera")) &&
44
- isFile(path.join(root, "skills", "agentera", "SKILL.md")));
45
- }
46
102
  function legacyDefaultAppHome(home) {
47
103
  return resolvePath(path.join(expanduser(home), ".agents", "agentera"));
48
104
  }
@@ -62,7 +118,9 @@ function agenteraUserStateDirIsRecognized(p) {
62
118
  if (AGENTERA_USER_STATE_NAMES.has(entry) && st.isFile()) {
63
119
  continue;
64
120
  }
65
- if (entry === "optimera" && st.isDirectory()) {
121
+ if ((entry === "optimize" || entry === "optimera") && st.isDirectory()) {
122
+ // "optimera" is the v2 stable legacy objective dir name; keep it
123
+ // recognized so v2->v3 migration preserves legacy objective state.
66
124
  continue;
67
125
  }
68
126
  return false;
@@ -107,34 +165,12 @@ function sourceKey(rootSource) {
107
165
  }
108
166
  return "explicit";
109
167
  }
110
- function recoverableStaleDefaultSignal(appHome, roots) {
111
- return {
112
- status: APP_REPAIR_NEEDED,
113
- kind: "recoverable_stale_default",
114
- message: "Agentera found an old app directory and can repair it without asking you to edit shell settings",
115
- deprecatedDefaultAppHome: appHome,
116
- managedAppRoot: roots.managedAppRoot,
117
- };
118
- }
119
- function userDataOnlySignal(appHome, roots) {
120
- return {
121
- status: APP_REPAIR_NEEDED,
122
- kind: "user_data_only_app_home",
123
- message: "This Agentera directory only has your Agentera data, so Agentera can safely add fresh app files under app/",
124
- appHome,
125
- managedAppRoot: roots.managedAppRoot,
126
- };
127
- }
128
- function blockedRootRecoveryMessage(_rootSource) {
129
- return "choose a different Agentera directory, or use --force only if you checked this directory and want Agentera to replace files there";
130
- }
131
168
  export function buildDoctorStatus(installRoot, opts) {
132
169
  const rootSource = opts.rootSource;
133
170
  const sourceRoot = opts.sourceRoot;
134
171
  const home = opts.home;
135
172
  const project = opts.project;
136
173
  const expectedCommands = opts.expectedCommands ?? EXPECTED_STATE_COMMANDS;
137
- const probeCli = opts.probeCli ?? true;
138
174
  // Fully self-contained npx bundle: the bundle IS the app and is always current
139
175
  // (its version is the package version), so there is no install/upgrade step.
140
176
  // Report it as the authoritative, up-to-date app home. (Sentinel-gated; never
@@ -149,7 +185,7 @@ export function buildDoctorStatus(installRoot, opts) {
149
185
  appHomeSource: "bundled app",
150
186
  managedAppRoot: sourceRoot,
151
187
  userDataRoot: sourceRoot,
152
- activeBundleRoot: sourceRoot,
188
+ activeAppRoot: sourceRoot,
153
189
  authoritativeRoot: sourceRoot,
154
190
  skillRoot: path.join(sourceRoot, "skills", "agentera"),
155
191
  runtimeRoot: sourceRoot,
@@ -159,6 +195,7 @@ export function buildDoctorStatus(installRoot, opts) {
159
195
  home,
160
196
  project,
161
197
  rootStatus: "bundled",
198
+ installKind: "v3_self_contained_npm",
162
199
  markerVersion: bundleExpected,
163
200
  signals: [],
164
201
  dryRunCommand: null,
@@ -175,134 +212,29 @@ export function buildDoctorStatus(installRoot, opts) {
175
212
  expectedVersion: expected,
176
213
  });
177
214
  const markerVersion = classification.current_version;
178
- const signals = [];
179
- let blocked = false;
180
215
  const recoverableStaleDefault = isRecoverableStaleDefaultAppHome(installRoot, rootSource, home);
181
216
  const legacyBundleRoot = activeBundleRoot === installRoot &&
182
217
  hasBundleRootEvidence(installRoot) &&
183
218
  !pathExists(path.join(installRoot, ".git"));
184
- let rootStatus;
185
- if (classification.kind === "missing_default") {
186
- rootStatus = "missing";
187
- signals.push({
188
- status: APP_REPAIR_NEEDED,
189
- kind: "missing_bundle",
190
- message: "Agentera is not installed in the normal directory yet",
191
- });
192
- }
193
- else if (classification.kind === "missing_explicit_or_environment" && recoverableStaleDefault) {
194
- rootStatus = "missing";
195
- signals.push(recoverableStaleDefaultSignal(installRoot, roots));
196
- }
197
- else if (classification.kind === "missing_explicit_or_environment") {
198
- rootStatus = "missing";
199
- blocked = true;
200
- signals.push({
201
- status: APP_MANUAL_REVIEW_NEEDED,
202
- kind: "invalid_install_root",
203
- message: "Agentera was told to use a directory that does not exist. " +
204
- "Choose an existing Agentera directory, or install into the normal Agentera directory.",
205
- });
206
- }
207
- else if (classification.kind === "file_valued_root") {
208
- rootStatus = "invalid";
209
- blocked = true;
210
- signals.push({
211
- status: APP_MANUAL_REVIEW_NEEDED,
212
- kind: "invalid_install_root",
213
- message: `Agentera was told to use a file instead of a directory; ${blockedRootRecoveryMessage(rootSource)}`,
214
- });
215
- }
216
- else if ((classification.kind === "invalid_bundle" || classification.kind === "unmanaged_directory") &&
217
- recoverableStaleDefault) {
218
- rootStatus = "stale_default";
219
- signals.push(recoverableStaleDefaultSignal(installRoot, roots));
220
- }
221
- else if (classification.kind === "unmanaged_directory" && appHomeIsUserDataOnly(installRoot)) {
222
- rootStatus = "user_data_only";
223
- signals.push(userDataOnlySignal(installRoot, roots));
224
- }
225
- else if (classification.kind === "unmanaged_directory") {
226
- rootStatus = "unmanaged";
227
- blocked = true;
228
- signals.push({
229
- status: APP_MANUAL_REVIEW_NEEDED,
230
- kind: "unmanaged_install_root",
231
- message: `This directory already has files Agentera does not recognize, so Agentera will not change it automatically; ${blockedRootRecoveryMessage(rootSource)}`,
232
- });
233
- }
234
- else if (classification.kind === "invalid_bundle") {
235
- rootStatus = "invalid";
236
- blocked = true;
237
- signals.push({
238
- status: APP_MANUAL_REVIEW_NEEDED,
239
- kind: "invalid_bundle",
240
- message: `This directory looks like a broken Agentera install; ${blockedRootRecoveryMessage(rootSource)}`,
241
- });
242
- }
243
- else {
244
- rootStatus = "managed";
245
- if (legacyBundleRoot) {
246
- signals.push({
247
- status: APP_MIGRATION_NEEDED,
248
- kind: APP_MIGRATION_NEEDED,
249
- message: "Agentera app files are in the old place and can be moved into app/",
250
- legacyBundleRoot: installRoot,
251
- managedAppRoot: roots.managedAppRoot,
252
- });
253
- }
254
- const reason = classification.diagnostic.evidence.reason;
255
- if (classification.kind === "managed_stale" && reason === "missing_marker") {
256
- if (recoverableStaleDefault) {
257
- signals.push(recoverableStaleDefaultSignal(installRoot, roots));
258
- }
259
- signals.push({
260
- status: APP_REPAIR_NEEDED,
261
- kind: "missing_marker",
262
- message: "Agentera app files need repair",
263
- });
264
- }
265
- else if (classification.kind === "managed_stale" && reason === "version_mismatch") {
266
- if (recoverableStaleDefault) {
267
- signals.push(recoverableStaleDefaultSignal(installRoot, roots));
268
- }
269
- signals.push({
270
- status: APP_OUTDATED,
271
- kind: "version_mismatch",
272
- expected,
273
- actual: markerVersion,
274
- message: "Agentera app files are valid but need an update to the expected version",
275
- });
276
- }
277
- const probe = probeCli
278
- ? (opts.probeRunner ?? defaultProbe)({
279
- bundleRoot: activeBundleRoot,
280
- appHome: installRoot,
281
- project,
282
- expectedCommands,
283
- })
284
- : { ok: true };
285
- if (!probe.ok) {
286
- let kind = "cli_probe_unavailable";
287
- if (probe.returnCode !== null && probe.returnCode !== undefined && probe.returnCode !== 0) {
288
- kind = "cli_probe_failed";
289
- }
290
- else if (probe.missingCommands && probe.missingCommands.length > 0) {
291
- kind = "missing_command";
292
- }
293
- signals.push({
294
- status: APP_REPAIR_NEEDED,
295
- kind,
296
- message: probe.message,
297
- returnCode: probe.returnCode ?? null,
298
- missingCommands: probe.missingCommands ?? [],
299
- stdoutTail: probe.stdoutTail ?? [],
300
- stderrTail: probe.stderrTail ?? [],
301
- });
302
- }
303
- }
219
+ const userDataOnly = classification.kind === "unmanaged_directory" && appHomeIsUserDataOnly(installRoot);
220
+ const classified = classifyInstallRootStatus({
221
+ installRoot,
222
+ rootSource,
223
+ roots,
224
+ classification,
225
+ expected,
226
+ markerVersion,
227
+ recoverableStaleDefault,
228
+ legacyBundleRoot,
229
+ userDataOnly,
230
+ project,
231
+ expectedCommands,
232
+ });
233
+ const rootStatus = classified.rootStatus;
234
+ const signals = classified.signals;
235
+ const blocked = classified.blocked;
304
236
  const env = { ...(opts.env ?? process.env), HOME: home };
305
- const channel = resolveUpdateChannel({
237
+ const channel = resolveInvokedUpdateChannel({
306
238
  channel: opts.channel ?? null,
307
239
  env,
308
240
  home,
@@ -310,18 +242,26 @@ export function buildDoctorStatus(installRoot, opts) {
310
242
  });
311
243
  const install = classifyInstall({ appHome: installRoot, sourceRoot });
312
244
  const crossMajorDetected = crossMajorBoundaryApplies(install, sourceRoot);
313
- const successorAnnounced = isStableSuccessorAnnounced(sourceRoot);
245
+ const successorAnnounced = isStableSuccessorAnnounced(sourceRoot, "stable");
314
246
  const crossMajorBoundary = crossMajorDetected && successorAnnounced;
247
+ let crossMajorPending = false;
315
248
  if (crossMajorDetected && !successorAnnounced) {
316
- for (let i = signals.length - 1; i >= 0; i--) {
317
- const signal = signals[i];
249
+ for (const signal of signals) {
318
250
  if (signal.kind !== "version_mismatch") {
319
251
  continue;
320
252
  }
321
253
  const actualMajor = parseSemverMajor(String(signal.actual ?? markerVersion ?? "")) ?? 0;
322
254
  const expectedMajor = parseSemverMajor(String(signal.expected ?? expected)) ?? 0;
323
255
  if (actualMajor > 0 && actualMajor < 3 && expectedMajor >= 3) {
324
- signals.splice(i, 1);
256
+ crossMajorPending = true;
257
+ signals.push({
258
+ status: APP_MANUAL_REVIEW_NEEDED,
259
+ kind: "cross_major_pending",
260
+ expected: signal.expected,
261
+ actual: signal.actual,
262
+ message: `Agentera app files are on v${actualMajor}.x while the CLI is on v${expectedMajor}.x; the v${expectedMajor} successor line is not announced yet, so no upgrade is offered`,
263
+ });
264
+ break;
325
265
  }
326
266
  }
327
267
  }
@@ -335,11 +275,13 @@ export function buildDoctorStatus(installRoot, opts) {
335
275
  ? APP_MANUAL_REVIEW_NEEDED
336
276
  : signals.some((s) => s.kind === APP_MIGRATION_NEEDED)
337
277
  ? APP_MIGRATION_NEEDED
338
- : signals.some((s) => s.status === APP_REPAIR_NEEDED)
339
- ? APP_REPAIR_NEEDED
340
- : signals.some((s) => s.status === APP_OUTDATED)
341
- ? APP_OUTDATED
342
- : APP_UP_TO_DATE;
278
+ : crossMajorPending
279
+ ? APP_MANUAL_REVIEW_NEEDED
280
+ : signals.some((s) => s.status === APP_REPAIR_NEEDED)
281
+ ? APP_REPAIR_NEEDED
282
+ : signals.some((s) => s.status === APP_OUTDATED)
283
+ ? APP_OUTDATED
284
+ : APP_UP_TO_DATE;
343
285
  return {
344
286
  schemaVersion: "agentera.bundleStatus.v1",
345
287
  status,
@@ -348,7 +290,7 @@ export function buildDoctorStatus(installRoot, opts) {
348
290
  appHomeSource: rootSource,
349
291
  managedAppRoot: roots.managedAppRoot,
350
292
  userDataRoot: installRoot,
351
- activeBundleRoot,
293
+ activeAppRoot: activeBundleRoot,
352
294
  authoritativeRoot: roots.managedAppRoot,
353
295
  skillRoot: roots.skillRoot,
354
296
  runtimeRoot: roots.runtimeRoot,
@@ -358,35 +300,36 @@ export function buildDoctorStatus(installRoot, opts) {
358
300
  home,
359
301
  project,
360
302
  rootStatus,
303
+ installKind: install.kind,
361
304
  markerVersion,
362
305
  signals,
363
- dryRunCommand: blocked || status === APP_UP_TO_DATE ? null : upgradeCommands.dryRunCommand,
364
- applyCommand: blocked || status === APP_UP_TO_DATE ? null : upgradeCommands.applyCommand,
306
+ dryRunCommand: blocked || crossMajorPending || status === APP_UP_TO_DATE
307
+ ? null
308
+ : upgradeCommands.dryRunCommand,
309
+ applyCommand: blocked || crossMajorPending || status === APP_UP_TO_DATE
310
+ ? null
311
+ : upgradeCommands.applyCommand,
365
312
  updateChannel: channel.channel,
313
+ crossMajorBoundaryDetected: crossMajorDetected,
366
314
  crossMajorBoundary,
367
- retryCommand: commandText([
368
- "node",
369
- path.join(activeBundleRoot, "scripts", "agentera"),
370
- expectedCommands[0] ?? "prime",
371
- ]),
372
- approval: `approve app files repair for ${installRoot}`,
315
+ retryCommand: buildInvokingCliRetryCommand(sourceRoot, channel, env, expectedCommands[0] ?? "prime"),
316
+ approval: crossMajorPending
317
+ ? crossMajorPendingApprovalPhrase()
318
+ : appLifecycleApprovalPhrase(status, installRoot),
373
319
  };
374
320
  }
375
- /** Default CLI probe placeholder (wired to the bundled TS CLI in Phase 8). */
376
- const defaultProbe = ({ expectedCommands }) => ({
377
- ok: false,
378
- command: null,
379
- returnCode: null,
380
- stdoutTail: [],
381
- stderrTail: [],
382
- missingCommands: [...expectedCommands],
383
- message: "CLI probe not yet wired to the bundled TS CLI",
384
- });
385
321
  export function publicDoctorStatus(status) {
386
- const pub = JSON.parse(JSON.stringify(status));
387
- delete pub.installRoot;
388
- delete pub.installRootSource;
389
- return pub;
322
+ const { installRoot: _installRoot, installRootSource: _installRootSource, installKind: _installKind, rootStatus: _rootStatus, platformAppHome, cliApp, ...rest } = status;
323
+ const result = { ...rest };
324
+ if (platformAppHome) {
325
+ const { rootStatus: _prs, ...platform } = platformAppHome;
326
+ result.platformAppHome = platform;
327
+ }
328
+ if (cliApp) {
329
+ const { rootStatus: _crs, ...cli } = cliApp;
330
+ result.cliApp = cli;
331
+ }
332
+ return result;
390
333
  }
391
334
  /** Oracle-pinned keys for `agentera doctor --format json` (parity-remaining-families.json). */
392
335
  export const DOCTOR_PARITY_JSON_KEYS = [
@@ -403,7 +346,7 @@ export const DOCTOR_PARITY_JSON_KEYS = [
403
346
  /** Public doctor JSON envelope: command label plus oracle structural keys only. */
404
347
  export function doctorParityJsonEnvelope(status) {
405
348
  const pub = publicDoctorStatus(status);
406
- const out = { command: "doctor" };
349
+ const out = { command: "doctor", install_track: projectInstallTrack(status.installKind) };
407
350
  for (const key of DOCTOR_PARITY_JSON_KEYS) {
408
351
  if (key in pub)
409
352
  out[key] = pub[key];
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/upgrade/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/upgrade/doctor.ts"],"names":[],"mappings":"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"}