agentera 3.0.0-dev.5 → 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 (510) hide show
  1. package/README.md +4 -3
  2. package/bundle/extract-corpus-parity.json +23 -0
  3. package/bundle/references/adapters/cursor.md +10 -9
  4. package/bundle/references/adapters/opencode.md +26 -26
  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/adapters/runtime-adapter-characterization.md +1 -1
  8. package/bundle/references/adapters/runtime-adapter-registry.yaml +16 -10
  9. package/bundle/references/adapters/runtime-feature-parity.md +2 -2
  10. package/bundle/references/analysis/benchmark.md +1 -1
  11. package/bundle/references/analysis/startup-measurement-contract.yaml +18 -18
  12. package/bundle/references/artifacts/artifact-registry-interface-model.yaml +4 -3
  13. package/bundle/references/cli/agent-ready-state-contract.yaml +6 -6
  14. package/bundle/references/cli/app-lifecycle-vocabulary.yaml +4 -4
  15. package/bundle/references/cli/audience-namespace-cli-migration.yaml +40 -26
  16. package/bundle/references/cli/bundle-skill-vocabulary.yaml +1 -29
  17. package/bundle/references/cli/capability-tool-classification.yaml +12 -12
  18. package/bundle/references/cli/coexistence-probe.yaml +13 -0
  19. package/bundle/references/cli/parity-expected-actual-template.md +30 -0
  20. package/bundle/references/cli/routing-execution-vocabulary.yaml +6 -6
  21. package/bundle/references/cli/routing-model.md +96 -0
  22. package/bundle/references/cli/single-name-protocol.yaml +42 -0
  23. package/bundle/references/cli/trigger-schema-enrichment.md +136 -0
  24. package/bundle/references/cli/update-channels.yaml +16 -0
  25. package/bundle/references/cli/upgrade-repair-wording.md +45 -0
  26. package/bundle/references/cli/v3-handoff-manifest.schema.yaml +98 -0
  27. package/bundle/references/cli/vocabulary-index.yaml +17 -12
  28. package/bundle/references/cli/vocabulary.md +316 -309
  29. package/bundle/references/meta/documentation-inventory.md +9 -3
  30. package/bundle/registry.json +13 -13
  31. package/bundle/skills/agentera/.claude-plugin/plugin.json +13 -13
  32. package/bundle/skills/agentera/SKILL.md +99 -415
  33. package/bundle/skills/agentera/agents/audit.toml +6 -0
  34. package/bundle/skills/agentera/agents/build.toml +6 -0
  35. package/bundle/skills/agentera/agents/design.toml +6 -0
  36. package/bundle/skills/agentera/agents/{planera.toml → discuss.toml} +3 -3
  37. package/bundle/skills/agentera/agents/{resonera.toml → document.toml} +3 -3
  38. package/bundle/skills/agentera/agents/{optimera.toml → optimize.toml} +2 -2
  39. package/bundle/skills/agentera/agents/orchestrate.toml +6 -0
  40. package/bundle/skills/agentera/agents/plan.toml +6 -0
  41. package/bundle/skills/agentera/agents/profile.toml +6 -0
  42. package/bundle/skills/agentera/agents/research.toml +6 -0
  43. package/bundle/skills/agentera/agents/status.toml +6 -0
  44. package/bundle/skills/agentera/agents/vision.toml +6 -0
  45. package/bundle/skills/agentera/capabilities/{inspektera → audit}/schemas/artifacts.yaml +10 -10
  46. package/bundle/skills/agentera/capabilities/{inspektera → audit}/schemas/triggers.yaml +15 -6
  47. package/bundle/skills/agentera/capabilities/{inspektera → audit}/schemas/validation.yaml +9 -9
  48. package/bundle/skills/agentera/capabilities/{realisera → build}/schemas/artifacts.yaml +11 -11
  49. package/bundle/skills/agentera/capabilities/{realisera → build}/schemas/triggers.yaml +13 -3
  50. package/bundle/skills/agentera/capabilities/{realisera → build}/schemas/validation.yaml +7 -7
  51. package/bundle/skills/agentera/capabilities/{visualisera → design}/schemas/artifacts.yaml +6 -6
  52. package/bundle/skills/agentera/capabilities/{visualisera → design}/schemas/triggers.yaml +15 -3
  53. package/bundle/skills/agentera/capabilities/{visualisera → design}/schemas/validation.yaml +5 -5
  54. package/bundle/skills/agentera/capabilities/{resonera → discuss}/schemas/artifacts.yaml +6 -6
  55. package/bundle/skills/agentera/capabilities/{resonera → discuss}/schemas/triggers.yaml +11 -3
  56. package/bundle/skills/agentera/capabilities/{resonera → discuss}/schemas/validation.yaml +4 -4
  57. package/bundle/skills/agentera/capabilities/{dokumentera → document}/schemas/artifacts.yaml +10 -10
  58. package/bundle/skills/agentera/capabilities/{dokumentera → document}/schemas/triggers.yaml +14 -3
  59. package/bundle/skills/agentera/capabilities/{dokumentera → document}/schemas/validation.yaml +8 -8
  60. package/bundle/skills/agentera/capabilities/{optimera → optimize}/schemas/artifacts.yaml +8 -8
  61. package/bundle/skills/agentera/capabilities/{optimera → optimize}/schemas/triggers.yaml +11 -3
  62. package/bundle/skills/agentera/capabilities/{optimera → optimize}/schemas/validation.yaml +7 -7
  63. package/bundle/skills/agentera/capabilities/{orkestrera → orchestrate}/schemas/artifacts.yaml +10 -10
  64. package/bundle/skills/agentera/capabilities/{orkestrera → orchestrate}/schemas/triggers.yaml +16 -3
  65. package/bundle/skills/agentera/capabilities/{orkestrera → orchestrate}/schemas/validation.yaml +27 -27
  66. package/bundle/skills/agentera/capabilities/{planera → plan}/schemas/artifacts.yaml +8 -8
  67. package/bundle/skills/agentera/capabilities/{planera → plan}/schemas/exit.yaml +2 -2
  68. package/bundle/skills/agentera/capabilities/{planera → plan}/schemas/triggers.yaml +15 -3
  69. package/bundle/skills/agentera/capabilities/{planera → plan}/schemas/validation.yaml +3 -3
  70. package/bundle/skills/agentera/capabilities/{profilera → profile}/schemas/artifacts.yaml +2 -2
  71. package/bundle/skills/agentera/capabilities/{profilera → profile}/schemas/exit.yaml +2 -1
  72. package/bundle/skills/agentera/capabilities/{profilera → profile}/schemas/triggers.yaml +7 -3
  73. package/bundle/skills/agentera/capabilities/{profilera → profile}/schemas/validation.yaml +2 -2
  74. package/bundle/skills/agentera/capabilities/{inspirera → research}/schemas/artifacts.yaml +5 -5
  75. package/bundle/skills/agentera/capabilities/{inspirera → research}/schemas/triggers.yaml +9 -3
  76. package/bundle/skills/agentera/capabilities/{inspirera → research}/schemas/validation.yaml +2 -2
  77. package/bundle/skills/agentera/capabilities/{hej → status}/schemas/artifacts.yaml +14 -11
  78. package/bundle/skills/agentera/capabilities/{hej → status}/schemas/triggers.yaml +10 -4
  79. package/bundle/skills/agentera/capabilities/{hej → status}/schemas/validation.yaml +5 -5
  80. package/bundle/skills/agentera/capabilities/{visionera → vision}/schemas/artifacts.yaml +8 -8
  81. package/bundle/skills/agentera/capabilities/{visionera → vision}/schemas/triggers.yaml +17 -3
  82. package/bundle/skills/agentera/capabilities/{visionera → vision}/schemas/validation.yaml +7 -7
  83. package/bundle/skills/agentera/capability_schema_contract.yaml +178 -34
  84. package/bundle/skills/agentera/protocol.yaml +29 -29
  85. package/bundle/skills/agentera/references/contract.md +328 -319
  86. package/bundle/skills/agentera/schemas/artifacts/changelog.yaml +4 -4
  87. package/bundle/skills/agentera/schemas/artifacts/decisions.yaml +9 -9
  88. package/bundle/skills/agentera/schemas/artifacts/design.yaml +4 -4
  89. package/bundle/skills/agentera/schemas/artifacts/docs.yaml +8 -7
  90. package/bundle/skills/agentera/schemas/artifacts/experiments.yaml +5 -5
  91. package/bundle/skills/agentera/schemas/artifacts/health.yaml +5 -5
  92. package/bundle/skills/agentera/schemas/artifacts/objective.yaml +4 -4
  93. package/bundle/skills/agentera/schemas/artifacts/plan.yaml +5 -5
  94. package/bundle/skills/agentera/schemas/artifacts/progress.yaml +5 -5
  95. package/bundle/skills/agentera/schemas/artifacts/todo.yaml +40 -35
  96. package/bundle/skills/agentera/schemas/artifacts/vision.yaml +3 -3
  97. package/dist/analytics/extractCorpus/cli.js +149 -0
  98. package/dist/analytics/extractCorpus/cli.js.map +1 -0
  99. package/dist/analytics/extractCorpus/copilotSessions.js +273 -0
  100. package/dist/analytics/extractCorpus/copilotSessions.js.map +1 -0
  101. package/dist/analytics/extractCorpus/core.js +364 -0
  102. package/dist/analytics/extractCorpus/core.js.map +1 -0
  103. package/dist/analytics/extractCorpus/corpus.js +145 -0
  104. package/dist/analytics/extractCorpus/corpus.js.map +1 -0
  105. package/dist/analytics/extractCorpus/coverageAudit.js +261 -0
  106. package/dist/analytics/extractCorpus/coverageAudit.js.map +1 -0
  107. package/dist/analytics/extractCorpus/cursorSessions.js +423 -0
  108. package/dist/analytics/extractCorpus/cursorSessions.js.map +1 -0
  109. package/dist/analytics/extractCorpus/extractCorpusParity.js +105 -0
  110. package/dist/analytics/extractCorpus/extractCorpusParity.js.map +1 -0
  111. package/dist/analytics/extractCorpus/filesystemSources.js +122 -0
  112. package/dist/analytics/extractCorpus/filesystemSources.js.map +1 -0
  113. package/dist/analytics/extractCorpus/index.js +12 -0
  114. package/dist/analytics/extractCorpus/index.js.map +1 -0
  115. package/dist/analytics/extractCorpus/jsonlSessions.js +185 -0
  116. package/dist/analytics/extractCorpus/jsonlSessions.js.map +1 -0
  117. package/dist/analytics/extractCorpus/sqliteCaps.js +44 -0
  118. package/dist/analytics/extractCorpus/sqliteCaps.js.map +1 -0
  119. package/dist/analytics/extractCorpus/sqliteSessions.js +368 -0
  120. package/dist/analytics/extractCorpus/sqliteSessions.js.map +1 -0
  121. package/dist/analytics/extractCorpus.js +2 -1790
  122. package/dist/analytics/extractCorpus.js.map +1 -1
  123. package/dist/analytics/usageStats.js +20 -20
  124. package/dist/analytics/usageStats.js.map +1 -1
  125. package/dist/capabilities/audit/instructions.js +6 -0
  126. package/dist/capabilities/audit/instructions.js.map +1 -0
  127. package/dist/capabilities/build/instructions.js +6 -0
  128. package/dist/capabilities/build/instructions.js.map +1 -0
  129. package/dist/capabilities/design/instructions.js +5 -0
  130. package/dist/capabilities/design/instructions.js.map +1 -0
  131. package/dist/capabilities/discuss/instructions.js +6 -0
  132. package/dist/capabilities/discuss/instructions.js.map +1 -0
  133. package/dist/capabilities/document/instructions.js +6 -0
  134. package/dist/capabilities/document/instructions.js.map +1 -0
  135. package/dist/capabilities/index.js +24 -24
  136. package/dist/capabilities/index.js.map +1 -1
  137. package/dist/capabilities/inspirera/instructions.js +1 -1
  138. package/dist/capabilities/inspirera/instructions.js.map +1 -1
  139. package/dist/capabilities/optimize/instructions.js +6 -0
  140. package/dist/capabilities/optimize/instructions.js.map +1 -0
  141. package/dist/capabilities/orchestrate/instructions.js +6 -0
  142. package/dist/capabilities/orchestrate/instructions.js.map +1 -0
  143. package/dist/capabilities/plan/instructions.js +6 -0
  144. package/dist/capabilities/plan/instructions.js.map +1 -0
  145. package/dist/capabilities/planera/instructions.js +1 -1
  146. package/dist/capabilities/planera/instructions.js.map +1 -1
  147. package/dist/capabilities/profile/instructions.js +6 -0
  148. package/dist/capabilities/profile/instructions.js.map +1 -0
  149. package/dist/capabilities/profilera/instructions.js +1 -1
  150. package/dist/capabilities/profilera/instructions.js.map +1 -1
  151. package/dist/capabilities/realisera/instructions.js +1 -1
  152. package/dist/capabilities/realisera/instructions.js.map +1 -1
  153. package/dist/capabilities/research/instructions.js +6 -0
  154. package/dist/capabilities/research/instructions.js.map +1 -0
  155. package/dist/capabilities/resonera/instructions.js +1 -1
  156. package/dist/capabilities/resonera/instructions.js.map +1 -1
  157. package/dist/capabilities/status/instructions.js +6 -0
  158. package/dist/capabilities/status/instructions.js.map +1 -0
  159. package/dist/capabilities/vision/instructions.js +6 -0
  160. package/dist/capabilities/vision/instructions.js.map +1 -0
  161. package/dist/capabilities/visionera/instructions.js +1 -1
  162. package/dist/capabilities/visionera/instructions.js.map +1 -1
  163. package/dist/capabilities/visualisera/instructions.js +3 -4
  164. package/dist/capabilities/visualisera/instructions.js.map +1 -1
  165. package/dist/cli/appContext.js +16 -17
  166. package/dist/cli/appContext.js.map +1 -1
  167. package/dist/cli/capabilityContext/benchmark.js +564 -0
  168. package/dist/cli/capabilityContext/benchmark.js.map +1 -0
  169. package/dist/cli/capabilityContext/bespoke.js +36 -0
  170. package/dist/cli/capabilityContext/bespoke.js.map +1 -0
  171. package/dist/cli/capabilityContext/build.js +177 -0
  172. package/dist/cli/capabilityContext/build.js.map +1 -0
  173. package/dist/cli/capabilityContext/closeout.js +230 -0
  174. package/dist/cli/capabilityContext/closeout.js.map +1 -0
  175. package/dist/cli/capabilityContext/contract.js +188 -0
  176. package/dist/cli/capabilityContext/contract.js.map +1 -0
  177. package/dist/cli/capabilityContext/evidence.js +456 -0
  178. package/dist/cli/capabilityContext/evidence.js.map +1 -0
  179. package/dist/cli/capabilityContext/index.js +4 -0
  180. package/dist/cli/capabilityContext/index.js.map +1 -0
  181. package/dist/cli/capabilityContext/orchestration.js +107 -0
  182. package/dist/cli/capabilityContext/orchestration.js.map +1 -0
  183. package/dist/cli/capabilityContext/planState.js +271 -0
  184. package/dist/cli/capabilityContext/planState.js.map +1 -0
  185. package/dist/cli/capabilityContext/progress.js +103 -0
  186. package/dist/cli/capabilityContext/progress.js.map +1 -0
  187. package/dist/cli/capabilityContext/realisera.js +174 -0
  188. package/dist/cli/capabilityContext/realisera.js.map +1 -0
  189. package/dist/cli/capabilityContext/shared.js +94 -0
  190. package/dist/cli/capabilityContext/shared.js.map +1 -0
  191. package/dist/cli/capabilityContext/slim.js +108 -0
  192. package/dist/cli/capabilityContext/slim.js.map +1 -0
  193. package/dist/cli/capabilityContext/startup.js +213 -0
  194. package/dist/cli/capabilityContext/startup.js.map +1 -0
  195. package/dist/cli/capabilityContext/types.js +40 -0
  196. package/dist/cli/capabilityContext/types.js.map +1 -0
  197. package/dist/cli/capabilityContext.js +1 -2486
  198. package/dist/cli/capabilityContext.js.map +1 -1
  199. package/dist/cli/commands/appHome.js +23 -0
  200. package/dist/cli/commands/appHome.js.map +1 -0
  201. package/dist/cli/commands/backfill.js +84 -0
  202. package/dist/cli/commands/backfill.js.map +1 -0
  203. package/dist/cli/commands/capability.js +2 -2
  204. package/dist/cli/commands/capability.js.map +1 -1
  205. package/dist/cli/commands/compact.js +1 -1
  206. package/dist/cli/commands/compact.js.map +1 -1
  207. package/dist/cli/commands/doctor.js +17 -98
  208. package/dist/cli/commands/doctor.js.map +1 -1
  209. package/dist/cli/commands/lint.js +4 -36
  210. package/dist/cli/commands/lint.js.map +1 -1
  211. package/dist/cli/commands/prime/bundleStatus.js +140 -0
  212. package/dist/cli/commands/prime/bundleStatus.js.map +1 -0
  213. package/dist/cli/commands/prime/collectOrientationState.js +156 -0
  214. package/dist/cli/commands/prime/collectOrientationState.js.map +1 -0
  215. package/dist/cli/commands/prime/orientationOutput.js +210 -0
  216. package/dist/cli/commands/prime/orientationOutput.js.map +1 -0
  217. package/dist/cli/commands/prime/routeOutput.js +50 -0
  218. package/dist/cli/commands/prime/routeOutput.js.map +1 -0
  219. package/dist/cli/commands/prime/types.js +2 -0
  220. package/dist/cli/commands/prime/types.js.map +1 -0
  221. package/dist/cli/commands/prime/v1Migration.js +39 -0
  222. package/dist/cli/commands/prime/v1Migration.js.map +1 -0
  223. package/dist/cli/commands/prime.js +11 -554
  224. package/dist/cli/commands/prime.js.map +1 -1
  225. package/dist/cli/commands/query.js +5 -2
  226. package/dist/cli/commands/query.js.map +1 -1
  227. package/dist/cli/commands/report.js +27 -10
  228. package/dist/cli/commands/report.js.map +1 -1
  229. package/dist/cli/commands/schema.js +24 -20
  230. package/dist/cli/commands/schema.js.map +1 -1
  231. package/dist/cli/commands/state/decisions.js +403 -0
  232. package/dist/cli/commands/state/decisions.js.map +1 -0
  233. package/dist/cli/commands/state/docs.js +97 -0
  234. package/dist/cli/commands/state/docs.js.map +1 -0
  235. package/dist/cli/commands/state/experiments.js +68 -0
  236. package/dist/cli/commands/state/experiments.js.map +1 -0
  237. package/dist/cli/commands/state/health.js +116 -0
  238. package/dist/cli/commands/state/health.js.map +1 -0
  239. package/dist/cli/commands/state/index.js +51 -0
  240. package/dist/cli/commands/state/index.js.map +1 -0
  241. package/dist/cli/commands/state/objective.js +69 -0
  242. package/dist/cli/commands/state/objective.js.map +1 -0
  243. package/dist/cli/commands/state/plan.js +173 -0
  244. package/dist/cli/commands/state/plan.js.map +1 -0
  245. package/dist/cli/commands/state/progress.js +47 -0
  246. package/dist/cli/commands/state/progress.js.map +1 -0
  247. package/dist/cli/commands/state/shared.js +15 -0
  248. package/dist/cli/commands/state/shared.js.map +1 -0
  249. package/dist/cli/commands/state/todo.js +121 -0
  250. package/dist/cli/commands/state/todo.js.map +1 -0
  251. package/dist/cli/commands/state.js +7 -7
  252. package/dist/cli/commands/state.js.map +1 -1
  253. package/dist/cli/commands/validate.js +50 -100
  254. package/dist/cli/commands/validate.js.map +1 -1
  255. package/dist/cli/commands/verify.js +1 -1
  256. package/dist/cli/commands/verify.js.map +1 -1
  257. package/dist/cli/contracts/bundleStatus.js +2 -0
  258. package/dist/cli/contracts/bundleStatus.js.map +1 -0
  259. package/dist/cli/contracts/orientationState.js +2 -0
  260. package/dist/cli/contracts/orientationState.js.map +1 -0
  261. package/dist/cli/dispatch/argvParser.js +33 -0
  262. package/dist/cli/dispatch/argvParser.js.map +1 -0
  263. package/dist/cli/dispatch/check.js +328 -0
  264. package/dist/cli/dispatch/check.js.map +1 -0
  265. package/dist/cli/dispatch/commands.js +27 -0
  266. package/dist/cli/dispatch/commands.js.map +1 -0
  267. package/dist/cli/dispatch/index.js +182 -0
  268. package/dist/cli/dispatch/index.js.map +1 -0
  269. package/dist/cli/dispatch/lifecycle.js +597 -0
  270. package/dist/cli/dispatch/lifecycle.js.map +1 -0
  271. package/dist/cli/dispatch/prime.js +104 -0
  272. package/dist/cli/dispatch/prime.js.map +1 -0
  273. package/dist/cli/dispatch/shared.js +64 -0
  274. package/dist/cli/dispatch/shared.js.map +1 -0
  275. package/dist/cli/dispatch/state.js +144 -0
  276. package/dist/cli/dispatch/state.js.map +1 -0
  277. package/dist/cli/dispatch.js +1 -1293
  278. package/dist/cli/dispatch.js.map +1 -1
  279. package/dist/cli/help.js +41 -8
  280. package/dist/cli/help.js.map +1 -1
  281. package/dist/cli/orientation/attention.js +61 -0
  282. package/dist/cli/orientation/attention.js.map +1 -0
  283. package/dist/cli/orientation/corpusCoverage.js +71 -0
  284. package/dist/cli/orientation/corpusCoverage.js.map +1 -0
  285. package/dist/cli/orientation.js +129 -78
  286. package/dist/cli/orientation.js.map +1 -1
  287. package/dist/cli/prime-blob.js +1 -1
  288. package/dist/cli/startupCompletenessContract.js +56 -0
  289. package/dist/cli/startupCompletenessContract.js.map +1 -0
  290. package/dist/cli/stateQuery.js +9 -2
  291. package/dist/cli/stateQuery.js.map +1 -1
  292. package/dist/cli/todoSeverity.js +19 -0
  293. package/dist/cli/todoSeverity.js.map +1 -0
  294. package/dist/core/envPaths.js +21 -0
  295. package/dist/core/envPaths.js.map +1 -0
  296. package/dist/core/git.js +43 -0
  297. package/dist/core/git.js.map +1 -0
  298. package/dist/core/jsonValue.js +6 -0
  299. package/dist/core/jsonValue.js.map +1 -0
  300. package/dist/core/pyjson.js +67 -2
  301. package/dist/core/pyjson.js.map +1 -1
  302. package/dist/eval/evalSkills.js +17 -12
  303. package/dist/eval/evalSkills.js.map +1 -1
  304. package/dist/eval/semanticEval.js +43 -19
  305. package/dist/eval/semanticEval.js.map +1 -1
  306. package/dist/eval/semanticFixtures.js +16 -4
  307. package/dist/eval/semanticFixtures.js.map +1 -1
  308. package/dist/hooks/common.js +8 -23
  309. package/dist/hooks/common.js.map +1 -1
  310. package/dist/hooks/compaction/apply.js +269 -0
  311. package/dist/hooks/compaction/apply.js.map +1 -0
  312. package/dist/hooks/compaction/dryRun.js +183 -0
  313. package/dist/hooks/compaction/dryRun.js.map +1 -0
  314. package/dist/hooks/compaction/index.js +23 -0
  315. package/dist/hooks/compaction/index.js.map +1 -0
  316. package/dist/hooks/compaction/parse.js +258 -0
  317. package/dist/hooks/compaction/parse.js.map +1 -0
  318. package/dist/hooks/compaction/retention.js +199 -0
  319. package/dist/hooks/compaction/retention.js.map +1 -0
  320. package/dist/hooks/compaction/status.js +241 -0
  321. package/dist/hooks/compaction/status.js.map +1 -0
  322. package/dist/hooks/compaction/todoResolved.js +137 -0
  323. package/dist/hooks/compaction/todoResolved.js.map +1 -0
  324. package/dist/hooks/compaction/types.js +6 -0
  325. package/dist/hooks/compaction/types.js.map +1 -0
  326. package/dist/hooks/compaction.js +20 -20
  327. package/dist/hooks/compaction.js.map +1 -1
  328. package/dist/hooks/cursorPreToolUse.js +1 -1
  329. package/dist/hooks/cursorPreToolUse.js.map +1 -1
  330. package/dist/hooks/cursorSessionStart.js +10 -2
  331. package/dist/hooks/cursorSessionStart.js.map +1 -1
  332. package/dist/hooks/sessionStart.js +18 -11
  333. package/dist/hooks/sessionStart.js.map +1 -1
  334. package/dist/hooks/sessionStop.js +6 -12
  335. package/dist/hooks/sessionStop.js.map +1 -1
  336. package/dist/hooks/todoLayout.js +177 -0
  337. package/dist/hooks/todoLayout.js.map +1 -0
  338. package/dist/hooks/validateArtifact/agentFacing.js +10 -0
  339. package/dist/hooks/validateArtifact/agentFacing.js.map +1 -0
  340. package/dist/hooks/validateArtifact/index.js +151 -0
  341. package/dist/hooks/validateArtifact/index.js.map +1 -0
  342. package/dist/hooks/validateArtifact/markdown.js +146 -0
  343. package/dist/hooks/validateArtifact/markdown.js.map +1 -0
  344. package/dist/hooks/validateArtifact/runtime.js +86 -0
  345. package/dist/hooks/validateArtifact/runtime.js.map +1 -0
  346. package/dist/hooks/validateArtifact/schema.js +459 -0
  347. package/dist/hooks/validateArtifact/schema.js.map +1 -0
  348. package/dist/hooks/validateArtifact/traversal.js +106 -0
  349. package/dist/hooks/validateArtifact/traversal.js.map +1 -0
  350. package/dist/hooks/validateArtifact/violations.js +105 -0
  351. package/dist/hooks/validateArtifact/violations.js.map +1 -0
  352. package/dist/hooks/validateArtifact.js +29 -40
  353. package/dist/hooks/validateArtifact.js.map +1 -1
  354. package/dist/migrate/v2HandoffManifest.js +447 -0
  355. package/dist/migrate/v2HandoffManifest.js.map +1 -0
  356. package/dist/registries/artifactProtocolIds.js +77 -0
  357. package/dist/registries/artifactProtocolIds.js.map +1 -0
  358. package/dist/registries/artifactRegistry.js +23 -9
  359. package/dist/registries/artifactRegistry.js.map +1 -1
  360. package/dist/registries/capabilityContract.js +144 -1
  361. package/dist/registries/capabilityContract.js.map +1 -1
  362. package/dist/registries/evaluatorHandoffContract.js +2 -2
  363. package/dist/registries/evaluatorHandoffContract.js.map +1 -1
  364. package/dist/registries/packageRegistry.js +4 -3
  365. package/dist/registries/packageRegistry.js.map +1 -1
  366. package/dist/registries/runtimeAdapterRegistry.js +5 -4
  367. package/dist/registries/runtimeAdapterRegistry.js.map +1 -1
  368. package/dist/registries/triggerLoader.js +211 -0
  369. package/dist/registries/triggerLoader.js.map +1 -0
  370. package/dist/release/releaseMetadata.js +235 -0
  371. package/dist/release/releaseMetadata.js.map +1 -0
  372. package/dist/routing/index.js +2 -0
  373. package/dist/routing/index.js.map +1 -0
  374. package/dist/routing/routeEngine.js +189 -0
  375. package/dist/routing/routeEngine.js.map +1 -0
  376. package/dist/setup/codex/agents.js +96 -0
  377. package/dist/setup/codex/agents.js.map +1 -0
  378. package/dist/setup/codex/cli.js +161 -0
  379. package/dist/setup/codex/cli.js.map +1 -0
  380. package/dist/setup/codex/configToml.js +639 -0
  381. package/dist/setup/codex/configToml.js.map +1 -0
  382. package/dist/setup/codex/constants.js +29 -0
  383. package/dist/setup/codex/constants.js.map +1 -0
  384. package/dist/setup/codex/installRoot.js +64 -0
  385. package/dist/setup/codex/installRoot.js.map +1 -0
  386. package/dist/setup/codex/state.js +270 -0
  387. package/dist/setup/codex/state.js.map +1 -0
  388. package/dist/setup/codex.js +11 -1196
  389. package/dist/setup/codex.js.map +1 -1
  390. package/dist/setup/cursor.js +6 -4
  391. package/dist/setup/cursor.js.map +1 -1
  392. package/dist/setup/cursorSurfaces.js +67 -0
  393. package/dist/setup/cursorSurfaces.js.map +1 -0
  394. package/dist/setup/doctor/core.js +300 -0
  395. package/dist/setup/doctor/core.js.map +1 -0
  396. package/dist/setup/doctor/diagnostics.js +240 -0
  397. package/dist/setup/doctor/diagnostics.js.map +1 -0
  398. package/dist/setup/doctor/opencode.js +313 -0
  399. package/dist/setup/doctor/opencode.js.map +1 -0
  400. package/dist/setup/doctor/report.js +425 -0
  401. package/dist/setup/doctor/report.js.map +1 -0
  402. package/dist/setup/doctor.js +9 -1296
  403. package/dist/setup/doctor.js.map +1 -1
  404. package/dist/setup/opencode.js +13 -0
  405. package/dist/setup/opencode.js.map +1 -0
  406. package/dist/setup/smokeChecks.js +11 -11
  407. package/dist/setup/smokeChecks.js.map +1 -1
  408. package/dist/state/installRoot.js +49 -18
  409. package/dist/state/installRoot.js.map +1 -1
  410. package/dist/state/progressCommit.js +289 -0
  411. package/dist/state/progressCommit.js.map +1 -0
  412. package/dist/state/startupAnalysis/benchmark.js +371 -0
  413. package/dist/state/startupAnalysis/benchmark.js.map +1 -0
  414. package/dist/state/startupAnalysis/contract.js +126 -0
  415. package/dist/state/startupAnalysis/contract.js.map +1 -0
  416. package/dist/state/startupAnalysis/helpers.js +287 -0
  417. package/dist/state/startupAnalysis/helpers.js.map +1 -0
  418. package/dist/state/startupAnalysis/index.js +7 -0
  419. package/dist/state/startupAnalysis/index.js.map +1 -0
  420. package/dist/state/startupAnalysis/metrics.js +341 -0
  421. package/dist/state/startupAnalysis/metrics.js.map +1 -0
  422. package/dist/state/startupAnalysis/records.js +199 -0
  423. package/dist/state/startupAnalysis/records.js.map +1 -0
  424. package/dist/state/startupAnalysis/report.js +112 -0
  425. package/dist/state/startupAnalysis/report.js.map +1 -0
  426. package/dist/state/startupAnalysis/threshold.js +500 -0
  427. package/dist/state/startupAnalysis/threshold.js.map +1 -0
  428. package/dist/state/startupAnalysis.js +2 -1952
  429. package/dist/state/startupAnalysis.js.map +1 -1
  430. package/dist/upgrade/appContentRefresh.js +342 -0
  431. package/dist/upgrade/appContentRefresh.js.map +1 -0
  432. package/dist/upgrade/appModel.js +8 -6
  433. package/dist/upgrade/appModel.js.map +1 -1
  434. package/dist/upgrade/bundleEvidence.js +34 -0
  435. package/dist/upgrade/bundleEvidence.js.map +1 -0
  436. package/dist/upgrade/channels.js +11 -4
  437. package/dist/upgrade/channels.js.map +1 -1
  438. package/dist/upgrade/cliProbe.js +22 -0
  439. package/dist/upgrade/cliProbe.js.map +1 -0
  440. package/dist/upgrade/coexistenceProbe.js +107 -0
  441. package/dist/upgrade/coexistenceProbe.js.map +1 -0
  442. package/dist/upgrade/compatibility.js +13 -4
  443. package/dist/upgrade/compatibility.js.map +1 -1
  444. package/dist/upgrade/doctor.js +165 -183
  445. package/dist/upgrade/doctor.js.map +1 -1
  446. package/dist/upgrade/doctorClassifier.js +177 -0
  447. package/dist/upgrade/doctorClassifier.js.map +1 -0
  448. package/dist/upgrade/installedHooksRetirement.js +190 -0
  449. package/dist/upgrade/installedHooksRetirement.js.map +1 -0
  450. package/dist/upgrade/legacyAgentCleanup.js +116 -0
  451. package/dist/upgrade/legacyAgentCleanup.js.map +1 -0
  452. package/dist/upgrade/migrateArtifactsV2ToV3.js +57 -109
  453. package/dist/upgrade/migrateArtifactsV2ToV3.js.map +1 -1
  454. package/dist/upgrade/nextMajorDoctor.js +42 -7
  455. package/dist/upgrade/nextMajorDoctor.js.map +1 -1
  456. package/dist/upgrade/npxPlatformStatus.js +23 -0
  457. package/dist/upgrade/npxPlatformStatus.js.map +1 -0
  458. package/dist/upgrade/projectIntegration.js +69 -73
  459. package/dist/upgrade/projectIntegration.js.map +1 -1
  460. package/dist/upgrade/projectIntegrationDecision.js +93 -0
  461. package/dist/upgrade/projectIntegrationDecision.js.map +1 -0
  462. package/dist/upgrade/runtimeMigration.js +169 -68
  463. package/dist/upgrade/runtimeMigration.js.map +1 -1
  464. package/dist/upgrade/v3CapabilitySurface.js +15 -0
  465. package/dist/upgrade/v3CapabilitySurface.js.map +1 -0
  466. package/dist/upgrade/versionResolution.js +8 -0
  467. package/dist/upgrade/versionResolution.js.map +1 -1
  468. package/dist/validate/appHomeContract.js +4 -4
  469. package/dist/validate/appHomeContract.js.map +1 -1
  470. package/dist/validate/capability.js +124 -11
  471. package/dist/validate/capability.js.map +1 -1
  472. package/dist/validate/crossCapability.js +1 -1
  473. package/dist/validate/crossCapability.js.map +1 -1
  474. package/dist/validate/lifecycleAdapters/legacyPythonParity.js +93 -0
  475. package/dist/validate/lifecycleAdapters/legacyPythonParity.js.map +1 -0
  476. package/dist/validate/lifecycleAdapters/nodeFormChecks.js +488 -0
  477. package/dist/validate/lifecycleAdapters/nodeFormChecks.js.map +1 -0
  478. package/dist/validate/lifecycleAdapters/shared.js +198 -0
  479. package/dist/validate/lifecycleAdapters/shared.js.map +1 -0
  480. package/dist/validate/lifecycleAdapters.js +13 -723
  481. package/dist/validate/lifecycleAdapters.js.map +1 -1
  482. package/dist/validate/selfAudit.js +62 -20
  483. package/dist/validate/selfAudit.js.map +1 -1
  484. package/dist/validate/vocabularyAuthority.js +303 -0
  485. package/dist/validate/vocabularyAuthority.js.map +1 -0
  486. package/package.json +27 -24
  487. package/bundle/references/v1-section-mapping.md +0 -47
  488. package/bundle/skills/agentera/agents/dokumentera.toml +0 -6
  489. package/bundle/skills/agentera/agents/hej.toml +0 -6
  490. package/bundle/skills/agentera/agents/inspektera.toml +0 -6
  491. package/bundle/skills/agentera/agents/inspirera.toml +0 -6
  492. package/bundle/skills/agentera/agents/orkestrera.toml +0 -6
  493. package/bundle/skills/agentera/agents/profilera.toml +0 -6
  494. package/bundle/skills/agentera/agents/realisera.toml +0 -6
  495. package/bundle/skills/agentera/agents/visionera.toml +0 -6
  496. package/bundle/skills/agentera/agents/visualisera.toml +0 -6
  497. package/bundle/skills/hej/.claude-plugin/plugin.json +0 -6
  498. package/bundle/skills/hej/SKILL.md +0 -69
  499. package/bundle/skills/hej/agents/hej.toml +0 -11
  500. package/bundle/skills/hej/agents/openai.yaml +0 -8
  501. /package/bundle/skills/agentera/capabilities/{inspektera → audit}/schemas/exit.yaml +0 -0
  502. /package/bundle/skills/agentera/capabilities/{realisera → build}/schemas/exit.yaml +0 -0
  503. /package/bundle/skills/agentera/capabilities/{visualisera → design}/schemas/exit.yaml +0 -0
  504. /package/bundle/skills/agentera/capabilities/{resonera → discuss}/schemas/exit.yaml +0 -0
  505. /package/bundle/skills/agentera/capabilities/{dokumentera → document}/schemas/exit.yaml +0 -0
  506. /package/bundle/skills/agentera/capabilities/{optimera → optimize}/schemas/exit.yaml +0 -0
  507. /package/bundle/skills/agentera/capabilities/{orkestrera → orchestrate}/schemas/exit.yaml +0 -0
  508. /package/bundle/skills/agentera/capabilities/{inspirera → research}/schemas/exit.yaml +0 -0
  509. /package/bundle/skills/agentera/capabilities/{hej → status}/schemas/exit.yaml +0 -0
  510. /package/bundle/skills/agentera/capabilities/{visionera → vision}/schemas/exit.yaml +0 -0
@@ -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
@@ -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
@@ -0,0 +1,13 @@
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
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.
@@ -31,7 +31,7 @@ compatibility_boundary: >-
31
31
  canonical_concept_order:
32
32
  - request_to_capability_routing
33
33
  - next_action_recommendation
34
- - orkestrera_task_assignment
34
+ - orchestrate_task_assignment
35
35
  - worker_launch
36
36
  - runtime_subagent_support
37
37
  - worker_safety_git_commit
@@ -40,7 +40,7 @@ canonical_concepts:
40
40
  definition: >-
41
41
  Agentera chooses the capability that should handle a user request, using
42
42
  direct routes, primary route aliases, trigger schemas, disambiguation, or
43
- fallback to hej.
43
+ fallback to status.
44
44
  preferred_terms:
45
45
  - Agentera router
46
46
  - request-to-capability routing
@@ -65,15 +65,15 @@ canonical_concepts:
65
65
  - force
66
66
  - chain
67
67
  - conductor handoff
68
- orkestrera_task_assignment:
68
+ orchestrate_task_assignment:
69
69
  definition: >-
70
- Orkestrera assigns approved plan work to a worker capability during an
70
+ Orchestrate assigns approved plan work to a worker capability during an
71
71
  explicitly orchestrated flow; it evaluates the result instead of implementing
72
72
  the task itself.
73
73
  preferred_terms:
74
74
  - delegate
75
75
  - delegation
76
- - Orkestrera task delegation
76
+ - Orchestrate task delegation
77
77
  - assigned plan work
78
78
  forbidden_ambiguous_shortcuts:
79
79
  - conductor
@@ -82,7 +82,7 @@ canonical_concepts:
82
82
  - orchestrator implementation
83
83
  worker_launch:
84
84
  definition: >-
85
- Realisera or Optimera starts a worker through the host runtime when an
85
+ Build or Optimize starts a worker through the host runtime when an
86
86
  implementation or measurement cycle needs isolated execution.
87
87
  preferred_terms:
88
88
  - spawn
@@ -0,0 +1,96 @@
1
+ # Five-layer routing model
2
+
3
+ Origin: Decision 76 (2026-06-30) — LLM-primary routing model. Retires the
4
+ deterministic NL routing engine and repositions the trigger schema as
5
+ LLM-readable intent documentation. Builds on the original five-layer concept
6
+ from Decision 42 (2026-05-04), redefining Layers 3-4 as LLM-native.
7
+
8
+ The Agentera routing model resolves incoming requests to a capability across
9
+ five layers. Layers 1, 2, and 5 are deterministic dispatch (bare invocation,
10
+ exact alias, no match); they are implemented and unchanged. Layers 3 and 4
11
+ cover natural-language requests. Per Decision 76, the LLM host — the AI model
12
+ that receives the user's message — owns natural-language routing natively. The
13
+ trigger schema (`description`, `disambiguates_against`, `priority`, phase
14
+ context) provides LLM-readable intent documentation the host consults; there is
15
+ no scoring engine, no confidence threshold, and no borderline band. Layer 4
16
+ (formerly borderline-band disambiguation) is dissolved into Layer 3: the LLM
17
+ resolves ambiguity natively, using `disambiguates_against` hints as advisory
18
+ context. Decision 75's request-vs-state mutual exclusivity is dissolved: request
19
+ intent and state-readiness are both advisory context the LLM consults.
20
+
21
+ ## Layer 1: Bare `/agentera` or bare `hej` — delegate to prime
22
+
23
+ - **Input pattern**: the request is `/agentera` with no additional text, or the
24
+ complete user message is exactly `hej`.
25
+ - **Action**: delegate immediately to the status capability. Status performs
26
+ state-aware routing through the `agentera prime` composite result, which
27
+ condenses project artifacts and suggests the most useful next capability.
28
+ This is deterministic and never wrong. Bare `hej` must not be handled as a
29
+ generic greeting.
30
+ - **Implementation status**: implemented and unchanged.
31
+
32
+ ## Layer 2: capability name or `/agentera <primary-alias>` — direct route
33
+
34
+ - **Input pattern**: the request text exactly matches a capability name
35
+ (case-insensitive), or exactly matches one primary alias from
36
+ `capability_schema_contract.yaml` `ROUTE_ALIASES.primary_aliases`, or begins
37
+ with a canonical capability name followed by more text (`/agentera <capability>
38
+ <topic>`).
39
+ - **Action**: route directly to that capability without evaluating natural-language
40
+ trigger descriptions. Pass any remaining text as the user's topic or instruction.
41
+ Each capability has exactly one primary alias; secondary wording stays in
42
+ capability trigger schemas below this layer.
43
+ - **Implementation status**: implemented and unchanged.
44
+
45
+ ## Layer 3: Natural language — LLM-native routing
46
+
47
+ - **Input pattern**: the request is natural language (e.g. "help me think
48
+ through this") that does not match Layer 1 or Layer 2.
49
+ - **Action**: the LLM host routes natively. It consults the trigger schema's
50
+ `description` fields (what each capability does), `disambiguates_against`
51
+ hints (how to tell near-equal capabilities apart), and `priority`
52
+ (relevance precedence) as LLM-readable intent documentation, then selects a
53
+ capability. There are no confidence scores, no thresholds, and no
54
+ weighted-average computation; the LLM reads the intent descriptions and
55
+ routes.
56
+ - **Resolving ambiguity**: when two capabilities could match a request, the
57
+ LLM host resolves the ambiguity natively, surfacing the
58
+ `disambiguates_against.hint` strings as advisory context when it asks the
59
+ user to confirm or clarify. The hints supply the words; the LLM supplies the
60
+ judgment.
61
+ - **Implementation status**: implemented — the LLM host owns this layer.
62
+ `references/cli/trigger-schema-enrichment.md` is the intent documentation
63
+ contract the host reads.
64
+
65
+ ## Layer 4: Dissolved into Layer 3
66
+
67
+ Layer 4 formerly described a borderline-band disambiguation engine that fired
68
+ when two capabilities scored within a configurable band. Decision 76 retired
69
+ that engine: ambiguity resolution is now part of Layer 3, performed natively by
70
+ the LLM host using the `disambiguates_against` hints as advisory context. There
71
+ is no separate disambiguation layer, no borderline band, and no
72
+ disambiguation-engine output schema.
73
+
74
+ ## Layer 5: No match — fallback to status
75
+
76
+ - **Input pattern**: the LLM host cannot map the request to any capability from
77
+ the trigger schema's intent descriptions.
78
+ - **Action**: route to status for orientation. Status handles greetings, status
79
+ requests, and ambiguous inputs.
80
+ - **Implementation status**: implemented and unchanged.
81
+
82
+ ## Ownership boundaries
83
+
84
+ - **This document** defines what Layers 1-5 mean: their input patterns, actions,
85
+ and implementation status.
86
+ - **`skills/agentera/capability_schema_contract.yaml`** (`ENTRY_SCHEMA.fields.priority`
87
+ and `FIELD_RULES.TRIGGERS.priority`) defines trigger `priority` values
88
+ (`high`, `medium`, `low`) as an advisory relevance-precedence hint the LLM host
89
+ reads — not a scoring weight.
90
+ - **Per-capability `schemas/triggers.yaml`** owns the trigger `description`,
91
+ `priority`, and `disambiguates_against` intent documentation that the LLM host
92
+ consults for Layer 3 routing. `references/cli/trigger-schema-enrichment.md` is
93
+ the intent documentation contract; pattern matching and scoring belong to
94
+ neither, having been retired by Decision 76.
95
+ - **`skills/agentera/SKILL.md`** is the thin bootstrap routing surface per Decision
96
+ 74; it cross-references this document rather than restating the full model.
@@ -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
@@ -0,0 +1,136 @@
1
+ # Trigger intent documentation contract
2
+
3
+ Authority for Layer 3 LLM-native capability routing. This document defines the
4
+ trigger-schema fields the LLM host consults to understand what each capability
5
+ does and how to disambiguate near-equal requests. The fields are documentation
6
+ the host reads, not inputs to a scoring engine.
7
+
8
+ - **Authority path:** `references/cli/trigger-schema-enrichment.md`
9
+ - **Schema contract:** `skills/agentera/capability_schema_contract.yaml` (the
10
+ contract loader at `packages/cli/src/registries/capabilityContract.ts` consumes it)
11
+ - **Trigger files:** `skills/agentera/capabilities/<name>/schemas/triggers.yaml`
12
+ - **Scope:** Layer 3 (LLM-native natural-language routing) of the five-layer
13
+ routing model. Layer 4 (formerly borderline-band disambiguation) is dissolved
14
+ into Layer 3. Layers 1, 2, and 5 are unchanged.
15
+
16
+ ## Decision 76 — repositioning
17
+
18
+ Decision 76 (2026-06-30) retires the deterministic NL routing engine. The LLM
19
+ host — the AI model that receives the user's message — owns natural-language
20
+ routing natively. This document is repositioned from a scoring-enrichment
21
+ contract to the **trigger intent documentation contract**: it defines the
22
+ `triggers.yaml` fields that help the LLM host understand what each capability
23
+ does and how to disambiguate near-equal requests.
24
+
25
+ The fields stay as documentation, not as scoring inputs. The LLM host reads the
26
+ descriptions and disambiguates natively; `priority` and `disambiguates_against`
27
+ are advisory hints, not scoring weights. There is no scoring algorithm, no
28
+ confidence threshold, no borderline band, and no `prime --route` output schema.
29
+ Decision 75's request-vs-state mutual exclusivity is dissolved: request intent
30
+ and state-readiness are both advisory context the LLM consults. Decision 76
31
+ supersedes Decision 75 design choices 2 (request-derived scoring as router), 4
32
+ (mutual exclusivity), and 5 (pure request-derived).
33
+
34
+ Decision 76 records the design choices and rejected alternatives (including the
35
+ tuning-the-engine and reposition-`--route` alternatives that were rejected).
36
+
37
+ ## 1. Field shape
38
+
39
+ The fields below are the LLM-readable intent documentation the host consults.
40
+ `description` and `priority` are base trigger fields required on every
41
+ `TRIGGERS` entry; `disambiguates_against` is an optional enrichment that gives
42
+ the host disambiguation words to surface when a request could match more than
43
+ one capability.
44
+
45
+ ### 1.1 `description`
46
+
47
+ - **Type:** non-empty string (required on every `TRIGGERS` entry).
48
+ - **Meaning:** the LLM-readable explanation of what this trigger entry routes to.
49
+ The LLM host reads this to decide whether a natural-language request matches
50
+ the capability's intent. Prose that names the capability's purpose and the
51
+ request shapes it owns reads better than keyword lists; write it for a reader
52
+ who has never seen the capability before.
53
+ - **Validation failure:** a missing, empty, or non-string `description` fails
54
+ validation with an error message naming the offending entry ID.
55
+
56
+ ```
57
+ TRIGGERS:
58
+ 1:
59
+ id: T2
60
+ description: >-
61
+ Audit and codebase health requests.
62
+ priority: medium
63
+ patterns:
64
+ - "check code health"
65
+ - "architecture review"
66
+ ```
67
+
68
+ ### 1.2 `disambiguates_against`
69
+
70
+ - **Type:** list of mappings. Each entry MUST contain:
71
+ - `capability` — string referencing a valid capability ID (one of the twelve
72
+ English canonical IDs enumerated by `ROUTE_ALIASES.primary_aliases` in
73
+ `capability_schema_contract.yaml`: `status`, `vision`, `discuss`, `research`,
74
+ `plan`, `build`, `optimize`, `audit`, `document`, `profile`, `design`,
75
+ `orchestrate`).
76
+ - `hint` — non-empty string distinguishing this trigger's intent from the
77
+ named capability on near-equal requests.
78
+ - **Meaning:** declares which other capabilities this trigger's intent could be
79
+ confused with, with a hint the LLM host consults when it sees a request that
80
+ could match more than one capability. The list is advisory: the LLM host
81
+ resolves ambiguity natively and MAY surface the hint when asking the user to
82
+ confirm or clarify. The hint supplies the words; the LLM supplies the
83
+ judgment.
84
+ - **Validation failure:** a `capability` value that is not one of the twelve
85
+ canonical IDs, a missing `hint`, an empty `hint`, or an entry that is not a
86
+ mapping fails validation with the offending entry ID and the constraint.
87
+
88
+ ```
89
+ disambiguates_against:
90
+ - capability: build
91
+ hint: "vision refines existing project direction; build implements code"
92
+ - capability: optimize
93
+ hint: "vision is about what to build, not tuning existing code"
94
+ ```
95
+
96
+ ### 1.3 `priority`
97
+
98
+ - **Type:** string enum `high` | `medium` | `low` (required on every `TRIGGERS`
99
+ entry).
100
+ - **Meaning:** advisory relevance-precedence hint the LLM host reads alongside
101
+ `description` when deciding which capability best fits a request. `high`
102
+ marks a capability that owns the request strongly; `low` marks a capability
103
+ that is a plausible but weaker fit. It is not a scoring weight and feeds no
104
+ weighted-average calculation; the LLM host uses it as one signal among the
105
+ intent documentation.
106
+ - **Validation failure:** a missing `priority` or a value outside `high`,
107
+ `medium`, `low` fails validation with the offending entry ID.
108
+
109
+ ```
110
+ priority: high
111
+ ```
112
+
113
+ ## 2. Defaults summary
114
+
115
+ | Field | Required | Default when absent |
116
+ | --- | --- | --- |
117
+ | `description` | required | — |
118
+ | `disambiguates_against` | optional | empty list (no explicit collisions declared) |
119
+ | `priority` | required (`TRIGGERS`) | — |
120
+
121
+ `description` and `priority` are required on every `TRIGGERS` entry and have no
122
+ default. `disambiguates_against` is optional and defaults to an empty list. The
123
+ loader at `packages/cli/src/registries/capabilityContract.ts` is the consumer of
124
+ these shapes; tests and source that need them read through the loader rather than
125
+ re-declaring the values (per the AGENTS.md rule against duplicating
126
+ contract-owned values).
127
+
128
+ ## 3. Acceptance criteria mapping
129
+
130
+ | Criterion | Section |
131
+ | --- | --- |
132
+ | `description` is a non-empty string on every `TRIGGERS` entry | §1.1 |
133
+ | `disambiguates_against` entries reference a valid capability ID and include a non-empty hint | §1.2 |
134
+ | `priority` is one of `high` / `medium` / `low` on every `TRIGGERS` entry | §1.3 |
135
+ | Document reframed as LLM-readable intent documentation; no scoring algorithm, thresholds, borderline band, or `--route` output schema | Decision 76, §1 |
136
+ | Decision artifact lists each choice, ≥1 alternative, and rationale | Decision 76 in `.agentera/decisions.yaml` |
@@ -37,6 +37,7 @@ channels:
37
37
  concept: forward_successor_line
38
38
  channel: development
39
39
  version: "3.0.0"
40
+ announced: true
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