agentera 0.0.0 → 3.0.0-dev.0

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 (252) hide show
  1. package/README.md +6 -45
  2. package/bundle/.agentera-npx-bundle.json +4 -0
  3. package/bundle/references/adapters/cursor.md +213 -0
  4. package/bundle/references/adapters/opencode.md +530 -0
  5. package/bundle/references/adapters/package-manifest-interface-model.yaml +337 -0
  6. package/bundle/references/adapters/package-registry.yaml +247 -0
  7. package/bundle/references/adapters/package-surface-characterization.md +48 -0
  8. package/bundle/references/adapters/runtime-adapter-characterization.md +79 -0
  9. package/bundle/references/adapters/runtime-adapter-interface-model.yaml +200 -0
  10. package/bundle/references/adapters/runtime-adapter-registry.yaml +548 -0
  11. package/bundle/references/adapters/runtime-feature-parity.md +189 -0
  12. package/bundle/references/analysis/benchmark.md +267 -0
  13. package/bundle/references/analysis/startup-measurement-contract.yaml +424 -0
  14. package/bundle/references/artifacts/artifact-registry-interface-model.yaml +288 -0
  15. package/bundle/references/cli/agent-ready-state-contract.yaml +950 -0
  16. package/bundle/references/cli/app-lifecycle-vocabulary.yaml +233 -0
  17. package/bundle/references/cli/audience-namespace-cli-migration.yaml +355 -0
  18. package/bundle/references/cli/bundle-skill-vocabulary.yaml +278 -0
  19. package/bundle/references/cli/capability-instruction-contract.yaml +123 -0
  20. package/bundle/references/cli/capability-tool-classification.yaml +53 -0
  21. package/bundle/references/cli/routing-execution-vocabulary.yaml +281 -0
  22. package/bundle/references/cli/update-channels.yaml +120 -0
  23. package/bundle/references/cli/vocabulary-index.yaml +160 -0
  24. package/bundle/references/cli/vocabulary.md +562 -0
  25. package/bundle/references/meta/documentation-inventory.md +43 -0
  26. package/bundle/references/v1-section-mapping.md +47 -0
  27. package/bundle/registry.json +39 -0
  28. package/bundle/skills/agentera/.claude-plugin/plugin.json +27 -0
  29. package/bundle/skills/agentera/SKILL.md +470 -0
  30. package/bundle/skills/agentera/agents/dokumentera.toml +6 -0
  31. package/bundle/skills/agentera/agents/hej.toml +6 -0
  32. package/bundle/skills/agentera/agents/inspektera.toml +6 -0
  33. package/bundle/skills/agentera/agents/inspirera.toml +6 -0
  34. package/bundle/skills/agentera/agents/optimera.toml +6 -0
  35. package/bundle/skills/agentera/agents/orkestrera.toml +6 -0
  36. package/bundle/skills/agentera/agents/planera.toml +6 -0
  37. package/bundle/skills/agentera/agents/profilera.toml +6 -0
  38. package/bundle/skills/agentera/agents/realisera.toml +6 -0
  39. package/bundle/skills/agentera/agents/resonera.toml +6 -0
  40. package/bundle/skills/agentera/agents/visionera.toml +6 -0
  41. package/bundle/skills/agentera/agents/visualisera.toml +6 -0
  42. package/bundle/skills/agentera/capabilities/dokumentera/instructions.md +428 -0
  43. package/bundle/skills/agentera/capabilities/dokumentera/schemas/artifacts.yaml +73 -0
  44. package/bundle/skills/agentera/capabilities/dokumentera/schemas/exit.yaml +35 -0
  45. package/bundle/skills/agentera/capabilities/dokumentera/schemas/triggers.yaml +35 -0
  46. package/bundle/skills/agentera/capabilities/dokumentera/schemas/validation.yaml +139 -0
  47. package/bundle/skills/agentera/capabilities/hej/instructions.md +331 -0
  48. package/bundle/skills/agentera/capabilities/hej/schemas/artifacts.yaml +69 -0
  49. package/bundle/skills/agentera/capabilities/hej/schemas/exit.yaml +32 -0
  50. package/bundle/skills/agentera/capabilities/hej/schemas/triggers.yaml +58 -0
  51. package/bundle/skills/agentera/capabilities/hej/schemas/validation.yaml +55 -0
  52. package/bundle/skills/agentera/capabilities/inspektera/instructions.md +514 -0
  53. package/bundle/skills/agentera/capabilities/inspektera/schemas/artifacts.yaml +76 -0
  54. package/bundle/skills/agentera/capabilities/inspektera/schemas/exit.yaml +36 -0
  55. package/bundle/skills/agentera/capabilities/inspektera/schemas/triggers.yaml +38 -0
  56. package/bundle/skills/agentera/capabilities/inspektera/schemas/validation.yaml +113 -0
  57. package/bundle/skills/agentera/capabilities/inspirera/instructions.md +280 -0
  58. package/bundle/skills/agentera/capabilities/inspirera/schemas/artifacts.yaml +24 -0
  59. package/bundle/skills/agentera/capabilities/inspirera/schemas/exit.yaml +33 -0
  60. package/bundle/skills/agentera/capabilities/inspirera/schemas/triggers.yaml +34 -0
  61. package/bundle/skills/agentera/capabilities/inspirera/schemas/validation.yaml +58 -0
  62. package/bundle/skills/agentera/capabilities/optimera/instructions.md +437 -0
  63. package/bundle/skills/agentera/capabilities/optimera/schemas/artifacts.yaml +69 -0
  64. package/bundle/skills/agentera/capabilities/optimera/schemas/exit.yaml +35 -0
  65. package/bundle/skills/agentera/capabilities/optimera/schemas/triggers.yaml +39 -0
  66. package/bundle/skills/agentera/capabilities/optimera/schemas/validation.yaml +91 -0
  67. package/bundle/skills/agentera/capabilities/orkestrera/instructions.md +433 -0
  68. package/bundle/skills/agentera/capabilities/orkestrera/schemas/artifacts.yaml +64 -0
  69. package/bundle/skills/agentera/capabilities/orkestrera/schemas/exit.yaml +34 -0
  70. package/bundle/skills/agentera/capabilities/orkestrera/schemas/triggers.yaml +42 -0
  71. package/bundle/skills/agentera/capabilities/orkestrera/schemas/validation.yaml +107 -0
  72. package/bundle/skills/agentera/capabilities/planera/instructions.md +368 -0
  73. package/bundle/skills/agentera/capabilities/planera/schemas/artifacts.yaml +62 -0
  74. package/bundle/skills/agentera/capabilities/planera/schemas/exit.yaml +33 -0
  75. package/bundle/skills/agentera/capabilities/planera/schemas/triggers.yaml +34 -0
  76. package/bundle/skills/agentera/capabilities/planera/schemas/validation.yaml +61 -0
  77. package/bundle/skills/agentera/capabilities/profilera/instructions.md +419 -0
  78. package/bundle/skills/agentera/capabilities/profilera/schemas/artifacts.yaml +18 -0
  79. package/bundle/skills/agentera/capabilities/profilera/schemas/exit.yaml +34 -0
  80. package/bundle/skills/agentera/capabilities/profilera/schemas/triggers.yaml +45 -0
  81. package/bundle/skills/agentera/capabilities/profilera/schemas/validation.yaml +57 -0
  82. package/bundle/skills/agentera/capabilities/realisera/instructions.md +403 -0
  83. package/bundle/skills/agentera/capabilities/realisera/schemas/artifacts.yaml +80 -0
  84. package/bundle/skills/agentera/capabilities/realisera/schemas/exit.yaml +35 -0
  85. package/bundle/skills/agentera/capabilities/realisera/schemas/triggers.yaml +39 -0
  86. package/bundle/skills/agentera/capabilities/realisera/schemas/validation.yaml +110 -0
  87. package/bundle/skills/agentera/capabilities/resonera/instructions.md +329 -0
  88. package/bundle/skills/agentera/capabilities/resonera/schemas/artifacts.yaml +47 -0
  89. package/bundle/skills/agentera/capabilities/resonera/schemas/exit.yaml +35 -0
  90. package/bundle/skills/agentera/capabilities/resonera/schemas/triggers.yaml +46 -0
  91. package/bundle/skills/agentera/capabilities/resonera/schemas/validation.yaml +77 -0
  92. package/bundle/skills/agentera/capabilities/visionera/instructions.md +309 -0
  93. package/bundle/skills/agentera/capabilities/visionera/schemas/artifacts.yaml +57 -0
  94. package/bundle/skills/agentera/capabilities/visionera/schemas/exit.yaml +35 -0
  95. package/bundle/skills/agentera/capabilities/visionera/schemas/triggers.yaml +41 -0
  96. package/bundle/skills/agentera/capabilities/visionera/schemas/validation.yaml +74 -0
  97. package/bundle/skills/agentera/capabilities/visualisera/instructions.md +400 -0
  98. package/bundle/skills/agentera/capabilities/visualisera/schemas/artifacts.yaml +44 -0
  99. package/bundle/skills/agentera/capabilities/visualisera/schemas/exit.yaml +34 -0
  100. package/bundle/skills/agentera/capabilities/visualisera/schemas/triggers.yaml +33 -0
  101. package/bundle/skills/agentera/capabilities/visualisera/schemas/validation.yaml +80 -0
  102. package/bundle/skills/agentera/capability_schema_contract.yaml +385 -0
  103. package/bundle/skills/agentera/protocol.yaml +463 -0
  104. package/bundle/skills/agentera/references/contract.md +1039 -0
  105. package/bundle/skills/agentera/schemas/artifacts/changelog.yaml +60 -0
  106. package/bundle/skills/agentera/schemas/artifacts/decisions.yaml +461 -0
  107. package/bundle/skills/agentera/schemas/artifacts/design.yaml +55 -0
  108. package/bundle/skills/agentera/schemas/artifacts/docs.yaml +402 -0
  109. package/bundle/skills/agentera/schemas/artifacts/experiments.yaml +373 -0
  110. package/bundle/skills/agentera/schemas/artifacts/health.yaml +484 -0
  111. package/bundle/skills/agentera/schemas/artifacts/objective.yaml +399 -0
  112. package/bundle/skills/agentera/schemas/artifacts/plan.yaml +342 -0
  113. package/bundle/skills/agentera/schemas/artifacts/progress.yaml +325 -0
  114. package/bundle/skills/agentera/schemas/artifacts/todo.yaml +110 -0
  115. package/bundle/skills/agentera/schemas/artifacts/vision.yaml +262 -0
  116. package/bundle/skills/hej/.claude-plugin/plugin.json +6 -0
  117. package/bundle/skills/hej/SKILL.md +69 -0
  118. package/bundle/skills/hej/agents/hej.toml +11 -0
  119. package/bundle/skills/hej/agents/openai.yaml +8 -0
  120. package/dist/analytics/extractCorpus.js +1791 -0
  121. package/dist/analytics/extractCorpus.js.map +1 -0
  122. package/dist/analytics/usageStats.js +487 -0
  123. package/dist/analytics/usageStats.js.map +1 -0
  124. package/dist/bin/agentera.js +4 -0
  125. package/dist/bin/agentera.js.map +1 -0
  126. package/dist/cli/appContext.js +226 -0
  127. package/dist/cli/appContext.js.map +1 -0
  128. package/dist/cli/argvalidate.js +41 -0
  129. package/dist/cli/argvalidate.js.map +1 -0
  130. package/dist/cli/capabilityContext.js +2421 -0
  131. package/dist/cli/capabilityContext.js.map +1 -0
  132. package/dist/cli/commands/backfill.js +84 -0
  133. package/dist/cli/commands/backfill.js.map +1 -0
  134. package/dist/cli/commands/capability.js +44 -0
  135. package/dist/cli/commands/capability.js.map +1 -0
  136. package/dist/cli/commands/compact.js +148 -0
  137. package/dist/cli/commands/compact.js.map +1 -0
  138. package/dist/cli/commands/doctor.js +180 -0
  139. package/dist/cli/commands/doctor.js.map +1 -0
  140. package/dist/cli/commands/lint.js +179 -0
  141. package/dist/cli/commands/lint.js.map +1 -0
  142. package/dist/cli/commands/prime.js +545 -0
  143. package/dist/cli/commands/prime.js.map +1 -0
  144. package/dist/cli/commands/query.js +346 -0
  145. package/dist/cli/commands/query.js.map +1 -0
  146. package/dist/cli/commands/report.js +210 -0
  147. package/dist/cli/commands/report.js.map +1 -0
  148. package/dist/cli/commands/schema.js +306 -0
  149. package/dist/cli/commands/schema.js.map +1 -0
  150. package/dist/cli/commands/state.js +1012 -0
  151. package/dist/cli/commands/state.js.map +1 -0
  152. package/dist/cli/commands/upgrade.js +49 -0
  153. package/dist/cli/commands/upgrade.js.map +1 -0
  154. package/dist/cli/commands/validate.js +519 -0
  155. package/dist/cli/commands/validate.js.map +1 -0
  156. package/dist/cli/commands/verify.js +204 -0
  157. package/dist/cli/commands/verify.js.map +1 -0
  158. package/dist/cli/dispatch.js +962 -0
  159. package/dist/cli/dispatch.js.map +1 -0
  160. package/dist/cli/orientation.js +595 -0
  161. package/dist/cli/orientation.js.map +1 -0
  162. package/dist/cli/prime-blob.js +3 -0
  163. package/dist/cli/prime-blob.js.map +1 -0
  164. package/dist/cli/stateQuery.js +292 -0
  165. package/dist/cli/stateQuery.js.map +1 -0
  166. package/dist/cli/structured.js +18 -0
  167. package/dist/cli/structured.js.map +1 -0
  168. package/dist/core/difflib.js +274 -0
  169. package/dist/core/difflib.js.map +1 -0
  170. package/dist/core/git.js +43 -0
  171. package/dist/core/git.js.map +1 -0
  172. package/dist/core/paths.js +50 -0
  173. package/dist/core/paths.js.map +1 -0
  174. package/dist/core/pyjson.js +101 -0
  175. package/dist/core/pyjson.js.map +1 -0
  176. package/dist/core/sourceRoot.js +72 -0
  177. package/dist/core/sourceRoot.js.map +1 -0
  178. package/dist/core/toml.js +11 -0
  179. package/dist/core/toml.js.map +1 -0
  180. package/dist/core/yaml.js +25 -0
  181. package/dist/core/yaml.js.map +1 -0
  182. package/dist/eval/evalSkills.js +258 -0
  183. package/dist/eval/evalSkills.js.map +1 -0
  184. package/dist/eval/semanticEval.js +148 -0
  185. package/dist/eval/semanticEval.js.map +1 -0
  186. package/dist/eval/semanticFixtures.js +227 -0
  187. package/dist/eval/semanticFixtures.js.map +1 -0
  188. package/dist/hooks/common.js +160 -0
  189. package/dist/hooks/common.js.map +1 -0
  190. package/dist/hooks/compaction.js +935 -0
  191. package/dist/hooks/compaction.js.map +1 -0
  192. package/dist/hooks/cursorPreToolUse.js +19 -0
  193. package/dist/hooks/cursorPreToolUse.js.map +1 -0
  194. package/dist/hooks/cursorSessionStart.js +71 -0
  195. package/dist/hooks/cursorSessionStart.js.map +1 -0
  196. package/dist/hooks/sessionStart.js +209 -0
  197. package/dist/hooks/sessionStart.js.map +1 -0
  198. package/dist/hooks/sessionStop.js +212 -0
  199. package/dist/hooks/sessionStop.js.map +1 -0
  200. package/dist/hooks/validateArtifact.js +933 -0
  201. package/dist/hooks/validateArtifact.js.map +1 -0
  202. package/dist/registries/artifactRegistry.js +206 -0
  203. package/dist/registries/artifactRegistry.js.map +1 -0
  204. package/dist/registries/capabilityContract.js +310 -0
  205. package/dist/registries/capabilityContract.js.map +1 -0
  206. package/dist/registries/packageRegistry.js +641 -0
  207. package/dist/registries/packageRegistry.js.map +1 -0
  208. package/dist/registries/runtimeAdapterRegistry.js +315 -0
  209. package/dist/registries/runtimeAdapterRegistry.js.map +1 -0
  210. package/dist/setup/codex.js +1052 -0
  211. package/dist/setup/codex.js.map +1 -0
  212. package/dist/setup/copilot.js +227 -0
  213. package/dist/setup/copilot.js.map +1 -0
  214. package/dist/setup/cursor.js +127 -0
  215. package/dist/setup/cursor.js.map +1 -0
  216. package/dist/setup/doctor.js +1269 -0
  217. package/dist/setup/doctor.js.map +1 -0
  218. package/dist/state/installRoot.js +279 -0
  219. package/dist/state/installRoot.js.map +1 -0
  220. package/dist/state/progressCommit.js +289 -0
  221. package/dist/state/progressCommit.js.map +1 -0
  222. package/dist/state/startupAnalysis.js +1953 -0
  223. package/dist/state/startupAnalysis.js.map +1 -0
  224. package/dist/upgrade/appModel.js +189 -0
  225. package/dist/upgrade/appModel.js.map +1 -0
  226. package/dist/upgrade/channels.js +197 -0
  227. package/dist/upgrade/channels.js.map +1 -0
  228. package/dist/upgrade/compatibility.js +197 -0
  229. package/dist/upgrade/compatibility.js.map +1 -0
  230. package/dist/upgrade/doctor.js +368 -0
  231. package/dist/upgrade/doctor.js.map +1 -0
  232. package/dist/upgrade/migrateArtifactsV2ToV3.js +412 -0
  233. package/dist/upgrade/migrateArtifactsV2ToV3.js.map +1 -0
  234. package/dist/upgrade/upgradeCommands.js +40 -0
  235. package/dist/upgrade/upgradeCommands.js.map +1 -0
  236. package/dist/upgrade/upgradeOrchestrator.js +280 -0
  237. package/dist/upgrade/upgradeOrchestrator.js.map +1 -0
  238. package/dist/validate/appHomeContract.js +150 -0
  239. package/dist/validate/appHomeContract.js.map +1 -0
  240. package/dist/validate/capability.js +412 -0
  241. package/dist/validate/capability.js.map +1 -0
  242. package/dist/validate/crossCapability.js +145 -0
  243. package/dist/validate/crossCapability.js.map +1 -0
  244. package/dist/validate/lifecycleAdapters.js +772 -0
  245. package/dist/validate/lifecycleAdapters.js.map +1 -0
  246. package/dist/validate/selfAudit.js +107 -0
  247. package/dist/validate/selfAudit.js.map +1 -0
  248. package/package.json +28 -8
  249. package/LICENSE +0 -201
  250. package/bin/agentera.mjs +0 -50
  251. package/lib/exec.mjs +0 -116
  252. package/lib/resolve.mjs +0 -129
@@ -0,0 +1,233 @@
1
+ schema_version: agentera.app_lifecycle_vocabulary.v1
2
+ status: active_authority
3
+ decision: 54
4
+ purpose: >-
5
+ Define the app lifecycle vocabulary shared by doctor, hej, upgrade, docs,
6
+ and tests so structured status metadata, operation verbs, deprecated aliases,
7
+ and consumer ownership boundaries have one machine-readable source.
8
+ sources:
9
+ decisions:
10
+ - .agentera/decisions.yaml#Decision-54
11
+ prose:
12
+ - references/cli/vocabulary.md#app-lifecycle-status-vocabulary
13
+ scope:
14
+ includes:
15
+ - Agentera app lifecycle status metadata emitted by doctor, hej, and upgrade.
16
+ - Upgrade workflow operation verbs for app files, data migration, and no-change outcomes.
17
+ - Cross-major status concepts that annotate migration work without adding parallel status enums.
18
+ - Transitional deprecated aliases needed to classify shipped or historical consumers.
19
+ excludes:
20
+ - Capability names.
21
+ - Artifact names or paths.
22
+ - Exit signals.
23
+ - Task statuses.
24
+ - Health grades.
25
+ - Update channel names, dist-tag resolution, and override keys.
26
+ - General prose outside app lifecycle metadata.
27
+ compatibility_boundary: >-
28
+ Compatibility identifiers such as `.agentera-bundle.json`, `bundle.status`,
29
+ `activeBundleRoot`, and `--only bundle` may remain until an explicit migration
30
+ exists. They do not make bundle/fresh/stale/refresh/fixed canonical app
31
+ lifecycle status vocabulary.
32
+ canonical_status_order:
33
+ - up_to_date
34
+ - outdated
35
+ - repair_needed
36
+ - migration_needed
37
+ - manual_review_needed
38
+ - ready_to_apply
39
+ - applied
40
+ - no_changes_needed
41
+ canonical_statuses:
42
+ up_to_date:
43
+ concept: installed_app_current
44
+ definition: Installed app matches the expected version and required commands are present.
45
+ deprecated_aliases:
46
+ - fresh
47
+ - current
48
+ - ready
49
+ - ok
50
+ outdated:
51
+ concept: installed_app_version_behind
52
+ definition: Installed app files are valid but older than the expected version.
53
+ deprecated_aliases:
54
+ - stale
55
+ - old
56
+ - update_needed
57
+ repair_needed:
58
+ concept: app_files_missing_incomplete_or_broken
59
+ definition: App files are missing, incomplete, or broken.
60
+ deprecated_aliases:
61
+ - refresh_required
62
+ - broken
63
+ - invalid
64
+ - app_refresh_required
65
+ migration_needed:
66
+ concept: compatibility_boundary_migration_required
67
+ definition: v1 project state or legacy app-home layout needs migration.
68
+ deprecated_aliases:
69
+ - upgrade_needed
70
+ - stale_v1
71
+ manual_review_needed:
72
+ concept: unsafe_to_choose_write_path_automatically
73
+ definition: Agentera cannot safely choose a write path without the user.
74
+ deprecated_aliases:
75
+ - blocked
76
+ - needs decision
77
+ ready_to_apply:
78
+ concept: dry_run_has_approved_safe_pending_work
79
+ definition: A no-write plan has pending approved-safe work.
80
+ deprecated_aliases:
81
+ - pending
82
+ - ready to fix
83
+ applied:
84
+ concept: approved_work_completed
85
+ definition: Approved work completed.
86
+ deprecated_aliases:
87
+ - fixed
88
+ no_changes_needed:
89
+ concept: idempotent_no_write_required
90
+ definition: No write is needed.
91
+ deprecated_aliases:
92
+ - noop
93
+ - already OK
94
+ status_concept_order:
95
+ - major_boundary_crossing
96
+ status_concepts:
97
+ major_boundary_crossing:
98
+ definition: >-
99
+ Work that crosses the v2→v3 compatibility boundary (Python managed app-home
100
+ to npm self-contained 3.x). Never implied by stable-channel resolution or
101
+ @latest; requires explicit --target-major 3 opt-in before apply.
102
+ applies_to_verbs:
103
+ - migrate
104
+ - upgrade
105
+ typical_statuses:
106
+ - manual_review_needed
107
+ - migration_needed
108
+ requires_explicit_opt_in:
109
+ flag: --target-major
110
+ value: 3
111
+ item_tag: requires_explicit_major_opt_in
112
+ never_implicit_on_channels:
113
+ - stable
114
+ authority_cross_ref: references/cli/update-channels.yaml
115
+ operation_verb_order:
116
+ - install
117
+ - repair
118
+ - update
119
+ - migrate
120
+ - upgrade
121
+ - refresh
122
+ operation_verbs:
123
+ install:
124
+ scope: Put Agentera app files where they do not exist.
125
+ lifecycle_allowed: true
126
+ repair:
127
+ scope: Restore missing, incomplete, or broken Agentera app files.
128
+ lifecycle_allowed: true
129
+ update:
130
+ scope: >-
131
+ Move existing Agentera app files from an older version to the expected version
132
+ within the selected update channel's distribution major. Stable channel updates
133
+ stay on the 2.x line; development channel updates track 3.x pre-releases.
134
+ Cross-major v2→v3 moves are migrate work tagged major_boundary_crossing, not
135
+ channel updates.
136
+ lifecycle_allowed: true
137
+ channel_aware: true
138
+ authority_cross_ref: references/cli/update-channels.yaml
139
+ migrate:
140
+ scope: Change layout, data, or schema across a compatibility boundary.
141
+ lifecycle_allowed: true
142
+ upgrade:
143
+ scope: Umbrella CLI workflow that may install, repair, update, migrate, configure, or clean up.
144
+ lifecycle_allowed: true
145
+ refresh:
146
+ scope: Data regeneration only, such as `agentera stats refresh`; not app lifecycle state.
147
+ lifecycle_allowed: false
148
+ consumer_order:
149
+ - doctor
150
+ - hej
151
+ - upgrade
152
+ - docs
153
+ - tests
154
+ consumers:
155
+ doctor:
156
+ owns:
157
+ - structured app self-check status metadata.
158
+ - human-readable app lifecycle diagnostics derived from canonical status metadata.
159
+ may_emit_statuses:
160
+ - up_to_date
161
+ - outdated
162
+ - repair_needed
163
+ - migration_needed
164
+ - manual_review_needed
165
+ may_use_verbs:
166
+ - repair
167
+ - update
168
+ - migrate
169
+ - upgrade
170
+ may_define_new_statuses: false
171
+ hej:
172
+ owns:
173
+ - installed app gate summary exposed in the composite state briefing.
174
+ - recovery prompts derived from doctor and upgrade metadata.
175
+ may_emit_statuses:
176
+ - up_to_date
177
+ - outdated
178
+ - repair_needed
179
+ - migration_needed
180
+ - manual_review_needed
181
+ may_use_verbs:
182
+ - repair
183
+ - update
184
+ - migrate
185
+ - upgrade
186
+ may_define_new_statuses: false
187
+ upgrade:
188
+ owns:
189
+ - app lifecycle preview and apply workflow metadata.
190
+ - concrete operation item naming for install, repair, update, migrate, cleanup, and no-change outcomes.
191
+ may_emit_statuses:
192
+ - ready_to_apply
193
+ - applied
194
+ - no_changes_needed
195
+ - manual_review_needed
196
+ may_use_verbs:
197
+ - install
198
+ - repair
199
+ - update
200
+ - migrate
201
+ - upgrade
202
+ may_define_new_statuses: false
203
+ docs:
204
+ owns:
205
+ - human-readable explanation of this authority.
206
+ - plain-language recovery wording boundaries.
207
+ may_emit_statuses: []
208
+ may_use_verbs:
209
+ - install
210
+ - repair
211
+ - update
212
+ - migrate
213
+ - upgrade
214
+ - refresh
215
+ may_define_new_statuses: false
216
+ tests:
217
+ owns:
218
+ - regression coverage proving consumers remain synchronized with this authority.
219
+ - deprecated alias classification and rejection as canonical status values.
220
+ may_emit_statuses: []
221
+ may_use_verbs:
222
+ - install
223
+ - repair
224
+ - update
225
+ - migrate
226
+ - upgrade
227
+ - refresh
228
+ may_define_new_statuses: false
229
+ docs_delegation:
230
+ document: references/cli/vocabulary.md
231
+ required_anchor: App lifecycle status vocabulary
232
+ authority_path: references/cli/app-lifecycle-vocabulary.yaml
233
+ must_not_duplicate_large_table: true
@@ -0,0 +1,355 @@
1
+ schema_version: agentera.audience_namespace_cli_migration.v1
2
+ status: target_design_contract
3
+ purpose: >-
4
+ Target CLI command tree, audience namespace grouping, and phased alias migration
5
+ policy for the Run 2 hybrid CLI consolidation. Documents the post-migration surface
6
+ before parser and dispatch changes land in plan tasks 2–4.
7
+ sources:
8
+ decisions:
9
+ - .agentera/decisions.yaml#Decision-45
10
+ - .agentera/decisions.yaml#Decision-59
11
+ - .agentera/decisions.yaml#Decision-43
12
+ parent_contract: references/cli/agent-ready-state-contract.yaml
13
+ active_plan: .agentera/plan.yaml
14
+ implementation_entrypoint: the agentera CLI
15
+ implementation_status: design_only
16
+ non_goals:
17
+ - Do not implement parser, dispatch, or help-grouping changes in this contract task.
18
+ - Do not remove top-level aliases until the phased migration completes.
19
+ - Do not add capability workflow execution commands such as `agentera planera`.
20
+ - Do not expose top-level `agentera corpus`; corpus generation stays behind
21
+ `report refresh --consent local-history`.
22
+ target_surface_summary: >-
23
+ Reduce the flat ~33 top-level verbs to ~18 by grouping routine state reads,
24
+ analytics, and maintainer gates under three audience namespaces while preserving
25
+ eleven top-level capability routing commands plus lifecycle commands.
26
+ audience_tags:
27
+ agent: >-
28
+ Orientation, routine project-state reads, capability startup context, and
29
+ capability routing guidance the agent uses before raw artifact access.
30
+ user: >-
31
+ Install lifecycle, diagnostics, and privacy-gated analytics a human operator
32
+ runs without maintainer-only verification gates.
33
+ maintainer: >-
34
+ Validation, verification, lint, compaction, and repository gate checks used in
35
+ CI, hooks, and maintainer workflows.
36
+ top_level_commands:
37
+ control_plane:
38
+ prime:
39
+ audience: [agent]
40
+ status: target_canonical
41
+ replaces: hej
42
+ default_behavior: >-
43
+ Composite orientation briefing currently owned by `hej` (installed-app gate,
44
+ health, plan, attention, next_action, source_contract). Static priming prose
45
+ moves to an explicit flag such as `--guidance` when still needed.
46
+ modes:
47
+ default: composite orientation briefing (formerly `hej`)
48
+ context: >-
49
+ `agentera prime --context <capability> --format json` — slim
50
+ `capability_context` startup capsule per Decision 59
51
+ dashboard: >-
52
+ `agentera prime --dashboard` / `--orientation` — orientation JSON mode
53
+ (provisional flag spelling)
54
+ skill_routing: >-
55
+ Bare `/agentera` and bare `hej` skill routes target `agentera prime`, not
56
+ a separate `hej` CLI command.
57
+ removed_from_top_level: hej
58
+ schema:
59
+ audience: [agent]
60
+ status: target_canonical
61
+ replaces: describe
62
+ owns:
63
+ - command tree discovery
64
+ - audience tag metadata
65
+ - filters and output format discovery
66
+ - structured output shape metadata
67
+ - field selection metadata
68
+ - Decision 43 slash-route alias descriptions
69
+ - artifact schema discovery
70
+ - linked contract section pointers
71
+ migration_alias:
72
+ command: describe
73
+ stderr: one-line deprecation naming `schema`
74
+ removal: after one minor alias release
75
+ capabilities:
76
+ audience: [agent]
77
+ status: preserved_top_level
78
+ count: 11
79
+ excludes: hej
80
+ commands:
81
+ - visionera
82
+ - resonera
83
+ - inspirera
84
+ - planera
85
+ - realisera
86
+ - optimera
87
+ - inspektera
88
+ - dokumentera
89
+ - profilera
90
+ - visualisera
91
+ - orkestrera
92
+ behavior: >-
93
+ Top-level capability-name commands emit routing guidance only. They do not
94
+ execute capability workflows. Capability startup JSON remains on
95
+ `agentera prime --context <capability> --format json`, not on capability tops.
96
+ non_goals:
97
+ - Do not demote capability tops to `prime --context` only.
98
+ - Do not add `agentera hej` back as a capability top.
99
+ lifecycle:
100
+ upgrade:
101
+ audience: [user]
102
+ status: preserved_top_level
103
+ notes: Stays top-level; no `setup` namespace wrapper.
104
+ doctor:
105
+ audience: [user]
106
+ status: preserved_top_level
107
+ notes: Agentera CLI/install/runtime self-check only; see parent contract `doctor`.
108
+ audience_namespaces:
109
+ state:
110
+ audience: [agent]
111
+ status: target_canonical_namespace
112
+ purpose: Routine artifact reads and advanced artifact query.
113
+ subcommands:
114
+ plan:
115
+ canonical_shape: agentera state plan [--format text|json|yaml] [--fields ...]
116
+ legacy_top_level_alias: plan
117
+ progress:
118
+ canonical_shape: agentera state progress [--format text|json|yaml] [--fields ...]
119
+ legacy_top_level_alias: progress
120
+ health:
121
+ canonical_shape: agentera state health [--format text|json|yaml] [--fields ...]
122
+ legacy_top_level_alias: health
123
+ todo:
124
+ canonical_shape: agentera state todo [--format text|json|yaml] [--fields ...]
125
+ legacy_top_level_alias: todo
126
+ decisions:
127
+ canonical_shape: agentera state decisions [--format text|json|yaml] [--fields ...]
128
+ legacy_top_level_alias: decisions
129
+ docs:
130
+ canonical_shape: agentera state docs [--format text|json|yaml] [--fields ...]
131
+ legacy_top_level_alias: docs
132
+ objective:
133
+ canonical_shape: agentera state objective [--format text|json|yaml] [--fields ...]
134
+ legacy_top_level_alias: objective
135
+ experiments:
136
+ canonical_shape: agentera state experiments [--format text|json|yaml] [--fields ...]
137
+ legacy_top_level_alias: experiments
138
+ query:
139
+ canonical_shape: agentera state query [--list-artifacts] [<artifact>] [--format ...]
140
+ legacy_top_level_alias: query
141
+ notes: Advanced artifact access; not the normal routine state interface.
142
+ decision_45_policy: >-
143
+ Decision 45 routine state command names (`plan`, `progress`, `health`, `todo`,
144
+ `decisions`, `docs`, `objective`, `experiments`, `query`) remain stable during
145
+ Phase 1–2 as top-level stderr-deprecation aliases that delegate to
146
+ `agentera state <name>`. Canonical namespace form is `state <name>`; JSON/YAML
147
+ envelopes and source_contract shapes are unchanged.
148
+ report:
149
+ audience: [user]
150
+ status: target_canonical_namespace
151
+ purpose: Privacy-gated usage analytics.
152
+ subcommands:
153
+ default_read:
154
+ canonical_shape: agentera report [--format text|json] [--project VALUE]
155
+ delegates_from: stats
156
+ behavior: Matches today's plain `agentera stats` read-only analytics.
157
+ refresh:
158
+ canonical_shape: >-
159
+ agentera report refresh [--dry-run] [--consent local-history]
160
+ [--project-root PATH] [--format text|json]
161
+ delegates_from: stats refresh
162
+ behavior: Matches today's `agentera stats refresh` including consent gates.
163
+ legacy_top_level_alias: stats
164
+ rejected_top_level: corpus
165
+ notes: >-
166
+ `agentera usage` and `agentera usage` remain backward-compatible
167
+ maintainer seams per AGENTS.md until separately classified; public user-facing
168
+ analytics consolidate under `report`.
169
+ check:
170
+ audience: [maintainer]
171
+ status: target_canonical_namespace
172
+ purpose: Validation, verification, lint, and repository compaction gates.
173
+ subcommands:
174
+ validate:
175
+ canonical_shape: agentera check validate <family> [target options]
176
+ delegates_from: validate
177
+ notes: Preserves existing validate families (capability, artifact, descriptors, etc.).
178
+ verify:
179
+ canonical_shape: agentera check verify <family> <target> [options]
180
+ delegates_from: verify
181
+ notes: Smoke and eval gate families unchanged.
182
+ lint:
183
+ canonical_shape: agentera check lint --artifact <ARTIFACT> [options]
184
+ delegates_from: lint
185
+ compact:
186
+ canonical_shape: agentera check compact [--project PATH] [--mode check|fix] [--format text|json]
187
+ delegates_from:
188
+ - compact
189
+ - gate
190
+ notes: >-
191
+ `check compact` in default check-only mode matches today's `agentera gate`.
192
+ Artifact compaction budget checks remain on `check compact`.
193
+ legacy_top_level_aliases:
194
+ - validate
195
+ - verify
196
+ - lint
197
+ - gate
198
+ - compact
199
+ help_grouping:
200
+ agent: [prime, state, schema, capabilities]
201
+ user: [upgrade, doctor, report]
202
+ maintainer: [check]
203
+ prime_hej_schema_migration_boundary:
204
+ prime_absorbs_hej:
205
+ status: target
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.
210
+ hej_skill_route: >-
211
+ Bare `hej` in the Agentera skill still routes to orientation, but the installed
212
+ CLI gate calls `agentera prime` and renders from that composite result.
213
+ prime_default: >-
214
+ Bare `agentera prime` emits the composite orientation briefing currently owned
215
+ by `hej`, not static priming-only prose. Static priming moves to `--guidance`
216
+ when retained.
217
+ prime_context_unchanged: >-
218
+ `agentera prime --context <capability> --format json` remains the sole supported
219
+ capability startup JSON seam per Decision 59; slim `capability_context` shape
220
+ and JSON budgets are unchanged.
221
+ doctor_default: >-
222
+ After migration, `agentera doctor --expect-command` defaults to `prime`, not
223
+ `hej`.
224
+ schema_replaces_describe:
225
+ status: target
226
+ canonical: agentera schema [--format json|yaml]
227
+ alias: >-
228
+ `agentera describe` prints one stderr deprecation naming `schema` and delegates
229
+ during Phase 1–2.
230
+ discovery_ownership: >-
231
+ `schema` owns runtime CLI/schema introspection formerly on `describe`, including
232
+ command tree, audience tags, artifact locations, and linked contract sections.
233
+ Capability startup contracts that reference discovery must point agents to
234
+ `agentera schema`, not `agentera describe`.
235
+ decision_reconciliation:
236
+ decision_59:
237
+ prime_context_seam: >-
238
+ `prime --context` remains the capability startup seam. Top-level capability
239
+ names route to capability guidance; `prime` prepares the agent. Historical
240
+ `hej --capability-context` and `--context-profile full` paths stay removed.
241
+ prime_consolidation: >-
242
+ User direction consolidates dashboard/orientation into `prime` default briefing
243
+ rather than keeping bare `prime` as static-only priming plus a separate `hej`
244
+ dashboard owner.
245
+ decision_45:
246
+ routine_state_aliases: >-
247
+ Routine state names stay stable via top-level aliases during migration. Canonical
248
+ reads become `agentera state <name>`; envelopes, field selection, and
249
+ source_contract semantics are unchanged.
250
+ slash_route_separation: >-
251
+ Decision 43 slash aliases remain excluded from the CLI command surface. The
252
+ shared word `plan` keeps three distinct meanings documented below.
253
+ plan_routing_distinction:
254
+ slash_route:
255
+ invocation: /agentera plan
256
+ surface: Agentera skill slash route (Decision 43 primary alias)
257
+ routes_to: planera
258
+ meaning: >-
259
+ Request-to-capability routing — start or continue Planera planning work. This
260
+ is not a CLI command and does not read `.agentera/plan.yaml` by itself.
261
+ state_read:
262
+ invocation: agentera state plan
263
+ legacy_alias: agentera plan
264
+ surface: CLI routine state read
265
+ meaning: >-
266
+ Read-only access to the active plan artifact summary, tasks, acceptance
267
+ criteria, evidence, and source_contract. Does not invoke Planera workflow
268
+ execution.
269
+ capability_top:
270
+ invocation: agentera planera
271
+ surface: CLI top-level capability routing command
272
+ meaning: >-
273
+ Emits Planera routing guidance prose/schemas pointers. Does not replace
274
+ `state plan` reads or `/agentera plan` slash routing. Capability startup JSON
275
+ for Planera remains `agentera prime --context planera --format json`.
276
+ agent_guidance: >-
277
+ 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
280
+ `agentera prime --context planera` for bounded Planera startup context.
281
+ migration_phases:
282
+ phase_1:
283
+ name: add_namespaces_and_delegate
284
+ actions:
285
+ - Add `state`, `report`, and `check` namespace parsers.
286
+ - Delegate to existing handlers without behavior change.
287
+ - Add `schema` top-level command delegating from `describe`.
288
+ - Make `prime` default emit composite orientation briefing.
289
+ - Keep legacy top-level names as stderr-deprecation aliases.
290
+ phase_2:
291
+ name: update_contracts_docs_hooks
292
+ actions:
293
+ - Update SKILL.md, AGENTS.md, hooks, CI, and semantic fixtures to prefer canonical forms.
294
+ - Emit audience tags and command tree from `agentera schema`.
295
+ - Record measurement evidence for JSON surface moves.
296
+ phase_3:
297
+ name: remove_deprecated_top_level_parsers
298
+ actions:
299
+ - >-
300
+ Remove `hej`, public `describe`, and `gate` from top-level parser help.
301
+ - >-
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.
304
+ - >-
305
+ Deferred final removal of all routine-state top-level aliases after one
306
+ minor alias release.
307
+ alias_policy:
308
+ stderr_format: one-line deprecation naming the canonical command
309
+ delegation: forward to canonical handler with unchanged JSON/text envelopes
310
+ duration: one minor release minimum for hej, describe, and routine-state tops
311
+ forbidden:
312
+ - bundle-status compatibility alias (Decision 45 hard rename)
313
+ - adding Decision 43 slash aliases as CLI commands
314
+ - silent fallback without stderr during the alias period
315
+ command_tree_target:
316
+ top_level_count: ~18
317
+ groups:
318
+ - prime [agent]
319
+ - schema [agent]
320
+ - visionera [agent]
321
+ - resonera [agent]
322
+ - inspirera [agent]
323
+ - planera [agent]
324
+ - realisera [agent]
325
+ - optimera [agent]
326
+ - inspektera [agent]
327
+ - dokumentera [agent]
328
+ - profilera [agent]
329
+ - visualisera [agent]
330
+ - orkestrera [agent]
331
+ - upgrade [user]
332
+ - doctor [user]
333
+ - state [agent]
334
+ - report [user]
335
+ - check [maintainer]
336
+
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" }
349
+ - { legacy: query, canonical: "state query" }
350
+ - { legacy: compact, canonical: "check compact" }
351
+ - { legacy: gate, canonical: "check compact" }
352
+ - { legacy: verify, canonical: "check verify" }
353
+ - { legacy: stats, canonical: report }
354
+ - { legacy: lint, canonical: "check lint" }
355
+ - { legacy: validate, canonical: "check validate" }