agentera 3.0.0-dev.3 → 3.0.0-dev.31

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 (766) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +96 -6
  3. package/bundle/.agentera-npx-bundle.json +1 -1
  4. package/bundle/CHANGELOG.md +1144 -0
  5. package/bundle/DESIGN.md +229 -0
  6. package/bundle/LICENSE +201 -0
  7. package/bundle/README.md +136 -0
  8. package/bundle/UPGRADE.md +201 -0
  9. package/bundle/extract-corpus-parity.json +21 -0
  10. package/bundle/fixtures/routing/hybrid-corpus.yaml +154 -0
  11. package/bundle/references/adapters/package-manifest-interface-model.yaml +42 -252
  12. package/bundle/references/adapters/package-registry.yaml +20 -188
  13. package/bundle/references/adapters/package-surface-characterization.md +36 -37
  14. package/bundle/references/adapters/runtime-lifecycle-adapters.yaml +74 -0
  15. package/bundle/references/adapters/runtime-lifecycle-authority.yaml +62 -0
  16. package/bundle/references/adapters/runtime-lifecycle-operation-contract.yaml +84 -0
  17. package/bundle/references/adapters/runtime-retired-resources.yaml +97 -0
  18. package/bundle/references/analysis/benchmark.md +10 -6
  19. package/bundle/references/analysis/evidence-tier-authority.yaml +516 -0
  20. package/bundle/references/analysis/startup-measurement-contract.yaml +37 -26
  21. package/bundle/references/analysis/verification-policy.yaml +142 -0
  22. package/bundle/references/artifacts/artifact-registry-interface-model.yaml +9 -8
  23. package/bundle/references/artifacts/state-storage-authority.yaml +2167 -0
  24. package/bundle/references/artifacts/verbosity-budget-authority.yaml +42 -0
  25. package/bundle/references/cli/agent-ready-state-contract.yaml +64 -81
  26. package/bundle/references/cli/app-lifecycle-vocabulary.yaml +7 -8
  27. package/bundle/references/cli/audience-namespace-cli-migration.yaml +58 -29
  28. package/bundle/references/cli/bundle-skill-vocabulary.yaml +12 -49
  29. package/bundle/references/cli/capability-instruction-contract.yaml +96 -58
  30. package/bundle/references/cli/capability-instruction-structure.md +144 -0
  31. package/bundle/references/cli/capability-tool-classification.yaml +14 -14
  32. package/bundle/references/cli/coexistence-probe.yaml +13 -0
  33. package/bundle/references/cli/hybrid-route-contract.yaml +416 -0
  34. package/bundle/references/cli/parity-expected-actual-template.md +30 -0
  35. package/bundle/references/cli/prime-consumer-compatibility.yaml +651 -0
  36. package/bundle/references/cli/routing-execution-vocabulary.yaml +16 -38
  37. package/bundle/references/cli/routing-model.md +139 -0
  38. package/bundle/references/cli/single-name-protocol.yaml +42 -0
  39. package/bundle/references/cli/trigger-schema-enrichment.md +140 -0
  40. package/bundle/references/cli/update-channels.yaml +45 -7
  41. package/bundle/references/cli/upgrade-repair-wording.md +25 -0
  42. package/bundle/references/cli/v3-handoff-manifest.schema.yaml +97 -0
  43. package/bundle/references/cli/vocabulary-index.yaml +23 -18
  44. package/bundle/references/cli/vocabulary.md +346 -331
  45. package/bundle/references/meta/documentation-inventory.md +10 -3
  46. package/bundle/registry.json +14 -14
  47. package/bundle/skills/agentera/SKILL.md +182 -407
  48. package/bundle/skills/agentera/capabilities/audit/schemas/artifacts.yaml +84 -0
  49. package/bundle/skills/agentera/capabilities/{inspektera → audit}/schemas/exit.yaml +2 -2
  50. package/bundle/skills/agentera/capabilities/audit/schemas/triggers.yaml +25 -0
  51. package/bundle/skills/agentera/capabilities/{inspektera → audit}/schemas/validation.yaml +20 -19
  52. package/bundle/skills/agentera/capabilities/build/schemas/artifacts.yaml +85 -0
  53. package/bundle/skills/agentera/capabilities/{realisera → build}/schemas/exit.yaml +3 -3
  54. package/bundle/skills/agentera/capabilities/build/schemas/triggers.yaml +27 -0
  55. package/bundle/skills/agentera/capabilities/{realisera → build}/schemas/validation.yaml +16 -16
  56. package/bundle/skills/agentera/capabilities/{visualisera → design}/schemas/artifacts.yaml +12 -12
  57. package/bundle/skills/agentera/capabilities/{visualisera → design}/schemas/exit.yaml +5 -5
  58. package/bundle/skills/agentera/capabilities/design/schemas/triggers.yaml +16 -0
  59. package/bundle/skills/agentera/capabilities/{visualisera → design}/schemas/validation.yaml +7 -7
  60. package/bundle/skills/agentera/capabilities/discuss/schemas/artifacts.yaml +49 -0
  61. package/bundle/skills/agentera/capabilities/{resonera → discuss}/schemas/exit.yaml +2 -2
  62. package/bundle/skills/agentera/capabilities/discuss/schemas/triggers.yaml +20 -0
  63. package/bundle/skills/agentera/capabilities/{resonera → discuss}/schemas/validation.yaml +9 -8
  64. package/bundle/skills/agentera/capabilities/document/schemas/artifacts.yaml +80 -0
  65. package/bundle/skills/agentera/capabilities/document/schemas/triggers.yaml +16 -0
  66. package/bundle/skills/agentera/capabilities/{dokumentera → document}/schemas/validation.yaml +18 -18
  67. package/bundle/skills/agentera/capabilities/{optimera → optimize}/schemas/artifacts.yaml +17 -17
  68. package/bundle/skills/agentera/capabilities/{optimera → optimize}/schemas/exit.yaml +2 -2
  69. package/bundle/skills/agentera/capabilities/optimize/schemas/triggers.yaml +16 -0
  70. package/bundle/skills/agentera/capabilities/{optimera → optimize}/schemas/validation.yaml +9 -9
  71. package/bundle/skills/agentera/capabilities/orchestrate/schemas/artifacts.yaml +76 -0
  72. package/bundle/skills/agentera/capabilities/{orkestrera → orchestrate}/schemas/exit.yaml +9 -7
  73. package/bundle/skills/agentera/capabilities/orchestrate/schemas/triggers.yaml +23 -0
  74. package/bundle/skills/agentera/capabilities/orchestrate/schemas/validation.yaml +121 -0
  75. package/bundle/skills/agentera/capabilities/plan/schemas/artifacts.yaml +63 -0
  76. package/bundle/skills/agentera/capabilities/{planera → plan}/schemas/exit.yaml +2 -2
  77. package/bundle/skills/agentera/capabilities/plan/schemas/triggers.yaml +23 -0
  78. package/bundle/skills/agentera/capabilities/plan/schemas/validation.yaml +89 -0
  79. package/bundle/skills/agentera/capabilities/{profilera → profile}/schemas/artifacts.yaml +4 -4
  80. package/bundle/skills/agentera/capabilities/{profilera → profile}/schemas/exit.yaml +3 -3
  81. package/bundle/skills/agentera/capabilities/profile/schemas/triggers.yaml +20 -0
  82. package/bundle/skills/agentera/capabilities/profile/schemas/validation.yaml +85 -0
  83. package/bundle/skills/agentera/capabilities/research/schemas/artifacts.yaml +24 -0
  84. package/bundle/skills/agentera/capabilities/research/schemas/triggers.yaml +16 -0
  85. package/bundle/skills/agentera/capabilities/{inspirera → research}/schemas/validation.yaml +2 -2
  86. package/bundle/skills/agentera/capabilities/status/schemas/artifacts.yaml +72 -0
  87. package/bundle/skills/agentera/capabilities/status/schemas/triggers.yaml +22 -0
  88. package/bundle/skills/agentera/capabilities/{hej → status}/schemas/validation.yaml +5 -5
  89. package/bundle/skills/agentera/capabilities/{visionera → vision}/schemas/artifacts.yaml +16 -16
  90. package/bundle/skills/agentera/capabilities/{visionera → vision}/schemas/exit.yaml +7 -6
  91. package/bundle/skills/agentera/capabilities/vision/schemas/triggers.yaml +23 -0
  92. package/bundle/skills/agentera/capabilities/{visionera → vision}/schemas/validation.yaml +18 -20
  93. package/bundle/skills/agentera/capability_schema_contract.yaml +200 -37
  94. package/bundle/skills/agentera/protocol.yaml +31 -31
  95. package/bundle/skills/agentera/references/contract.md +387 -329
  96. package/bundle/skills/agentera/route-phrases.yaml +81 -0
  97. package/bundle/skills/agentera/schemas/artifacts/changelog.yaml +5 -4
  98. package/bundle/skills/agentera/schemas/artifacts/decisions.yaml +40 -22
  99. package/bundle/skills/agentera/schemas/artifacts/design.yaml +5 -4
  100. package/bundle/skills/agentera/schemas/artifacts/docs.yaml +15 -19
  101. package/bundle/skills/agentera/schemas/artifacts/experiments.yaml +145 -14
  102. package/bundle/skills/agentera/schemas/artifacts/health.yaml +58 -21
  103. package/bundle/skills/agentera/schemas/artifacts/objective.yaml +22 -8
  104. package/bundle/skills/agentera/schemas/artifacts/plan.yaml +327 -15
  105. package/bundle/skills/agentera/schemas/artifacts/progress.yaml +51 -53
  106. package/bundle/skills/agentera/schemas/artifacts/todo.yaml +257 -28
  107. package/bundle/skills/agentera/schemas/artifacts/vision.yaml +3 -3
  108. package/dist/analytics/extractCorpus/cli.js +191 -0
  109. package/dist/analytics/extractCorpus/cli.js.map +1 -0
  110. package/dist/analytics/extractCorpus/copilotSessions.js +276 -0
  111. package/dist/analytics/extractCorpus/copilotSessions.js.map +1 -0
  112. package/dist/analytics/extractCorpus/core.js +393 -0
  113. package/dist/analytics/extractCorpus/core.js.map +1 -0
  114. package/dist/analytics/extractCorpus/corpus.js +168 -0
  115. package/dist/analytics/extractCorpus/corpus.js.map +1 -0
  116. package/dist/analytics/extractCorpus/coverageAudit.js +261 -0
  117. package/dist/analytics/extractCorpus/coverageAudit.js.map +1 -0
  118. package/dist/analytics/extractCorpus/cursorSessions.js +426 -0
  119. package/dist/analytics/extractCorpus/cursorSessions.js.map +1 -0
  120. package/dist/analytics/extractCorpus/evidenceTiers.js +561 -0
  121. package/dist/analytics/extractCorpus/evidenceTiers.js.map +1 -0
  122. package/dist/analytics/extractCorpus/extractCorpusParity.js +106 -0
  123. package/dist/analytics/extractCorpus/extractCorpusParity.js.map +1 -0
  124. package/dist/analytics/extractCorpus/filesystemSources.js +119 -0
  125. package/dist/analytics/extractCorpus/filesystemSources.js.map +1 -0
  126. package/dist/analytics/extractCorpus/index.js +15 -0
  127. package/dist/analytics/extractCorpus/index.js.map +1 -0
  128. package/dist/analytics/extractCorpus/jsonlSessions.js +205 -0
  129. package/dist/analytics/extractCorpus/jsonlSessions.js.map +1 -0
  130. package/dist/analytics/extractCorpus/sqliteCaps.js +44 -0
  131. package/dist/analytics/extractCorpus/sqliteCaps.js.map +1 -0
  132. package/dist/analytics/extractCorpus/sqliteSessions.js +368 -0
  133. package/dist/analytics/extractCorpus/sqliteSessions.js.map +1 -0
  134. package/dist/analytics/extractCorpus/tierReader.js +109 -0
  135. package/dist/analytics/extractCorpus/tierReader.js.map +1 -0
  136. package/dist/analytics/extractCorpus.js +2 -1790
  137. package/dist/analytics/extractCorpus.js.map +1 -1
  138. package/dist/analytics/profileSignals.js +212 -0
  139. package/dist/analytics/profileSignals.js.map +1 -0
  140. package/dist/analytics/usageStats.js +191 -41
  141. package/dist/analytics/usageStats.js.map +1 -1
  142. package/dist/bin/agentera.js +3 -1
  143. package/dist/bin/agentera.js.map +1 -1
  144. package/dist/capabilities/audit/instructions.js +16 -0
  145. package/dist/capabilities/audit/instructions.js.map +1 -0
  146. package/dist/capabilities/build/instructions.js +18 -0
  147. package/dist/capabilities/build/instructions.js.map +1 -0
  148. package/dist/capabilities/design/instructions.js +5 -0
  149. package/dist/capabilities/design/instructions.js.map +1 -0
  150. package/dist/capabilities/discuss/instructions.js +16 -0
  151. package/dist/capabilities/discuss/instructions.js.map +1 -0
  152. package/dist/capabilities/document/instructions.js +12 -0
  153. package/dist/capabilities/document/instructions.js.map +1 -0
  154. package/dist/capabilities/index.js +39 -0
  155. package/dist/capabilities/index.js.map +1 -0
  156. package/dist/capabilities/optimize/instructions.js +14 -0
  157. package/dist/capabilities/optimize/instructions.js.map +1 -0
  158. package/dist/capabilities/orchestrate/instructions.js +41 -0
  159. package/dist/capabilities/orchestrate/instructions.js.map +1 -0
  160. package/dist/capabilities/plan/instructions.js +15 -0
  161. package/dist/capabilities/plan/instructions.js.map +1 -0
  162. package/dist/capabilities/profile/instructions.js +5 -0
  163. package/dist/capabilities/profile/instructions.js.map +1 -0
  164. package/dist/capabilities/research/instructions.js +6 -0
  165. package/dist/capabilities/research/instructions.js.map +1 -0
  166. package/dist/capabilities/status/instructions.js +5 -0
  167. package/dist/capabilities/status/instructions.js.map +1 -0
  168. package/dist/capabilities/status/startupInstructions.js +39 -0
  169. package/dist/capabilities/status/startupInstructions.js.map +1 -0
  170. package/dist/capabilities/vision/instructions.js +5 -0
  171. package/dist/capabilities/vision/instructions.js.map +1 -0
  172. package/dist/cli/appContext.js +30 -23
  173. package/dist/cli/appContext.js.map +1 -1
  174. package/dist/cli/argvalidate.js.map +1 -1
  175. package/dist/cli/capabilityContext/benchmark.js +564 -0
  176. package/dist/cli/capabilityContext/benchmark.js.map +1 -0
  177. package/dist/cli/capabilityContext/bespoke.js +44 -0
  178. package/dist/cli/capabilityContext/bespoke.js.map +1 -0
  179. package/dist/cli/capabilityContext/build.js +191 -0
  180. package/dist/cli/capabilityContext/build.js.map +1 -0
  181. package/dist/cli/capabilityContext/closeout.js +231 -0
  182. package/dist/cli/capabilityContext/closeout.js.map +1 -0
  183. package/dist/cli/capabilityContext/contract.js +214 -0
  184. package/dist/cli/capabilityContext/contract.js.map +1 -0
  185. package/dist/cli/capabilityContext/evidence.js +469 -0
  186. package/dist/cli/capabilityContext/evidence.js.map +1 -0
  187. package/dist/cli/capabilityContext/index.js +4 -0
  188. package/dist/cli/capabilityContext/index.js.map +1 -0
  189. package/dist/cli/capabilityContext/orchestration.js +128 -0
  190. package/dist/cli/capabilityContext/orchestration.js.map +1 -0
  191. package/dist/cli/capabilityContext/planState.js +280 -0
  192. package/dist/cli/capabilityContext/planState.js.map +1 -0
  193. package/dist/cli/capabilityContext/progress.js +143 -0
  194. package/dist/cli/capabilityContext/progress.js.map +1 -0
  195. package/dist/cli/capabilityContext/shared.js +100 -0
  196. package/dist/cli/capabilityContext/shared.js.map +1 -0
  197. package/dist/cli/capabilityContext/slim.js +153 -0
  198. package/dist/cli/capabilityContext/slim.js.map +1 -0
  199. package/dist/cli/capabilityContext/startup.js +257 -0
  200. package/dist/cli/capabilityContext/startup.js.map +1 -0
  201. package/dist/cli/capabilityContext/types.js +51 -0
  202. package/dist/cli/capabilityContext/types.js.map +1 -0
  203. package/dist/cli/capabilityContext.js +1 -2420
  204. package/dist/cli/capabilityContext.js.map +1 -1
  205. package/dist/cli/commands/appHome.js +23 -0
  206. package/dist/cli/commands/appHome.js.map +1 -0
  207. package/dist/cli/commands/capability.js +3 -10
  208. package/dist/cli/commands/capability.js.map +1 -1
  209. package/dist/cli/commands/compact.js +41 -12
  210. package/dist/cli/commands/compact.js.map +1 -1
  211. package/dist/cli/commands/doctor.js +59 -97
  212. package/dist/cli/commands/doctor.js.map +1 -1
  213. package/dist/cli/commands/durability.js +82 -0
  214. package/dist/cli/commands/durability.js.map +1 -0
  215. package/dist/cli/commands/entityMigrate.js +132 -0
  216. package/dist/cli/commands/entityMigrate.js.map +1 -0
  217. package/dist/cli/commands/lint.js +26 -43
  218. package/dist/cli/commands/lint.js.map +1 -1
  219. package/dist/cli/commands/prime/briefOrientation.js +592 -0
  220. package/dist/cli/commands/prime/briefOrientation.js.map +1 -0
  221. package/dist/cli/commands/prime/bundleStatus.js +191 -0
  222. package/dist/cli/commands/prime/bundleStatus.js.map +1 -0
  223. package/dist/cli/commands/prime/collectEntityOrientation.js +266 -0
  224. package/dist/cli/commands/prime/collectEntityOrientation.js.map +1 -0
  225. package/dist/cli/commands/prime/collectOrientationState.js +180 -0
  226. package/dist/cli/commands/prime/collectOrientationState.js.map +1 -0
  227. package/dist/cli/commands/prime/orientationOutput.js +360 -0
  228. package/dist/cli/commands/prime/orientationOutput.js.map +1 -0
  229. package/dist/cli/commands/prime/types.js +2 -0
  230. package/dist/cli/commands/prime/types.js.map +1 -0
  231. package/dist/cli/commands/prime/v1Migration.js +39 -0
  232. package/dist/cli/commands/prime/v1Migration.js.map +1 -0
  233. package/dist/cli/commands/prime.js +61 -556
  234. package/dist/cli/commands/prime.js.map +1 -1
  235. package/dist/cli/commands/query.js +66 -51
  236. package/dist/cli/commands/query.js.map +1 -1
  237. package/dist/cli/commands/report.js +100 -24
  238. package/dist/cli/commands/report.js.map +1 -1
  239. package/dist/cli/commands/route.js +142 -0
  240. package/dist/cli/commands/route.js.map +1 -0
  241. package/dist/cli/commands/schema.js +260 -78
  242. package/dist/cli/commands/schema.js.map +1 -1
  243. package/dist/cli/commands/state/decisions.js +388 -0
  244. package/dist/cli/commands/state/decisions.js.map +1 -0
  245. package/dist/cli/commands/state/docs.js +71 -0
  246. package/dist/cli/commands/state/docs.js.map +1 -0
  247. package/dist/cli/commands/state/experimentRecords.js +139 -0
  248. package/dist/cli/commands/state/experimentRecords.js.map +1 -0
  249. package/dist/cli/commands/state/experiments.js +15 -0
  250. package/dist/cli/commands/state/experiments.js.map +1 -0
  251. package/dist/cli/commands/state/get.js +127 -0
  252. package/dist/cli/commands/state/get.js.map +1 -0
  253. package/dist/cli/commands/state/health.js +15 -0
  254. package/dist/cli/commands/state/health.js.map +1 -0
  255. package/dist/cli/commands/state/index.js +60 -0
  256. package/dist/cli/commands/state/index.js.map +1 -0
  257. package/dist/cli/commands/state/list.js +176 -0
  258. package/dist/cli/commands/state/list.js.map +1 -0
  259. package/dist/cli/commands/state/objective.js +26 -0
  260. package/dist/cli/commands/state/objective.js.map +1 -0
  261. package/dist/cli/commands/state/plan.js +15 -0
  262. package/dist/cli/commands/state/plan.js.map +1 -0
  263. package/dist/cli/commands/state/planTasks.js +142 -0
  264. package/dist/cli/commands/state/planTasks.js.map +1 -0
  265. package/dist/cli/commands/state/plans.js +143 -0
  266. package/dist/cli/commands/state/plans.js.map +1 -0
  267. package/dist/cli/commands/state/progress.js +14 -0
  268. package/dist/cli/commands/state/progress.js.map +1 -0
  269. package/dist/cli/commands/state/shared.js +15 -0
  270. package/dist/cli/commands/state/shared.js.map +1 -0
  271. package/dist/cli/commands/state/todo.js +42 -0
  272. package/dist/cli/commands/state/todo.js.map +1 -0
  273. package/dist/cli/commands/state/write.js +418 -0
  274. package/dist/cli/commands/state/write.js.map +1 -0
  275. package/dist/cli/commands/upgrade.js +146 -4
  276. package/dist/cli/commands/upgrade.js.map +1 -1
  277. package/dist/cli/commands/upgradeVerify.js +119 -0
  278. package/dist/cli/commands/upgradeVerify.js.map +1 -0
  279. package/dist/cli/commands/validate.js +133 -210
  280. package/dist/cli/commands/validate.js.map +1 -1
  281. package/dist/cli/commands/verify.js +30 -8
  282. package/dist/cli/commands/verify.js.map +1 -1
  283. package/dist/cli/contracts/bundleStatus.js +2 -0
  284. package/dist/cli/contracts/bundleStatus.js.map +1 -0
  285. package/dist/cli/contracts/orientationState.js +2 -0
  286. package/dist/cli/contracts/orientationState.js.map +1 -0
  287. package/dist/cli/dispatch/argvParser.js +33 -0
  288. package/dist/cli/dispatch/argvParser.js.map +1 -0
  289. package/dist/cli/dispatch/check.js +390 -0
  290. package/dist/cli/dispatch/check.js.map +1 -0
  291. package/dist/cli/dispatch/commands.js +27 -0
  292. package/dist/cli/dispatch/commands.js.map +1 -0
  293. package/dist/cli/dispatch/index.js +226 -0
  294. package/dist/cli/dispatch/index.js.map +1 -0
  295. package/dist/cli/dispatch/lifecycle.js +653 -0
  296. package/dist/cli/dispatch/lifecycle.js.map +1 -0
  297. package/dist/cli/dispatch/prime.js +119 -0
  298. package/dist/cli/dispatch/prime.js.map +1 -0
  299. package/dist/cli/dispatch/shared.js +64 -0
  300. package/dist/cli/dispatch/shared.js.map +1 -0
  301. package/dist/cli/dispatch/state.js +174 -0
  302. package/dist/cli/dispatch/state.js.map +1 -0
  303. package/dist/cli/dispatch.js +1 -957
  304. package/dist/cli/dispatch.js.map +1 -1
  305. package/dist/cli/errors.js +53 -0
  306. package/dist/cli/errors.js.map +1 -0
  307. package/dist/cli/help.js +419 -0
  308. package/dist/cli/help.js.map +1 -0
  309. package/dist/cli/migrationRequired.js +87 -0
  310. package/dist/cli/migrationRequired.js.map +1 -0
  311. package/dist/cli/orientation/attention.js +67 -0
  312. package/dist/cli/orientation/attention.js.map +1 -0
  313. package/dist/cli/orientation/corpusCoverage.js +103 -0
  314. package/dist/cli/orientation/corpusCoverage.js.map +1 -0
  315. package/dist/cli/orientation.js +407 -159
  316. package/dist/cli/orientation.js.map +1 -1
  317. package/dist/cli/planArtifacts.js +351 -0
  318. package/dist/cli/planArtifacts.js.map +1 -0
  319. package/dist/cli/planEvidence.js +158 -0
  320. package/dist/cli/planEvidence.js.map +1 -0
  321. package/dist/cli/planLifecycleState.js +34 -0
  322. package/dist/cli/planLifecycleState.js.map +1 -0
  323. package/dist/cli/planTaskIndex.js +12 -0
  324. package/dist/cli/planTaskIndex.js.map +1 -0
  325. package/dist/cli/prime-blob.js +69 -2
  326. package/dist/cli/prime-blob.js.map +1 -1
  327. package/dist/cli/startupCompletenessContract.js +57 -0
  328. package/dist/cli/startupCompletenessContract.js.map +1 -0
  329. package/dist/cli/stateQuery.js +63 -10
  330. package/dist/cli/stateQuery.js.map +1 -1
  331. package/dist/cli/structured.js.map +1 -1
  332. package/dist/cli/todoMarkdown.js +33 -0
  333. package/dist/cli/todoMarkdown.js.map +1 -0
  334. package/dist/cli/todoReadinessSelection.js +157 -0
  335. package/dist/cli/todoReadinessSelection.js.map +1 -0
  336. package/dist/cli/todoSeverity.js +19 -0
  337. package/dist/cli/todoSeverity.js.map +1 -0
  338. package/dist/core/atomicWriter.js +21 -0
  339. package/dist/core/atomicWriter.js.map +1 -0
  340. package/dist/core/difflib.js.map +1 -1
  341. package/dist/core/envPaths.js +21 -0
  342. package/dist/core/envPaths.js.map +1 -0
  343. package/dist/core/jsonValue.js +6 -0
  344. package/dist/core/jsonValue.js.map +1 -0
  345. package/dist/core/paths.js.map +1 -1
  346. package/dist/core/pyjson.js +67 -2
  347. package/dist/core/pyjson.js.map +1 -1
  348. package/dist/core/skillIdentity.js +24 -0
  349. package/dist/core/skillIdentity.js.map +1 -0
  350. package/dist/core/sourceRoot.js.map +1 -1
  351. package/dist/core/text.js +11 -0
  352. package/dist/core/text.js.map +1 -0
  353. package/dist/core/toml.js.map +1 -1
  354. package/dist/core/yaml.js +8 -0
  355. package/dist/core/yaml.js.map +1 -1
  356. package/dist/eval/evalSkills.js +30 -25
  357. package/dist/eval/evalSkills.js.map +1 -1
  358. package/dist/eval/hybridRouteEvaluation.js +156 -0
  359. package/dist/eval/hybridRouteEvaluation.js.map +1 -0
  360. package/dist/eval/semanticEval.js +43 -19
  361. package/dist/eval/semanticEval.js.map +1 -1
  362. package/dist/eval/semanticFixtures.js +16 -4
  363. package/dist/eval/semanticFixtures.js.map +1 -1
  364. package/dist/hooks/common.js +10 -27
  365. package/dist/hooks/common.js.map +1 -1
  366. package/dist/hooks/compaction/apply.js +447 -0
  367. package/dist/hooks/compaction/apply.js.map +1 -0
  368. package/dist/hooks/compaction/dryRun.js +185 -0
  369. package/dist/hooks/compaction/dryRun.js.map +1 -0
  370. package/dist/hooks/compaction/index.js +23 -0
  371. package/dist/hooks/compaction/index.js.map +1 -0
  372. package/dist/hooks/compaction/parse.js +326 -0
  373. package/dist/hooks/compaction/parse.js.map +1 -0
  374. package/dist/hooks/compaction/retention.js +203 -0
  375. package/dist/hooks/compaction/retention.js.map +1 -0
  376. package/dist/hooks/compaction/status.js +361 -0
  377. package/dist/hooks/compaction/status.js.map +1 -0
  378. package/dist/hooks/compaction/types.js +6 -0
  379. package/dist/hooks/compaction/types.js.map +1 -0
  380. package/dist/hooks/cursorPreToolUse.js +1 -1
  381. package/dist/hooks/cursorPreToolUse.js.map +1 -1
  382. package/dist/hooks/cursorSessionStart.js +14 -21
  383. package/dist/hooks/cursorSessionStart.js.map +1 -1
  384. package/dist/hooks/projectHookInput.js +26 -0
  385. package/dist/hooks/projectHookInput.js.map +1 -0
  386. package/dist/hooks/sessionStart.js +55 -170
  387. package/dist/hooks/sessionStart.js.map +1 -1
  388. package/dist/hooks/sessionStop.js +12 -26
  389. package/dist/hooks/sessionStop.js.map +1 -1
  390. package/dist/hooks/validateArtifact/agentFacing.js +10 -0
  391. package/dist/hooks/validateArtifact/agentFacing.js.map +1 -0
  392. package/dist/hooks/validateArtifact/index.js +151 -0
  393. package/dist/hooks/validateArtifact/index.js.map +1 -0
  394. package/dist/hooks/validateArtifact/markdown.js +146 -0
  395. package/dist/hooks/validateArtifact/markdown.js.map +1 -0
  396. package/dist/hooks/validateArtifact/runtime.js +86 -0
  397. package/dist/hooks/validateArtifact/runtime.js.map +1 -0
  398. package/dist/hooks/validateArtifact/schema.js +541 -0
  399. package/dist/hooks/validateArtifact/schema.js.map +1 -0
  400. package/dist/hooks/validateArtifact/traversal.js +108 -0
  401. package/dist/hooks/validateArtifact/traversal.js.map +1 -0
  402. package/dist/hooks/validateArtifact/violations.js +108 -0
  403. package/dist/hooks/validateArtifact/violations.js.map +1 -0
  404. package/dist/migrate/v2HandoffManifest.js +455 -0
  405. package/dist/migrate/v2HandoffManifest.js.map +1 -0
  406. package/dist/registries/artifactProtocolIds.js +77 -0
  407. package/dist/registries/artifactProtocolIds.js.map +1 -0
  408. package/dist/registries/artifactRegistry.js +222 -62
  409. package/dist/registries/artifactRegistry.js.map +1 -1
  410. package/dist/registries/capabilityContract.js +141 -12
  411. package/dist/registries/capabilityContract.js.map +1 -1
  412. package/dist/registries/evaluatorHandoffContract.js +171 -0
  413. package/dist/registries/evaluatorHandoffContract.js.map +1 -0
  414. package/dist/registries/evidenceTierContract.js +362 -0
  415. package/dist/registries/evidenceTierContract.js.map +1 -0
  416. package/dist/registries/hybridRoute.js +203 -0
  417. package/dist/registries/hybridRoute.js.map +1 -0
  418. package/dist/registries/hybridRouteReceipt.js +221 -0
  419. package/dist/registries/hybridRouteReceipt.js.map +1 -0
  420. package/dist/registries/packageRegistry.js +90 -230
  421. package/dist/registries/packageRegistry.js.map +1 -1
  422. package/dist/registries/todoReadinessContract.js +406 -0
  423. package/dist/registries/todoReadinessContract.js.map +1 -0
  424. package/dist/registries/triggerLoader.js +175 -0
  425. package/dist/registries/triggerLoader.js.map +1 -0
  426. package/dist/registries/verbosityBudgetContract.js +206 -0
  427. package/dist/registries/verbosityBudgetContract.js.map +1 -0
  428. package/dist/release/releaseMetadata.js +319 -0
  429. package/dist/release/releaseMetadata.js.map +1 -0
  430. package/dist/runtime/lifecycleAdapterContract.js +458 -0
  431. package/dist/runtime/lifecycleAdapterContract.js.map +1 -0
  432. package/dist/runtime/lifecycleAdapters.js +778 -0
  433. package/dist/runtime/lifecycleAdapters.js.map +1 -0
  434. package/dist/runtime/lifecycleAuthority.js +454 -0
  435. package/dist/runtime/lifecycleAuthority.js.map +1 -0
  436. package/dist/runtime/lifecycleOperationContract.js +114 -0
  437. package/dist/runtime/lifecycleOperationContract.js.map +1 -0
  438. package/dist/runtime/lifecycleOperations.js +635 -0
  439. package/dist/runtime/lifecycleOperations.js.map +1 -0
  440. package/dist/runtime/lifecycleOwnershipJournal.js +623 -0
  441. package/dist/runtime/lifecycleOwnershipJournal.js.map +1 -0
  442. package/dist/runtime/lifecyclePublication.js +416 -0
  443. package/dist/runtime/lifecyclePublication.js.map +1 -0
  444. package/dist/runtime/lifecycleSnapshot.js +439 -0
  445. package/dist/runtime/lifecycleSnapshot.js.map +1 -0
  446. package/dist/runtime/nativeResourceCleanup.js +317 -0
  447. package/dist/runtime/nativeResourceCleanup.js.map +1 -0
  448. package/dist/setup/codex/cli.js +130 -0
  449. package/dist/setup/codex/cli.js.map +1 -0
  450. package/dist/setup/codex/configToml.js +558 -0
  451. package/dist/setup/codex/configToml.js.map +1 -0
  452. package/dist/setup/codex/constants.js +14 -0
  453. package/dist/setup/codex/constants.js.map +1 -0
  454. package/dist/setup/codex/installRoot.js +64 -0
  455. package/dist/setup/codex/installRoot.js.map +1 -0
  456. package/dist/setup/codex/state.js +252 -0
  457. package/dist/setup/codex/state.js.map +1 -0
  458. package/dist/setup/codex.js +9 -1055
  459. package/dist/setup/codex.js.map +1 -1
  460. package/dist/setup/opencode.js +21 -0
  461. package/dist/setup/opencode.js.map +1 -0
  462. package/dist/setup/opencodeConstants.js +2 -0
  463. package/dist/setup/opencodeConstants.js.map +1 -0
  464. package/dist/setup/sharedSkill.js +46 -0
  465. package/dist/setup/sharedSkill.js.map +1 -0
  466. package/dist/setup/smokeChecks.js +82 -0
  467. package/dist/setup/smokeChecks.js.map +1 -0
  468. package/dist/state/archiveDiscovery.js +578 -0
  469. package/dist/state/archiveDiscovery.js.map +1 -0
  470. package/dist/state/archivePublication.js +226 -0
  471. package/dist/state/archivePublication.js.map +1 -0
  472. package/dist/state/archiveRecovery.js +238 -0
  473. package/dist/state/archiveRecovery.js.map +1 -0
  474. package/dist/state/archiveReplay.js +54 -0
  475. package/dist/state/archiveReplay.js.map +1 -0
  476. package/dist/state/canonicalMigrationRecord.js +37 -0
  477. package/dist/state/canonicalMigrationRecord.js.map +1 -0
  478. package/dist/state/decisionEntities.js +322 -0
  479. package/dist/state/decisionEntities.js.map +1 -0
  480. package/dist/state/decisionLegacyValidation.js +216 -0
  481. package/dist/state/decisionLegacyValidation.js.map +1 -0
  482. package/dist/state/decisionMigrationProvenance.js +117 -0
  483. package/dist/state/decisionMigrationProvenance.js.map +1 -0
  484. package/dist/state/decisionOverlay.js +278 -0
  485. package/dist/state/decisionOverlay.js.map +1 -0
  486. package/dist/state/decisionRevision.js +632 -0
  487. package/dist/state/decisionRevision.js.map +1 -0
  488. package/dist/state/decisionRevisionPublication.js +532 -0
  489. package/dist/state/decisionRevisionPublication.js.map +1 -0
  490. package/dist/state/directRetrieval.js +373 -0
  491. package/dist/state/directRetrieval.js.map +1 -0
  492. package/dist/state/durability.js +325 -0
  493. package/dist/state/durability.js.map +1 -0
  494. package/dist/state/entityCutover.js +294 -0
  495. package/dist/state/entityCutover.js.map +1 -0
  496. package/dist/state/entityCutoverGit.js +128 -0
  497. package/dist/state/entityCutoverGit.js.map +1 -0
  498. package/dist/state/entityMigrationCausality.js +99 -0
  499. package/dist/state/entityMigrationCausality.js.map +1 -0
  500. package/dist/state/entityMigrationPreview.js +864 -0
  501. package/dist/state/entityMigrationPreview.js.map +1 -0
  502. package/dist/state/entityPublicationContext.js +662 -0
  503. package/dist/state/entityPublicationContext.js.map +1 -0
  504. package/dist/state/entityStorage.js +881 -0
  505. package/dist/state/entityStorage.js.map +1 -0
  506. package/dist/state/experimentArchive.js +64 -0
  507. package/dist/state/experimentArchive.js.map +1 -0
  508. package/dist/state/experimentIdentity.js +203 -0
  509. package/dist/state/experimentIdentity.js.map +1 -0
  510. package/dist/state/experimentRetrieval.js +447 -0
  511. package/dist/state/experimentRetrieval.js.map +1 -0
  512. package/dist/state/healthEntities.js +266 -0
  513. package/dist/state/healthEntities.js.map +1 -0
  514. package/dist/state/healthEntityValidation.js +19 -0
  515. package/dist/state/healthEntityValidation.js.map +1 -0
  516. package/dist/state/healthRepair.js +70 -0
  517. package/dist/state/healthRepair.js.map +1 -0
  518. package/dist/state/installRoot.js +64 -24
  519. package/dist/state/installRoot.js.map +1 -1
  520. package/dist/state/legacyEntityCutoverEvidence.js +66 -0
  521. package/dist/state/legacyEntityCutoverEvidence.js.map +1 -0
  522. package/dist/state/legacyIdentity.js +48 -0
  523. package/dist/state/legacyIdentity.js.map +1 -0
  524. package/dist/state/legacySummaryRecord.js +7 -0
  525. package/dist/state/legacySummaryRecord.js.map +1 -0
  526. package/dist/state/listAccounting.js +55 -0
  527. package/dist/state/listAccounting.js.map +1 -0
  528. package/dist/state/listClassification.js +18 -0
  529. package/dist/state/listClassification.js.map +1 -0
  530. package/dist/state/listCursor.js +43 -0
  531. package/dist/state/listCursor.js.map +1 -0
  532. package/dist/state/listRetrieval.js +813 -0
  533. package/dist/state/listRetrieval.js.map +1 -0
  534. package/dist/state/migrationSourceBinding.js +31 -0
  535. package/dist/state/migrationSourceBinding.js.map +1 -0
  536. package/dist/state/objectiveExperimentEntities.js +323 -0
  537. package/dist/state/objectiveExperimentEntities.js.map +1 -0
  538. package/dist/state/planEntities.js +444 -0
  539. package/dist/state/planEntities.js.map +1 -0
  540. package/dist/state/planIdentity.js +45 -0
  541. package/dist/state/planIdentity.js.map +1 -0
  542. package/dist/state/planRetrieval.js +314 -0
  543. package/dist/state/planRetrieval.js.map +1 -0
  544. package/dist/state/planTaskRetrieval.js +285 -0
  545. package/dist/state/planTaskRetrieval.js.map +1 -0
  546. package/dist/state/progressEntities.js +360 -0
  547. package/dist/state/progressEntities.js.map +1 -0
  548. package/dist/state/projectRoot.js +63 -0
  549. package/dist/state/projectRoot.js.map +1 -0
  550. package/dist/state/projectionPolicy.js +184 -0
  551. package/dist/state/projectionPolicy.js.map +1 -0
  552. package/dist/state/retrievalAuthority.js +343 -0
  553. package/dist/state/retrievalAuthority.js.map +1 -0
  554. package/dist/state/safeProjectFile.js +153 -0
  555. package/dist/state/safeProjectFile.js.map +1 -0
  556. package/dist/state/startupAnalysis/benchmark.js +433 -0
  557. package/dist/state/startupAnalysis/benchmark.js.map +1 -0
  558. package/dist/state/startupAnalysis/contract.js +126 -0
  559. package/dist/state/startupAnalysis/contract.js.map +1 -0
  560. package/dist/state/startupAnalysis/helpers.js +287 -0
  561. package/dist/state/startupAnalysis/helpers.js.map +1 -0
  562. package/dist/state/startupAnalysis/index.js +7 -0
  563. package/dist/state/startupAnalysis/index.js.map +1 -0
  564. package/dist/state/startupAnalysis/metrics.js +341 -0
  565. package/dist/state/startupAnalysis/metrics.js.map +1 -0
  566. package/dist/state/startupAnalysis/records.js +199 -0
  567. package/dist/state/startupAnalysis/records.js.map +1 -0
  568. package/dist/state/startupAnalysis/report.js +112 -0
  569. package/dist/state/startupAnalysis/report.js.map +1 -0
  570. package/dist/state/startupAnalysis/threshold.js +513 -0
  571. package/dist/state/startupAnalysis/threshold.js.map +1 -0
  572. package/dist/state/startupAnalysis.js +2 -1952
  573. package/dist/state/startupAnalysis.js.map +1 -1
  574. package/dist/state/startupProjection.js +567 -0
  575. package/dist/state/startupProjection.js.map +1 -0
  576. package/dist/state/stateMode.js +83 -0
  577. package/dist/state/stateMode.js.map +1 -0
  578. package/dist/state/summaryEntityRead.js +26 -0
  579. package/dist/state/summaryEntityRead.js.map +1 -0
  580. package/dist/state/summaryMigrationProvenance.js +67 -0
  581. package/dist/state/summaryMigrationProvenance.js.map +1 -0
  582. package/dist/state/summarySourceRowAuthority.js +37 -0
  583. package/dist/state/summarySourceRowAuthority.js.map +1 -0
  584. package/dist/state/todoDocsEntities.js +267 -0
  585. package/dist/state/todoDocsEntities.js.map +1 -0
  586. package/dist/state/todoDocsEntityValidation.js +34 -0
  587. package/dist/state/todoDocsEntityValidation.js.map +1 -0
  588. package/dist/state/write/assign.js +21 -0
  589. package/dist/state/write/assign.js.map +1 -0
  590. package/dist/state/write/candidateMutation.js +281 -0
  591. package/dist/state/write/candidateMutation.js.map +1 -0
  592. package/dist/state/write/errors.js +12 -0
  593. package/dist/state/write/errors.js.map +1 -0
  594. package/dist/state/write/experimentPublication.js +193 -0
  595. package/dist/state/write/experimentPublication.js.map +1 -0
  596. package/dist/state/write/explain.js +303 -0
  597. package/dist/state/write/explain.js.map +1 -0
  598. package/dist/state/write/fields.js +62 -0
  599. package/dist/state/write/fields.js.map +1 -0
  600. package/dist/state/write/helpers.js +30 -0
  601. package/dist/state/write/helpers.js.map +1 -0
  602. package/dist/state/write/index.js +12 -0
  603. package/dist/state/write/index.js.map +1 -0
  604. package/dist/state/write/input.js +22 -0
  605. package/dist/state/write/input.js.map +1 -0
  606. package/dist/state/write/lock.js +838 -0
  607. package/dist/state/write/lock.js.map +1 -0
  608. package/dist/state/write/mutation.js +235 -0
  609. package/dist/state/write/mutation.js.map +1 -0
  610. package/dist/state/write/operations.js +375 -0
  611. package/dist/state/write/operations.js.map +1 -0
  612. package/dist/state/write/planEvaluation.js +121 -0
  613. package/dist/state/write/planEvaluation.js.map +1 -0
  614. package/dist/state/write/planPublication.js +135 -0
  615. package/dist/state/write/planPublication.js.map +1 -0
  616. package/dist/state/write/serialize.js +2 -0
  617. package/dist/state/write/serialize.js.map +1 -0
  618. package/dist/state/write/transaction.js +44 -0
  619. package/dist/state/write/transaction.js.map +1 -0
  620. package/dist/state/write/validate.js +8 -0
  621. package/dist/state/write/validate.js.map +1 -0
  622. package/dist/upgrade/appContentRefresh.js +384 -0
  623. package/dist/upgrade/appContentRefresh.js.map +1 -0
  624. package/dist/upgrade/appModel.js +8 -6
  625. package/dist/upgrade/appModel.js.map +1 -1
  626. package/dist/upgrade/atomicWriter.js +2 -0
  627. package/dist/upgrade/atomicWriter.js.map +1 -0
  628. package/dist/upgrade/bundleEvidence.js +34 -0
  629. package/dist/upgrade/bundleEvidence.js.map +1 -0
  630. package/dist/upgrade/channels.js +21 -10
  631. package/dist/upgrade/channels.js.map +1 -1
  632. package/dist/upgrade/coexistenceProbe.js +105 -0
  633. package/dist/upgrade/coexistenceProbe.js.map +1 -0
  634. package/dist/upgrade/compatibility.js +56 -20
  635. package/dist/upgrade/compatibility.js.map +1 -1
  636. package/dist/upgrade/doctor.js +197 -191
  637. package/dist/upgrade/doctor.js.map +1 -1
  638. package/dist/upgrade/doctorClassifier.js +188 -0
  639. package/dist/upgrade/doctorClassifier.js.map +1 -0
  640. package/dist/upgrade/installedHooksRetirement.js +197 -0
  641. package/dist/upgrade/installedHooksRetirement.js.map +1 -0
  642. package/dist/upgrade/legacyAgentCleanup.js +283 -0
  643. package/dist/upgrade/legacyAgentCleanup.js.map +1 -0
  644. package/dist/upgrade/lifecycleUpgrade.js +114 -0
  645. package/dist/upgrade/lifecycleUpgrade.js.map +1 -0
  646. package/dist/upgrade/migrateArtifactsV2ToV3.js +363 -137
  647. package/dist/upgrade/migrateArtifactsV2ToV3.js.map +1 -1
  648. package/dist/upgrade/migrationPublication.js +123 -0
  649. package/dist/upgrade/migrationPublication.js.map +1 -0
  650. package/dist/upgrade/nextMajorDoctor.js +156 -0
  651. package/dist/upgrade/nextMajorDoctor.js.map +1 -0
  652. package/dist/upgrade/npxPlatformStatus.js +23 -0
  653. package/dist/upgrade/npxPlatformStatus.js.map +1 -0
  654. package/dist/upgrade/projectIntegration.js +142 -171
  655. package/dist/upgrade/projectIntegration.js.map +1 -1
  656. package/dist/upgrade/projectIntegrationDecision.js +51 -0
  657. package/dist/upgrade/projectIntegrationDecision.js.map +1 -0
  658. package/dist/upgrade/runtimeMigration.js +336 -281
  659. package/dist/upgrade/runtimeMigration.js.map +1 -1
  660. package/dist/upgrade/upgradeCommands.js +9 -0
  661. package/dist/upgrade/upgradeCommands.js.map +1 -1
  662. package/dist/upgrade/upgradeLock.js +86 -0
  663. package/dist/upgrade/upgradeLock.js.map +1 -0
  664. package/dist/upgrade/upgradeOrchestrator.js +212 -56
  665. package/dist/upgrade/upgradeOrchestrator.js.map +1 -1
  666. package/dist/upgrade/v3CapabilitySurface.js +15 -0
  667. package/dist/upgrade/v3CapabilitySurface.js.map +1 -0
  668. package/dist/upgrade/versionResolution.js +12 -4
  669. package/dist/upgrade/versionResolution.js.map +1 -1
  670. package/dist/validate/appHomeContract.js +5 -9
  671. package/dist/validate/appHomeContract.js.map +1 -1
  672. package/dist/validate/capability.js +144 -14
  673. package/dist/validate/capability.js.map +1 -1
  674. package/dist/validate/crossCapability.js +12 -9
  675. package/dist/validate/crossCapability.js.map +1 -1
  676. package/dist/validate/selfAudit.js +73 -36
  677. package/dist/validate/selfAudit.js.map +1 -1
  678. package/dist/validate/vocabularyAuthority.js +303 -0
  679. package/dist/validate/vocabularyAuthority.js.map +1 -0
  680. package/package.json +45 -27
  681. package/bundle/references/adapters/cursor.md +0 -213
  682. package/bundle/references/adapters/opencode.md +0 -530
  683. package/bundle/references/adapters/runtime-adapter-characterization.md +0 -79
  684. package/bundle/references/adapters/runtime-adapter-interface-model.yaml +0 -200
  685. package/bundle/references/adapters/runtime-adapter-registry.yaml +0 -548
  686. package/bundle/references/adapters/runtime-feature-parity.md +0 -189
  687. package/bundle/references/v1-section-mapping.md +0 -47
  688. package/bundle/skills/agentera/.claude-plugin/plugin.json +0 -27
  689. package/bundle/skills/agentera/agents/dokumentera.toml +0 -6
  690. package/bundle/skills/agentera/agents/hej.toml +0 -6
  691. package/bundle/skills/agentera/agents/inspektera.toml +0 -6
  692. package/bundle/skills/agentera/agents/inspirera.toml +0 -6
  693. package/bundle/skills/agentera/agents/optimera.toml +0 -6
  694. package/bundle/skills/agentera/agents/orkestrera.toml +0 -6
  695. package/bundle/skills/agentera/agents/planera.toml +0 -6
  696. package/bundle/skills/agentera/agents/profilera.toml +0 -6
  697. package/bundle/skills/agentera/agents/realisera.toml +0 -6
  698. package/bundle/skills/agentera/agents/resonera.toml +0 -6
  699. package/bundle/skills/agentera/agents/visionera.toml +0 -6
  700. package/bundle/skills/agentera/agents/visualisera.toml +0 -6
  701. package/bundle/skills/agentera/capabilities/dokumentera/instructions.md +0 -428
  702. package/bundle/skills/agentera/capabilities/dokumentera/schemas/artifacts.yaml +0 -73
  703. package/bundle/skills/agentera/capabilities/dokumentera/schemas/triggers.yaml +0 -35
  704. package/bundle/skills/agentera/capabilities/hej/instructions.md +0 -331
  705. package/bundle/skills/agentera/capabilities/hej/schemas/artifacts.yaml +0 -69
  706. package/bundle/skills/agentera/capabilities/hej/schemas/triggers.yaml +0 -58
  707. package/bundle/skills/agentera/capabilities/inspektera/instructions.md +0 -514
  708. package/bundle/skills/agentera/capabilities/inspektera/schemas/artifacts.yaml +0 -76
  709. package/bundle/skills/agentera/capabilities/inspektera/schemas/triggers.yaml +0 -38
  710. package/bundle/skills/agentera/capabilities/inspirera/instructions.md +0 -280
  711. package/bundle/skills/agentera/capabilities/inspirera/schemas/artifacts.yaml +0 -24
  712. package/bundle/skills/agentera/capabilities/inspirera/schemas/triggers.yaml +0 -34
  713. package/bundle/skills/agentera/capabilities/optimera/instructions.md +0 -437
  714. package/bundle/skills/agentera/capabilities/optimera/schemas/triggers.yaml +0 -39
  715. package/bundle/skills/agentera/capabilities/orkestrera/instructions.md +0 -433
  716. package/bundle/skills/agentera/capabilities/orkestrera/schemas/artifacts.yaml +0 -64
  717. package/bundle/skills/agentera/capabilities/orkestrera/schemas/triggers.yaml +0 -42
  718. package/bundle/skills/agentera/capabilities/orkestrera/schemas/validation.yaml +0 -107
  719. package/bundle/skills/agentera/capabilities/planera/instructions.md +0 -368
  720. package/bundle/skills/agentera/capabilities/planera/schemas/artifacts.yaml +0 -62
  721. package/bundle/skills/agentera/capabilities/planera/schemas/triggers.yaml +0 -34
  722. package/bundle/skills/agentera/capabilities/planera/schemas/validation.yaml +0 -61
  723. package/bundle/skills/agentera/capabilities/profilera/instructions.md +0 -419
  724. package/bundle/skills/agentera/capabilities/profilera/schemas/triggers.yaml +0 -45
  725. package/bundle/skills/agentera/capabilities/profilera/schemas/validation.yaml +0 -57
  726. package/bundle/skills/agentera/capabilities/realisera/instructions.md +0 -403
  727. package/bundle/skills/agentera/capabilities/realisera/schemas/artifacts.yaml +0 -80
  728. package/bundle/skills/agentera/capabilities/realisera/schemas/triggers.yaml +0 -39
  729. package/bundle/skills/agentera/capabilities/resonera/instructions.md +0 -329
  730. package/bundle/skills/agentera/capabilities/resonera/schemas/artifacts.yaml +0 -47
  731. package/bundle/skills/agentera/capabilities/resonera/schemas/triggers.yaml +0 -46
  732. package/bundle/skills/agentera/capabilities/visionera/instructions.md +0 -309
  733. package/bundle/skills/agentera/capabilities/visionera/schemas/triggers.yaml +0 -41
  734. package/bundle/skills/agentera/capabilities/visualisera/instructions.md +0 -400
  735. package/bundle/skills/agentera/capabilities/visualisera/schemas/triggers.yaml +0 -33
  736. package/bundle/skills/hej/.claude-plugin/plugin.json +0 -6
  737. package/bundle/skills/hej/SKILL.md +0 -69
  738. package/bundle/skills/hej/agents/hej.toml +0 -11
  739. package/bundle/skills/hej/agents/openai.yaml +0 -8
  740. package/dist/cli/commands/backfill.js +0 -84
  741. package/dist/cli/commands/backfill.js.map +0 -1
  742. package/dist/cli/commands/state.js +0 -1012
  743. package/dist/cli/commands/state.js.map +0 -1
  744. package/dist/core/git.js +0 -43
  745. package/dist/core/git.js.map +0 -1
  746. package/dist/hooks/compaction.js +0 -935
  747. package/dist/hooks/compaction.js.map +0 -1
  748. package/dist/hooks/validateArtifact.js +0 -933
  749. package/dist/hooks/validateArtifact.js.map +0 -1
  750. package/dist/registries/runtimeAdapterRegistry.js +0 -315
  751. package/dist/registries/runtimeAdapterRegistry.js.map +0 -1
  752. package/dist/setup/copilot.js +0 -227
  753. package/dist/setup/copilot.js.map +0 -1
  754. package/dist/setup/cursor.js +0 -127
  755. package/dist/setup/cursor.js.map +0 -1
  756. package/dist/setup/doctor.js +0 -1276
  757. package/dist/setup/doctor.js.map +0 -1
  758. package/dist/state/progressCommit.js +0 -289
  759. package/dist/state/progressCommit.js.map +0 -1
  760. package/dist/upgrade/migrateArtifactsV1ToV2.js +0 -571
  761. package/dist/upgrade/migrateArtifactsV1ToV2.js.map +0 -1
  762. package/dist/validate/lifecycleAdapters.js +0 -772
  763. package/dist/validate/lifecycleAdapters.js.map +0 -1
  764. /package/bundle/skills/agentera/capabilities/{dokumentera → document}/schemas/exit.yaml +0 -0
  765. /package/bundle/skills/agentera/capabilities/{inspirera → research}/schemas/exit.yaml +0 -0
  766. /package/bundle/skills/agentera/capabilities/{hej → status}/schemas/exit.yaml +0 -0
@@ -0,0 +1,651 @@
1
+ schema_version: agentera.prime_consumer_compatibility.v1
2
+ status: approved_boundary
3
+ plan: plan:634c092e-a7bc-48f4-80ee-2c91940e54f1
4
+ plan_task: 1
5
+ purpose: >-
6
+ Task 1 compatibility boundary for the "Make prime startup compact and
7
+ self-contained" plan. Inventory every documented prime consumer, classify
8
+ every field proposed for omission as removable, conditional, or
9
+ transition-required, and record the approved public-output policy that Tasks 2
10
+ through 4 must satisfy. This file is the consumer-facing contract boundary; it
11
+ does not consolidate the emitted field authority (Task 2) and does not define
12
+ byte budgets (json_output_surface_manifest.yaml owns those).
13
+ exclusions:
14
+ - Structured attention records (attention stays delimiter-encoded string[]).
15
+ - Stable artifact identities and reference-based routing.
16
+ - New summary-versus-diagnostic projection modes.
17
+ - Compiled or cached capability instructions.
18
+
19
+ # ---------------------------------------------------------------------------
20
+ # Consumer inventory. Each consumer names its startup command and the concrete
21
+ # fields it reads, with a file:line evidence pointer into the current tree.
22
+ # Tasks 2-4 MUST keep every consumed field resolvable from a declared surface.
23
+ # ---------------------------------------------------------------------------
24
+ consumers:
25
+ - id: status_dashboard_renderer
26
+ startup_command: agentera prime --context status --format json
27
+ evidence: skills/agentera/SKILL.md:83
28
+ dashboard_evidence: packages/cli/src/capabilities/status/instructions.ts
29
+ state_evidence: packages/cli/src/cli/commands/prime/orientationOutput.ts:209
30
+ consumed_fields:
31
+ - capability_context.instructions
32
+ - capability_context.context.status_context.health
33
+ - capability_context.context.status_context.todo
34
+ - capability_context.context.status_context.plan
35
+ - capability_context.context.status_context.objective
36
+ - capability_context.context.status_context.profile
37
+ - capability_context.context.status_context.next_action
38
+ - capability_context.context.status_context.attention
39
+ - capability_context.context.status_context.state_presence
40
+ - capability_context.context.status_context.source_contract
41
+ notes: >-
42
+ Bare `/agentera` and status orientation run one status-context call.
43
+ Deterministic routing resolves bare, direct, and curated phrase requests;
44
+ every other request requires a validated semantic receipt before the
45
+ selected capability context starts. The status response contains the full
46
+ `capability_context.instructions` body and bounded
47
+ `capability_context.context.status_context`; omitted rich detail recovers
48
+ through its named command, never by raw artifact read.
49
+ - id: capability_context_dispatcher
50
+ startup_command: agentera prime --context <capability> --format json
51
+ evidence: packages/cli/src/cli/capabilityContext/startup.ts:264
52
+ skill_evidence: skills/agentera/SKILL.md:77-96
53
+ consumed_fields:
54
+ - command
55
+ - status
56
+ - capability_context
57
+ - capability_context.instructions
58
+ notes: >-
59
+ Per-capability startup capsule. The CLI emits
60
+ `capability_context.instructions` (the capability's instructions module),
61
+ not `prose`; the shared skill consumes that field directly. This consumer
62
+ governs the `--context`
63
+ surface, not the bare briefing; the bounded decision brief (Task 3) must
64
+ not break the `--context` capsule. Executable fixture proves the emitted
65
+ payload contains `capability_context.instructions` and NOT `prose`.
66
+ - id: packaging_distribution_gate
67
+ startup_command: agentera prime --format json
68
+ evidence: packages/cli/test/packaging/packageVerification.test.ts
69
+ consumed_fields:
70
+ - command
71
+ - status
72
+ - app_home
73
+ - app_home.source
74
+ notes: >-
75
+ Distribution-boundary consumer. The one extracted-package conjunction
76
+ asserts `command: "prime"`, `status: "ok"`, and that `app_home.source`
77
+ reflects resolution after the packed upgrade path. Tasks 2-4 must keep
78
+ the published prime JSON shape stable so fresh-cache npx gates keep
79
+ passing. Not a dashboard consumer; does not read state families.
80
+ - id: json_output_surface_manifest
81
+ startup_command: agentera prime [ --dashboard | --context <capability> ] --format json
82
+ evidence: scripts/json_output_surface_manifest.yaml:47-161
83
+ consumed_fields: declared_surfaces
84
+ notes: >-
85
+ Measurement/budget authority, not a runtime consumer. Declares five prime
86
+ surfaces: prime-dashboard, prime-status-context, prime-briefing,
87
+ prime-fields-sparse, and prime-capability-context. The capability surface expands over the current
88
+ English CAPABILITY_NAMES set; generic capsules use the 55000-byte ceiling,
89
+ while status uses its dedicated 25000-byte one-call budget. It owns the
90
+ byte/token budgets; Task 3 (<=12000) and Task 4 (<=25000) budgets are
91
+ reconciled against it.
92
+ - id: vocabulary_capability_context_guide
93
+ startup_command: agentera prime --context <capability> --format json
94
+ evidence: references/cli/vocabulary.md:90-113
95
+ consumed_fields:
96
+ - capability_context
97
+ - capability_context.instructions
98
+ notes: >-
99
+ Documentation consumer, not a runtime consumer: the vocabulary guide
100
+ tells capability consumers how to read the startup capsule. Reconciled
101
+ from the retired `prose` field to the v3 `capability_context.instructions`
102
+ field after the second Task 1 evaluation found this guidance was the one
103
+ remaining live consumer contradiction. Runtime authority
104
+ (capabilityContext/startup.ts:264) and SKILL.md (lines 112-114) both use
105
+ `capability_context.instructions`. The
106
+ `documentation_drift` guard below prevents this guidance from drifting
107
+ back to `prose`; it does not execute a prime command.
108
+
109
+ # ---------------------------------------------------------------------------
110
+ # Field-authority reconciliation. The four lists that described the prime field
111
+ # surface used to disagree (Task 1 documented the drift). Task 2 reconciled them
112
+ # to one authority: PRIME_STRUCTURED_FIELDS in packages/cli/src/cli/stateQuery.ts
113
+ # (public_output_policy.canonical_field_set). Each list below now derives from
114
+ # that authority, so schema discovery, the emitted JSON source_contract.fields,
115
+ # the text-mode fields line, and the agent-ready-state contract advertise the
116
+ # same canonical 27-field set. The `issues` deprecated transition field preserves
117
+ # the four legacy severity counts (`critical`, `degraded`, `normal`, `annoying`)
118
+ # with a stderr deprecation warning, but intentionally excludes canonical
119
+ # `todo.detail` so bounded detail is serialized once. It remains until the 3.0.0
120
+ # stable cut and is excluded from the canonical advertised
121
+ # `source_contract.fields` set (`todo` is canonical). It is NOT selector-only: it
122
+ # ships in the default bare briefing as bounded CLI transition compatibility.
123
+ # ---------------------------------------------------------------------------
124
+ field_authorities:
125
+ - id: orientation_output_emission
126
+ location: packages/cli/src/cli/commands/prime/orientationOutput.ts
127
+ authority: packages/cli/src/cli/stateQuery.ts:PRIME_STRUCTURED_FIELDS
128
+ field_count: 27
129
+ role: actual_emission_authority
130
+ notes: >-
131
+ Emits PRIME_STRUCTURED_FIELDS as source_contract.fields; the keys actually
132
+ serialized by buildOrientationJsonPayload. `issues` emits only `todo`'s
133
+ four legacy severity counts with a stderr warning; canonical `todo.detail`
134
+ is not duplicated. `issues` is not a member of the canonical set.
135
+ - id: schema_advertised
136
+ location: packages/cli/src/cli/commands/schema.ts
137
+ authority: packages/cli/src/cli/stateQuery.ts:PRIME_STRUCTURED_FIELDS
138
+ field_count: 27
139
+ role: schema_discovery
140
+ notes: >-
141
+ Reconciled by Task 2: availableStructuredFields for the prime selector
142
+ advertises PRIME_STRUCTURED_FIELDS plus the context-only capability_context
143
+ pointer (28 declared); fields_by_command.status advertises the 27-field
144
+ set. Previously drifted (missing project_integration and history).
145
+ - id: text_briefing_hardcoded
146
+ location: packages/cli/src/cli/commands/prime/orientationOutput.ts
147
+ authority: packages/cli/src/cli/stateQuery.ts:PRIME_STRUCTURED_FIELDS
148
+ field_count: 27
149
+ role: text_briefing
150
+ notes: >-
151
+ Reconciled by Task 2: the text-mode source_contract fields line is now
152
+ derived from PRIME_STRUCTURED_FIELDS.join so text and JSON advertise one
153
+ canonical representation. Previously hardcoded a 21-field subset.
154
+ - id: agent_ready_state_contract
155
+ location: references/cli/agent-ready-state-contract.yaml
156
+ authority: packages/cli/src/cli/stateQuery.ts:PRIME_STRUCTURED_FIELDS
157
+ field_count: 27
158
+ role: documented_consumer_contract
159
+ notes: >-
160
+ Reconciled by Task 2: both hej.fields lists now mirror the canonical
161
+ 27-field set (retired `bundle` dropped; app, app_home, project_integration,
162
+ shared_skill, project_integration, and history added).
163
+
164
+ # ---------------------------------------------------------------------------
165
+ # Field classification. Every field proposed for omission is classified with a
166
+ # rationale and the task that consumes the decision.
167
+ # required: always present in bare prime; consumers depend on it.
168
+ # conditional: default-only; Task 2 may omit when in default state, preserving
169
+ # missing-vs-empty semantics and named-command recovery.
170
+ # diagnostic: lifecycle/history detail; omitted from default startup unless
171
+ # status declares it necessary (Task 4 decision).
172
+ # deprecated_transition: emitted alias; removable at the 3.0.0 stable cut only.
173
+ # retired: not emitted; a consumer depending on it must fail visibly.
174
+ # ---------------------------------------------------------------------------
175
+ field_classification:
176
+ - field: command
177
+ status: required
178
+ rationale: REQUIRED_SPARSE_CONTEXT_FIELDS; emitted on every structured payload.
179
+ - field: status
180
+ status: required
181
+ rationale: REQUIRED_SPARSE_CONTEXT_FIELDS; every consumer gates on status=ok.
182
+ - field: app_home
183
+ status: required
184
+ rationale: Install/v1/profile safety; status text briefing prints app_home.
185
+ - field: app
186
+ status: required
187
+ rationale: publicDoctorStatus projection; app/v1/profile safety per source_contract.access.
188
+ - field: mode
189
+ status: required
190
+ rationale: Fresh-vs-returning routing; opencode and status consumers read it.
191
+ - field: profile
192
+ status: required
193
+ rationale: opencode reads profile.status; status dashboard glyph.
194
+ - field: v1_migration
195
+ status: conditional
196
+ rationale: >-
197
+ Default-only when detected=false. No documented consumer reads it in the
198
+ default startup path. Task 2 omits it from the default bare briefing when
199
+ not detected (see default_emission_omission_contract); recovery via
200
+ `agentera upgrade --dry-run`.
201
+ - field: health
202
+ status: required
203
+ rationale: opencode reads grade/trajectory; status dashboard glyph.
204
+ - field: todo
205
+ status: required
206
+ rationale: Status dashboard glyph; canonical replacement for the issues alias.
207
+ - field: plan
208
+ status: required
209
+ rationale: opencode reads exists/status/title/first_pending; status dashboard glyph.
210
+ - field: docs
211
+ status: conditional
212
+ rationale: >-
213
+ Default-only when no docs state. Task 2 omits it from the default bare
214
+ briefing when docs.exists is false (see default_emission_omission_contract);
215
+ recovery via `agentera state docs`.
216
+ - field: progress
217
+ status: required
218
+ rationale: opencode reads progress.latest; status brief references shipped work.
219
+ - field: objective
220
+ status: conditional
221
+ rationale: >-
222
+ Default-only when none active. Task 2 omits it from the default bare
223
+ briefing when objective.active is false (see
224
+ default_emission_omission_contract); status derives "none active" from
225
+ state_presence.active.objective. Recovery via `agentera state objective`.
226
+ - field: state_presence
227
+ status: required
228
+ rationale: Owns missing-versus-empty semantics; must not be omitted.
229
+ - field: project_integration
230
+ status: required
231
+ rationale: >-
232
+ Status routing consumes the app and project-state recommendation; the
233
+ bounded brief retains that routing projection even when no upgrade
234
+ recommendation is active.
235
+ - field: attention
236
+ status: required
237
+ rationale: Bounded; opencode and status dashboard consume it.
238
+ - field: history
239
+ status: diagnostic
240
+ rationale: >-
241
+ Startup history. The bounded brief retains counts and named retrieval
242
+ pointers while omitting entry detail; explicit state list/get commands
243
+ recover the current history.
244
+ - field: shared_skill
245
+ status: required
246
+ rationale: Canonical shared-skill path and read-only diagnosis.
247
+ - field: decision_attention
248
+ status: conditional
249
+ rationale: Null unless returned decisions require satisfaction review.
250
+ - field: next_action
251
+ status: required
252
+ rationale: opencode and status routing; SKILL.md bare /agentera route follows it.
253
+ - field: orchestration_context
254
+ status: conditional
255
+ rationale: >-
256
+ Always null in bare prime; meaningful only in --context orchestrate. Task 2
257
+ may omit null bespoke contexts from the bare briefing without breaking
258
+ documented consumers.
259
+ - field: closeout_context
260
+ status: conditional
261
+ rationale: Always null in bare prime; meaningful only in --context document.
262
+ - field: evidence_context
263
+ status: conditional
264
+ rationale: Always null in bare prime; meaningful only in --context audit.
265
+ - field: benchmark_context
266
+ status: conditional
267
+ rationale: Always null in bare prime; meaningful only in --context optimize.
268
+ - field: execution_context
269
+ status: conditional
270
+ rationale: Always null in bare prime; meaningful only in --context build.
271
+ - field: source
272
+ status: required
273
+ rationale: Provenance; artifacts_present drives fresh-vs-returning dashboard.
274
+ - field: source_contract
275
+ status: required
276
+ rationale: Declares fields, capability_startup, capability_context, artifact_writes.
277
+ - field: capability_context
278
+ status: conditional
279
+ rationale: >-
280
+ Declared available on the `prime` selector but emitted only by the
281
+ `--context <capability>` surface (buildPrimeCapabilityContextPayload),
282
+ NOT by the default bare briefing. The bare briefing instead carries a
283
+ `source_contract.capability_context` pointer with a `fetch_command`. The
284
+ capability_context_dispatcher consumer depends on it. Required when
285
+ present; its nested `instructions` field is the capability's startup
286
+ instructions module (runtime authority: capabilityContext/startup.ts:250).
287
+ Task 2 may keep it off the bare default; Tasks 3-4 must not break the
288
+ `--context` capsule that emits it.
289
+ - field: issues
290
+ status: deprecated_transition
291
+ rationale: >-
292
+ Deprecated count-only compatibility projection of `todo`. It preserves
293
+ critical, degraded, normal, and annoying for legacy consumers while
294
+ excluding canonical `todo.detail` to prevent startup payload duplication.
295
+ No current consumer in this inventory reads it; the projection remains
296
+ until its owning contract removes it.
297
+ - field: bundle
298
+ status: retired
299
+ rationale: >-
300
+ v2-era field renamed to `app`/`app_home` in v3. agent-ready-state-contract
301
+ still documents it (drift); it is not emitted. A consumer depending on it
302
+ must fail visibly (see fail fixtures).
303
+
304
+ # ---------------------------------------------------------------------------
305
+ # Approved public-output policy for Tasks 2-4. Unambiguous so each later task
306
+ # can make emission decisions without re-litigating compatibility.
307
+ # ---------------------------------------------------------------------------
308
+ public_output_policy:
309
+ canonical_field_set: >-
310
+ The emitted STATUS_STRUCTURED_FIELDS (27) is the single consumer-facing
311
+ authority for the bare prime briefing. Task 2 reconciles schema.ts, the text
312
+ briefing hardcoded list, and agent-ready-state-contract.yaml hej.fields to
313
+ this set, removing the four-way drift documented above.
314
+ deprecated_alias_rule:
315
+ field: issues
316
+ status: retained_until_3_0_0_stable_cut
317
+ retained_fields:
318
+ - critical
319
+ - degraded
320
+ - normal
321
+ - annoying
322
+ excluded_fields:
323
+ - detail
324
+ rationale: >-
325
+ `issues` preserves the four legacy severity counts with a stderr
326
+ deprecation warning. Canonical bounded detail belongs only to `todo.detail`
327
+ and is intentionally excluded to prevent duplicate startup payload. No
328
+ task in this plan may remove the compatibility projection before the cut.
329
+ default_only_omission_rule: >-
330
+ Fields classified conditional or diagnostic may be omitted by Task 2 when
331
+ they are in their default/empty state, provided missing-versus-empty
332
+ semantics stay distinguishable and a named authoritative command returns the
333
+ current detail (`agentera state <artifact>`, `agentera schema`,
334
+ `agentera upgrade --dry-run`). Null bespoke contexts
335
+ (orchestration/closeout/evidence/benchmark/execution) may be omitted from
336
+ the bare briefing; they remain declared on the `--context` surface.
337
+ bounded_brief_rule: >-
338
+ Task 3 produces a bounded default decision brief (<=12000 bytes pretty
339
+ UTF-8 JSON + trailing newline; diagnostics on stderr) that retains every
340
+ required field plus any active conditional field, and never collapses
341
+ missing versus present-but-empty.
342
+ self_contained_status_rule: >-
343
+ Task 4 folds the bounded state into one `agentera prime --context status
344
+ --format json` response (<=25000 bytes) so the status dashboard needs no
345
+ separate bare-prime call or raw artifact read. The `--context` capsule
346
+ contract (command/status/capability_context) is unchanged, including
347
+ contract-owned state declarations, inventory, included/missing families,
348
+ schema diagnostics, and first-invocation reads. The status capsule assembles
349
+ and measures that fixed envelope first, then bounds
350
+ `capability_context.context.status_context` to the remaining complete-capsule
351
+ budget. If a projection leaves the complete envelope over budget, the next
352
+ allowance is set one byte below that projection's actual serialized size,
353
+ forcing a strictly smaller bounded form; projection continues monotonically
354
+ until the capsule fits or the routing-preserving irreducible form fails
355
+ explicitly. The status-specific degraded envelope retains TODO
356
+ aggregate/detail recovery, attention, and next_action rather than collapsing
357
+ to non-routing metadata. App/project integration and shared-skill diagnosis
358
+ remain available through the bounded status state while unrelated rich
359
+ copies are omitted.
360
+ status_context_contract:
361
+ startup_command: agentera prime --context status --format json
362
+ state_path: capability_context.context.status_context
363
+ instructions_path: capability_context.instructions
364
+ max_utf8_bytes: 25000
365
+ measurement: Buffer.byteLength(JSON.stringify(payload, null, 2) + "\n", "utf8")
366
+ budget_allocation: >-
367
+ Assemble contract-owned capability metadata, instructions, and context
368
+ keys and measure the complete envelope. When it is over budget, set the
369
+ next status_context allowance one byte below the current nested
370
+ projection's measured serialized size. Every accepted retry is therefore
371
+ strictly smaller; terminate only with a <=25000-byte capsule or explicit
372
+ irreducible routing-envelope failure.
373
+ required_capability_metadata:
374
+ - capability_context.state.declared_read_needs
375
+ - capability_context.state.declared_write_targets
376
+ - capability_context.state.artifact_inventory
377
+ - capability_context.state.included
378
+ - capability_context.state.schema_error
379
+ - capability_context.context.first_invocation_read
380
+ - capability_context.context.schema_error
381
+ required_state:
382
+ - health
383
+ - todo
384
+ - plan
385
+ - profile
386
+ - next_action
387
+ - attention
388
+ - state_presence
389
+ - source_contract
390
+ budget_fallback_retains:
391
+ - todo
392
+ - attention
393
+ - next_action
394
+ omitted_detail_recovery: capability_context.context.status_context.brief.omitted_rich_state
395
+ raw_artifact_reads_required: false
396
+ fail_visible_rule: >-
397
+ Undeclared or retired field dependencies must fail visibly: selecting an
398
+ undeclared field via `--fields` returns nonzero exit code 1 and a correction
399
+ listing the declared available fields. Tasks 2-4 must preserve this
400
+ contract after any field-set change.
401
+
402
+ # ---------------------------------------------------------------------------
403
+ # Default-emission conditional omission contract. Advertised selectable fields
404
+ # (declared_available_fields / PRIME_STRUCTURED_FIELDS) may be broader than the
405
+ # keys present in a given bare prime response: the declaration is the union of
406
+ # fields a consumer may select, not a promise that every one is emitted on every
407
+ # call. The following conditional top-level fields are OMITTED from the default
408
+ # bare briefing when they carry only default/inactive payload so startup does not
409
+ # carry adjective noise. Their omission is unambiguous because (a) the field
410
+ # stays declared in source_contract.fields as a selectable surface, (b)
411
+ # state_presence carries the missing-vs-empty signal for the artifact families
412
+ # it owns, and (c) a named authoritative command returns the live detail.
413
+ # Required consumers and missing-vs-empty semantics are preserved: explicit
414
+ # `--fields <name>` selection and the `--context` capsule keep the full payload,
415
+ # so a consumer recovering an omitted field is never confused by its absence.
416
+ # The emitted `issues` deprecated transition alias is NOT conditional: it ships
417
+ # by default (excluded only from the canonical advertised set) until the stable
418
+ # cut; see deprecated_alias_rule.
419
+ # ---------------------------------------------------------------------------
420
+ default_emission_omission_contract:
421
+ implemented_by: packages/cli/src/cli/commands/prime/orientationOutput.ts:omitInactiveConditionalDefaults
422
+ applies_to: default bare prime (requested fields empty)
423
+ does_not_apply_to: explicit `--fields <name>` selection; `--context <capability>` capsule
424
+ omitted_when_default:
425
+ - field: v1_migration
426
+ omitted_when: v1_migration.detected !== true
427
+ recovery_command: agentera upgrade --dry-run
428
+ disambiguated_by: >-
429
+ source_contract.fields declares v1_migration as a selectable field; the
430
+ named recovery command returns the live migration preview. state_presence
431
+ does not carry v1_migration (it is not an artifact family); the field is
432
+ the sole v1 signal.
433
+ - field: docs
434
+ omitted_when: docs.exists !== true
435
+ recovery_command: agentera state docs
436
+ disambiguated_by: >-
437
+ state_presence.available.docs and state_presence.absence.docs carry the
438
+ missing-vs-empty signal for the docs artifact family.
439
+ - field: objective
440
+ omitted_when: objective.active !== true
441
+ recovery_command: agentera state objective
442
+ disambiguated_by: >-
443
+ state_presence.active.objective is false; status derives "none active"
444
+ from state_presence rather than from an emitted default-only objective
445
+ blob.
446
+ never_omitted:
447
+ - state_presence
448
+ - next_action
449
+ - health
450
+ - todo
451
+ - plan
452
+ - progress
453
+ - profile
454
+ - source
455
+ - source_contract
456
+ - attention
457
+
458
+ # Task 3 bounded decision brief. The default bare emission projects the full
459
+ # orientation payload to a bounded decision brief (<=12000 bytes pretty UTF-8
460
+ # JSON + trailing newline; diagnostics on stderr). Every required top-level
461
+ # field stays PRESENT (compatibility_boundary test asserts the key set); only
462
+ # rich diagnostic/writer detail WITHIN those fields is projected to
463
+ # routing-essential leaves. Each projected sub-detail carries a named
464
+ # authoritative recovery command so an agent never needs raw artifact access.
465
+ # `--dashboard` (full fidelity, 35000-byte budget), `--fields <name>`, and the
466
+ # `--context` capsule are NOT projected and keep the full payload. The byte
467
+ # gate is deterministic pretty-JSON UTF-8 measurement; an over-budget brief is
468
+ # rejected in favor of a bounded degraded envelope (status ok, brief.brief
469
+ # block signals degraded) that keeps command/status/mode/state_presence/a
470
+ # bounded brief source_contract and the byte-budget error with a recovery command.
471
+ brief_omission_contract:
472
+ implemented_by: packages/cli/src/cli/commands/prime/briefOrientation.ts:briefOrientationPayload
473
+ applies_to: default bare prime (no --fields, no --dashboard, no --context)
474
+ does_not_apply_to: "agentera prime --dashboard --format json; --fields <name>; --context <capability>"
475
+ budget_utf8_bytes: 12000
476
+ measurement: >-
477
+ Buffer.byteLength(JSON.stringify(brief, null, 2) + "\n", "utf8"); stdout
478
+ only; diagnostics measured separately on stderr.
479
+ retained_top_level_fields: >-
480
+ Every field in never_omitted plus command, status, app_home, app, mode,
481
+ history, shared_skill, project_integration, decision_attention, and
482
+ the bespoke context pointers (kept null on the bare surface). The
483
+ conditional v1_migration/docs/objective are retained when active (see
484
+ omitted_when_default). issues ships as the deprecated count-only
485
+ transition projection and excludes canonical todo.detail.
486
+ projected_subdetail:
487
+ - field: plan.tasks
488
+ reason: plan_task_detail
489
+ recovery: agentera state plan tasks list --format json
490
+ - field: plan.archived_plans
491
+ reason: archive_catalog
492
+ recovery: agentera state plan list --format json
493
+ - field: plan.diagnostics
494
+ reason: plan_diagnostics
495
+ recovery: agentera state plan --format json
496
+ - field: history.{progress,decisions,health}.entries
497
+ reason: startup_history_entries
498
+ recovery: agentera state <artifact> list --limit 20 --format json
499
+ - field: project_integration.phases
500
+ reason: phase_blockers
501
+ recovery: agentera doctor --format json
502
+ - field: source_contract.artifact_writes.artifacts
503
+ reason: writer_contract_detail
504
+ recovery: agentera schema --format json
505
+ - field: source_contract.capability_startup.available_state
506
+ reason: startup_available_state_listing
507
+ recovery: agentera schema --format json
508
+ - field: profile.bounded_signals
509
+ reason: profile_signal_detail
510
+ recovery: agentera profile --format json
511
+ never_collapsed: >-
512
+ state_presence is projected to its finite contract-owned active, available,
513
+ any_active, absence_explained, and absence keys rather than copied verbatim;
514
+ known boolean values and absence reasons remain bounded, so missing versus
515
+ present-but-empty stays behaviorally distinguishable even for adversarial
516
+ caller objects. source_contract is likewise projected to bounded known
517
+ fields and named recovery pointers. plan.first_pending, progress.latest,
518
+ health.grade/trajectory, todo counts, next_action.object, and attention
519
+ are retained as the routing-essential leaves consumers read.
520
+ fallback_behavior: >-
521
+ The detailed degraded envelope is byte-gated again after utf8_bytes is
522
+ settled. If it cannot fit, a compact and then an irreducible finite routing
523
+ envelope are tried deterministically. If the configured budget cannot hold
524
+ the irreducible envelope, briefOrientationPayload fails explicitly rather
525
+ than emitting over-budget stdout.
526
+
527
+ # ---------------------------------------------------------------------------
528
+ # Fixtures used by packages/cli/test/cli/primeCompatibilityBoundary.test.ts.
529
+ # Pass fixtures are the documented consumers; their consumed_fields must be a
530
+ # subset of declared_available_fields. Fail fixtures depend on retired or
531
+ # undeclared fields and must fail visibly through the fail_visible_rule.
532
+ # ---------------------------------------------------------------------------
533
+ declared_available_fields:
534
+ - command
535
+ - status
536
+ - app_home
537
+ - app
538
+ - mode
539
+ - profile
540
+ - v1_migration
541
+ - health
542
+ - todo
543
+ - plan
544
+ - docs
545
+ - progress
546
+ - objective
547
+ - state_presence
548
+ - project_integration
549
+ - attention
550
+ - history
551
+ - shared_skill
552
+ - decision_attention
553
+ - next_action
554
+ - orchestration_context
555
+ - closeout_context
556
+ - evidence_context
557
+ - benchmark_context
558
+ - execution_context
559
+ - source
560
+ - source_contract
561
+ - capability_context
562
+ - issues
563
+ fixtures:
564
+ pass:
565
+ - consumer: status_dashboard_renderer
566
+ executable_command: agentera prime --context status --format json
567
+ depends_on:
568
+ - capability_context
569
+ nested_fields:
570
+ - capability_context.instructions
571
+ - capability_context.context.status_context.health
572
+ - capability_context.context.status_context.todo
573
+ - capability_context.context.status_context.plan
574
+ - capability_context.context.status_context.profile.status
575
+ - capability_context.context.status_context.next_action.object
576
+ - capability_context.context.status_context.attention
577
+ - capability_context.context.status_context.state_presence
578
+ - capability_context.context.status_context.source_contract
579
+ conditional_nested_fields:
580
+ # objective is a conditional top-level field (see
581
+ # default_emission_omission_contract): emitted when an objective is
582
+ # active, omitted (and rendered "none active") otherwise. The dashboard
583
+ # derives the active/none-active signal from state_presence, so it does
584
+ # not declare objective as an always-present dependency.
585
+ - path: capability_context.context.status_context.objective
586
+ present_when: capability_context.context.status_context.state_presence.active.objective
587
+ - consumer: capability_context_dispatcher
588
+ executable_command: agentera prime --context build --format json
589
+ depends_on:
590
+ - command
591
+ - status
592
+ - capability_context
593
+ nested_fields:
594
+ - capability_context.instructions
595
+ absent_fields:
596
+ - capability_context.prose
597
+ - consumer: packaging_distribution_gate
598
+ executable_command: agentera prime --format json
599
+ depends_on:
600
+ - command
601
+ - status
602
+ - app_home
603
+ nested_fields:
604
+ - app_home.source
605
+ asserts:
606
+ - path: command
607
+ equals: prime
608
+ - path: status
609
+ equals: ok
610
+ - consumer: bare_agentera_route
611
+ executable_command: agentera prime --format json
612
+ depends_on:
613
+ - next_action
614
+ - source_contract
615
+ nested_fields:
616
+ - source_contract.capability_context
617
+ - next_action.object
618
+ fail:
619
+ - consumer: v2_bundle_consumer
620
+ depends_on:
621
+ - bundle
622
+ executable_command: agentera prime --fields bundle --format json
623
+ rationale: >-
624
+ `bundle` was renamed to `app`/`app_home` in v3 and is not emitted.
625
+ Selecting it via `--fields bundle` must return exit code 1 with a
626
+ correction listing the declared available fields.
627
+
628
+ # ---------------------------------------------------------------------------
629
+ # Documentation drift guard. Active consumer guidance must not send consumers
630
+ # to the retired `prose` field; the runtime emits `instructions` only (see
631
+ # capability_context_dispatcher fixture for the executable proof). Each entry
632
+ # names a documentation file that governs the consumer field name; the test
633
+ # suite scans the live file so the documented field cannot drift back.
634
+ # ---------------------------------------------------------------------------
635
+ documentation_drift:
636
+ canonical_field: capability_context.instructions
637
+ retired_field: capability_context.prose
638
+ scanned_documents:
639
+ - id: vocabulary_capability_context_contract
640
+ path: references/cli/vocabulary.md
641
+ evidence: references/cli/vocabulary.md:90-113
642
+ governs: the `--context` capsule field capability consumers are told to read
643
+ must_contain: capability_context.instructions
644
+ must_not_contain: capability_context.prose
645
+
646
+ approval:
647
+ recorded_for_tasks: [2, 3, 4]
648
+ decision: >-
649
+ The compatibility boundary above is approved. Tasks 2-4 implement emission
650
+ changes within this policy without re-deriving consumer compatibility.
651
+ recorded_at: 2026-07-16