agentera 3.0.0-dev.5 → 3.0.0-next.1

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 (336) hide show
  1. package/README.md +4 -3
  2. package/bundle/extract-corpus-parity.json +23 -0
  3. package/bundle/references/adapters/cursor.md +9 -8
  4. package/bundle/references/adapters/opencode.md +1 -1
  5. package/bundle/references/adapters/package-registry.yaml +0 -1
  6. package/bundle/references/adapters/package-surface-characterization.md +1 -2
  7. package/bundle/references/analysis/startup-measurement-contract.yaml +15 -15
  8. package/bundle/references/cli/audience-namespace-cli-migration.yaml +40 -26
  9. package/bundle/references/cli/bundle-skill-vocabulary.yaml +1 -29
  10. package/bundle/references/cli/coexistence-probe.yaml +9 -0
  11. package/bundle/references/cli/parity-expected-actual-template.md +30 -0
  12. package/bundle/references/cli/single-name-protocol.yaml +42 -0
  13. package/bundle/references/cli/update-channels.yaml +16 -0
  14. package/bundle/references/cli/upgrade-repair-wording.md +31 -0
  15. package/bundle/references/cli/v3-handoff-manifest.schema.yaml +98 -0
  16. package/bundle/references/cli/vocabulary-index.yaml +6 -4
  17. package/bundle/references/cli/vocabulary.md +307 -301
  18. package/bundle/references/meta/documentation-inventory.md +9 -3
  19. package/bundle/skills/agentera/SKILL.md +49 -41
  20. package/bundle/skills/agentera/capabilities/hej/schemas/artifacts.yaml +4 -1
  21. package/bundle/skills/agentera/capabilities/profilera/schemas/exit.yaml +2 -1
  22. package/bundle/skills/agentera/capability_schema_contract.yaml +28 -0
  23. package/bundle/skills/agentera/references/contract.md +324 -315
  24. package/bundle/skills/agentera/schemas/artifacts/todo.yaml +38 -33
  25. package/dist/analytics/extractCorpus/cli.js +149 -0
  26. package/dist/analytics/extractCorpus/cli.js.map +1 -0
  27. package/dist/analytics/extractCorpus/copilotSessions.js +273 -0
  28. package/dist/analytics/extractCorpus/copilotSessions.js.map +1 -0
  29. package/dist/analytics/extractCorpus/core.js +363 -0
  30. package/dist/analytics/extractCorpus/core.js.map +1 -0
  31. package/dist/analytics/extractCorpus/corpus.js +145 -0
  32. package/dist/analytics/extractCorpus/corpus.js.map +1 -0
  33. package/dist/analytics/extractCorpus/coverageAudit.js +261 -0
  34. package/dist/analytics/extractCorpus/coverageAudit.js.map +1 -0
  35. package/dist/analytics/extractCorpus/cursorSessions.js +423 -0
  36. package/dist/analytics/extractCorpus/cursorSessions.js.map +1 -0
  37. package/dist/analytics/extractCorpus/extractCorpusParity.js +105 -0
  38. package/dist/analytics/extractCorpus/extractCorpusParity.js.map +1 -0
  39. package/dist/analytics/extractCorpus/filesystemSources.js +122 -0
  40. package/dist/analytics/extractCorpus/filesystemSources.js.map +1 -0
  41. package/dist/analytics/extractCorpus/index.js +12 -0
  42. package/dist/analytics/extractCorpus/index.js.map +1 -0
  43. package/dist/analytics/extractCorpus/jsonlSessions.js +185 -0
  44. package/dist/analytics/extractCorpus/jsonlSessions.js.map +1 -0
  45. package/dist/analytics/extractCorpus/sqliteCaps.js +44 -0
  46. package/dist/analytics/extractCorpus/sqliteCaps.js.map +1 -0
  47. package/dist/analytics/extractCorpus/sqliteSessions.js +368 -0
  48. package/dist/analytics/extractCorpus/sqliteSessions.js.map +1 -0
  49. package/dist/analytics/extractCorpus.js +2 -1790
  50. package/dist/analytics/extractCorpus.js.map +1 -1
  51. package/dist/analytics/usageStats.js +1 -1
  52. package/dist/analytics/usageStats.js.map +1 -1
  53. package/dist/capabilities/inspirera/instructions.js +1 -1
  54. package/dist/capabilities/inspirera/instructions.js.map +1 -1
  55. package/dist/capabilities/planera/instructions.js +1 -1
  56. package/dist/capabilities/planera/instructions.js.map +1 -1
  57. package/dist/capabilities/profilera/instructions.js +1 -1
  58. package/dist/capabilities/profilera/instructions.js.map +1 -1
  59. package/dist/capabilities/realisera/instructions.js +1 -1
  60. package/dist/capabilities/realisera/instructions.js.map +1 -1
  61. package/dist/capabilities/resonera/instructions.js +1 -1
  62. package/dist/capabilities/resonera/instructions.js.map +1 -1
  63. package/dist/capabilities/visionera/instructions.js +1 -1
  64. package/dist/capabilities/visionera/instructions.js.map +1 -1
  65. package/dist/capabilities/visualisera/instructions.js +3 -4
  66. package/dist/capabilities/visualisera/instructions.js.map +1 -1
  67. package/dist/cli/appContext.js +2 -14
  68. package/dist/cli/appContext.js.map +1 -1
  69. package/dist/cli/capabilityContext/benchmark.js +557 -0
  70. package/dist/cli/capabilityContext/benchmark.js.map +1 -0
  71. package/dist/cli/capabilityContext/bespoke.js +25 -0
  72. package/dist/cli/capabilityContext/bespoke.js.map +1 -0
  73. package/dist/cli/capabilityContext/closeout.js +230 -0
  74. package/dist/cli/capabilityContext/closeout.js.map +1 -0
  75. package/dist/cli/capabilityContext/contract.js +186 -0
  76. package/dist/cli/capabilityContext/contract.js.map +1 -0
  77. package/dist/cli/capabilityContext/evidence.js +446 -0
  78. package/dist/cli/capabilityContext/evidence.js.map +1 -0
  79. package/dist/cli/capabilityContext/index.js +4 -0
  80. package/dist/cli/capabilityContext/index.js.map +1 -0
  81. package/dist/cli/capabilityContext/orchestration.js +107 -0
  82. package/dist/cli/capabilityContext/orchestration.js.map +1 -0
  83. package/dist/cli/capabilityContext/planState.js +271 -0
  84. package/dist/cli/capabilityContext/planState.js.map +1 -0
  85. package/dist/cli/capabilityContext/progress.js +96 -0
  86. package/dist/cli/capabilityContext/progress.js.map +1 -0
  87. package/dist/cli/capabilityContext/realisera.js +174 -0
  88. package/dist/cli/capabilityContext/realisera.js.map +1 -0
  89. package/dist/cli/capabilityContext/shared.js +94 -0
  90. package/dist/cli/capabilityContext/shared.js.map +1 -0
  91. package/dist/cli/capabilityContext/slim.js +106 -0
  92. package/dist/cli/capabilityContext/slim.js.map +1 -0
  93. package/dist/cli/capabilityContext/startup.js +208 -0
  94. package/dist/cli/capabilityContext/startup.js.map +1 -0
  95. package/dist/cli/capabilityContext/types.js +43 -0
  96. package/dist/cli/capabilityContext/types.js.map +1 -0
  97. package/dist/cli/capabilityContext.js +1 -2486
  98. package/dist/cli/capabilityContext.js.map +1 -1
  99. package/dist/cli/commands/appHome.js +23 -0
  100. package/dist/cli/commands/appHome.js.map +1 -0
  101. package/dist/cli/commands/compact.js +1 -1
  102. package/dist/cli/commands/compact.js.map +1 -1
  103. package/dist/cli/commands/doctor.js +18 -96
  104. package/dist/cli/commands/doctor.js.map +1 -1
  105. package/dist/cli/commands/lint.js +4 -36
  106. package/dist/cli/commands/lint.js.map +1 -1
  107. package/dist/cli/commands/prime/bundleStatus.js +126 -0
  108. package/dist/cli/commands/prime/bundleStatus.js.map +1 -0
  109. package/dist/cli/commands/prime/collectOrientationState.js +143 -0
  110. package/dist/cli/commands/prime/collectOrientationState.js.map +1 -0
  111. package/dist/cli/commands/prime/orientationOutput.js +172 -0
  112. package/dist/cli/commands/prime/orientationOutput.js.map +1 -0
  113. package/dist/cli/commands/prime/types.js +2 -0
  114. package/dist/cli/commands/prime/types.js.map +1 -0
  115. package/dist/cli/commands/prime/v1Migration.js +39 -0
  116. package/dist/cli/commands/prime/v1Migration.js.map +1 -0
  117. package/dist/cli/commands/prime.js +10 -549
  118. package/dist/cli/commands/prime.js.map +1 -1
  119. package/dist/cli/commands/query.js +1 -1
  120. package/dist/cli/commands/query.js.map +1 -1
  121. package/dist/cli/commands/report.js +19 -4
  122. package/dist/cli/commands/report.js.map +1 -1
  123. package/dist/cli/commands/schema.js +1 -2
  124. package/dist/cli/commands/schema.js.map +1 -1
  125. package/dist/cli/commands/state/decisions.js +397 -0
  126. package/dist/cli/commands/state/decisions.js.map +1 -0
  127. package/dist/cli/commands/state/docs.js +93 -0
  128. package/dist/cli/commands/state/docs.js.map +1 -0
  129. package/dist/cli/commands/state/experiments.js +67 -0
  130. package/dist/cli/commands/state/experiments.js.map +1 -0
  131. package/dist/cli/commands/state/health.js +114 -0
  132. package/dist/cli/commands/state/health.js.map +1 -0
  133. package/dist/cli/commands/state/index.js +51 -0
  134. package/dist/cli/commands/state/index.js.map +1 -0
  135. package/dist/cli/commands/state/objective.js +68 -0
  136. package/dist/cli/commands/state/objective.js.map +1 -0
  137. package/dist/cli/commands/state/plan.js +172 -0
  138. package/dist/cli/commands/state/plan.js.map +1 -0
  139. package/dist/cli/commands/state/progress.js +47 -0
  140. package/dist/cli/commands/state/progress.js.map +1 -0
  141. package/dist/cli/commands/state/shared.js +15 -0
  142. package/dist/cli/commands/state/shared.js.map +1 -0
  143. package/dist/cli/commands/state/todo.js +121 -0
  144. package/dist/cli/commands/state/todo.js.map +1 -0
  145. package/dist/cli/commands/validate.js +38 -24
  146. package/dist/cli/commands/validate.js.map +1 -1
  147. package/dist/cli/contracts/bundleStatus.js +2 -0
  148. package/dist/cli/contracts/bundleStatus.js.map +1 -0
  149. package/dist/cli/contracts/orientationState.js +2 -0
  150. package/dist/cli/contracts/orientationState.js.map +1 -0
  151. package/dist/cli/dispatch/argvParser.js +33 -0
  152. package/dist/cli/dispatch/argvParser.js.map +1 -0
  153. package/dist/cli/dispatch/check.js +328 -0
  154. package/dist/cli/dispatch/check.js.map +1 -0
  155. package/dist/cli/dispatch/commands.js +27 -0
  156. package/dist/cli/dispatch/commands.js.map +1 -0
  157. package/dist/cli/dispatch/index.js +179 -0
  158. package/dist/cli/dispatch/index.js.map +1 -0
  159. package/dist/cli/dispatch/lifecycle.js +537 -0
  160. package/dist/cli/dispatch/lifecycle.js.map +1 -0
  161. package/dist/cli/dispatch/prime.js +104 -0
  162. package/dist/cli/dispatch/prime.js.map +1 -0
  163. package/dist/cli/dispatch/shared.js +64 -0
  164. package/dist/cli/dispatch/shared.js.map +1 -0
  165. package/dist/cli/dispatch/state.js +144 -0
  166. package/dist/cli/dispatch/state.js.map +1 -0
  167. package/dist/cli/dispatch.js +1 -1293
  168. package/dist/cli/dispatch.js.map +1 -1
  169. package/dist/cli/help.js +30 -2
  170. package/dist/cli/help.js.map +1 -1
  171. package/dist/cli/orientation/attention.js +57 -0
  172. package/dist/cli/orientation/attention.js.map +1 -0
  173. package/dist/cli/orientation/corpusCoverage.js +71 -0
  174. package/dist/cli/orientation/corpusCoverage.js.map +1 -0
  175. package/dist/cli/orientation.js +41 -28
  176. package/dist/cli/orientation.js.map +1 -1
  177. package/dist/cli/startupCompletenessContract.js +49 -0
  178. package/dist/cli/startupCompletenessContract.js.map +1 -0
  179. package/dist/cli/todoSeverity.js +19 -0
  180. package/dist/cli/todoSeverity.js.map +1 -0
  181. package/dist/core/jsonValue.js +6 -0
  182. package/dist/core/jsonValue.js.map +1 -0
  183. package/dist/core/pyjson.js +67 -2
  184. package/dist/core/pyjson.js.map +1 -1
  185. package/dist/hooks/common.js +8 -23
  186. package/dist/hooks/common.js.map +1 -1
  187. package/dist/hooks/compaction/apply.js +263 -0
  188. package/dist/hooks/compaction/apply.js.map +1 -0
  189. package/dist/hooks/compaction/dryRun.js +181 -0
  190. package/dist/hooks/compaction/dryRun.js.map +1 -0
  191. package/dist/hooks/compaction/index.js +23 -0
  192. package/dist/hooks/compaction/index.js.map +1 -0
  193. package/dist/hooks/compaction/parse.js +258 -0
  194. package/dist/hooks/compaction/parse.js.map +1 -0
  195. package/dist/hooks/compaction/retention.js +197 -0
  196. package/dist/hooks/compaction/retention.js.map +1 -0
  197. package/dist/hooks/compaction/status.js +241 -0
  198. package/dist/hooks/compaction/status.js.map +1 -0
  199. package/dist/hooks/compaction/types.js +6 -0
  200. package/dist/hooks/compaction/types.js.map +1 -0
  201. package/dist/hooks/cursorPreToolUse.js +1 -1
  202. package/dist/hooks/cursorPreToolUse.js.map +1 -1
  203. package/dist/hooks/cursorSessionStart.js +10 -2
  204. package/dist/hooks/cursorSessionStart.js.map +1 -1
  205. package/dist/hooks/sessionStart.js +4 -4
  206. package/dist/hooks/sessionStart.js.map +1 -1
  207. package/dist/hooks/sessionStop.js +3 -12
  208. package/dist/hooks/sessionStop.js.map +1 -1
  209. package/dist/hooks/validateArtifact/agentFacing.js +10 -0
  210. package/dist/hooks/validateArtifact/agentFacing.js.map +1 -0
  211. package/dist/hooks/validateArtifact/index.js +149 -0
  212. package/dist/hooks/validateArtifact/index.js.map +1 -0
  213. package/dist/hooks/validateArtifact/markdown.js +146 -0
  214. package/dist/hooks/validateArtifact/markdown.js.map +1 -0
  215. package/dist/hooks/validateArtifact/runtime.js +83 -0
  216. package/dist/hooks/validateArtifact/runtime.js.map +1 -0
  217. package/dist/hooks/validateArtifact/schema.js +455 -0
  218. package/dist/hooks/validateArtifact/schema.js.map +1 -0
  219. package/dist/hooks/validateArtifact/traversal.js +105 -0
  220. package/dist/hooks/validateArtifact/traversal.js.map +1 -0
  221. package/dist/hooks/validateArtifact/violations.js +105 -0
  222. package/dist/hooks/validateArtifact/violations.js.map +1 -0
  223. package/dist/migrate/v2HandoffManifest.js +333 -0
  224. package/dist/migrate/v2HandoffManifest.js.map +1 -0
  225. package/dist/registries/artifactProtocolIds.js +77 -0
  226. package/dist/registries/artifactProtocolIds.js.map +1 -0
  227. package/dist/release/releaseMetadata.js +235 -0
  228. package/dist/release/releaseMetadata.js.map +1 -0
  229. package/dist/setup/codex/agents.js +96 -0
  230. package/dist/setup/codex/agents.js.map +1 -0
  231. package/dist/setup/codex/cli.js +161 -0
  232. package/dist/setup/codex/cli.js.map +1 -0
  233. package/dist/setup/codex/configToml.js +644 -0
  234. package/dist/setup/codex/configToml.js.map +1 -0
  235. package/dist/setup/codex/constants.js +29 -0
  236. package/dist/setup/codex/constants.js.map +1 -0
  237. package/dist/setup/codex/installRoot.js +64 -0
  238. package/dist/setup/codex/installRoot.js.map +1 -0
  239. package/dist/setup/codex/state.js +270 -0
  240. package/dist/setup/codex/state.js.map +1 -0
  241. package/dist/setup/codex.js +11 -1196
  242. package/dist/setup/codex.js.map +1 -1
  243. package/dist/setup/cursor.js +1 -1
  244. package/dist/setup/cursor.js.map +1 -1
  245. package/dist/setup/doctor/core.js +300 -0
  246. package/dist/setup/doctor/core.js.map +1 -0
  247. package/dist/setup/doctor/diagnostics.js +247 -0
  248. package/dist/setup/doctor/diagnostics.js.map +1 -0
  249. package/dist/setup/doctor/opencode.js +281 -0
  250. package/dist/setup/doctor/opencode.js.map +1 -0
  251. package/dist/setup/doctor/report.js +418 -0
  252. package/dist/setup/doctor/report.js.map +1 -0
  253. package/dist/setup/doctor.js +9 -1296
  254. package/dist/setup/doctor.js.map +1 -1
  255. package/dist/setup/opencode.js +13 -0
  256. package/dist/setup/opencode.js.map +1 -0
  257. package/dist/setup/smokeChecks.js +1 -1
  258. package/dist/setup/smokeChecks.js.map +1 -1
  259. package/dist/state/installRoot.js +49 -18
  260. package/dist/state/installRoot.js.map +1 -1
  261. package/dist/state/startupAnalysis/benchmark.js +367 -0
  262. package/dist/state/startupAnalysis/benchmark.js.map +1 -0
  263. package/dist/state/startupAnalysis/contract.js +122 -0
  264. package/dist/state/startupAnalysis/contract.js.map +1 -0
  265. package/dist/state/startupAnalysis/helpers.js +287 -0
  266. package/dist/state/startupAnalysis/helpers.js.map +1 -0
  267. package/dist/state/startupAnalysis/index.js +7 -0
  268. package/dist/state/startupAnalysis/index.js.map +1 -0
  269. package/dist/state/startupAnalysis/metrics.js +334 -0
  270. package/dist/state/startupAnalysis/metrics.js.map +1 -0
  271. package/dist/state/startupAnalysis/records.js +195 -0
  272. package/dist/state/startupAnalysis/records.js.map +1 -0
  273. package/dist/state/startupAnalysis/report.js +101 -0
  274. package/dist/state/startupAnalysis/report.js.map +1 -0
  275. package/dist/state/startupAnalysis/threshold.js +500 -0
  276. package/dist/state/startupAnalysis/threshold.js.map +1 -0
  277. package/dist/state/startupAnalysis.js +2 -1952
  278. package/dist/state/startupAnalysis.js.map +1 -1
  279. package/dist/upgrade/appModel.js +1 -4
  280. package/dist/upgrade/appModel.js.map +1 -1
  281. package/dist/upgrade/bundleEvidence.js +34 -0
  282. package/dist/upgrade/bundleEvidence.js.map +1 -0
  283. package/dist/upgrade/channels.js +8 -1
  284. package/dist/upgrade/channels.js.map +1 -1
  285. package/dist/upgrade/cliProbe.js +22 -0
  286. package/dist/upgrade/cliProbe.js.map +1 -0
  287. package/dist/upgrade/coexistenceProbe.js +80 -0
  288. package/dist/upgrade/coexistenceProbe.js.map +1 -0
  289. package/dist/upgrade/compatibility.js +1 -4
  290. package/dist/upgrade/compatibility.js.map +1 -1
  291. package/dist/upgrade/doctor.js +204 -170
  292. package/dist/upgrade/doctor.js.map +1 -1
  293. package/dist/upgrade/doctorClassifier.js +208 -0
  294. package/dist/upgrade/doctorClassifier.js.map +1 -0
  295. package/dist/upgrade/migrateArtifactsV2ToV3.js +6 -84
  296. package/dist/upgrade/migrateArtifactsV2ToV3.js.map +1 -1
  297. package/dist/upgrade/nextMajorDoctor.js +20 -1
  298. package/dist/upgrade/nextMajorDoctor.js.map +1 -1
  299. package/dist/upgrade/npxPlatformStatus.js +24 -0
  300. package/dist/upgrade/npxPlatformStatus.js.map +1 -0
  301. package/dist/upgrade/projectIntegration.js +55 -70
  302. package/dist/upgrade/projectIntegration.js.map +1 -1
  303. package/dist/upgrade/projectIntegrationDecision.js +93 -0
  304. package/dist/upgrade/projectIntegrationDecision.js.map +1 -0
  305. package/dist/upgrade/runtimeMigration.js +13 -2
  306. package/dist/upgrade/runtimeMigration.js.map +1 -1
  307. package/dist/upgrade/v3CapabilitySurface.js +15 -0
  308. package/dist/upgrade/v3CapabilitySurface.js.map +1 -0
  309. package/dist/upgrade/versionResolution.js +8 -0
  310. package/dist/upgrade/versionResolution.js.map +1 -1
  311. package/dist/validate/appHomeContract.js +3 -3
  312. package/dist/validate/appHomeContract.js.map +1 -1
  313. package/dist/validate/lifecycleAdapters/legacyPythonParity.js +93 -0
  314. package/dist/validate/lifecycleAdapters/legacyPythonParity.js.map +1 -0
  315. package/dist/validate/lifecycleAdapters/nodeFormChecks.js +488 -0
  316. package/dist/validate/lifecycleAdapters/nodeFormChecks.js.map +1 -0
  317. package/dist/validate/lifecycleAdapters/shared.js +198 -0
  318. package/dist/validate/lifecycleAdapters/shared.js.map +1 -0
  319. package/dist/validate/lifecycleAdapters.js +12 -722
  320. package/dist/validate/lifecycleAdapters.js.map +1 -1
  321. package/dist/validate/selfAudit.js +62 -20
  322. package/dist/validate/selfAudit.js.map +1 -1
  323. package/dist/validate/vocabularyAuthority.js +298 -0
  324. package/dist/validate/vocabularyAuthority.js.map +1 -0
  325. package/package.json +3 -3
  326. package/bundle/references/v1-section-mapping.md +0 -47
  327. package/bundle/skills/hej/.claude-plugin/plugin.json +0 -6
  328. package/bundle/skills/hej/SKILL.md +0 -69
  329. package/bundle/skills/hej/agents/hej.toml +0 -11
  330. package/bundle/skills/hej/agents/openai.yaml +0 -8
  331. package/dist/cli/commands/state.js +0 -1023
  332. package/dist/cli/commands/state.js.map +0 -1
  333. package/dist/hooks/compaction.js +0 -935
  334. package/dist/hooks/compaction.js.map +0 -1
  335. package/dist/hooks/validateArtifact.js +0 -935
  336. package/dist/hooks/validateArtifact.js.map +0 -1
package/README.md CHANGED
@@ -17,10 +17,11 @@ npx -y agentera@next upgrade --dry-run --channel development
17
17
  Run those from a project root. `prime` reports `project_integration.recommendation`
18
18
  (`stay` or `upgrade`) and suggested commands for the current repo.
19
19
 
20
- Full preview instructions, highlights, and migration paths:
21
- [repository README — Agentera 3.0 preview](../../README.md#agentera-30-preview).
20
+ Full preview instructions, channels, and migration paths: [`UPGRADE.md`](../../UPGRADE.md).
22
21
 
23
- Upgrade channels and v2→v3 opt-in: [`UPGRADE.md`](../../UPGRADE.md).
22
+ ## Editor runtime installs
23
+
24
+ Agentera ships a skill bundle for supported editor runtimes (Claude Code, OpenCode, Cursor, Copilot CLI, Codex CLI). Install steps and parity details live in the [repository README — Internals](../../README.md#internals) and [`references/adapters/runtime-feature-parity.md`](../../references/adapters/runtime-feature-parity.md).
24
25
 
25
26
  ## Package layout
26
27
 
@@ -0,0 +1,23 @@
1
+ {
2
+ "schema_version": "agentera-extract-corpus-parity-v1",
3
+ "adapter_version": "agentera-v2-corpus-1",
4
+ "max_sqlite_sessions": 60,
5
+ "max_sqlite_rows": 100000,
6
+ "max_tool_arg_text": 500,
7
+ "copilot_sparse_remediation": "/chronicle reindex",
8
+ "runtime_store_globs": {
9
+ "codex": "*.jsonl",
10
+ "claude-code": "*.jsonl",
11
+ "cursor": "*.jsonl",
12
+ "cursor-agent": "store.db",
13
+ "opencode": "opencode.db",
14
+ "github-copilot": "session-store.db"
15
+ },
16
+ "families": [
17
+ "instruction_document",
18
+ "history_prompt",
19
+ "conversation_turn",
20
+ "tool_call",
21
+ "project_config_signal"
22
+ ]
23
+ }
@@ -52,20 +52,21 @@ This repository dogfoods committed Cursor surfaces:
52
52
  - `.cursor/agents/*.md` — twelve managed capability descriptors
53
53
  - `.cursor-plugin/plugin.json` — marketplace submission-ready manifest
54
54
 
55
- Hooks resolve helper scripts through `uv run hooks/...` from the project root.
56
- `sessionStart` exports `AGENTERA_HOME` through Cursor hook JSON (`env`) before
57
- subsequent hook executions run.
55
+ Hooks invoke the TypeScript CLI through `npx -y agentera hook …` (or
56
+ `npx -y agentera@next hook …` on the development channel). `sessionStart` exports
57
+ `AGENTERA_HOME` through Cursor hook JSON (`env`) before subsequent hook executions
58
+ run.
58
59
 
59
60
  ## AGENTERA_HOME wiring
60
61
 
61
- Primary path: `hooks/cursor_session_start.py` resolves the install root from
62
- `AGENTERA_HOME`, project walk-up, or the plugin/checkout root (`hooks/` parent)
63
- when the hook runs from a plugin install, then returns
62
+ Primary path: `agentera hook cursor-session-start` resolves the install root from
63
+ `AGENTERA_HOME`, project walk-up, the plugin/checkout root, or the platform default
64
+ app home when env and walk-up do not resolve a managed root, then returns
64
65
  `{"env": {"AGENTERA_HOME": "<root>"}}` plus optional `additional_context` from
65
66
  the shared session digest.
66
67
 
67
- Fallback: `scripts/setup_cursor.py` reports persistent shell configuration only
68
- when live shell-tool smoke proves session env does not propagate to CLI
68
+ Fallback: `packages/cli/src/setup/cursor.ts` reports persistent shell configuration
69
+ only when live shell-tool smoke proves session env does not propagate to CLI
69
70
  subprocesses. Agentera does not write shell rc files by default.
70
71
 
71
72
  ## Artifact validation
@@ -56,7 +56,7 @@ OpenCode skill search paths:
56
56
  - Global install: `npx skills add jgabor/agentera -g -a opencode --skill agentera -y`
57
57
  - Project install: symlink or copy `skills/agentera/` into `.opencode/skills/agentera/` or `.agents/skills/agentera/`
58
58
 
59
- The temporary `skills/hej/` entry point is a v1 upgrade bridge, not a new-install target. Each Agentera skill entry file already contains YAML frontmatter with `name` and `description`, which matches OpenCode's frontmatter requirements exactly. The OpenCode plugin adds one prompt transformation: when the complete user message is exactly bare text `hej`, `chat.message` rewrites it to load the bundled `agentera` skill and route through the `agentera hej` dashboard path. The match is exact except for OpenCode's CLI-added single trailing newline transport artifact, and does not apply to `/hej`, `Hej`, `hej there`, attachments, or other message parts.
59
+ Each Agentera skill entry file contains YAML frontmatter with `name` and `description`, which matches OpenCode's frontmatter requirements exactly. The OpenCode plugin adds one prompt transformation: when the complete user message is exactly bare text `hej`, `chat.message` rewrites it to load the bundled `agentera` skill and route through the `agentera prime` dashboard path. The match is exact except for OpenCode's CLI-added single trailing newline transport artifact, and does not apply to `Hej`, `hej there`, attachments, or other message parts.
60
60
 
61
61
  **OpenCode frontmatter validation** requires: `name` (1-64 chars, lowercase alphanumeric with single hyphens), `description` (1-1024 chars). Agentera entry point names are lowercase, matching the validation regex `^[a-z0-9]+(-[a-z0-9]+)*$`.
62
62
 
@@ -233,7 +233,6 @@ records:
233
233
  - .claude-plugin/marketplace.json
234
234
  - .opencode/plugins/agentera.js
235
235
  - skills/agentera/SKILL.md
236
- - skills/hej/SKILL.md
237
236
  - registry.json
238
237
  index_targets:
239
238
  - references/adapters/package-surface-characterization.md
@@ -17,7 +17,7 @@ The current version-bearing surfaces are:
17
17
  | `plugin.json` | version-bearing surface and runtime package manifest | root Copilot manifest `version` matches the suite version. |
18
18
  | `.github/plugin/plugin.json` | version-bearing surface and runtime package manifest | repository Copilot manifest `version` matches the suite version. |
19
19
  | `.codex-plugin/plugin.json` | version-bearing surface and runtime package manifest | Codex manifest `version` matches the suite version. |
20
- | `.claude-plugin/marketplace.json` | version-bearing surface and runtime package manifest | `metadata.version` and every plugin entry version, including the legacy `hej` bridge, match the suite version. |
20
+ | `.claude-plugin/marketplace.json` | version-bearing surface and runtime package manifest | `metadata.version` and the bundled `agentera` plugin entry version match the suite version. |
21
21
  | `.opencode/plugins/agentera.js` | version-bearing surface | `AGENTERA_VERSION` matches the registry suite version and drives the OpenCode command marker file `.agentera-version`. |
22
22
 
23
23
  `.opencode/package.json` is intentionally not version-bearing. Its current behavior is runtime package manifest behavior only: it keeps `type: "module"`, `main`/`exports` pointing at `./plugins/agentera.js`, `dependencies["@opencode-ai/plugin"] == "1.14.33"`, and an `agentera` npm-loadable plugin metadata block, but it has no top-level `name` or `version` field.
@@ -44,5 +44,4 @@ Write gating is preserved: `--update-packages` changes package items from `skipp
44
44
  | `.agentera/docs.yaml` `version_files` includes version-bearing surfaces and excludes `.opencode/package.json`. | version-bearing surface | `preserve` | Keep `.opencode/package.json` out of version checks because it is a runtime package manifest, not a suite version surface. |
45
45
  | `.opencode/package.json` is force-included and bundled, but it is not in docs `version_files`. | runtime package manifest | `preserve` | Keep packaging it without treating it as version-bearing. |
46
46
  | Upgrade package commands are represented as argv lists for Claude Code and OpenCode only; Codex and Copilot have runtime manifests but no package-manager command entries. | package-manager command surface | `preserve` | Keep command planning limited to currently managed package runtimes. |
47
- | `.claude-plugin/marketplace.json` carries a `hej` legacy bridge version alongside `agentera`. | version-bearing surface | `defer` | Keep the legacy bridge version aligned until a separate legacy-bridge removal or marketplace simplification task exists. |
48
47
  | Live package-manager behavior is not characterized by this task. | package-manager command surface | `defer` | Keep tests mocked; do not introduce live `npx skills` execution. |
@@ -90,16 +90,16 @@ runtime_extraction_contract:
90
90
  parsing encountered schema errors. This is extraction failure evidence,
91
91
  not a successful zero-record benchmark window.
92
92
  required_counts:
93
- - candidate_count when discovery can count candidates
93
+ - file_count when discovery can count store files
94
94
  - record_count, which may be zero or partial
95
95
  - error_count greater than zero
96
96
  current_examples:
97
97
  - runtime: claude-code
98
- candidate_count: 4836
98
+ file_count: 4836
99
99
  record_count: 0
100
100
  error_count: 2
101
101
  - runtime: github-copilot
102
- candidate_count: 1
102
+ file_count: 1
103
103
  record_count: 0
104
104
  error_count: 1
105
105
  no_matching_records:
@@ -110,7 +110,7 @@ runtime_extraction_contract:
110
110
  shape, but no supported message or tool records were extracted. This is
111
111
  sparse coverage evidence and remains distinct from schema divergence.
112
112
  required_counts:
113
- - candidate_count when discovery can count candidates
113
+ - file_count when discovery can count store files
114
114
  - "record_count: 0"
115
115
  - no error_count greater than zero
116
116
  successful_zero_record_window:
@@ -362,17 +362,17 @@ privacy_boundary:
362
362
  - canonical_event_class
363
363
  - salted_non_reconstructable_hash
364
364
  canonical_artifact_labels:
365
- TODO.md: TODO.md
366
- CHANGELOG.md: CHANGELOG.md
367
- DESIGN.md: DESIGN.md
368
- PLAN.md: PLAN.md
369
- PROGRESS.md: PROGRESS.md
370
- DOCS.md: DOCS.md
371
- DECISIONS.md: DECISIONS.md
372
- HEALTH.md: HEALTH.md
373
- VISION.md: VISION.md
374
- OBJECTIVE.md: OBJECTIVE.md
375
- EXPERIMENTS.md: EXPERIMENTS.md
365
+ todo: todo
366
+ changelog: changelog
367
+ design: design
368
+ plan: plan
369
+ progress: progress
370
+ docs: docs
371
+ decisions: decisions
372
+ health: health
373
+ vision: vision
374
+ objective: objective
375
+ experiments: experiments
376
376
  AGENTS.md: AGENTS.md
377
377
  SKILL.md: SKILL.md
378
378
  AGENTERA_ARTIFACTS: AGENTERA_ARTIFACTS
@@ -204,9 +204,10 @@ prime_hej_schema_migration_boundary:
204
204
  prime_absorbs_hej:
205
205
  status: target
206
206
  hej_cli: >-
207
- Top-level `hej` is removed from the public parser after the alias period.
208
- `agentera hej` prints one stderr deprecation naming `prime` and delegates
209
- during Phase 1–2.
207
+ Top-level `hej` is removed from the npm 3.x public parser and dispatch.
208
+ During Phase 1–2, `agentera hej` printed one stderr deprecation naming
209
+ `prime` and delegated; Phase 3 on the development channel rejects the
210
+ command with an unsupported-target envelope.
210
211
  hej_skill_route: >-
211
212
  Bare `hej` in the Agentera skill still routes to orientation, but the installed
212
213
  CLI gate calls `agentera prime` and renders from that composite result.
@@ -225,8 +226,9 @@ prime_hej_schema_migration_boundary:
225
226
  status: target
226
227
  canonical: agentera schema [--format json|yaml]
227
228
  alias: >-
228
- `agentera describe` prints one stderr deprecation naming `schema` and delegates
229
- during Phase 1–2.
229
+ Top-level `describe` is removed from the npm 3.x public parser and dispatch.
230
+ During Phase 1–2, `agentera describe` printed one stderr deprecation naming
231
+ `schema` and delegated.
230
232
  discovery_ownership: >-
231
233
  `schema` owns runtime CLI/schema introspection formerly on `describe`, including
232
234
  command tree, audience tags, artifact locations, and linked contract sections.
@@ -260,7 +262,9 @@ plan_routing_distinction:
260
262
  is not a CLI command and does not read `.agentera/plan.yaml` by itself.
261
263
  state_read:
262
264
  invocation: agentera state plan
263
- legacy_alias: agentera plan
265
+ legacy_alias: >-
266
+ Top-level `agentera plan` was removed on the npm 3.x CLI in Phase 3; use
267
+ `agentera state plan`.
264
268
  surface: CLI routine state read
265
269
  meaning: >-
266
270
  Read-only access to the active plan artifact summary, tasks, acceptance
@@ -275,8 +279,8 @@ plan_routing_distinction:
275
279
  for Planera remains `agentera prime --context planera --format json`.
276
280
  agent_guidance: >-
277
281
  Use `/agentera plan` when the user wants planning work routed to Planera; use
278
- `agentera state plan` (or legacy `agentera plan`) when the agent needs plan
279
- artifact state; use `agentera planera` for capability routing guidance; use
282
+ `agentera state plan` when the agent needs plan artifact state; use
283
+ `agentera planera` for capability routing guidance; use
280
284
  `agentera prime --context planera` for bounded Planera startup context.
281
285
  migration_phases:
282
286
  phase_1:
@@ -295,15 +299,18 @@ migration_phases:
295
299
  - Record measurement evidence for JSON surface moves.
296
300
  phase_3:
297
301
  name: remove_deprecated_top_level_parsers
302
+ status: shipped_on_development_channel
298
303
  actions:
299
304
  - >-
300
- Remove `hej`, public `describe`, and `gate` from top-level parser help.
305
+ Remove `hej`, public `describe`, and `gate` from top-level parser help
306
+ and dispatch on the npm 3.x CLI.
301
307
  - >-
302
- Remove other deprecated top-level parsers except documented capability and
303
- lifecycle names and the Phase 1–2 alias set until post-major cleanup.
308
+ Remove routine-state top-level parsers (`plan`, `progress`, `health`,
309
+ `todo`, `decisions`, `docs`, `objective`, `experiments`) from help and
310
+ dispatch on the npm 3.x CLI.
304
311
  - >-
305
- Deferred final removal of all routine-state top-level aliases after one
306
- minor alias release.
312
+ Keep a transitional stderr-alias set (`validate`, `compact`, `verify`,
313
+ `stats`, `lint`, `query`) until post-cutover cleanup.
307
314
  alias_policy:
308
315
  stderr_format: one-line deprecation naming the canonical command
309
316
  delegation: forward to canonical handler with unchanged JSON/text envelopes
@@ -334,22 +341,29 @@ command_tree_target:
334
341
  - report [user]
335
342
  - check [maintainer]
336
343
 
337
- deprecated_top_level_aliases:
338
- # Command aliases that emit stderr deprecation warnings
339
- - { legacy: hej, canonical: prime }
340
- - { legacy: describe, canonical: schema }
341
- - { legacy: plan, canonical: "state plan" }
342
- - { legacy: progress, canonical: "state progress" }
343
- - { legacy: health, canonical: "state health" }
344
- - { legacy: todo, canonical: "state todo" }
345
- - { legacy: decisions, canonical: "state decisions" }
346
- - { legacy: docs, canonical: "state docs" }
347
- - { legacy: objective, canonical: "state objective" }
348
- - { legacy: experiments, canonical: "state experiments" }
344
+ removed_top_level_commands:
345
+ # Phase 3 on npm 3.x: removed from help and dispatch (unsupported_target)
346
+ - hej
347
+ - describe
348
+ - gate
349
+ - plan
350
+ - progress
351
+ - health
352
+ - todo
353
+ - decisions
354
+ - docs
355
+ - objective
356
+ - experiments
357
+
358
+ transitional_stderr_aliases:
359
+ # Still delegate with one-line stderr deprecation on npm 3.x
349
360
  - { legacy: query, canonical: "state query" }
350
361
  - { legacy: compact, canonical: "check compact" }
351
- - { legacy: gate, canonical: "check compact" }
352
362
  - { legacy: verify, canonical: "check verify" }
353
363
  - { legacy: stats, canonical: report }
354
364
  - { legacy: lint, canonical: "check lint" }
355
365
  - { legacy: validate, canonical: "check validate" }
366
+
367
+ # Superseded by `removed_top_level_commands` and `transitional_stderr_aliases`
368
+ # for npm 3.x Phase 3 (empty list retained for contract migration readers).
369
+ deprecated_top_level_aliases: []
@@ -14,7 +14,7 @@ scope:
14
14
  - Package and distribution metadata that names the suite package shape.
15
15
  - Runtime hook packaging prose and metadata for plugin-shipped hooks.
16
16
  - Historical references to the removed `bundle-status` command.
17
- - Current and legacy references to `skills/agentera/SKILL.md` and v1 skill entry files.
17
+ - Current references to `skills/agentera/SKILL.md`.
18
18
  excludes:
19
19
  - Routing and execution vocabulary collapse work.
20
20
  - Capability instruction-file rename work.
@@ -32,8 +32,6 @@ canonical_concept_order:
32
32
  - removed_bundle_status_command
33
33
  - agentera_routing_entry
34
34
  - skill_entry_file
35
- - v1_skill_entry_file
36
- - legacy_hej_bridge
37
35
  canonical_concepts:
38
36
  agentera_app_files:
39
37
  definition: >-
@@ -119,32 +117,6 @@ canonical_concepts:
119
117
  - SKILL.md
120
118
  - skill file
121
119
  - skill entry
122
- v1_skill_entry_file:
123
- definition: >-
124
- A historical standalone v1 skill entry file or path retained in migration
125
- notes, tests, stale-path checks, and compatibility fixtures.
126
- allowed_terms:
127
- - v1 skill entry file
128
- - v1 standalone skill entry file
129
- - "historical v1 `SKILL.md` file"
130
- - v1 skill path
131
- forbidden_ambiguous_shortcuts:
132
- - SKILL.md
133
- - v1 SKILL.md
134
- - old skill file
135
- legacy_hej_bridge:
136
- definition: >-
137
- The temporary v1 `/hej` bridge or exact bare `hej` compatibility path that
138
- guides users toward `/agentera` and the v2 upgrade path.
139
- allowed_terms:
140
- - legacy hej bridge
141
- - "legacy `/hej` bridge"
142
- - v1 hej bridge
143
- - "bare `hej` compatibility path"
144
- forbidden_ambiguous_shortcuts:
145
- - hej skill
146
- - legacy skill
147
- - old hej
148
120
  classification_order:
149
121
  - canonical_concept
150
122
  - compatibility_identifier
@@ -0,0 +1,9 @@
1
+ # v2/v3 coexistence doctor warning contract (both CLI lines).
2
+ schema_version: agentera.coexistenceProbe.v1
3
+ section_header: Coexistence
4
+ warning:
5
+ headline: "v3 detected alongside v2; pick one line"
6
+ resolutions:
7
+ - complete v3 migration
8
+ - uninstall v3
9
+ - stay on v2 explicitly
@@ -0,0 +1,30 @@
1
+ # Parity EXPECTED/ACTUAL bug-demonstration template
2
+
3
+ Apply this pattern to `npmParityMatrix` / Python-oracle parity rows when fixing a
4
+ regression: land a **demonstrate** commit first, then a **fix** commit that only
5
+ flips the assertion.
6
+
7
+ ## Workflow
8
+
9
+ 1. **Demonstrate commit** — test passes on broken behavior; correct expectation
10
+ preserved in a block comment (`EXPECTED`); wrong behavior asserted (`ACTUAL`).
11
+ 2. **Fix commit** — delete comment markers and `ACTUAL` line; `EXPECTED` becomes the
12
+ live assertion. No other edits in the fix commit.
13
+
14
+ ## Minimal vitest shape
15
+
16
+ See `packages/cli/test/cli/parityExpectedActualTemplate.test.ts` for a runnable
17
+ micro-example. For real parity rows, mirror the pattern in the oracle fixture row
18
+ and `npmParityMatrix.test.ts` drift assertions.
19
+
20
+ ## npmParityMatrix row
21
+
22
+ When adding a row to the parity matrix for a pre-existing bug:
23
+
24
+ - Register the row with `drift_direction: equal` as the target after fix.
25
+ - In the demonstrate pass, temporarily pin oracle shape to the **wrong** envelope
26
+ or assert `ACTUAL` substring in a dedicated regression test.
27
+ - Fix pass restores `equal` against the corrected CLI output.
28
+
29
+ Do not apply EXPECTED/ACTUAL by default to every row — only where bisect clarity
30
+ justifies the two-commit ritual.
@@ -0,0 +1,42 @@
1
+ schema_version: agentera.single_name_protocol.v1
2
+ status: active_authority
3
+ decision: 58
4
+ purpose: >-
5
+ Machine-readable Decision 58 boundary: forbidden legacy protocol identifiers
6
+ and scan surfaces for the single-name protocol regression test.
7
+ human_index:
8
+ document: references/cli/vocabulary.md
9
+ forbidden_protocol_substrings:
10
+ - pattern: instruction_file
11
+ rationale: D65 renamed DIRECTORY_REQUIREMENTS and contract fields to instruction_module.
12
+ - pattern: canonical_instruction_file
13
+ rationale: Use canonical_instruction_module in capability-instruction-contract.yaml.
14
+ - pattern: legacy_instruction_file
15
+ rationale: Historical paths belong in archive or migration modules only.
16
+ - pattern: instructionPath
17
+ rationale: capabilityContract loader exposes instructionModulePath only.
18
+ forbidden_storage_protocol_markdown_artifacts:
19
+ - PROGRESS.md
20
+ - PLAN.md
21
+ - DECISIONS.md
22
+ - VISION.md
23
+ - HEALTH.md
24
+ - DOCS.md
25
+ - OBJECTIVE.md
26
+ - EXPERIMENTS.md
27
+ scan_roots:
28
+ - packages/cli/src
29
+ - skills/agentera/capability_schema_contract.yaml
30
+ - skills/agentera/protocol.yaml
31
+ - references/cli/capability-instruction-contract.yaml
32
+ - references/cli/vocabulary.md
33
+ - references/cli/vocabulary-index.yaml
34
+ - registry.json
35
+ scan_exclude_globs:
36
+ - "**/capabilities/**/instructions.ts"
37
+ - "**/migrateArtifactsV1ToV2.ts"
38
+ - "**/migrateArtifactsV2ToV3.ts"
39
+ - "**/migrateArtifacts*.ts"
40
+ - "**/*.test.ts"
41
+ - "**/test/**"
42
+ comment_line_exempt: true
@@ -37,6 +37,7 @@ channels:
37
37
  concept: forward_successor_line
38
38
  channel: development
39
39
  version: "3.0.0"
40
+ announced: false
40
41
  npm:
41
42
  dist_tag: next
42
43
  npm_only_advisory: >-
@@ -63,6 +64,21 @@ channels:
63
64
  feat/v3 branch and v3 CLI are npm-only; v2→v3 is a one-way upgrade through
64
65
  npx @next, not through uvx or git checkout installs.
65
66
  distribution_major: 3
67
+ next_major:
68
+ concept: forward_successor_line
69
+ channel: development
70
+ version: "3.0.0"
71
+ announced: true
72
+ npm:
73
+ dist_tag: next
74
+ npm_only_advisory: >-
75
+ The v3 successor line is npm-only; opt in to v2→v3 migration through npx @next.
76
+ guide_url: >-
77
+ https://github.com/jgabor/agentera/blob/main/UPGRADE.md#upgrading-v2-to-v3-development-channel-irreversible
78
+ preview_command: npx -y agentera@next upgrade --dry-run --channel development
79
+ irreversible_advisory: >-
80
+ Forward migration to the v3 line is one-way; return to the prior
81
+ Python support line is permanently unsupported.
66
82
  resolution:
67
83
  npm:
68
84
  dist_tag: next
@@ -0,0 +1,31 @@
1
+ # Upgrade repair wording — v3 cursor agent skip
2
+
3
+ When `agentera upgrade --runtime cursor` (or a full runtime phase) runs against a
4
+ **project** directory, managed `.cursor/agents/*.md` descriptors are normally
5
+ copied from the active app-home bundle. On a **v3 capability-surface** project
6
+ that signal is suppressed so D65 `prime --context` bodies are not regressed to
7
+ the retired `instructions.md` read path.
8
+
9
+ ## v3 surface probe
10
+
11
+ Treat the project as v3 when **all twelve** instruction modules exist:
12
+
13
+ `packages/cli/src/capabilities/<name>/instructions.ts`
14
+
15
+ for every routed capability (`hej`, `visionera`, `resonera`, `inspirera`,
16
+ `planera`, `realisera`, `optimera`, `inspektera`, `dokumentera`, `profilera`,
17
+ `visualisera`, `orkestrera`).
18
+
19
+ If any module is missing, preserve v2 upgrade behavior (copy/refresh managed
20
+ agents from the bundle).
21
+
22
+ ## Orchestrator behavior
23
+
24
+ | Orchestrator | Branch | Behavior |
25
+ | --- | --- | --- |
26
+ | TypeScript (`packages/cli/src/upgrade/runtimeMigration.ts`) | `feat/v3` | On v3 probe match, emit `skipped` `copy-agent` items for in-tree `.cursor/agents/` instead of copying from the bundle. |
27
+ | Python (`scripts/agentera_upgrade.py`) | `main` (stable) | Same probe before the cursor agent copy loop; do not schedule `copy-agent` targets under the project when the probe matches. Backport per the both-branch pattern. |
28
+
29
+ ## User-visible skip message
30
+
31
+ `v3 capability instruction modules present; in-tree .cursor/agents/ uses prime --context and is not overwritten`
@@ -0,0 +1,98 @@
1
+ schema_version: agentera.v3_handoff_manifest.v1
2
+ status: active_authority
3
+ purpose: >-
4
+ Contract for the v2→v3 handoff manifest written by the stable Python CLI at the
5
+ app-home root and read by the v3 TypeScript migration preflight. The manifest
6
+ lets v3 migration classify preserved user state in O(1) time instead of
7
+ scanning the entire app home.
8
+ manifest_file: v3-handoff.json
9
+ manifest_path: >-
10
+ {app_home}/v3-handoff.json where app_home is the platform data-home install
11
+ root (for example ~/.local/share/agentera on Linux).
12
+ writers:
13
+ - v2 stable Python CLI on install, upgrade apply, and doctor (refresh when stale)
14
+ readers:
15
+ - v3 TypeScript migration preflight in packages/cli/src/migrate/v2HandoffManifest.ts
16
+ performance:
17
+ reader_preflight_budget_ms: 100
18
+ note: >-
19
+ When the manifest is present and valid, the v3 reader must complete parsing
20
+ and validation within 100ms. When absent or invalid, the reader may fall
21
+ back to a full app-home scan with no time budget.
22
+ required_top_level_fields:
23
+ schema_version:
24
+ type: string
25
+ const: agentera.v3_handoff_manifest.v1
26
+ written_at:
27
+ type: string
28
+ format: iso8601_utc
29
+ description: UTC timestamp when the manifest was last written.
30
+ installed_v2_version:
31
+ type: string
32
+ min_length: 1
33
+ description: Installed Agentera suite version from the active v2 bundle marker.
34
+ app_home_path:
35
+ type: string
36
+ min_length: 1
37
+ description: Absolute resolved app-home path the writer used.
38
+ user_data_inventory:
39
+ type: array
40
+ min_items: 6
41
+ description: >-
42
+ One entry per catalog id below. Entries for paths that do not exist on disk
43
+ set exists=false; writers still emit the full catalog so v3 preflight can
44
+ trust absence without rescanning.
45
+ runtime_adapters:
46
+ type: array
47
+ items:
48
+ type: string
49
+ description: >-
50
+ Runtime adapter ids (references/adapters/runtime-adapter-registry.yaml)
51
+ that the v2 install actively uses — runtimes whose setup doctor status is
52
+ pass at write time.
53
+ user_data_inventory_catalog:
54
+ - id: benchmarks
55
+ relative_path: benchmarks
56
+ kind: directory
57
+ - id: intermediate
58
+ relative_path: intermediate
59
+ kind: directory
60
+ - id: sessions
61
+ relative_path: sessions
62
+ kind: directory
63
+ - id: history
64
+ relative_path: history
65
+ kind: directory
66
+ - id: corpus
67
+ relative_path: corpus
68
+ kind: directory
69
+ - id: profile_files
70
+ kind: profile_files
71
+ members:
72
+ - relative_path: PROFILE.md
73
+ kind: file
74
+ - relative_path: USAGE.md
75
+ kind: file
76
+ user_data_inventory_entry_shapes:
77
+ directory:
78
+ required: [id, relative_path, kind, exists]
79
+ kind_const: directory
80
+ file:
81
+ required: [id, relative_path, kind, exists]
82
+ kind_const: file
83
+ profile_files:
84
+ required: [id, kind, members]
85
+ kind_const: profile_files
86
+ members:
87
+ required: [relative_path, kind, exists]
88
+ kind_const: file
89
+ freshness:
90
+ writer_obligations:
91
+ - Refresh the manifest on every v2 upgrade apply.
92
+ - Refresh the manifest on v2 doctor when stale or missing (after warning).
93
+ stale_when_any:
94
+ - Manifest file missing.
95
+ - schema_version mismatch.
96
+ - app_home_path differs from the resolved install root.
97
+ - installed_v2_version differs from the active bundle marker version.
98
+ - written_at is older than the bundle marker mtime.
@@ -150,10 +150,12 @@ decision_44:
150
150
  boundary: Preserve capability IDs, artifact IDs, group IDs, route IDs, and test fixture IDs unless a migration is planned.
151
151
  - surface: CLI labels and exit behavior
152
152
  boundary: Preserve current command names, parseable labels, exit codes, and source-contract labels unless an explicit CLI migration is recorded.
153
- - surface: Canonical capability names
154
- boundary: Preserve hej, visionera, resonera, inspirera, planera, realisera, optimera, inspektera, dokumentera, profilera, visualisera, and orkestrera.
155
- - surface: Decision 43 aliases
156
- boundary: Preserve /agentera status, vision, discuss, research, plan, build, optimize, audit, document, profile, design, and orchestrate.
153
+ - surface: Canonical capability names (v3 surface)
154
+ boundary: >-
155
+ Preserve the Decision 43 English alias set as the binding canonical names for v3 and onward: status, vision, discuss, research, plan, build, optimize, audit, document, profile, design, orchestrate. Future capability additions follow the same transfer-friendly English-verb pattern (Decision 70). Per Decision 70, the D43 alias set is the binding name set; future renames require a new decision.
156
+ - surface: Legacy Swedish capability names (v2 stable only)
157
+ boundary: >-
158
+ Preserve hej, visionera, resonera, inspirera, planera, realisera, optimera, inspektera, dokumentera, profilera, visualisera, and orkestrera for the v2 stable distribution (`npx -y agentera@latest`, ships from `main`) and as historical references in archived plans, decisions, and changelogs. Out of scope for v3 surface per Decision 70. Coexistence probe surfaces per-distribution naming divergence.
157
159
  - surface: Historical artifacts
158
160
  boundary: Do not rewrite old progress, changelog, archived plans, or decisions solely for vocabulary cleanup.
159
161
  - surface: Release version