agentera 3.0.0-dev.0 → 3.0.0-dev.10

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 (522) hide show
  1. package/README.md +40 -6
  2. package/bundle/.agentera-npx-bundle.json +1 -1
  3. package/bundle/extract-corpus-parity.json +23 -0
  4. package/bundle/references/adapters/cursor.md +10 -9
  5. package/bundle/references/adapters/opencode.md +26 -26
  6. package/bundle/references/adapters/package-registry.yaml +0 -1
  7. package/bundle/references/adapters/package-surface-characterization.md +1 -2
  8. package/bundle/references/adapters/runtime-adapter-characterization.md +1 -1
  9. package/bundle/references/adapters/runtime-adapter-registry.yaml +16 -10
  10. package/bundle/references/adapters/runtime-feature-parity.md +2 -2
  11. package/bundle/references/analysis/benchmark.md +1 -1
  12. package/bundle/references/analysis/startup-measurement-contract.yaml +18 -18
  13. package/bundle/references/artifacts/artifact-registry-interface-model.yaml +4 -3
  14. package/bundle/references/cli/agent-ready-state-contract.yaml +26 -23
  15. package/bundle/references/cli/app-lifecycle-vocabulary.yaml +16 -8
  16. package/bundle/references/cli/audience-namespace-cli-migration.yaml +40 -26
  17. package/bundle/references/cli/bundle-skill-vocabulary.yaml +2 -30
  18. package/bundle/references/cli/capability-instruction-contract.yaml +98 -57
  19. package/bundle/references/cli/capability-instruction-structure.md +144 -0
  20. package/bundle/references/cli/capability-tool-classification.yaml +12 -12
  21. package/bundle/references/cli/coexistence-probe.yaml +13 -0
  22. package/bundle/references/cli/parity-expected-actual-template.md +30 -0
  23. package/bundle/references/cli/routing-execution-vocabulary.yaml +12 -12
  24. package/bundle/references/cli/routing-model.md +94 -0
  25. package/bundle/references/cli/single-name-protocol.yaml +42 -0
  26. package/bundle/references/cli/trigger-schema-enrichment.md +136 -0
  27. package/bundle/references/cli/update-channels.yaml +68 -5
  28. package/bundle/references/cli/upgrade-repair-wording.md +45 -0
  29. package/bundle/references/cli/v3-handoff-manifest.schema.yaml +98 -0
  30. package/bundle/references/cli/vocabulary-index.yaml +20 -15
  31. package/bundle/references/cli/vocabulary.md +346 -326
  32. package/bundle/references/meta/documentation-inventory.md +9 -3
  33. package/bundle/registry.json +14 -14
  34. package/bundle/skills/agentera/.claude-plugin/plugin.json +13 -13
  35. package/bundle/skills/agentera/SKILL.md +99 -413
  36. package/bundle/skills/agentera/agents/audit.toml +6 -0
  37. package/bundle/skills/agentera/agents/build.toml +6 -0
  38. package/bundle/skills/agentera/agents/design.toml +6 -0
  39. package/bundle/skills/agentera/agents/discuss.toml +6 -0
  40. package/bundle/skills/agentera/agents/document.toml +6 -0
  41. package/bundle/skills/agentera/agents/optimize.toml +6 -0
  42. package/bundle/skills/agentera/agents/orchestrate.toml +6 -0
  43. package/bundle/skills/agentera/agents/plan.toml +6 -0
  44. package/bundle/skills/agentera/agents/profile.toml +6 -0
  45. package/bundle/skills/agentera/agents/research.toml +6 -0
  46. package/bundle/skills/agentera/agents/status.toml +6 -0
  47. package/bundle/skills/agentera/agents/vision.toml +6 -0
  48. package/bundle/skills/agentera/capabilities/{inspektera → audit}/schemas/artifacts.yaml +10 -10
  49. package/bundle/skills/agentera/capabilities/{inspektera → audit}/schemas/triggers.yaml +15 -6
  50. package/bundle/skills/agentera/capabilities/{inspektera → audit}/schemas/validation.yaml +9 -9
  51. package/bundle/skills/agentera/capabilities/{realisera → build}/schemas/artifacts.yaml +11 -11
  52. package/bundle/skills/agentera/capabilities/{realisera → build}/schemas/triggers.yaml +13 -3
  53. package/bundle/skills/agentera/capabilities/{realisera → build}/schemas/validation.yaml +7 -7
  54. package/bundle/skills/agentera/capabilities/{visualisera → design}/schemas/artifacts.yaml +6 -6
  55. package/bundle/skills/agentera/capabilities/{visualisera → design}/schemas/triggers.yaml +15 -3
  56. package/bundle/skills/agentera/capabilities/{visualisera → design}/schemas/validation.yaml +5 -5
  57. package/bundle/skills/agentera/capabilities/{resonera → discuss}/schemas/artifacts.yaml +6 -6
  58. package/bundle/skills/agentera/capabilities/{resonera → discuss}/schemas/triggers.yaml +11 -3
  59. package/bundle/skills/agentera/capabilities/{resonera → discuss}/schemas/validation.yaml +4 -4
  60. package/bundle/skills/agentera/capabilities/{dokumentera → document}/schemas/artifacts.yaml +10 -10
  61. package/bundle/skills/agentera/capabilities/{dokumentera → document}/schemas/triggers.yaml +14 -3
  62. package/bundle/skills/agentera/capabilities/{dokumentera → document}/schemas/validation.yaml +8 -8
  63. package/bundle/skills/agentera/capabilities/{optimera → optimize}/schemas/artifacts.yaml +8 -8
  64. package/bundle/skills/agentera/capabilities/{optimera → optimize}/schemas/triggers.yaml +11 -3
  65. package/bundle/skills/agentera/capabilities/{optimera → optimize}/schemas/validation.yaml +7 -7
  66. package/bundle/skills/agentera/capabilities/{orkestrera → orchestrate}/schemas/artifacts.yaml +10 -10
  67. package/bundle/skills/agentera/capabilities/{orkestrera → orchestrate}/schemas/triggers.yaml +16 -3
  68. package/bundle/skills/agentera/capabilities/{orkestrera → orchestrate}/schemas/validation.yaml +36 -23
  69. package/bundle/skills/agentera/capabilities/{planera → plan}/schemas/artifacts.yaml +8 -8
  70. package/bundle/skills/agentera/capabilities/{planera → plan}/schemas/exit.yaml +2 -2
  71. package/bundle/skills/agentera/capabilities/{planera → plan}/schemas/triggers.yaml +15 -3
  72. package/bundle/skills/agentera/capabilities/{planera → plan}/schemas/validation.yaml +3 -3
  73. package/bundle/skills/agentera/capabilities/{profilera → profile}/schemas/artifacts.yaml +2 -2
  74. package/bundle/skills/agentera/capabilities/{profilera → profile}/schemas/exit.yaml +2 -1
  75. package/bundle/skills/agentera/capabilities/{profilera → profile}/schemas/triggers.yaml +7 -3
  76. package/bundle/skills/agentera/capabilities/{profilera → profile}/schemas/validation.yaml +2 -2
  77. package/bundle/skills/agentera/capabilities/{inspirera → research}/schemas/artifacts.yaml +5 -5
  78. package/bundle/skills/agentera/capabilities/{inspirera → research}/schemas/triggers.yaml +9 -3
  79. package/bundle/skills/agentera/capabilities/{inspirera → research}/schemas/validation.yaml +2 -2
  80. package/bundle/skills/agentera/capabilities/{hej → status}/schemas/artifacts.yaml +14 -11
  81. package/bundle/skills/agentera/capabilities/{hej → status}/schemas/triggers.yaml +12 -8
  82. package/bundle/skills/agentera/capabilities/{hej → status}/schemas/validation.yaml +5 -5
  83. package/bundle/skills/agentera/capabilities/{visionera → vision}/schemas/artifacts.yaml +8 -8
  84. package/bundle/skills/agentera/capabilities/{visionera → vision}/schemas/triggers.yaml +17 -3
  85. package/bundle/skills/agentera/capabilities/{visionera → vision}/schemas/validation.yaml +14 -16
  86. package/bundle/skills/agentera/capability_schema_contract.yaml +201 -38
  87. package/bundle/skills/agentera/protocol.yaml +29 -29
  88. package/bundle/skills/agentera/references/contract.md +329 -320
  89. package/bundle/skills/agentera/schemas/artifacts/changelog.yaml +4 -4
  90. package/bundle/skills/agentera/schemas/artifacts/decisions.yaml +10 -10
  91. package/bundle/skills/agentera/schemas/artifacts/design.yaml +4 -4
  92. package/bundle/skills/agentera/schemas/artifacts/docs.yaml +8 -7
  93. package/bundle/skills/agentera/schemas/artifacts/experiments.yaml +5 -5
  94. package/bundle/skills/agentera/schemas/artifacts/health.yaml +5 -5
  95. package/bundle/skills/agentera/schemas/artifacts/objective.yaml +4 -4
  96. package/bundle/skills/agentera/schemas/artifacts/plan.yaml +5 -5
  97. package/bundle/skills/agentera/schemas/artifacts/progress.yaml +20 -41
  98. package/bundle/skills/agentera/schemas/artifacts/todo.yaml +43 -24
  99. package/bundle/skills/agentera/schemas/artifacts/vision.yaml +3 -3
  100. package/dist/analytics/extractCorpus/cli.js +149 -0
  101. package/dist/analytics/extractCorpus/cli.js.map +1 -0
  102. package/dist/analytics/extractCorpus/copilotSessions.js +273 -0
  103. package/dist/analytics/extractCorpus/copilotSessions.js.map +1 -0
  104. package/dist/analytics/extractCorpus/core.js +364 -0
  105. package/dist/analytics/extractCorpus/core.js.map +1 -0
  106. package/dist/analytics/extractCorpus/corpus.js +145 -0
  107. package/dist/analytics/extractCorpus/corpus.js.map +1 -0
  108. package/dist/analytics/extractCorpus/coverageAudit.js +261 -0
  109. package/dist/analytics/extractCorpus/coverageAudit.js.map +1 -0
  110. package/dist/analytics/extractCorpus/cursorSessions.js +423 -0
  111. package/dist/analytics/extractCorpus/cursorSessions.js.map +1 -0
  112. package/dist/analytics/extractCorpus/extractCorpusParity.js +105 -0
  113. package/dist/analytics/extractCorpus/extractCorpusParity.js.map +1 -0
  114. package/dist/analytics/extractCorpus/filesystemSources.js +122 -0
  115. package/dist/analytics/extractCorpus/filesystemSources.js.map +1 -0
  116. package/dist/analytics/extractCorpus/index.js +12 -0
  117. package/dist/analytics/extractCorpus/index.js.map +1 -0
  118. package/dist/analytics/extractCorpus/jsonlSessions.js +185 -0
  119. package/dist/analytics/extractCorpus/jsonlSessions.js.map +1 -0
  120. package/dist/analytics/extractCorpus/sqliteCaps.js +44 -0
  121. package/dist/analytics/extractCorpus/sqliteCaps.js.map +1 -0
  122. package/dist/analytics/extractCorpus/sqliteSessions.js +368 -0
  123. package/dist/analytics/extractCorpus/sqliteSessions.js.map +1 -0
  124. package/dist/analytics/extractCorpus.js +2 -1790
  125. package/dist/analytics/extractCorpus.js.map +1 -1
  126. package/dist/analytics/usageStats.js +42 -20
  127. package/dist/analytics/usageStats.js.map +1 -1
  128. package/dist/capabilities/audit/instructions.js +6 -0
  129. package/dist/capabilities/audit/instructions.js.map +1 -0
  130. package/dist/capabilities/build/instructions.js +6 -0
  131. package/dist/capabilities/build/instructions.js.map +1 -0
  132. package/dist/capabilities/design/instructions.js +5 -0
  133. package/dist/capabilities/design/instructions.js.map +1 -0
  134. package/dist/capabilities/discuss/instructions.js +6 -0
  135. package/dist/capabilities/discuss/instructions.js.map +1 -0
  136. package/dist/capabilities/document/instructions.js +6 -0
  137. package/dist/capabilities/document/instructions.js.map +1 -0
  138. package/dist/capabilities/index.js +38 -0
  139. package/dist/capabilities/index.js.map +1 -0
  140. package/dist/capabilities/optimize/instructions.js +6 -0
  141. package/dist/capabilities/optimize/instructions.js.map +1 -0
  142. package/dist/capabilities/orchestrate/instructions.js +6 -0
  143. package/dist/capabilities/orchestrate/instructions.js.map +1 -0
  144. package/dist/capabilities/plan/instructions.js +6 -0
  145. package/dist/capabilities/plan/instructions.js.map +1 -0
  146. package/dist/capabilities/profile/instructions.js +6 -0
  147. package/dist/capabilities/profile/instructions.js.map +1 -0
  148. package/dist/capabilities/research/instructions.js +6 -0
  149. package/dist/capabilities/research/instructions.js.map +1 -0
  150. package/dist/capabilities/status/instructions.js +5 -0
  151. package/dist/capabilities/status/instructions.js.map +1 -0
  152. package/dist/capabilities/vision/instructions.js +9 -0
  153. package/dist/capabilities/vision/instructions.js.map +1 -0
  154. package/dist/cli/appContext.js +16 -17
  155. package/dist/cli/appContext.js.map +1 -1
  156. package/dist/cli/capabilityContext/benchmark.js +564 -0
  157. package/dist/cli/capabilityContext/benchmark.js.map +1 -0
  158. package/dist/cli/capabilityContext/bespoke.js +36 -0
  159. package/dist/cli/capabilityContext/bespoke.js.map +1 -0
  160. package/dist/cli/capabilityContext/build.js +177 -0
  161. package/dist/cli/capabilityContext/build.js.map +1 -0
  162. package/dist/cli/capabilityContext/closeout.js +230 -0
  163. package/dist/cli/capabilityContext/closeout.js.map +1 -0
  164. package/dist/cli/capabilityContext/contract.js +188 -0
  165. package/dist/cli/capabilityContext/contract.js.map +1 -0
  166. package/dist/cli/capabilityContext/evidence.js +456 -0
  167. package/dist/cli/capabilityContext/evidence.js.map +1 -0
  168. package/dist/cli/capabilityContext/index.js +4 -0
  169. package/dist/cli/capabilityContext/index.js.map +1 -0
  170. package/dist/cli/capabilityContext/orchestration.js +107 -0
  171. package/dist/cli/capabilityContext/orchestration.js.map +1 -0
  172. package/dist/cli/capabilityContext/planState.js +271 -0
  173. package/dist/cli/capabilityContext/planState.js.map +1 -0
  174. package/dist/cli/capabilityContext/progress.js +103 -0
  175. package/dist/cli/capabilityContext/progress.js.map +1 -0
  176. package/dist/cli/capabilityContext/shared.js +94 -0
  177. package/dist/cli/capabilityContext/shared.js.map +1 -0
  178. package/dist/cli/capabilityContext/slim.js +108 -0
  179. package/dist/cli/capabilityContext/slim.js.map +1 -0
  180. package/dist/cli/capabilityContext/startup.js +213 -0
  181. package/dist/cli/capabilityContext/startup.js.map +1 -0
  182. package/dist/cli/capabilityContext/types.js +40 -0
  183. package/dist/cli/capabilityContext/types.js.map +1 -0
  184. package/dist/cli/capabilityContext.js +1 -2420
  185. package/dist/cli/capabilityContext.js.map +1 -1
  186. package/dist/cli/commands/appHome.js +23 -0
  187. package/dist/cli/commands/appHome.js.map +1 -0
  188. package/dist/cli/commands/capability.js +3 -10
  189. package/dist/cli/commands/capability.js.map +1 -1
  190. package/dist/cli/commands/compact.js +1 -1
  191. package/dist/cli/commands/compact.js.map +1 -1
  192. package/dist/cli/commands/doctor.js +53 -95
  193. package/dist/cli/commands/doctor.js.map +1 -1
  194. package/dist/cli/commands/lint.js +4 -36
  195. package/dist/cli/commands/lint.js.map +1 -1
  196. package/dist/cli/commands/prime/bundleStatus.js +185 -0
  197. package/dist/cli/commands/prime/bundleStatus.js.map +1 -0
  198. package/dist/cli/commands/prime/collectOrientationState.js +156 -0
  199. package/dist/cli/commands/prime/collectOrientationState.js.map +1 -0
  200. package/dist/cli/commands/prime/orientationOutput.js +210 -0
  201. package/dist/cli/commands/prime/orientationOutput.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 -487
  207. package/dist/cli/commands/prime.js.map +1 -1
  208. package/dist/cli/commands/query.js +5 -2
  209. package/dist/cli/commands/query.js.map +1 -1
  210. package/dist/cli/commands/report.js +32 -11
  211. package/dist/cli/commands/report.js.map +1 -1
  212. package/dist/cli/commands/schema.js +26 -22
  213. package/dist/cli/commands/schema.js.map +1 -1
  214. package/dist/cli/commands/state/decisions.js +403 -0
  215. package/dist/cli/commands/state/decisions.js.map +1 -0
  216. package/dist/cli/commands/state/docs.js +97 -0
  217. package/dist/cli/commands/state/docs.js.map +1 -0
  218. package/dist/cli/commands/state/experiments.js +68 -0
  219. package/dist/cli/commands/state/experiments.js.map +1 -0
  220. package/dist/cli/commands/state/health.js +116 -0
  221. package/dist/cli/commands/state/health.js.map +1 -0
  222. package/dist/cli/commands/state/index.js +51 -0
  223. package/dist/cli/commands/state/index.js.map +1 -0
  224. package/dist/cli/commands/state/objective.js +69 -0
  225. package/dist/cli/commands/state/objective.js.map +1 -0
  226. package/dist/cli/commands/state/plan.js +173 -0
  227. package/dist/cli/commands/state/plan.js.map +1 -0
  228. package/dist/cli/commands/state/progress.js +47 -0
  229. package/dist/cli/commands/state/progress.js.map +1 -0
  230. package/dist/cli/commands/state/shared.js +15 -0
  231. package/dist/cli/commands/state/shared.js.map +1 -0
  232. package/dist/cli/commands/state/todo.js +121 -0
  233. package/dist/cli/commands/state/todo.js.map +1 -0
  234. package/dist/cli/commands/upgrade.js +63 -2
  235. package/dist/cli/commands/upgrade.js.map +1 -1
  236. package/dist/cli/commands/upgradeVerify.js +81 -0
  237. package/dist/cli/commands/upgradeVerify.js.map +1 -0
  238. package/dist/cli/commands/validate.js +56 -96
  239. package/dist/cli/commands/validate.js.map +1 -1
  240. package/dist/cli/commands/verify.js +7 -1
  241. package/dist/cli/commands/verify.js.map +1 -1
  242. package/dist/cli/contracts/bundleStatus.js +2 -0
  243. package/dist/cli/contracts/bundleStatus.js.map +1 -0
  244. package/dist/cli/contracts/orientationState.js +2 -0
  245. package/dist/cli/contracts/orientationState.js.map +1 -0
  246. package/dist/cli/dispatch/argvParser.js +33 -0
  247. package/dist/cli/dispatch/argvParser.js.map +1 -0
  248. package/dist/cli/dispatch/check.js +328 -0
  249. package/dist/cli/dispatch/check.js.map +1 -0
  250. package/dist/cli/dispatch/commands.js +27 -0
  251. package/dist/cli/dispatch/commands.js.map +1 -0
  252. package/dist/cli/dispatch/index.js +182 -0
  253. package/dist/cli/dispatch/index.js.map +1 -0
  254. package/dist/cli/dispatch/lifecycle.js +603 -0
  255. package/dist/cli/dispatch/lifecycle.js.map +1 -0
  256. package/dist/cli/dispatch/prime.js +104 -0
  257. package/dist/cli/dispatch/prime.js.map +1 -0
  258. package/dist/cli/dispatch/shared.js +64 -0
  259. package/dist/cli/dispatch/shared.js.map +1 -0
  260. package/dist/cli/dispatch/state.js +144 -0
  261. package/dist/cli/dispatch/state.js.map +1 -0
  262. package/dist/cli/dispatch.js +1 -961
  263. package/dist/cli/dispatch.js.map +1 -1
  264. package/dist/cli/errors.js +53 -0
  265. package/dist/cli/errors.js.map +1 -0
  266. package/dist/cli/help.js +236 -0
  267. package/dist/cli/help.js.map +1 -0
  268. package/dist/cli/orientation/attention.js +65 -0
  269. package/dist/cli/orientation/attention.js.map +1 -0
  270. package/dist/cli/orientation/corpusCoverage.js +71 -0
  271. package/dist/cli/orientation/corpusCoverage.js.map +1 -0
  272. package/dist/cli/orientation.js +138 -84
  273. package/dist/cli/orientation.js.map +1 -1
  274. package/dist/cli/prime-blob.js +1 -1
  275. package/dist/cli/startupCompletenessContract.js +56 -0
  276. package/dist/cli/startupCompletenessContract.js.map +1 -0
  277. package/dist/cli/stateQuery.js +16 -2
  278. package/dist/cli/stateQuery.js.map +1 -1
  279. package/dist/cli/todoMarkdown.js +33 -0
  280. package/dist/cli/todoMarkdown.js.map +1 -0
  281. package/dist/cli/todoSeverity.js +19 -0
  282. package/dist/cli/todoSeverity.js.map +1 -0
  283. package/dist/core/envPaths.js +21 -0
  284. package/dist/core/envPaths.js.map +1 -0
  285. package/dist/core/jsonValue.js +6 -0
  286. package/dist/core/jsonValue.js.map +1 -0
  287. package/dist/core/pyjson.js +67 -2
  288. package/dist/core/pyjson.js.map +1 -1
  289. package/dist/eval/evalSkills.js +17 -12
  290. package/dist/eval/evalSkills.js.map +1 -1
  291. package/dist/eval/semanticEval.js +43 -19
  292. package/dist/eval/semanticEval.js.map +1 -1
  293. package/dist/eval/semanticFixtures.js +16 -4
  294. package/dist/eval/semanticFixtures.js.map +1 -1
  295. package/dist/hooks/common.js +8 -25
  296. package/dist/hooks/common.js.map +1 -1
  297. package/dist/hooks/compaction/apply.js +269 -0
  298. package/dist/hooks/compaction/apply.js.map +1 -0
  299. package/dist/hooks/compaction/dryRun.js +183 -0
  300. package/dist/hooks/compaction/dryRun.js.map +1 -0
  301. package/dist/hooks/compaction/index.js +23 -0
  302. package/dist/hooks/compaction/index.js.map +1 -0
  303. package/dist/hooks/compaction/parse.js +258 -0
  304. package/dist/hooks/compaction/parse.js.map +1 -0
  305. package/dist/hooks/compaction/retention.js +199 -0
  306. package/dist/hooks/compaction/retention.js.map +1 -0
  307. package/dist/hooks/compaction/status.js +241 -0
  308. package/dist/hooks/compaction/status.js.map +1 -0
  309. package/dist/hooks/compaction/types.js +6 -0
  310. package/dist/hooks/compaction/types.js.map +1 -0
  311. package/dist/hooks/cursorPreToolUse.js +1 -1
  312. package/dist/hooks/cursorPreToolUse.js.map +1 -1
  313. package/dist/hooks/cursorSessionStart.js +10 -2
  314. package/dist/hooks/cursorSessionStart.js.map +1 -1
  315. package/dist/hooks/sessionStart.js +18 -11
  316. package/dist/hooks/sessionStart.js.map +1 -1
  317. package/dist/hooks/sessionStop.js +6 -12
  318. package/dist/hooks/sessionStop.js.map +1 -1
  319. package/dist/hooks/validateArtifact/agentFacing.js +10 -0
  320. package/dist/hooks/validateArtifact/agentFacing.js.map +1 -0
  321. package/dist/hooks/validateArtifact/index.js +151 -0
  322. package/dist/hooks/validateArtifact/index.js.map +1 -0
  323. package/dist/hooks/validateArtifact/markdown.js +146 -0
  324. package/dist/hooks/validateArtifact/markdown.js.map +1 -0
  325. package/dist/hooks/validateArtifact/runtime.js +86 -0
  326. package/dist/hooks/validateArtifact/runtime.js.map +1 -0
  327. package/dist/hooks/validateArtifact/schema.js +459 -0
  328. package/dist/hooks/validateArtifact/schema.js.map +1 -0
  329. package/dist/hooks/validateArtifact/traversal.js +106 -0
  330. package/dist/hooks/validateArtifact/traversal.js.map +1 -0
  331. package/dist/hooks/validateArtifact/violations.js +105 -0
  332. package/dist/hooks/validateArtifact/violations.js.map +1 -0
  333. package/dist/migrate/v2HandoffManifest.js +451 -0
  334. package/dist/migrate/v2HandoffManifest.js.map +1 -0
  335. package/dist/registries/artifactProtocolIds.js +77 -0
  336. package/dist/registries/artifactProtocolIds.js.map +1 -0
  337. package/dist/registries/artifactRegistry.js +23 -9
  338. package/dist/registries/artifactRegistry.js.map +1 -1
  339. package/dist/registries/capabilityContract.js +156 -12
  340. package/dist/registries/capabilityContract.js.map +1 -1
  341. package/dist/registries/evaluatorHandoffContract.js +171 -0
  342. package/dist/registries/evaluatorHandoffContract.js.map +1 -0
  343. package/dist/registries/packageRegistry.js +4 -3
  344. package/dist/registries/packageRegistry.js.map +1 -1
  345. package/dist/registries/runtimeAdapterRegistry.js +5 -4
  346. package/dist/registries/runtimeAdapterRegistry.js.map +1 -1
  347. package/dist/registries/triggerLoader.js +211 -0
  348. package/dist/registries/triggerLoader.js.map +1 -0
  349. package/dist/release/releaseMetadata.js +235 -0
  350. package/dist/release/releaseMetadata.js.map +1 -0
  351. package/dist/setup/codex/agents.js +96 -0
  352. package/dist/setup/codex/agents.js.map +1 -0
  353. package/dist/setup/codex/cli.js +161 -0
  354. package/dist/setup/codex/cli.js.map +1 -0
  355. package/dist/setup/codex/configToml.js +639 -0
  356. package/dist/setup/codex/configToml.js.map +1 -0
  357. package/dist/setup/codex/constants.js +29 -0
  358. package/dist/setup/codex/constants.js.map +1 -0
  359. package/dist/setup/codex/installRoot.js +64 -0
  360. package/dist/setup/codex/installRoot.js.map +1 -0
  361. package/dist/setup/codex/state.js +270 -0
  362. package/dist/setup/codex/state.js.map +1 -0
  363. package/dist/setup/codex.js +11 -1051
  364. package/dist/setup/codex.js.map +1 -1
  365. package/dist/setup/cursor.js +6 -4
  366. package/dist/setup/cursor.js.map +1 -1
  367. package/dist/setup/cursorSurfaces.js +67 -0
  368. package/dist/setup/cursorSurfaces.js.map +1 -0
  369. package/dist/setup/doctor/core.js +296 -0
  370. package/dist/setup/doctor/core.js.map +1 -0
  371. package/dist/setup/doctor/diagnostics.js +240 -0
  372. package/dist/setup/doctor/diagnostics.js.map +1 -0
  373. package/dist/setup/doctor/opencode.js +301 -0
  374. package/dist/setup/doctor/opencode.js.map +1 -0
  375. package/dist/setup/doctor/report.js +425 -0
  376. package/dist/setup/doctor/report.js.map +1 -0
  377. package/dist/setup/doctor.js +9 -1268
  378. package/dist/setup/doctor.js.map +1 -1
  379. package/dist/setup/opencode.js +13 -0
  380. package/dist/setup/opencode.js.map +1 -0
  381. package/dist/setup/opencodeConstants.js +2 -0
  382. package/dist/setup/opencodeConstants.js.map +1 -0
  383. package/dist/setup/smokeChecks.js +111 -0
  384. package/dist/setup/smokeChecks.js.map +1 -0
  385. package/dist/state/installRoot.js +64 -24
  386. package/dist/state/installRoot.js.map +1 -1
  387. package/dist/state/startupAnalysis/benchmark.js +371 -0
  388. package/dist/state/startupAnalysis/benchmark.js.map +1 -0
  389. package/dist/state/startupAnalysis/contract.js +126 -0
  390. package/dist/state/startupAnalysis/contract.js.map +1 -0
  391. package/dist/state/startupAnalysis/helpers.js +287 -0
  392. package/dist/state/startupAnalysis/helpers.js.map +1 -0
  393. package/dist/state/startupAnalysis/index.js +7 -0
  394. package/dist/state/startupAnalysis/index.js.map +1 -0
  395. package/dist/state/startupAnalysis/metrics.js +341 -0
  396. package/dist/state/startupAnalysis/metrics.js.map +1 -0
  397. package/dist/state/startupAnalysis/records.js +199 -0
  398. package/dist/state/startupAnalysis/records.js.map +1 -0
  399. package/dist/state/startupAnalysis/report.js +112 -0
  400. package/dist/state/startupAnalysis/report.js.map +1 -0
  401. package/dist/state/startupAnalysis/threshold.js +500 -0
  402. package/dist/state/startupAnalysis/threshold.js.map +1 -0
  403. package/dist/state/startupAnalysis.js +2 -1952
  404. package/dist/state/startupAnalysis.js.map +1 -1
  405. package/dist/upgrade/appContentRefresh.js +367 -0
  406. package/dist/upgrade/appContentRefresh.js.map +1 -0
  407. package/dist/upgrade/appModel.js +11 -6
  408. package/dist/upgrade/appModel.js.map +1 -1
  409. package/dist/upgrade/atomicWriter.js +23 -0
  410. package/dist/upgrade/atomicWriter.js.map +1 -0
  411. package/dist/upgrade/bundleEvidence.js +34 -0
  412. package/dist/upgrade/bundleEvidence.js.map +1 -0
  413. package/dist/upgrade/channels.js +48 -15
  414. package/dist/upgrade/channels.js.map +1 -1
  415. package/dist/upgrade/coexistenceProbe.js +105 -0
  416. package/dist/upgrade/coexistenceProbe.js.map +1 -0
  417. package/dist/upgrade/compatibility.js +26 -24
  418. package/dist/upgrade/compatibility.js.map +1 -1
  419. package/dist/upgrade/doctor.js +194 -191
  420. package/dist/upgrade/doctor.js.map +1 -1
  421. package/dist/upgrade/doctorClassifier.js +188 -0
  422. package/dist/upgrade/doctorClassifier.js.map +1 -0
  423. package/dist/upgrade/installedHooksRetirement.js +190 -0
  424. package/dist/upgrade/installedHooksRetirement.js.map +1 -0
  425. package/dist/upgrade/legacyAgentCleanup.js +183 -0
  426. package/dist/upgrade/legacyAgentCleanup.js.map +1 -0
  427. package/dist/upgrade/migrateArtifactsV1ToV2.js +568 -0
  428. package/dist/upgrade/migrateArtifactsV1ToV2.js.map +1 -0
  429. package/dist/upgrade/migrateArtifactsV2ToV3.js +118 -229
  430. package/dist/upgrade/migrateArtifactsV2ToV3.js.map +1 -1
  431. package/dist/upgrade/nextMajorDoctor.js +156 -0
  432. package/dist/upgrade/nextMajorDoctor.js.map +1 -0
  433. package/dist/upgrade/npxPlatformStatus.js +23 -0
  434. package/dist/upgrade/npxPlatformStatus.js.map +1 -0
  435. package/dist/upgrade/projectIntegration.js +233 -0
  436. package/dist/upgrade/projectIntegration.js.map +1 -0
  437. package/dist/upgrade/projectIntegrationDecision.js +42 -0
  438. package/dist/upgrade/projectIntegrationDecision.js.map +1 -0
  439. package/dist/upgrade/runtimeMigration.js +744 -0
  440. package/dist/upgrade/runtimeMigration.js.map +1 -0
  441. package/dist/upgrade/upgradeCommands.js +6 -6
  442. package/dist/upgrade/upgradeCommands.js.map +1 -1
  443. package/dist/upgrade/upgradeLock.js +54 -0
  444. package/dist/upgrade/upgradeLock.js.map +1 -0
  445. package/dist/upgrade/upgradeOrchestrator.js +59 -57
  446. package/dist/upgrade/upgradeOrchestrator.js.map +1 -1
  447. package/dist/upgrade/upgradeSnapshot.js +93 -0
  448. package/dist/upgrade/upgradeSnapshot.js.map +1 -0
  449. package/dist/upgrade/v3CapabilitySurface.js +15 -0
  450. package/dist/upgrade/v3CapabilitySurface.js.map +1 -0
  451. package/dist/upgrade/versionResolution.js +187 -0
  452. package/dist/upgrade/versionResolution.js.map +1 -0
  453. package/dist/validate/appHomeContract.js +4 -4
  454. package/dist/validate/appHomeContract.js.map +1 -1
  455. package/dist/validate/capability.js +135 -14
  456. package/dist/validate/capability.js.map +1 -1
  457. package/dist/validate/crossCapability.js +1 -1
  458. package/dist/validate/crossCapability.js.map +1 -1
  459. package/dist/validate/lifecycleAdapters/legacyPythonParity.js +93 -0
  460. package/dist/validate/lifecycleAdapters/legacyPythonParity.js.map +1 -0
  461. package/dist/validate/lifecycleAdapters/nodeFormChecks.js +488 -0
  462. package/dist/validate/lifecycleAdapters/nodeFormChecks.js.map +1 -0
  463. package/dist/validate/lifecycleAdapters/shared.js +198 -0
  464. package/dist/validate/lifecycleAdapters/shared.js.map +1 -0
  465. package/dist/validate/lifecycleAdapters.js +13 -723
  466. package/dist/validate/lifecycleAdapters.js.map +1 -1
  467. package/dist/validate/selfAudit.js +62 -20
  468. package/dist/validate/selfAudit.js.map +1 -1
  469. package/dist/validate/vocabularyAuthority.js +303 -0
  470. package/dist/validate/vocabularyAuthority.js.map +1 -0
  471. package/package.json +29 -26
  472. package/bundle/references/v1-section-mapping.md +0 -47
  473. package/bundle/skills/agentera/agents/dokumentera.toml +0 -6
  474. package/bundle/skills/agentera/agents/hej.toml +0 -6
  475. package/bundle/skills/agentera/agents/inspektera.toml +0 -6
  476. package/bundle/skills/agentera/agents/inspirera.toml +0 -6
  477. package/bundle/skills/agentera/agents/optimera.toml +0 -6
  478. package/bundle/skills/agentera/agents/orkestrera.toml +0 -6
  479. package/bundle/skills/agentera/agents/planera.toml +0 -6
  480. package/bundle/skills/agentera/agents/profilera.toml +0 -6
  481. package/bundle/skills/agentera/agents/realisera.toml +0 -6
  482. package/bundle/skills/agentera/agents/resonera.toml +0 -6
  483. package/bundle/skills/agentera/agents/visionera.toml +0 -6
  484. package/bundle/skills/agentera/agents/visualisera.toml +0 -6
  485. package/bundle/skills/agentera/capabilities/dokumentera/instructions.md +0 -428
  486. package/bundle/skills/agentera/capabilities/hej/instructions.md +0 -331
  487. package/bundle/skills/agentera/capabilities/inspektera/instructions.md +0 -514
  488. package/bundle/skills/agentera/capabilities/inspirera/instructions.md +0 -280
  489. package/bundle/skills/agentera/capabilities/optimera/instructions.md +0 -437
  490. package/bundle/skills/agentera/capabilities/orkestrera/instructions.md +0 -433
  491. package/bundle/skills/agentera/capabilities/planera/instructions.md +0 -368
  492. package/bundle/skills/agentera/capabilities/profilera/instructions.md +0 -419
  493. package/bundle/skills/agentera/capabilities/realisera/instructions.md +0 -403
  494. package/bundle/skills/agentera/capabilities/resonera/instructions.md +0 -329
  495. package/bundle/skills/agentera/capabilities/visionera/instructions.md +0 -309
  496. package/bundle/skills/agentera/capabilities/visualisera/instructions.md +0 -400
  497. package/bundle/skills/hej/.claude-plugin/plugin.json +0 -6
  498. package/bundle/skills/hej/SKILL.md +0 -69
  499. package/bundle/skills/hej/agents/hej.toml +0 -11
  500. package/bundle/skills/hej/agents/openai.yaml +0 -8
  501. package/dist/cli/commands/backfill.js +0 -84
  502. package/dist/cli/commands/backfill.js.map +0 -1
  503. package/dist/cli/commands/state.js +0 -1012
  504. package/dist/cli/commands/state.js.map +0 -1
  505. package/dist/core/git.js +0 -43
  506. package/dist/core/git.js.map +0 -1
  507. package/dist/hooks/compaction.js +0 -935
  508. package/dist/hooks/compaction.js.map +0 -1
  509. package/dist/hooks/validateArtifact.js +0 -933
  510. package/dist/hooks/validateArtifact.js.map +0 -1
  511. package/dist/state/progressCommit.js +0 -289
  512. package/dist/state/progressCommit.js.map +0 -1
  513. /package/bundle/skills/agentera/capabilities/{inspektera → audit}/schemas/exit.yaml +0 -0
  514. /package/bundle/skills/agentera/capabilities/{realisera → build}/schemas/exit.yaml +0 -0
  515. /package/bundle/skills/agentera/capabilities/{visualisera → design}/schemas/exit.yaml +0 -0
  516. /package/bundle/skills/agentera/capabilities/{resonera → discuss}/schemas/exit.yaml +0 -0
  517. /package/bundle/skills/agentera/capabilities/{dokumentera → document}/schemas/exit.yaml +0 -0
  518. /package/bundle/skills/agentera/capabilities/{optimera → optimize}/schemas/exit.yaml +0 -0
  519. /package/bundle/skills/agentera/capabilities/{orkestrera → orchestrate}/schemas/exit.yaml +0 -0
  520. /package/bundle/skills/agentera/capabilities/{inspirera → research}/schemas/exit.yaml +0 -0
  521. /package/bundle/skills/agentera/capabilities/{hej → status}/schemas/exit.yaml +0 -0
  522. /package/bundle/skills/agentera/capabilities/{visionera → vision}/schemas/exit.yaml +0 -0
@@ -1,18 +1,71 @@
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, isSourceCheckoutRoot, projectInstallTrack, } from "./compatibility.js";
9
+ import { isStableSuccessorAnnounced } from "./nextMajorDoctor.js";
9
10
  import { buildUpgradeCommands, commandText } from "./upgradeCommands.js";
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
+ /**
46
+ * Doctor status build. Faithful TS port of build_doctor_status /
47
+ * public_doctor_status from scripts/agentera_upgrade.py.
48
+ *
49
+ * The classification -> root_status/signals/status logic matches Python exactly.
50
+ * The emitted command strings use the TS-CLI invocation form (npx/node) rather
51
+ * than the Python uvx/uv form; the final wording is settled in Phase 8 packaging.
52
+ */
10
53
  export const APP_UP_TO_DATE = "up_to_date";
11
54
  export const APP_OUTDATED = "outdated";
12
55
  export const APP_REPAIR_NEEDED = "repair_needed";
13
56
  export const APP_MIGRATION_NEEDED = "migration_needed";
14
57
  export const APP_MANUAL_REVIEW_NEEDED = "manual_review_needed";
15
58
  export const EXPECTED_STATE_COMMANDS = ["prime"];
59
+ /** Operation noun for doctor/prime copy derived from aggregate lifecycle status. */
60
+ export function appLifecycleActionNoun(status) {
61
+ if (status === APP_OUTDATED) {
62
+ return "update";
63
+ }
64
+ if (status === APP_MIGRATION_NEEDED) {
65
+ return "migration";
66
+ }
67
+ return "repair";
68
+ }
16
69
  export const BUNDLE_MARKER = ".agentera-bundle.json";
17
70
  /** Agentera user state preserved during v2→v3 managed app-home cleanup. */
18
71
  export const AGENTERA_USER_STATE_NAMES = new Set([
@@ -29,12 +82,15 @@ export const ROOT_USER_STATE_FILE_NAMES = new Set([
29
82
  "TODO.md",
30
83
  "CHANGELOG.md",
31
84
  "DESIGN.md",
85
+ "v3-handoff.json",
86
+ ]);
87
+ export const ROOT_USER_STATE_DIR_NAMES = new Set([
88
+ "history",
89
+ "corpus",
90
+ "benchmarks",
91
+ "intermediate",
92
+ "sessions",
32
93
  ]);
33
- export const ROOT_USER_STATE_DIR_NAMES = new Set(["history", "corpus"]);
34
- function hasBundleRootEvidence(root) {
35
- return (isFile(path.join(root, "scripts", "agentera")) &&
36
- isFile(path.join(root, "skills", "agentera", "SKILL.md")));
37
- }
38
94
  function legacyDefaultAppHome(home) {
39
95
  return resolvePath(path.join(expanduser(home), ".agents", "agentera"));
40
96
  }
@@ -54,7 +110,9 @@ function agenteraUserStateDirIsRecognized(p) {
54
110
  if (AGENTERA_USER_STATE_NAMES.has(entry) && st.isFile()) {
55
111
  continue;
56
112
  }
57
- if (entry === "optimera" && st.isDirectory()) {
113
+ if ((entry === "optimize" || entry === "optimera") && st.isDirectory()) {
114
+ // "optimera" is the v2 stable legacy objective dir name; keep it
115
+ // recognized so v2->v3 migration preserves legacy objective state.
58
116
  continue;
59
117
  }
60
118
  return false;
@@ -99,39 +157,17 @@ function sourceKey(rootSource) {
99
157
  }
100
158
  return "explicit";
101
159
  }
102
- function recoverableStaleDefaultSignal(appHome, roots) {
103
- return {
104
- status: APP_REPAIR_NEEDED,
105
- kind: "recoverable_stale_default",
106
- message: "Agentera found an old app directory and can repair it without asking you to edit shell settings",
107
- deprecatedDefaultAppHome: appHome,
108
- managedAppRoot: roots.managedAppRoot,
109
- };
110
- }
111
- function userDataOnlySignal(appHome, roots) {
112
- return {
113
- status: APP_REPAIR_NEEDED,
114
- kind: "user_data_only_app_home",
115
- message: "This Agentera directory only has your Agentera data, so Agentera can safely add fresh app files under app/",
116
- appHome,
117
- managedAppRoot: roots.managedAppRoot,
118
- };
119
- }
120
- function blockedRootRecoveryMessage(_rootSource) {
121
- return "choose a different Agentera directory, or use --force only if you checked this directory and want Agentera to replace files there";
122
- }
123
160
  export function buildDoctorStatus(installRoot, opts) {
124
161
  const rootSource = opts.rootSource;
125
162
  const sourceRoot = opts.sourceRoot;
126
163
  const home = opts.home;
127
164
  const project = opts.project;
128
165
  const expectedCommands = opts.expectedCommands ?? EXPECTED_STATE_COMMANDS;
129
- const probeCli = opts.probeCli ?? true;
130
166
  // Fully self-contained npx bundle: the bundle IS the app and is always current
131
167
  // (its version is the package version), so there is no install/upgrade step.
132
168
  // Report it as the authoritative, up-to-date app home. (Sentinel-gated; never
133
169
  // triggers for a repo checkout or an installed managed app.)
134
- if (isNpxBundleRoot(sourceRoot)) {
170
+ if (isNpxBundleRoot(sourceRoot) && !opts.skipNpxBundleShortCircuit) {
135
171
  const bundleExpected = opts.expectedVersion || loadSuiteVersion(sourceRoot) || "unknown";
136
172
  return {
137
173
  schemaVersion: "agentera.bundleStatus.v1",
@@ -141,22 +177,51 @@ export function buildDoctorStatus(installRoot, opts) {
141
177
  appHomeSource: "bundled app",
142
178
  managedAppRoot: sourceRoot,
143
179
  userDataRoot: sourceRoot,
144
- activeBundleRoot: sourceRoot,
180
+ activeAppRoot: sourceRoot,
145
181
  authoritativeRoot: sourceRoot,
146
182
  skillRoot: path.join(sourceRoot, "skills", "agentera"),
147
183
  runtimeRoot: sourceRoot,
148
184
  sourceRoot,
149
185
  installRoot: sourceRoot,
150
186
  installRootSource: "bundled app",
151
- home,
152
- project,
153
187
  rootStatus: "bundled",
188
+ installKind: "v3_self_contained_npm",
154
189
  markerVersion: bundleExpected,
155
190
  signals: [],
156
191
  dryRunCommand: null,
157
192
  applyCommand: null,
158
193
  retryCommand: commandText(["npx", "-y", "agentera", expectedCommands[0] ?? "prime"]),
159
- approval: "no action needed: self-contained app bundle is current",
194
+ };
195
+ }
196
+ // Source checkout: the CLI invocation IS the app, so the install root is
197
+ // user state only and never needs upgrade gating. Narrowed to the default
198
+ // app home AND an existing install root so an explicit --install-root, a
199
+ // missing default app home (still a real diagnostic), and AGENTERA_HOME
200
+ // overrides all keep their existing inspection behavior.
201
+ if (isSourceCheckoutRoot(sourceRoot) && rootSource === SOURCE_LABELS.default && pathExists(installRoot)) {
202
+ const checkoutExpected = opts.expectedVersion || loadSuiteVersion(sourceRoot) || "unknown";
203
+ return {
204
+ schemaVersion: "agentera.bundleStatus.v1",
205
+ status: APP_UP_TO_DATE,
206
+ expectedVersion: checkoutExpected,
207
+ appHome: installRoot,
208
+ appHomeSource: rootSource,
209
+ managedAppRoot: installRoot,
210
+ userDataRoot: installRoot,
211
+ activeAppRoot: installRoot,
212
+ authoritativeRoot: installRoot,
213
+ skillRoot: path.join(sourceRoot, "skills", "agentera"),
214
+ runtimeRoot: sourceRoot,
215
+ sourceRoot,
216
+ installRoot,
217
+ installRootSource: rootSource,
218
+ rootStatus: "source",
219
+ installKind: "source_checkout",
220
+ markerVersion: null,
221
+ signals: [],
222
+ dryRunCommand: null,
223
+ applyCommand: null,
224
+ retryCommand: null,
160
225
  };
161
226
  }
162
227
  const expected = opts.expectedVersion || loadSuiteVersion(sourceRoot) || "unknown";
@@ -167,156 +232,76 @@ export function buildDoctorStatus(installRoot, opts) {
167
232
  expectedVersion: expected,
168
233
  });
169
234
  const markerVersion = classification.current_version;
170
- const signals = [];
171
- let blocked = false;
172
235
  const recoverableStaleDefault = isRecoverableStaleDefaultAppHome(installRoot, rootSource, home);
173
236
  const legacyBundleRoot = activeBundleRoot === installRoot &&
174
237
  hasBundleRootEvidence(installRoot) &&
175
238
  !pathExists(path.join(installRoot, ".git"));
176
- let rootStatus;
177
- if (classification.kind === "missing_default") {
178
- rootStatus = "missing";
179
- signals.push({
180
- status: APP_REPAIR_NEEDED,
181
- kind: "missing_bundle",
182
- message: "Agentera is not installed in the normal directory yet",
183
- });
184
- }
185
- else if (classification.kind === "missing_explicit_or_environment" && recoverableStaleDefault) {
186
- rootStatus = "missing";
187
- signals.push(recoverableStaleDefaultSignal(installRoot, roots));
188
- }
189
- else if (classification.kind === "missing_explicit_or_environment") {
190
- rootStatus = "missing";
191
- blocked = true;
192
- signals.push({
193
- status: APP_MANUAL_REVIEW_NEEDED,
194
- kind: "invalid_install_root",
195
- message: "Agentera was told to use a directory that does not exist. " +
196
- "Choose an existing Agentera directory, or install into the normal Agentera directory.",
197
- });
198
- }
199
- else if (classification.kind === "file_valued_root") {
200
- rootStatus = "invalid";
201
- blocked = true;
202
- signals.push({
203
- status: APP_MANUAL_REVIEW_NEEDED,
204
- kind: "invalid_install_root",
205
- message: `Agentera was told to use a file instead of a directory; ${blockedRootRecoveryMessage(rootSource)}`,
206
- });
207
- }
208
- else if ((classification.kind === "invalid_bundle" || classification.kind === "unmanaged_directory") &&
209
- recoverableStaleDefault) {
210
- rootStatus = "stale_default";
211
- signals.push(recoverableStaleDefaultSignal(installRoot, roots));
212
- }
213
- else if (classification.kind === "unmanaged_directory" && appHomeIsUserDataOnly(installRoot)) {
214
- rootStatus = "user_data_only";
215
- signals.push(userDataOnlySignal(installRoot, roots));
216
- }
217
- else if (classification.kind === "unmanaged_directory") {
218
- rootStatus = "unmanaged";
219
- blocked = true;
220
- signals.push({
221
- status: APP_MANUAL_REVIEW_NEEDED,
222
- kind: "unmanaged_install_root",
223
- message: `This directory already has files Agentera does not recognize, so Agentera will not change it automatically; ${blockedRootRecoveryMessage(rootSource)}`,
224
- });
225
- }
226
- else if (classification.kind === "invalid_bundle") {
227
- rootStatus = "invalid";
228
- blocked = true;
229
- signals.push({
230
- status: APP_MANUAL_REVIEW_NEEDED,
231
- kind: "invalid_bundle",
232
- message: `This directory looks like a broken Agentera install; ${blockedRootRecoveryMessage(rootSource)}`,
233
- });
234
- }
235
- else {
236
- rootStatus = "managed";
237
- if (legacyBundleRoot) {
238
- signals.push({
239
- status: APP_MIGRATION_NEEDED,
240
- kind: APP_MIGRATION_NEEDED,
241
- message: "Agentera app files are in the old place and can be moved into app/",
242
- legacyBundleRoot: installRoot,
243
- managedAppRoot: roots.managedAppRoot,
244
- });
245
- }
246
- const reason = classification.diagnostic.evidence.reason;
247
- if (classification.kind === "managed_stale" && reason === "missing_marker") {
248
- if (recoverableStaleDefault) {
249
- signals.push(recoverableStaleDefaultSignal(installRoot, roots));
250
- }
251
- signals.push({
252
- status: APP_REPAIR_NEEDED,
253
- kind: "missing_marker",
254
- message: "Agentera cannot prove these app files are current, so it should repair them",
255
- });
256
- }
257
- else if (classification.kind === "managed_stale" && reason === "version_mismatch") {
258
- if (recoverableStaleDefault) {
259
- signals.push(recoverableStaleDefaultSignal(installRoot, roots));
260
- }
261
- signals.push({
262
- status: APP_OUTDATED,
263
- kind: "version_mismatch",
264
- expected,
265
- actual: markerVersion,
266
- message: "Agentera app files are valid but need an update to the expected version",
267
- });
268
- }
269
- const probe = probeCli
270
- ? (opts.probeRunner ?? defaultProbe)({
271
- bundleRoot: activeBundleRoot,
272
- appHome: installRoot,
273
- project,
274
- expectedCommands,
275
- })
276
- : { ok: true };
277
- if (!probe.ok) {
278
- let kind = "cli_probe_unavailable";
279
- if (probe.returnCode !== null && probe.returnCode !== undefined && probe.returnCode !== 0) {
280
- kind = "cli_probe_failed";
281
- }
282
- else if (probe.missingCommands && probe.missingCommands.length > 0) {
283
- kind = "missing_command";
284
- }
285
- signals.push({
286
- status: APP_REPAIR_NEEDED,
287
- kind,
288
- message: probe.message,
289
- returnCode: probe.returnCode ?? null,
290
- missingCommands: probe.missingCommands ?? [],
291
- stdoutTail: probe.stdoutTail ?? [],
292
- stderrTail: probe.stderrTail ?? [],
293
- });
294
- }
295
- }
239
+ const userDataOnly = classification.kind === "unmanaged_directory" && appHomeIsUserDataOnly(installRoot);
240
+ const classified = classifyInstallRootStatus({
241
+ installRoot,
242
+ rootSource,
243
+ roots,
244
+ classification,
245
+ expected,
246
+ markerVersion,
247
+ recoverableStaleDefault,
248
+ legacyBundleRoot,
249
+ userDataOnly,
250
+ project,
251
+ expectedCommands,
252
+ });
253
+ const rootStatus = classified.rootStatus;
254
+ const signals = classified.signals;
255
+ const blocked = classified.blocked;
296
256
  const env = { ...(opts.env ?? process.env), HOME: home };
297
- const channel = resolveUpdateChannel({
257
+ const channel = resolveInvokedUpdateChannel({
298
258
  channel: opts.channel ?? null,
299
259
  env,
300
260
  home,
301
261
  sourceRoot,
302
262
  });
303
263
  const install = classifyInstall({ appHome: installRoot, sourceRoot });
304
- const crossMajorBoundary = crossMajorBoundaryApplies(install, sourceRoot);
264
+ const crossMajorDetected = crossMajorBoundaryApplies(install, sourceRoot);
265
+ const successorAnnounced = isStableSuccessorAnnounced(sourceRoot, "stable");
266
+ const crossMajorBoundary = crossMajorDetected && successorAnnounced;
267
+ let crossMajorPending = false;
268
+ if (crossMajorDetected && !successorAnnounced) {
269
+ for (const signal of signals) {
270
+ if (signal.kind !== "version_mismatch") {
271
+ continue;
272
+ }
273
+ const actualMajor = parseSemverMajor(String(signal.actual ?? markerVersion ?? "")) ?? 0;
274
+ const expectedMajor = parseSemverMajor(String(signal.expected ?? expected)) ?? 0;
275
+ if (actualMajor > 0 && actualMajor < 3 && expectedMajor >= 3) {
276
+ crossMajorPending = true;
277
+ signals.push({
278
+ status: APP_MANUAL_REVIEW_NEEDED,
279
+ kind: "cross_major_pending",
280
+ expected: signal.expected,
281
+ actual: signal.actual,
282
+ 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`,
283
+ });
284
+ break;
285
+ }
286
+ }
287
+ }
305
288
  const upgradeCommands = buildUpgradeCommands({
306
289
  project,
307
290
  installRoot,
308
291
  channel,
309
- targetMajor: null,
292
+ cwdDefault: true,
310
293
  });
311
294
  const status = blocked
312
295
  ? APP_MANUAL_REVIEW_NEEDED
313
296
  : signals.some((s) => s.kind === APP_MIGRATION_NEEDED)
314
297
  ? APP_MIGRATION_NEEDED
315
- : signals.some((s) => s.status === APP_REPAIR_NEEDED)
316
- ? APP_REPAIR_NEEDED
317
- : signals.some((s) => s.status === APP_OUTDATED)
318
- ? APP_OUTDATED
319
- : APP_UP_TO_DATE;
298
+ : crossMajorPending
299
+ ? APP_MANUAL_REVIEW_NEEDED
300
+ : signals.some((s) => s.status === APP_REPAIR_NEEDED)
301
+ ? APP_REPAIR_NEEDED
302
+ : signals.some((s) => s.status === APP_OUTDATED)
303
+ ? APP_OUTDATED
304
+ : APP_UP_TO_DATE;
320
305
  return {
321
306
  schemaVersion: "agentera.bundleStatus.v1",
322
307
  status,
@@ -325,44 +310,62 @@ export function buildDoctorStatus(installRoot, opts) {
325
310
  appHomeSource: rootSource,
326
311
  managedAppRoot: roots.managedAppRoot,
327
312
  userDataRoot: installRoot,
328
- activeBundleRoot,
313
+ activeAppRoot: activeBundleRoot,
329
314
  authoritativeRoot: roots.managedAppRoot,
330
315
  skillRoot: roots.skillRoot,
331
316
  runtimeRoot: roots.runtimeRoot,
332
317
  sourceRoot,
333
318
  installRoot,
334
319
  installRootSource: rootSource,
335
- home,
336
- project,
337
320
  rootStatus,
321
+ installKind: install.kind,
338
322
  markerVersion,
339
323
  signals,
340
- dryRunCommand: blocked || status === APP_UP_TO_DATE ? null : upgradeCommands.dryRunCommand,
341
- applyCommand: blocked || status === APP_UP_TO_DATE ? null : upgradeCommands.applyCommand,
324
+ dryRunCommand: blocked || crossMajorPending || status === APP_UP_TO_DATE
325
+ ? null
326
+ : upgradeCommands.dryRunCommand,
327
+ applyCommand: blocked || crossMajorPending || status === APP_UP_TO_DATE
328
+ ? null
329
+ : upgradeCommands.applyCommand,
342
330
  updateChannel: channel.channel,
331
+ crossMajorBoundaryDetected: crossMajorDetected,
343
332
  crossMajorBoundary,
344
- retryCommand: commandText([
345
- "node",
346
- path.join(activeBundleRoot, "scripts", "agentera"),
347
- expectedCommands[0] ?? "prime",
348
- ]),
349
- approval: `approve app files repair for ${installRoot}`,
333
+ retryCommand: buildInvokingCliRetryCommand(sourceRoot, channel, env, expectedCommands[0] ?? "prime"),
350
334
  };
351
335
  }
352
- /** Default CLI probe placeholder (wired to the bundled TS CLI in Phase 8). */
353
- const defaultProbe = ({ expectedCommands }) => ({
354
- ok: false,
355
- command: null,
356
- returnCode: null,
357
- stdoutTail: [],
358
- stderrTail: [],
359
- missingCommands: [...expectedCommands],
360
- message: "CLI probe not yet wired to the bundled TS CLI",
361
- });
362
336
  export function publicDoctorStatus(status) {
363
- const pub = JSON.parse(JSON.stringify(status));
364
- delete pub.installRoot;
365
- delete pub.installRootSource;
366
- return pub;
337
+ const { installRoot: _installRoot, installRootSource: _installRootSource, installKind: _installKind, rootStatus: _rootStatus, platformAppHome, cliApp, ...rest } = status;
338
+ const result = { ...rest };
339
+ if (platformAppHome) {
340
+ const { rootStatus: _prs, ...platform } = platformAppHome;
341
+ result.platformAppHome = platform;
342
+ }
343
+ if (cliApp) {
344
+ const { rootStatus: _crs, ...cli } = cliApp;
345
+ result.cliApp = cli;
346
+ }
347
+ return result;
348
+ }
349
+ /** Oracle-pinned keys for `agentera doctor --format json` (parity-remaining-families.json). */
350
+ export const DOCTOR_PARITY_JSON_KEYS = [
351
+ "status",
352
+ "expectedVersion",
353
+ "appHome",
354
+ "managedAppRoot",
355
+ "userDataRoot",
356
+ "signals",
357
+ "dryRunCommand",
358
+ "applyCommand",
359
+ "retryCommand",
360
+ ];
361
+ /** Public doctor JSON envelope: command label plus oracle structural keys only. */
362
+ export function doctorParityJsonEnvelope(status) {
363
+ const pub = publicDoctorStatus(status);
364
+ const out = { command: "doctor", install_track: projectInstallTrack(status.installKind) };
365
+ for (const key of DOCTOR_PARITY_JSON_KEYS) {
366
+ if (key in pub)
367
+ out[key] = pub[key];
368
+ }
369
+ return out;
367
370
  }
368
371
  //# sourceMappingURL=doctor.js.map
@@ -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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"}