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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (439) hide show
  1. package/bundle/extract-corpus-parity.json +23 -0
  2. package/bundle/references/adapters/cursor.md +10 -9
  3. package/bundle/references/adapters/opencode.md +26 -26
  4. package/bundle/references/adapters/runtime-adapter-characterization.md +1 -1
  5. package/bundle/references/adapters/runtime-adapter-registry.yaml +16 -10
  6. package/bundle/references/adapters/runtime-feature-parity.md +2 -2
  7. package/bundle/references/analysis/benchmark.md +1 -1
  8. package/bundle/references/analysis/startup-measurement-contract.yaml +7 -7
  9. package/bundle/references/artifacts/artifact-registry-interface-model.yaml +4 -3
  10. package/bundle/references/cli/agent-ready-state-contract.yaml +6 -6
  11. package/bundle/references/cli/app-lifecycle-vocabulary.yaml +4 -4
  12. package/bundle/references/cli/capability-tool-classification.yaml +12 -12
  13. package/bundle/references/cli/coexistence-probe.yaml +4 -0
  14. package/bundle/references/cli/parity-expected-actual-template.md +30 -0
  15. package/bundle/references/cli/routing-execution-vocabulary.yaml +6 -6
  16. package/bundle/references/cli/routing-model.md +96 -0
  17. package/bundle/references/cli/trigger-schema-enrichment.md +136 -0
  18. package/bundle/references/cli/update-channels.yaml +16 -1
  19. package/bundle/references/cli/upgrade-repair-wording.md +17 -3
  20. package/bundle/references/cli/vocabulary-index.yaml +17 -12
  21. package/bundle/references/cli/vocabulary.md +314 -309
  22. package/bundle/registry.json +13 -13
  23. package/bundle/skills/agentera/.claude-plugin/plugin.json +13 -13
  24. package/bundle/skills/agentera/SKILL.md +99 -415
  25. package/bundle/skills/agentera/agents/audit.toml +6 -0
  26. package/bundle/skills/agentera/agents/build.toml +6 -0
  27. package/bundle/skills/agentera/agents/design.toml +6 -0
  28. package/bundle/skills/agentera/agents/{planera.toml → discuss.toml} +3 -3
  29. package/bundle/skills/agentera/agents/{resonera.toml → document.toml} +3 -3
  30. package/bundle/skills/agentera/agents/{optimera.toml → optimize.toml} +2 -2
  31. package/bundle/skills/agentera/agents/orchestrate.toml +6 -0
  32. package/bundle/skills/agentera/agents/plan.toml +6 -0
  33. package/bundle/skills/agentera/agents/profile.toml +6 -0
  34. package/bundle/skills/agentera/agents/research.toml +6 -0
  35. package/bundle/skills/agentera/agents/status.toml +6 -0
  36. package/bundle/skills/agentera/agents/vision.toml +6 -0
  37. package/bundle/skills/agentera/capabilities/{inspektera → audit}/schemas/artifacts.yaml +10 -10
  38. package/bundle/skills/agentera/capabilities/{inspektera → audit}/schemas/triggers.yaml +15 -6
  39. package/bundle/skills/agentera/capabilities/{inspektera → audit}/schemas/validation.yaml +9 -9
  40. package/bundle/skills/agentera/capabilities/{realisera → build}/schemas/artifacts.yaml +11 -11
  41. package/bundle/skills/agentera/capabilities/{realisera → build}/schemas/triggers.yaml +13 -3
  42. package/bundle/skills/agentera/capabilities/{realisera → build}/schemas/validation.yaml +7 -7
  43. package/bundle/skills/agentera/capabilities/{visualisera → design}/schemas/artifacts.yaml +6 -6
  44. package/bundle/skills/agentera/capabilities/{visualisera → design}/schemas/triggers.yaml +15 -3
  45. package/bundle/skills/agentera/capabilities/{visualisera → design}/schemas/validation.yaml +5 -5
  46. package/bundle/skills/agentera/capabilities/{resonera → discuss}/schemas/artifacts.yaml +6 -6
  47. package/bundle/skills/agentera/capabilities/{resonera → discuss}/schemas/triggers.yaml +11 -3
  48. package/bundle/skills/agentera/capabilities/{resonera → discuss}/schemas/validation.yaml +4 -4
  49. package/bundle/skills/agentera/capabilities/{dokumentera → document}/schemas/artifacts.yaml +10 -10
  50. package/bundle/skills/agentera/capabilities/{dokumentera → document}/schemas/triggers.yaml +14 -3
  51. package/bundle/skills/agentera/capabilities/{dokumentera → document}/schemas/validation.yaml +8 -8
  52. package/bundle/skills/agentera/capabilities/{optimera → optimize}/schemas/artifacts.yaml +8 -8
  53. package/bundle/skills/agentera/capabilities/{optimera → optimize}/schemas/triggers.yaml +11 -3
  54. package/bundle/skills/agentera/capabilities/{optimera → optimize}/schemas/validation.yaml +7 -7
  55. package/bundle/skills/agentera/capabilities/{orkestrera → orchestrate}/schemas/artifacts.yaml +10 -10
  56. package/bundle/skills/agentera/capabilities/{orkestrera → orchestrate}/schemas/triggers.yaml +16 -3
  57. package/bundle/skills/agentera/capabilities/{orkestrera → orchestrate}/schemas/validation.yaml +27 -27
  58. package/bundle/skills/agentera/capabilities/{planera → plan}/schemas/artifacts.yaml +8 -8
  59. package/bundle/skills/agentera/capabilities/{planera → plan}/schemas/exit.yaml +2 -2
  60. package/bundle/skills/agentera/capabilities/{planera → plan}/schemas/triggers.yaml +15 -3
  61. package/bundle/skills/agentera/capabilities/{planera → plan}/schemas/validation.yaml +3 -3
  62. package/bundle/skills/agentera/capabilities/{profilera → profile}/schemas/artifacts.yaml +2 -2
  63. package/bundle/skills/agentera/capabilities/{profilera → profile}/schemas/exit.yaml +2 -1
  64. package/bundle/skills/agentera/capabilities/{profilera → profile}/schemas/triggers.yaml +7 -3
  65. package/bundle/skills/agentera/capabilities/{profilera → profile}/schemas/validation.yaml +2 -2
  66. package/bundle/skills/agentera/capabilities/{inspirera → research}/schemas/artifacts.yaml +5 -5
  67. package/bundle/skills/agentera/capabilities/{inspirera → research}/schemas/triggers.yaml +9 -3
  68. package/bundle/skills/agentera/capabilities/{inspirera → research}/schemas/validation.yaml +2 -2
  69. package/bundle/skills/agentera/capabilities/{hej → status}/schemas/artifacts.yaml +14 -11
  70. package/bundle/skills/agentera/capabilities/{hej → status}/schemas/triggers.yaml +10 -4
  71. package/bundle/skills/agentera/capabilities/{hej → status}/schemas/validation.yaml +5 -5
  72. package/bundle/skills/agentera/capabilities/{visionera → vision}/schemas/artifacts.yaml +8 -8
  73. package/bundle/skills/agentera/capabilities/{visionera → vision}/schemas/triggers.yaml +17 -3
  74. package/bundle/skills/agentera/capabilities/{visionera → vision}/schemas/validation.yaml +7 -7
  75. package/bundle/skills/agentera/capability_schema_contract.yaml +178 -34
  76. package/bundle/skills/agentera/protocol.yaml +29 -29
  77. package/bundle/skills/agentera/references/contract.md +328 -319
  78. package/bundle/skills/agentera/schemas/artifacts/changelog.yaml +4 -4
  79. package/bundle/skills/agentera/schemas/artifacts/decisions.yaml +9 -9
  80. package/bundle/skills/agentera/schemas/artifacts/design.yaml +4 -4
  81. package/bundle/skills/agentera/schemas/artifacts/docs.yaml +8 -7
  82. package/bundle/skills/agentera/schemas/artifacts/experiments.yaml +5 -5
  83. package/bundle/skills/agentera/schemas/artifacts/health.yaml +5 -5
  84. package/bundle/skills/agentera/schemas/artifacts/objective.yaml +4 -4
  85. package/bundle/skills/agentera/schemas/artifacts/plan.yaml +5 -5
  86. package/bundle/skills/agentera/schemas/artifacts/progress.yaml +5 -5
  87. package/bundle/skills/agentera/schemas/artifacts/todo.yaml +40 -35
  88. package/bundle/skills/agentera/schemas/artifacts/vision.yaml +3 -3
  89. package/dist/analytics/extractCorpus/cli.js +49 -1
  90. package/dist/analytics/extractCorpus/cli.js.map +1 -1
  91. package/dist/analytics/extractCorpus/copilotSessions.js +47 -5
  92. package/dist/analytics/extractCorpus/copilotSessions.js.map +1 -1
  93. package/dist/analytics/extractCorpus/core.js +19 -12
  94. package/dist/analytics/extractCorpus/core.js.map +1 -1
  95. package/dist/analytics/extractCorpus/corpus.js +26 -13
  96. package/dist/analytics/extractCorpus/corpus.js.map +1 -1
  97. package/dist/analytics/extractCorpus/coverageAudit.js +261 -0
  98. package/dist/analytics/extractCorpus/coverageAudit.js.map +1 -0
  99. package/dist/analytics/extractCorpus/cursorSessions.js +6 -3
  100. package/dist/analytics/extractCorpus/cursorSessions.js.map +1 -1
  101. package/dist/analytics/extractCorpus/extractCorpusParity.js +105 -0
  102. package/dist/analytics/extractCorpus/extractCorpusParity.js.map +1 -0
  103. package/dist/analytics/extractCorpus/filesystemSources.js.map +1 -1
  104. package/dist/analytics/extractCorpus/index.js +3 -0
  105. package/dist/analytics/extractCorpus/index.js.map +1 -1
  106. package/dist/analytics/extractCorpus/jsonlSessions.js.map +1 -1
  107. package/dist/analytics/extractCorpus/sqliteCaps.js +44 -0
  108. package/dist/analytics/extractCorpus/sqliteCaps.js.map +1 -0
  109. package/dist/analytics/extractCorpus/sqliteSessions.js +98 -5
  110. package/dist/analytics/extractCorpus/sqliteSessions.js.map +1 -1
  111. package/dist/analytics/usageStats.js +19 -19
  112. package/dist/analytics/usageStats.js.map +1 -1
  113. package/dist/capabilities/audit/instructions.js +6 -0
  114. package/dist/capabilities/audit/instructions.js.map +1 -0
  115. package/dist/capabilities/build/instructions.js +6 -0
  116. package/dist/capabilities/build/instructions.js.map +1 -0
  117. package/dist/capabilities/design/instructions.js +5 -0
  118. package/dist/capabilities/design/instructions.js.map +1 -0
  119. package/dist/capabilities/discuss/instructions.js +6 -0
  120. package/dist/capabilities/discuss/instructions.js.map +1 -0
  121. package/dist/capabilities/document/instructions.js +6 -0
  122. package/dist/capabilities/document/instructions.js.map +1 -0
  123. package/dist/capabilities/index.js +24 -24
  124. package/dist/capabilities/index.js.map +1 -1
  125. package/dist/capabilities/inspirera/instructions.js +1 -1
  126. package/dist/capabilities/inspirera/instructions.js.map +1 -1
  127. package/dist/capabilities/optimize/instructions.js +6 -0
  128. package/dist/capabilities/optimize/instructions.js.map +1 -0
  129. package/dist/capabilities/orchestrate/instructions.js +6 -0
  130. package/dist/capabilities/orchestrate/instructions.js.map +1 -0
  131. package/dist/capabilities/plan/instructions.js +6 -0
  132. package/dist/capabilities/plan/instructions.js.map +1 -0
  133. package/dist/capabilities/planera/instructions.js +1 -1
  134. package/dist/capabilities/planera/instructions.js.map +1 -1
  135. package/dist/capabilities/profile/instructions.js +6 -0
  136. package/dist/capabilities/profile/instructions.js.map +1 -0
  137. package/dist/capabilities/profilera/instructions.js +1 -1
  138. package/dist/capabilities/profilera/instructions.js.map +1 -1
  139. package/dist/capabilities/realisera/instructions.js +1 -1
  140. package/dist/capabilities/realisera/instructions.js.map +1 -1
  141. package/dist/capabilities/research/instructions.js +6 -0
  142. package/dist/capabilities/research/instructions.js.map +1 -0
  143. package/dist/capabilities/resonera/instructions.js +1 -1
  144. package/dist/capabilities/resonera/instructions.js.map +1 -1
  145. package/dist/capabilities/status/instructions.js +6 -0
  146. package/dist/capabilities/status/instructions.js.map +1 -0
  147. package/dist/capabilities/vision/instructions.js +6 -0
  148. package/dist/capabilities/vision/instructions.js.map +1 -0
  149. package/dist/capabilities/visionera/instructions.js +1 -1
  150. package/dist/capabilities/visionera/instructions.js.map +1 -1
  151. package/dist/capabilities/visualisera/instructions.js +3 -4
  152. package/dist/capabilities/visualisera/instructions.js.map +1 -1
  153. package/dist/cli/appContext.js +16 -17
  154. package/dist/cli/appContext.js.map +1 -1
  155. package/dist/cli/capabilityContext/benchmark.js +23 -16
  156. package/dist/cli/capabilityContext/benchmark.js.map +1 -1
  157. package/dist/cli/capabilityContext/bespoke.js +20 -9
  158. package/dist/cli/capabilityContext/bespoke.js.map +1 -1
  159. package/dist/cli/capabilityContext/build.js +177 -0
  160. package/dist/cli/capabilityContext/build.js.map +1 -0
  161. package/dist/cli/capabilityContext/closeout.js +11 -11
  162. package/dist/cli/capabilityContext/closeout.js.map +1 -1
  163. package/dist/cli/capabilityContext/contract.js +24 -22
  164. package/dist/cli/capabilityContext/contract.js.map +1 -1
  165. package/dist/cli/capabilityContext/evidence.js +35 -25
  166. package/dist/cli/capabilityContext/evidence.js.map +1 -1
  167. package/dist/cli/capabilityContext/index.js +1 -1
  168. package/dist/cli/capabilityContext/index.js.map +1 -1
  169. package/dist/cli/capabilityContext/orchestration.js +8 -8
  170. package/dist/cli/capabilityContext/orchestration.js.map +1 -1
  171. package/dist/cli/capabilityContext/planState.js +4 -4
  172. package/dist/cli/capabilityContext/planState.js.map +1 -1
  173. package/dist/cli/capabilityContext/progress.js +9 -2
  174. package/dist/cli/capabilityContext/progress.js.map +1 -1
  175. package/dist/cli/capabilityContext/realisera.js +21 -21
  176. package/dist/cli/capabilityContext/realisera.js.map +1 -1
  177. package/dist/cli/capabilityContext/shared.js +1 -1
  178. package/dist/cli/capabilityContext/shared.js.map +1 -1
  179. package/dist/cli/capabilityContext/slim.js +4 -2
  180. package/dist/cli/capabilityContext/slim.js.map +1 -1
  181. package/dist/cli/capabilityContext/startup.js +23 -18
  182. package/dist/cli/capabilityContext/startup.js.map +1 -1
  183. package/dist/cli/capabilityContext/types.js +20 -23
  184. package/dist/cli/capabilityContext/types.js.map +1 -1
  185. package/dist/cli/capabilityContext.js +1 -1
  186. package/dist/cli/capabilityContext.js.map +1 -1
  187. package/dist/cli/commands/appHome.js +23 -0
  188. package/dist/cli/commands/appHome.js.map +1 -0
  189. package/dist/cli/commands/capability.js +2 -2
  190. package/dist/cli/commands/capability.js.map +1 -1
  191. package/dist/cli/commands/compact.js.map +1 -1
  192. package/dist/cli/commands/doctor.js +9 -107
  193. package/dist/cli/commands/doctor.js.map +1 -1
  194. package/dist/cli/commands/prime/bundleStatus.js +140 -0
  195. package/dist/cli/commands/prime/bundleStatus.js.map +1 -0
  196. package/dist/cli/commands/prime/collectOrientationState.js +156 -0
  197. package/dist/cli/commands/prime/collectOrientationState.js.map +1 -0
  198. package/dist/cli/commands/prime/orientationOutput.js +210 -0
  199. package/dist/cli/commands/prime/orientationOutput.js.map +1 -0
  200. package/dist/cli/commands/prime/routeOutput.js +50 -0
  201. package/dist/cli/commands/prime/routeOutput.js.map +1 -0
  202. package/dist/cli/commands/prime/types.js +2 -0
  203. package/dist/cli/commands/prime/types.js.map +1 -0
  204. package/dist/cli/commands/prime/v1Migration.js +39 -0
  205. package/dist/cli/commands/prime/v1Migration.js.map +1 -0
  206. package/dist/cli/commands/prime.js +11 -554
  207. package/dist/cli/commands/prime.js.map +1 -1
  208. package/dist/cli/commands/query.js +4 -1
  209. package/dist/cli/commands/query.js.map +1 -1
  210. package/dist/cli/commands/report.js +17 -9
  211. package/dist/cli/commands/report.js.map +1 -1
  212. package/dist/cli/commands/schema.js +23 -18
  213. package/dist/cli/commands/schema.js.map +1 -1
  214. package/dist/cli/commands/state/decisions.js +11 -5
  215. package/dist/cli/commands/state/decisions.js.map +1 -1
  216. package/dist/cli/commands/state/docs.js +8 -4
  217. package/dist/cli/commands/state/docs.js.map +1 -1
  218. package/dist/cli/commands/state/experiments.js +1 -0
  219. package/dist/cli/commands/state/experiments.js.map +1 -1
  220. package/dist/cli/commands/state/health.js +3 -1
  221. package/dist/cli/commands/state/health.js.map +1 -1
  222. package/dist/cli/commands/state/objective.js +1 -0
  223. package/dist/cli/commands/state/objective.js.map +1 -1
  224. package/dist/cli/commands/state/plan.js +2 -1
  225. package/dist/cli/commands/state/plan.js.map +1 -1
  226. package/dist/cli/commands/state/progress.js +1 -1
  227. package/dist/cli/commands/state/shared.js.map +1 -1
  228. package/dist/cli/commands/state/todo.js +1 -1
  229. package/dist/cli/commands/state/todo.js.map +1 -1
  230. package/dist/cli/commands/validate.js +21 -85
  231. package/dist/cli/commands/validate.js.map +1 -1
  232. package/dist/cli/commands/verify.js +1 -1
  233. package/dist/cli/commands/verify.js.map +1 -1
  234. package/dist/cli/contracts/bundleStatus.js +2 -0
  235. package/dist/cli/contracts/bundleStatus.js.map +1 -0
  236. package/dist/cli/contracts/orientationState.js +2 -0
  237. package/dist/cli/contracts/orientationState.js.map +1 -0
  238. package/dist/cli/dispatch/argvParser.js +33 -0
  239. package/dist/cli/dispatch/argvParser.js.map +1 -0
  240. package/dist/cli/dispatch/check.js +19 -19
  241. package/dist/cli/dispatch/check.js.map +1 -1
  242. package/dist/cli/dispatch/commands.js +27 -0
  243. package/dist/cli/dispatch/commands.js.map +1 -0
  244. package/dist/cli/dispatch/index.js +6 -1
  245. package/dist/cli/dispatch/index.js.map +1 -1
  246. package/dist/cli/dispatch/lifecycle.js +160 -55
  247. package/dist/cli/dispatch/lifecycle.js.map +1 -1
  248. package/dist/cli/dispatch/prime.js +31 -27
  249. package/dist/cli/dispatch/prime.js.map +1 -1
  250. package/dist/cli/dispatch/state.js +11 -16
  251. package/dist/cli/dispatch/state.js.map +1 -1
  252. package/dist/cli/help.js +41 -6
  253. package/dist/cli/help.js.map +1 -1
  254. package/dist/cli/orientation/attention.js +61 -0
  255. package/dist/cli/orientation/attention.js.map +1 -0
  256. package/dist/cli/orientation/corpusCoverage.js +71 -0
  257. package/dist/cli/orientation/corpusCoverage.js.map +1 -0
  258. package/dist/cli/orientation.js +128 -77
  259. package/dist/cli/orientation.js.map +1 -1
  260. package/dist/cli/prime-blob.js +1 -1
  261. package/dist/cli/startupCompletenessContract.js +56 -0
  262. package/dist/cli/startupCompletenessContract.js.map +1 -0
  263. package/dist/cli/stateQuery.js +9 -2
  264. package/dist/cli/stateQuery.js.map +1 -1
  265. package/dist/cli/todoSeverity.js +19 -0
  266. package/dist/cli/todoSeverity.js.map +1 -0
  267. package/dist/core/envPaths.js +21 -0
  268. package/dist/core/envPaths.js.map +1 -0
  269. package/dist/core/jsonValue.js +6 -0
  270. package/dist/core/jsonValue.js.map +1 -0
  271. package/dist/core/pyjson.js +67 -2
  272. package/dist/core/pyjson.js.map +1 -1
  273. package/dist/eval/evalSkills.js +17 -12
  274. package/dist/eval/evalSkills.js.map +1 -1
  275. package/dist/eval/semanticEval.js +43 -19
  276. package/dist/eval/semanticEval.js.map +1 -1
  277. package/dist/eval/semanticFixtures.js +16 -4
  278. package/dist/eval/semanticFixtures.js.map +1 -1
  279. package/dist/hooks/compaction/apply.js +31 -6
  280. package/dist/hooks/compaction/apply.js.map +1 -1
  281. package/dist/hooks/compaction/dryRun.js +5 -3
  282. package/dist/hooks/compaction/dryRun.js.map +1 -1
  283. package/dist/hooks/compaction/index.js +2 -2
  284. package/dist/hooks/compaction/index.js.map +1 -1
  285. package/dist/hooks/compaction/parse.js +132 -3
  286. package/dist/hooks/compaction/parse.js.map +1 -1
  287. package/dist/hooks/compaction/retention.js +3 -1
  288. package/dist/hooks/compaction/retention.js.map +1 -1
  289. package/dist/hooks/compaction/status.js +7 -9
  290. package/dist/hooks/compaction/status.js.map +1 -1
  291. package/dist/hooks/compaction/todoResolved.js +137 -0
  292. package/dist/hooks/compaction/todoResolved.js.map +1 -0
  293. package/dist/hooks/cursorSessionStart.js +10 -2
  294. package/dist/hooks/cursorSessionStart.js.map +1 -1
  295. package/dist/hooks/sessionStart.js +14 -7
  296. package/dist/hooks/sessionStart.js.map +1 -1
  297. package/dist/hooks/sessionStop.js +3 -0
  298. package/dist/hooks/sessionStop.js.map +1 -1
  299. package/dist/hooks/todoLayout.js +177 -0
  300. package/dist/hooks/todoLayout.js.map +1 -0
  301. package/dist/hooks/validateArtifact/index.js +3 -1
  302. package/dist/hooks/validateArtifact/index.js.map +1 -1
  303. package/dist/hooks/validateArtifact/markdown.js +57 -6
  304. package/dist/hooks/validateArtifact/markdown.js.map +1 -1
  305. package/dist/hooks/validateArtifact/runtime.js +6 -3
  306. package/dist/hooks/validateArtifact/runtime.js.map +1 -1
  307. package/dist/hooks/validateArtifact/schema.js +15 -11
  308. package/dist/hooks/validateArtifact/schema.js.map +1 -1
  309. package/dist/hooks/validateArtifact/traversal.js +1 -0
  310. package/dist/hooks/validateArtifact/traversal.js.map +1 -1
  311. package/dist/hooks/validateArtifact/violations.js +2 -2
  312. package/dist/hooks/validateArtifact/violations.js.map +1 -1
  313. package/dist/migrate/v2HandoffManifest.js +119 -5
  314. package/dist/migrate/v2HandoffManifest.js.map +1 -1
  315. package/dist/registries/artifactRegistry.js +23 -9
  316. package/dist/registries/artifactRegistry.js.map +1 -1
  317. package/dist/registries/capabilityContract.js +144 -1
  318. package/dist/registries/capabilityContract.js.map +1 -1
  319. package/dist/registries/evaluatorHandoffContract.js +2 -2
  320. package/dist/registries/evaluatorHandoffContract.js.map +1 -1
  321. package/dist/registries/packageRegistry.js +4 -3
  322. package/dist/registries/packageRegistry.js.map +1 -1
  323. package/dist/registries/runtimeAdapterRegistry.js +5 -4
  324. package/dist/registries/runtimeAdapterRegistry.js.map +1 -1
  325. package/dist/registries/triggerLoader.js +211 -0
  326. package/dist/registries/triggerLoader.js.map +1 -0
  327. package/dist/release/releaseMetadata.js +1 -1
  328. package/dist/release/releaseMetadata.js.map +1 -1
  329. package/dist/routing/index.js +2 -0
  330. package/dist/routing/index.js.map +1 -0
  331. package/dist/routing/routeEngine.js +189 -0
  332. package/dist/routing/routeEngine.js.map +1 -0
  333. package/dist/setup/codex/configToml.js +10 -15
  334. package/dist/setup/codex/configToml.js.map +1 -1
  335. package/dist/setup/codex/constants.js +12 -12
  336. package/dist/setup/codex/constants.js.map +1 -1
  337. package/dist/setup/cursor.js +6 -4
  338. package/dist/setup/cursor.js.map +1 -1
  339. package/dist/setup/cursorSurfaces.js +67 -0
  340. package/dist/setup/cursorSurfaces.js.map +1 -0
  341. package/dist/setup/doctor/core.js +6 -6
  342. package/dist/setup/doctor/core.js.map +1 -1
  343. package/dist/setup/doctor/diagnostics.js +16 -23
  344. package/dist/setup/doctor/diagnostics.js.map +1 -1
  345. package/dist/setup/doctor/opencode.js +32 -0
  346. package/dist/setup/doctor/opencode.js.map +1 -1
  347. package/dist/setup/doctor/report.js +27 -76
  348. package/dist/setup/doctor/report.js.map +1 -1
  349. package/dist/setup/smokeChecks.js +10 -10
  350. package/dist/setup/smokeChecks.js.map +1 -1
  351. package/dist/state/installRoot.js +49 -18
  352. package/dist/state/installRoot.js.map +1 -1
  353. package/dist/state/startupAnalysis/benchmark.js +22 -18
  354. package/dist/state/startupAnalysis/benchmark.js.map +1 -1
  355. package/dist/state/startupAnalysis/contract.js +5 -1
  356. package/dist/state/startupAnalysis/contract.js.map +1 -1
  357. package/dist/state/startupAnalysis/helpers.js +26 -71
  358. package/dist/state/startupAnalysis/helpers.js.map +1 -1
  359. package/dist/state/startupAnalysis/index.js.map +1 -1
  360. package/dist/state/startupAnalysis/metrics.js +25 -18
  361. package/dist/state/startupAnalysis/metrics.js.map +1 -1
  362. package/dist/state/startupAnalysis/records.js +13 -9
  363. package/dist/state/startupAnalysis/records.js.map +1 -1
  364. package/dist/state/startupAnalysis/report.js +26 -37
  365. package/dist/state/startupAnalysis/report.js.map +1 -1
  366. package/dist/state/startupAnalysis/threshold.js +6 -6
  367. package/dist/state/startupAnalysis/threshold.js.map +1 -1
  368. package/dist/upgrade/appContentRefresh.js +342 -0
  369. package/dist/upgrade/appContentRefresh.js.map +1 -0
  370. package/dist/upgrade/appModel.js +8 -6
  371. package/dist/upgrade/appModel.js.map +1 -1
  372. package/dist/upgrade/bundleEvidence.js +34 -0
  373. package/dist/upgrade/bundleEvidence.js.map +1 -0
  374. package/dist/upgrade/channels.js +11 -4
  375. package/dist/upgrade/channels.js.map +1 -1
  376. package/dist/upgrade/cliProbe.js +22 -0
  377. package/dist/upgrade/cliProbe.js.map +1 -0
  378. package/dist/upgrade/coexistenceProbe.js +29 -5
  379. package/dist/upgrade/coexistenceProbe.js.map +1 -1
  380. package/dist/upgrade/compatibility.js +13 -4
  381. package/dist/upgrade/compatibility.js.map +1 -1
  382. package/dist/upgrade/doctor.js +130 -187
  383. package/dist/upgrade/doctor.js.map +1 -1
  384. package/dist/upgrade/doctorClassifier.js +177 -0
  385. package/dist/upgrade/doctorClassifier.js.map +1 -0
  386. package/dist/upgrade/installedHooksRetirement.js +190 -0
  387. package/dist/upgrade/installedHooksRetirement.js.map +1 -0
  388. package/dist/upgrade/legacyAgentCleanup.js +116 -0
  389. package/dist/upgrade/legacyAgentCleanup.js.map +1 -0
  390. package/dist/upgrade/migrateArtifactsV2ToV3.js +57 -31
  391. package/dist/upgrade/migrateArtifactsV2ToV3.js.map +1 -1
  392. package/dist/upgrade/nextMajorDoctor.js +29 -9
  393. package/dist/upgrade/nextMajorDoctor.js.map +1 -1
  394. package/dist/upgrade/npxPlatformStatus.js +23 -0
  395. package/dist/upgrade/npxPlatformStatus.js.map +1 -0
  396. package/dist/upgrade/projectIntegration.js +69 -75
  397. package/dist/upgrade/projectIntegration.js.map +1 -1
  398. package/dist/upgrade/projectIntegrationDecision.js +93 -0
  399. package/dist/upgrade/projectIntegrationDecision.js.map +1 -0
  400. package/dist/upgrade/runtimeMigration.js +156 -66
  401. package/dist/upgrade/runtimeMigration.js.map +1 -1
  402. package/dist/upgrade/versionResolution.js +2 -2
  403. package/dist/upgrade/versionResolution.js.map +1 -1
  404. package/dist/validate/appHomeContract.js +1 -1
  405. package/dist/validate/appHomeContract.js.map +1 -1
  406. package/dist/validate/capability.js +124 -11
  407. package/dist/validate/capability.js.map +1 -1
  408. package/dist/validate/crossCapability.js +1 -1
  409. package/dist/validate/crossCapability.js.map +1 -1
  410. package/dist/validate/lifecycleAdapters/legacyPythonParity.js +93 -0
  411. package/dist/validate/lifecycleAdapters/legacyPythonParity.js.map +1 -0
  412. package/dist/validate/lifecycleAdapters/nodeFormChecks.js +488 -0
  413. package/dist/validate/lifecycleAdapters/nodeFormChecks.js.map +1 -0
  414. package/dist/validate/lifecycleAdapters/shared.js +198 -0
  415. package/dist/validate/lifecycleAdapters/shared.js.map +1 -0
  416. package/dist/validate/lifecycleAdapters.js +13 -723
  417. package/dist/validate/lifecycleAdapters.js.map +1 -1
  418. package/dist/validate/vocabularyAuthority.js +10 -5
  419. package/dist/validate/vocabularyAuthority.js.map +1 -1
  420. package/package.json +26 -23
  421. package/bundle/skills/agentera/agents/dokumentera.toml +0 -6
  422. package/bundle/skills/agentera/agents/hej.toml +0 -6
  423. package/bundle/skills/agentera/agents/inspektera.toml +0 -6
  424. package/bundle/skills/agentera/agents/inspirera.toml +0 -6
  425. package/bundle/skills/agentera/agents/orkestrera.toml +0 -6
  426. package/bundle/skills/agentera/agents/profilera.toml +0 -6
  427. package/bundle/skills/agentera/agents/realisera.toml +0 -6
  428. package/bundle/skills/agentera/agents/visionera.toml +0 -6
  429. package/bundle/skills/agentera/agents/visualisera.toml +0 -6
  430. /package/bundle/skills/agentera/capabilities/{inspektera → audit}/schemas/exit.yaml +0 -0
  431. /package/bundle/skills/agentera/capabilities/{realisera → build}/schemas/exit.yaml +0 -0
  432. /package/bundle/skills/agentera/capabilities/{visualisera → design}/schemas/exit.yaml +0 -0
  433. /package/bundle/skills/agentera/capabilities/{resonera → discuss}/schemas/exit.yaml +0 -0
  434. /package/bundle/skills/agentera/capabilities/{dokumentera → document}/schemas/exit.yaml +0 -0
  435. /package/bundle/skills/agentera/capabilities/{optimera → optimize}/schemas/exit.yaml +0 -0
  436. /package/bundle/skills/agentera/capabilities/{orkestrera → orchestrate}/schemas/exit.yaml +0 -0
  437. /package/bundle/skills/agentera/capabilities/{inspirera → research}/schemas/exit.yaml +0 -0
  438. /package/bundle/skills/agentera/capabilities/{hej → status}/schemas/exit.yaml +0 -0
  439. /package/bundle/skills/agentera/capabilities/{visionera → vision}/schemas/exit.yaml +0 -0
@@ -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
+ }
@@ -49,23 +49,24 @@ install steps also live in [`README.md`](../../README.md) and
49
49
  This repository dogfoods committed Cursor surfaces:
50
50
 
51
51
  - `.cursor/hooks.json` — sessionStart env export, preToolUse hard gate, postToolUse advisory validation
52
- - `.cursor/agents/*.md` — twelve managed capability descriptors
52
+ - `.cursor/agents/agentera.md` — single managed agent descriptor (D73)
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
@@ -1,6 +1,6 @@
1
1
  # OpenCode Adapter
2
2
 
3
- Maps agentera's host adapter contract (SPEC.md Section 21) and session corpus contract (SPEC.md Section 22) to OpenCode's specific mechanisms. A developer reading only this document can implement portable-core agentera support and a profilera-compatible session corpus in OpenCode without reading any skill entry file source code.
3
+ Maps agentera's host adapter contract (SPEC.md Section 21) and session corpus contract (SPEC.md Section 22) to OpenCode's specific mechanisms. A developer reading only this document can implement portable-core agentera support and a profile-compatible session corpus in OpenCode without reading any skill entry file source code.
4
4
 
5
5
  ---
6
6
 
@@ -17,7 +17,7 @@ Status: production reference (formerly design document).
17
17
  | Skill install | Documented below | `npx skills add jgabor/agentera -g -a opencode --skill agentera -y` |
18
18
  | Profile path | Documented below | `~/.config/opencode/profile/PROFILE.md` |
19
19
 
20
- Routes exact bare text hej through chat.message to the bundled Agentera dashboard path. The public docs page omits this hook, but `packages/plugin/src/index.ts` defines `"chat.message"` on the exported `Hooks` interface.
20
+ Routes exact bare text /agentera through chat.message to the bundled Agentera dashboard path. The public docs page omits this hook, but `packages/plugin/src/index.ts` defines `"chat.message"` on the exported `Hooks` interface.
21
21
 
22
22
  The plugin was promoted from `references/adapters/opencode-plugin.js` to `.opencode/plugins/agentera.js` and is now the production local-file location. Install it with:
23
23
 
@@ -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
- 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.
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 `/agentera`, `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 `/agentera plan`, `/agentera status`, 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
 
@@ -82,14 +82,14 @@ Each Agentera skill entry file contains YAML frontmatter with `name` and `descri
82
82
 
83
83
  **Adapter approach**: Place PROFILE.md at `~/.config/opencode/profile/PROFILE.md` (or `~/.config/opencode/PROFILE.md` for simplicity). Update the profile-path references:
84
84
 
85
- - Skills reference `$PROFILERA_PROFILE_DIR/PROFILE.md` (default: `$XDG_DATA_HOME/agentera/PROFILE.md`) with `<!-- platform: profile-path -->` annotations
85
+ - Skills reference `$AGENTERA_PROFILE_DIR/PROFILE.md` (default: `$XDG_DATA_HOME/agentera/PROFILE.md`) with `<!-- platform: profile-path -->` annotations
86
86
  - The OpenCode adapter substitutes `~/.config/opencode/profile/PROFILE.md`
87
- - Profilera writes to this path when generating the profile
87
+ - Profile writes to this path when generating the profile
88
88
 
89
89
  **Concrete substitution**: In contract.md files, the annotated line:
90
90
 
91
91
  ```
92
- Read PROFILE.md from the profilera-determined profile path (`$PROFILERA_PROFILE_DIR/PROFILE.md`, defaulting to `$XDG_DATA_HOME/agentera/PROFILE.md` on Linux). <!-- platform: profile-path -->
92
+ Read PROFILE.md from the profile-determined profile path (`$AGENTERA_PROFILE_DIR/PROFILE.md`, defaulting to `$XDG_DATA_HOME/agentera/PROFILE.md` on Linux). <!-- platform: profile-path -->
93
93
  ```
94
94
 
95
95
  becomes in the OpenCode context:
@@ -112,14 +112,14 @@ Read PROFILE.md from the runtime-provided profile path (Section 21). In OpenCode
112
112
 
113
113
  **Adapter approach**: Map agentera's worktree isolation to one of two strategies:
114
114
 
115
- **Strategy A: Managed descriptor dispatch (recommended for current port)**
115
+ **Strategy A: Single agent dispatch (D73)**
116
116
 
117
- - Define Agentera's dispatched capabilities as OpenCode subagents
118
- - Each capability gets a managed markdown file in `.opencode/agents/`
119
- - Descriptor frontmatter stays within documented OpenCode agent fields: `description` and `mode: subagent`; the file name supplies the agent name.
120
- - Agentera ownership is recorded in a body comment marker, not custom frontmatter, so unknown options are not passed through as model options.
121
- - The OpenCode plugin copies those descriptors to `~/.config/opencode/agents/` on startup and preserves user-owned collisions
122
- - The orchestrating skill (realisera, orkestrera) uses `@<capability>` to invoke work
117
+ - A single Agentera primary agent (`agentera.md`) in `.opencode/agents/`
118
+ - The agent loads the Agentera skill for routing, runs `agentera prime --context <capability> --format json` to fetch instructions, then dispatches to a built-in `general` subagent
119
+ - Descriptor frontmatter uses `description` and `mode: primary` with broad `permission` (write+bash allow)
120
+ - Agentera ownership is recorded in a body comment marker
121
+ - The OpenCode plugin copies the agent descriptor to `~/.config/opencode/agents/` on startup
122
+ - The orchestrating skill (build, orchestrate) uses `@agentera` to invoke work
123
123
  - Limitation: runs in the same working tree, not isolated. Suitable for non-destructive work.
124
124
 
125
125
  **Strategy B: Manual git worktree (full isolation parity)**
@@ -130,18 +130,18 @@ Read PROFILE.md from the runtime-provided profile path (Section 21). In OpenCode
130
130
  - Provides true parallel implementation with independent branches
131
131
  - Requires explicit orchestration in the skill workflow
132
132
 
133
- **Concrete mapping for realisera Step 5 dispatch**:
133
+ **Concrete mapping for build Step 5 dispatch**:
134
134
 
135
135
  ```
136
136
  # Claude Code (reference)
137
137
  Spawn a Sonnet implementation agent in a worktree (isolation: "worktree")
138
138
 
139
139
  # OpenCode Strategy A
140
- Invoke the relevant managed capability descriptor, for example @realisera, with the implementation plan
140
+ Invoke the Agentera agent (@agentera) with the implementation plan
141
141
 
142
142
  # OpenCode Strategy B
143
143
  git worktree add ../worktree-branch branch-name
144
- Dispatch the relevant managed descriptor with cwd set to ../worktree-branch
144
+ Dispatch @agentera with cwd set to ../worktree-branch
145
145
  After completion: git merge, git worktree remove
146
146
  ```
147
147
 
@@ -182,7 +182,7 @@ opencode serve --port 4096
182
182
  |-------------|----------|
183
183
  | `claude -p "prompt"` | `opencode run "prompt"` |
184
184
  | `claude -p --output-format json` | `opencode run --format json "prompt"` |
185
- | `claude -p --skill realisera` | `opencode run "prompt"` (skill loaded via discovery) |
185
+ | `claude -p --skill build` | `opencode run "prompt"` (skill loaded via discovery) |
186
186
 
187
187
  The agentera eval runner (`scripts/eval_skills.py`) would need an OpenCode dispatch mode that calls `opencode run --format json` instead of `claude -p --output-format json`. The dispatch wrapper:
188
188
 
@@ -207,10 +207,10 @@ def dispatch_opencode(skill_name: str, prompt: str) -> dict:
207
207
  |---------------|----------------|-------|
208
208
  | SessionStart | `event` hook with `event.type === "session.created"` | Observation only unless a supported context-injection hook is also used |
209
209
  | Stop | `event` hook with `event.type === "session.idle"` | Fires when a session reaches idle state |
210
- | Exact bare `hej` | `chat.message` | Rewrites only the complete text message `hej` so the bundled `agentera` skill owns the dashboard path |
210
+ | Exact bare `/agentera` | `chat.message` | Rewrites only the complete text message `/agentera` so the bundled `agentera` skill owns the dashboard path |
211
211
  | PreToolUse | `tool.execute.before` | Blocks invalid reconstructable artifact candidates by throwing an error |
212
212
  | PostToolUse | `tool.execute.after` | Fires after every tool execution |
213
- | Compaction context | `experimental.session.compacting` | Appends bounded Agentera state from `agentera hej --format json` |
213
+ | Compaction context | `experimental.session.compacting` | Appends bounded Agentera state from `agentera prime --format json` |
214
214
 
215
215
  OpenCode plugins subscribe to session events by exporting one generic `event` hook:
216
216
 
@@ -233,7 +233,7 @@ export const AgenteraPlugin = async ({ project, client, $, directory, worktree }
233
233
  // PostToolUse equivalent: report validation warnings
234
234
  },
235
235
  "chat.message": async (input, output) => {
236
- // Exact bare hej prompt rewrite.
236
+ // Exact bare /agentera prompt rewrite.
237
237
  },
238
238
  "experimental.session.compacting": async (input, output) => {
239
239
  // Append bounded Agentera CLI state context.
@@ -248,17 +248,17 @@ Install-root semantics used by the plugin are contract-bound to `scripts/install
248
248
 
249
249
  OpenCode runtime facts are owned by the RuntimeAdapter registry at `references/adapters/runtime-adapter-registry.yaml` and loaded through `scripts/runtime_adapter_registry.py`. This reference describes the OpenCode adapter behavior, but registry-owned values such as event support, artifact-validation claims, config targets, diagnostic labels, and documentation claims must be validated against the registry rather than changed here as an independent source. The install-root Module must keep package manifest registry and package metadata consolidation work outside its scope.
250
250
 
251
- Registry parity claims: Blocks invalid reconstructable artifact candidates. Routes exact bare text hej through chat.message to the bundled Agentera dashboard path.
251
+ Registry parity claims: Blocks invalid reconstructable artifact candidates. Routes exact bare text /agentera through chat.message to the bundled Agentera dashboard path.
252
252
 
253
253
  1. **SessionStart** (`event.type === "session.created"`): Observe session creation through the event hook. Session-start context preload remains deferred because no supported model-context injection path is verified for this adapter. Do not attach dead preload code to event observation alone.
254
254
 
255
255
  2. **PreToolUse** (`tool.execute.before`): When `write` or `edit` args expose a path plus candidate content or exact replacement evidence, validate the candidate through `hooks/validate_artifact.py`. Throw an error to block invalid artifact content before mutation. Sparse payloads and `apply_patch` `patchText` without reconstructed full content are allowed rather than guessed.
256
256
 
257
- 3. **Exact bare `hej`** (`chat.message`): If the incoming user message has exactly one meaningful text part and that text is exactly `hej` after removing only OpenCode's CLI-added single trailing newline transport artifact, replace that text with an Agentera routing prompt that preserves the original-message fact and instructs the agent to run `agentera hej` instead of replying with a generic greeting. This is intentionally not a broad greeting detector.
257
+ 3. **Exact bare `/agentera`** (`chat.message`): If the incoming user message has exactly one meaningful text part and that text is exactly `/agentera` after removing only OpenCode's CLI-added single trailing newline transport artifact, replace that text with an Agentera routing prompt that preserves the original-message fact and instructs the agent to run `agentera prime` instead of replying with a generic greeting. This is intentionally not a broad greeting detector.
258
258
 
259
259
  4. **PostToolUse** (`tool.execute.after`): After `write` or `edit`, run the shared artifact validator for warnings. This is advisory because the mutation already happened.
260
260
 
261
- 5. **Compaction context** (`experimental.session.compacting`): Before OpenCode compacts a session, append a bounded Agentera project-state summary generated by `agentera hej --format json`. This hook is CLI-first by design and does not read `.agentera` artifacts directly.
261
+ 5. **Compaction context** (`experimental.session.compacting`): Before OpenCode compacts a session, append a bounded Agentera project-state summary generated by `agentera prime --format json`. This hook is CLI-first by design and does not read `.agentera` artifacts directly.
262
262
 
263
263
  6. **Stop** (`event.type === "session.idle"`): Append a runtime-local bookmark entry under the Agentera data directory capturing artifact changes for next-session continuity.
264
264
 
@@ -336,7 +336,7 @@ The SDK exposes message history with timestamps, project context, and session me
336
336
  1. Enumerate sessions via `opencode session list --format json`
337
337
  2. Export each session via `opencode export [sessionID]`
338
338
  3. Filter for user-originated messages from the export JSON
339
- 4. Apply decision-pattern regex (same patterns profilera uses for Claude Code history) to classify prompts as `"decision"`, `"correction"`, or `"question"`
339
+ 4. Apply decision-pattern regex (same patterns profile uses for Claude Code history) to classify prompts as `"decision"`, `"correction"`, or `"question"`
340
340
  5. Produce history_prompt records with session and project metadata
341
341
 
342
342
  ```python
@@ -438,7 +438,7 @@ Summary of which corpus families the OpenCode adapter can produce:
438
438
  | Conversation exchanges | conversation_turn | Yes (CLI) | `opencode export [sessionID]` provides full session JSON with paired user-assistant turns |
439
439
  | Config patterns | project_config_signal | Yes | Direct filesystem scan, identical to Claude Code |
440
440
 
441
- **Initial port profilera mode**: Full. All four source families are available via included OpenCode functionality. Crystallized decisions come from AGENTS.md files and instructions config. Decision history and conversation exchanges come from `opencode export` CLI output. Config patterns come from direct filesystem scan.
441
+ **Initial port profile mode**: Full. All four source families are available via included OpenCode functionality. Crystallized decisions come from AGENTS.md files and instructions config. Decision history and conversation exchanges come from `opencode export` CLI output. Config patterns come from direct filesystem scan.
442
442
 
443
443
  ---
444
444
 
@@ -510,7 +510,7 @@ OpenCode repair is ownership-gated. Managed slash commands include `agentera_man
510
510
 
511
511
  | Gap | Impact | Mitigation |
512
512
  |-----|--------|------------|
513
- | Sub-agent dispatch lacks built-in worktree isolation | realisera/orkestrera run in same working tree | Strategy A (Task tool) for initial port; manual `git worktree` commands for full isolation |
513
+ | Sub-agent dispatch lacks built-in worktree isolation | build/orchestrate run in same working tree | Strategy A (Task tool) for initial port; manual `git worktree` commands for full isolation |
514
514
  | `opencode run --format json` event schema differs from `claude -p --output-format json` | Eval runner needs a separate JSON event parser | Implement an OpenCode-specific parser module in eval_skills.py; event stream structure is straightforward |
515
515
  | Session history requires JSON event schema mapping | history_prompt and conversation_turn need export parser | `opencode export [sessionID]` provides full session JSON; adapter parses the export output |
516
516
  | Python scripts require Python runtime | Hook plugin calls Python via shell | Python is already a prerequisite for agentera scripts |
@@ -39,7 +39,7 @@ Characterized runtime actions:
39
39
  | Codex CLI | `copy-agent` | `~/.codex/agents/*.toml` | `pending` | copies managed capability descriptors, then reports `runtime update applied` |
40
40
  | Copilot CLI | `configure` | none | `noop` | no local config write; use per-invocation `AGENTERA_HOME` |
41
41
  | OpenCode | `copy-plugin` | `~/.config/opencode/plugins/agentera.js` | `pending` | copies plugin, then reports `runtime update applied` |
42
- | OpenCode | `copy-agent` | `~/.config/opencode/agents/*.md` | `pending` | copies managed capability descriptors, then reports `runtime update applied` |
42
+ | OpenCode | `copy-agent` | `~/.config/opencode/agents/agentera.md` | `pending` | copies single managed agent descriptor (D73), then reports `runtime update applied` |
43
43
 
44
44
  Package-phase items currently expose `runtime`, `action`, `command`, `status`,
45
45
  and `message`. Without `--update-packages`, package items are `skipped`; with it,
@@ -125,12 +125,12 @@ records:
125
125
  payload_reconstruction_limitations:
126
126
  - Sparse payloads and apply_patch patchText without reconstructed full content are allowed.
127
127
  subagent_dispatch:
128
- mechanism: OpenCode .opencode/agents descriptors
128
+ mechanism: OpenCode .opencode/agents single primary agent (D73)
129
129
  setup_targets:
130
130
  - ~/.config/opencode/agents
131
131
  descriptor_sources:
132
- - .opencode/agents/*.md
133
- invocation_pattern: Use @<capability> for the installed Agentera capability descriptor.
132
+ - .opencode/agents/agentera.md
133
+ invocation_pattern: Use @agentera for the single Agentera primary agent; routing via skill, dispatch to general subagent.
134
134
  tool_configuration: per_agent_permission
135
135
  limitations:
136
136
  - OpenCode descriptor bootstrap is file-based and preserves user-owned descriptor collisions.
@@ -152,6 +152,8 @@ records:
152
152
  - opencode_managed_commands
153
153
  - opencode_skill_paths
154
154
  - bundled_support_references
155
+ - profile_dir_deprecated
156
+ - profile_dir_schema_literal
155
157
  status_labels:
156
158
  - pass
157
159
  - warn
@@ -174,13 +176,17 @@ records:
174
176
  - OpenCode Agentera skill paths are missing or broken
175
177
  - bundled support references validate separately from installer status
176
178
  - bundled reference validation mismatch found despite installer status
179
+ - profile dir env var is current
180
+ - v2 env var PROFILERA_PROFILE_DIR detected; run `agentera upgrade` to migrate to AGENTERA_PROFILE_DIR
181
+ - OpenCode plugin profile-dir schema is current
182
+ - OpenCode plugin source uses unmigrated profile-dir schema literal (PROFILERA_PROFILE_DIR without AGENTERA_PROFILE_DIR); run `agentera upgrade`
177
183
  documentation_claims:
178
184
  reference_paths:
179
185
  - references/adapters/runtime-feature-parity.md
180
186
  - references/adapters/opencode.md
181
187
  parity_claims:
182
188
  - Blocks invalid reconstructable artifact candidates.
183
- - Routes exact bare text hej through chat.message to the bundled Agentera dashboard path.
189
+ - Routes exact bare text /agentera through chat.message to the bundled Agentera dashboard path.
184
190
  install_claims:
185
191
  - OpenCode plugin is copied to the native plugin path.
186
192
  known_drifts:
@@ -217,7 +223,7 @@ records:
217
223
  postToolUse: supported
218
224
  errorOccurred: supported
219
225
  limitations:
220
- - Profilera exposes bounded corpus metadata limits with missing source families.
226
+ - Profile exposes bounded corpus metadata limits with missing source families.
221
227
  artifact_validation:
222
228
  validation_events:
223
229
  - preToolUse
@@ -397,7 +403,7 @@ records:
397
403
  stop: supported
398
404
  limitations:
399
405
  - Cloud agents are unsupported in v1; repo hooks and managed agents target local IDE sessions only.
400
- - Bare text hej routing is metadata-only; sessionStart injects context but does not rewrite prompts.
406
+ - Bare text /agentera routing is metadata-only; sessionStart injects context but does not rewrite prompts.
401
407
  artifact_validation:
402
408
  validation_events:
403
409
  - preToolUse
@@ -406,12 +412,12 @@ records:
406
412
  payload_reconstruction_limitations:
407
413
  - Malformed, sparse, or non-reconstructable tool_input payloads are allowed.
408
414
  subagent_dispatch:
409
- mechanism: Cursor .cursor/agents descriptors
415
+ mechanism: Cursor .cursor/agents single agent descriptor (D73)
410
416
  setup_targets:
411
417
  - .cursor/agents
412
418
  descriptor_sources:
413
- - .cursor/agents/*.md
414
- invocation_pattern: Use the Cursor agent picker or @-mention the installed Agentera capability descriptor.
419
+ - .cursor/agents/agentera.md
420
+ invocation_pattern: Use the Cursor agent picker or @-mention the single Agentera agent; routing via skill, dispatch to general subagent.
415
421
  tool_configuration: global_full_access
416
422
  limitations:
417
423
  - Cloud agent sessions do not load project hooks or managed agents in v1.
@@ -545,4 +551,4 @@ records:
545
551
  - cursor-agent inherits IDE hook wiring only when run inside a workspace with installed Cursor surfaces.
546
552
  known_drifts:
547
553
  - CLI hook and session env parity is degraded relative to Cursor IDE.
548
- - Bare text hej routing is metadata-only like Claude, Copilot, and Codex.
554
+ - Bare text /agentera routing is metadata-only like Claude, Copilot, and Codex.
@@ -75,10 +75,10 @@ before mutation.
75
75
  | Runtime | Dispatch surface | Descriptor source | Tool Access | Verification surface |
76
76
  |---------|------------------|-------------------|-------------|----------------------|
77
77
  | Claude Code | Native Task/subagent surface | Host-managed; no Agentera descriptor files shipped for this phase | None (no descriptors) | RuntimeAdapter registry |
78
- | OpenCode | `@<capability>` descriptors under `~/.config/opencode/agents` | `.opencode/agents/*.md`, bootstrapped by `.opencode/plugins/agentera.js` | Per-agent `permission` frontmatter | `scripts/smoke_opencode_bootstrap.mjs`, `agentera validate descriptors` |
78
+ | OpenCode | Single `agentera` primary agent with `general` subagent dispatch | `.opencode/agents/agentera.md`, bootstrapped by `.opencode/plugins/agentera.js` | Per-agent `permission` frontmatter (broad: write+bash allow) | `scripts/smoke_opencode_bootstrap.mjs`, `agentera validate descriptors` |
79
79
  | Copilot CLI | User-driven host action such as `/fleet` when available | Host-managed; no Agentera descriptor files shipped for this phase | N/A (no descriptors) | RuntimeAdapter registry |
80
80
  | Codex CLI | Native agent descriptors under `~/.codex/agents` or project `.codex/agents` with bounded `[agents]` settings | `skills/agentera/agents/*.toml`, installed by `scripts/setup_codex.py` and `agentera upgrade` | Global sandbox policy (no per-agent) | `agentera validate descriptors`, `tests/test_setup_codex.py`, `tests/test_upgrade_cli.py` |
81
- | Cursor IDE | Cursor agent picker / @-mention for managed capability descriptors | `.cursor/agents/*.md`, via local plugin or `agentera upgrade --runtime cursor` | Global full access (no per-agent) | `references/adapters/cursor.md`, `scripts/validate_lifecycle_adapters.py`, `tests/test_upgrade_cli.py` |
81
+ | Cursor IDE | Single `agentera` agent with `general` subagent dispatch | `.cursor/agents/agentera.md`, via local plugin or `agentera upgrade --runtime cursor` | Global full access (no per-agent) | `references/adapters/cursor.md`, `scripts/validate_lifecycle_adapters.py`, `tests/test_upgrade_cli.py` |
82
82
  | Cursor Agent CLI | Host-managed `cursor-agent -p` print mode | Workspace `.cursor/agents/*.md` when present; no separate CLI descriptor install | Global full access (no per-agent) | `scripts/eval_skills.py --runtime cursor-agent`, `tests/test_eval_skills.py` |
83
83
 
84
84
  Agentera v2 does not write legacy `[agents.<name>]` Codex config blocks. Capability dispatch must use runtime-native subagent descriptors or host Task surfaces, not unsupported `agentera <capability>` CLI commands.
@@ -121,7 +121,7 @@ Follow this loop:
121
121
  by `raw_artifact_access_after_cli_counts` when the read is not redundant yet
122
122
  but still happens after a successful CLI state call.
123
123
  4. Map each repeated raw read to the CLI state owner. Prefer enriching existing
124
- routine commands or the `hej` composite startup result. Do not add Decision 43
124
+ routine commands or the `prime` composite startup result. Do not add Decision 43
125
125
  slash-route aliases as CLI commands.
126
126
  5. Make CLI completeness explicit. A startup-capable response should say whether
127
127
  it is complete for the requested capability, whether raw artifact reads are
@@ -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:
@@ -312,8 +312,8 @@ state_gathering_sequence:
312
312
  start_anchor: first_agentera_state_call_after_capability_related_user_turn
313
313
  capability_invocation_markers:
314
314
  - slash route such as /agentera plan or /agentera build
315
- - bare capability name such as planera, resonera, or orkestrera
316
- - natural-language capability mention such as run orkestrera
315
+ - bare capability name such as plan, discuss, or orchestrate
316
+ - natural-language capability mention such as run orchestrate
317
317
  - assistant capability intro marker
318
318
  end_anchors:
319
319
  - first_implementation_boundary
@@ -324,7 +324,7 @@ state_gathering_sequence:
324
324
 
325
325
  counted_event_classes:
326
326
  - class: cli_state_call
327
- description: Agentera state CLI reads such as hej, todo, docs, plan, progress, decisions, health, and query.
327
+ description: Agentera state CLI reads such as prime, todo, docs, plan, progress, decisions, health, and query.
328
328
  - class: raw_artifact_access
329
329
  description: Direct read, grep, or glob access to Agentera state artifacts after CLI state access.
330
330
  - class: capability_prose_read
@@ -204,9 +204,10 @@ explicit_special_cases:
204
204
  display_name: PROFILE.md
205
205
  artifact_type: global_user_state
206
206
  scope: global_user_state
207
- default_path: $PROFILERA_PROFILE_DIR/PROFILE.md
207
+ default_path: $AGENTERA_PROFILE_DIR/PROFILE.md
208
208
  path_template:
209
209
  env_precedence:
210
+ - AGENTERA_PROFILE_DIR
210
211
  - PROFILERA_PROFILE_DIR
211
212
  - XDG_DATA_HOME/agentera
212
213
  - ~/.local/share/agentera
@@ -235,11 +236,11 @@ explicit_special_cases:
235
236
  display_name: benchmark_context
236
237
  artifact_type: cli_context
237
238
  scope: cli_context
238
- default_path: agentera prime --context optimera --format json#benchmark_context
239
+ default_path: agentera prime --context optimize --format json#benchmark_context
239
240
  producers:
240
241
  - agentera
241
242
  consumers:
242
- - optimera
243
+ - optimize
243
244
  docs_yaml_can_override_path: false
244
245
  consumer_permissions:
245
246
  cross_capability_validator:
@@ -229,7 +229,7 @@ structured_output:
229
229
  - profile
230
230
  - v1_migration
231
231
  - health
232
- - issues
232
+ - todo
233
233
  - plan
234
234
  - docs
235
235
  - progress
@@ -589,7 +589,7 @@ field_selection:
589
589
  - profile
590
590
  - v1_migration
591
591
  - health
592
- - issues
592
+ - todo
593
593
  - plan
594
594
  - docs
595
595
  - progress
@@ -880,7 +880,7 @@ usage_namespace:
880
880
  behavior: >-
881
881
  Uses the supplied Section 22 corpus.json envelope. When omitted, default
882
882
  corpus lookup remains owned by `agentera usage` and follows
883
- `PROFILERA_PROFILE_DIR/intermediate/corpus.json` before platform data-home
883
+ `AGENTERA_PROFILE_DIR/intermediate/corpus.json` before platform data-home
884
884
  defaults.
885
885
  project:
886
886
  syntax: --project VALUE
@@ -900,14 +900,14 @@ usage_namespace:
900
900
  path_contract:
901
901
  report_precedence:
902
902
  - AGENTERA_USAGE_DIR/USAGE.md
903
- - PROFILERA_PROFILE_DIR/USAGE.md
903
+ - AGENTERA_PROFILE_DIR/USAGE.md
904
904
  - platform data home agentera/USAGE.md
905
905
  corpus_precedence:
906
- - PROFILERA_PROFILE_DIR/intermediate/corpus.json
906
+ - AGENTERA_PROFILE_DIR/intermediate/corpus.json
907
907
  - platform data home agentera/intermediate/corpus.json
908
908
  test_isolation: >-
909
909
  Facade tests that exercise default text writes must set temporary
910
- `AGENTERA_USAGE_DIR` and `PROFILERA_PROFILE_DIR` values and must not write the
910
+ `AGENTERA_USAGE_DIR` and `AGENTERA_PROFILE_DIR` values and must not write the
911
911
  real user data home.
912
912
  invalid_input_behavior:
913
913
  format_error: >-
@@ -2,7 +2,7 @@ schema_version: agentera.app_lifecycle_vocabulary.v1
2
2
  status: active_authority
3
3
  decision: 54
4
4
  purpose: >-
5
- Define the app lifecycle vocabulary shared by doctor, hej, upgrade, docs,
5
+ Define the app lifecycle vocabulary shared by doctor, status, upgrade, docs,
6
6
  and tests so structured status metadata, operation verbs, deprecated aliases,
7
7
  and consumer ownership boundaries have one machine-readable source.
8
8
  sources:
@@ -12,7 +12,7 @@ sources:
12
12
  - references/cli/vocabulary.md#app-lifecycle-status-vocabulary
13
13
  scope:
14
14
  includes:
15
- - Agentera app lifecycle status metadata emitted by doctor, hej, and upgrade.
15
+ - Agentera app lifecycle status metadata emitted by doctor, status, and upgrade.
16
16
  - Upgrade workflow operation verbs for app files, data migration, and no-change outcomes.
17
17
  - Cross-major status concepts that annotate migration work without adding parallel status enums.
18
18
  - Transitional deprecated aliases needed to classify shipped or historical consumers.
@@ -155,7 +155,7 @@ operation_verbs:
155
155
  lifecycle_allowed: false
156
156
  consumer_order:
157
157
  - doctor
158
- - hej
158
+ - status
159
159
  - upgrade
160
160
  - docs
161
161
  - tests
@@ -176,7 +176,7 @@ consumers:
176
176
  - migrate
177
177
  - upgrade
178
178
  may_define_new_statuses: false
179
- hej:
179
+ status:
180
180
  owns:
181
181
  - installed app gate summary exposed in the composite state briefing.
182
182
  - recovery prompts derived from doctor and upgrade metadata.
@@ -7,47 +7,47 @@ classification:
7
7
  mutation_capable:
8
8
  description: Needs file write, edit, and/or shell execution to fulfill purpose
9
9
  capabilities:
10
- realisera:
10
+ build:
11
11
  permission: {write: allow, bash: allow}
12
12
  rationale: Autonomous dev execution — writes code, runs tests/builds, commits
13
- optimera:
13
+ optimize:
14
14
  permission: {write: allow, bash: allow}
15
15
  rationale: Metric-driven optimization — runs experiments, writes harnesses
16
- orkestrera:
16
+ orchestrate:
17
17
  permission: {write: allow, bash: allow}
18
18
  rationale: Multi-cycle orchestration — dispatches workers, updates plan/progress
19
- dokumentera:
19
+ document:
20
20
  permission: {write: allow, bash: deny}
21
21
  rationale: Documentation generation — creates/updates doc files
22
- planera:
22
+ plan:
23
23
  permission: {write: allow, bash: deny}
24
24
  rationale: Plan management — writes plan.yaml, archives completed plans
25
25
 
26
26
  contextual_write:
27
27
  description: Writes owned Agentera state artifacts
28
28
  capabilities:
29
- visionera:
29
+ vision:
30
30
  permission: {write: allow, bash: deny}
31
31
  rationale: Writes vision.yaml, archives old visions
32
- resonera:
32
+ discuss:
33
33
  permission: {write: allow, bash: deny}
34
34
  rationale: Writes decisions.yaml, may update TODO.md
35
- visualisera:
35
+ design:
36
36
  permission: {write: allow, bash: deny}
37
37
  rationale: Writes DESIGN.md, archives old designs
38
- profilera:
38
+ profile:
39
39
  permission: {write: allow, bash: allow}
40
40
  rationale: Runs extraction scripts, writes PROFILE.md
41
- inspektera:
41
+ audit:
42
42
  permission: {write: allow, bash: deny}
43
43
  rationale: Writes health.yaml audit reports
44
44
 
45
45
  read_only:
46
46
  description: Only reads files, searches, analyzes
47
47
  capabilities:
48
- hej:
48
+ status:
49
49
  permission: {write: deny, bash: deny}
50
50
  rationale: Strictly read-only orientation dashboard
51
- inspirera:
51
+ research:
52
52
  permission: {write: deny, bash: deny}
53
53
  rationale: Analysis-only creative exploration
@@ -7,3 +7,7 @@ warning:
7
7
  - complete v3 migration
8
8
  - uninstall v3
9
9
  - stay on v2 explicitly
10
+ naming_divergence:
11
+ description: "v3 uses English capability IDs (status, vision, discuss, research, plan, build, optimize, audit, document, profile, design, orchestrate); v2 stable uses Swedish -era IDs (hej, visionera, resonera, inspirera, planera, realisera, optimera, inspektera, dokumentera, profilera, visualisera, orkestrera)"
12
+ v3_canonical: [status, vision, discuss, research, plan, build, optimize, audit, document, profile, design, orchestrate]
13
+ v2_stable: [hej, visionera, resonera, inspirera, planera, realisera, optimera, inspektera, dokumentera, profilera, visualisera, orkestrera]
@@ -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.