agentera 3.0.0-dev.25 → 3.0.0-dev.26

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 (270) hide show
  1. package/README.md +16 -20
  2. package/bundle/CHANGELOG.md +15 -25
  3. package/bundle/README.md +13 -34
  4. package/bundle/UPGRADE.md +71 -165
  5. package/bundle/references/adapters/package-manifest-interface-model.yaml +40 -241
  6. package/bundle/references/adapters/package-registry.yaml +0 -145
  7. package/bundle/references/adapters/package-surface-characterization.md +13 -38
  8. package/bundle/references/adapters/runtime-lifecycle-adapters.yaml +5 -219
  9. package/bundle/references/adapters/runtime-lifecycle-authority.yaml +2 -29
  10. package/bundle/references/adapters/runtime-lifecycle-operation-contract.yaml +1 -1
  11. package/bundle/references/artifacts/state-storage-authority.yaml +43 -447
  12. package/bundle/references/cli/agent-ready-state-contract.yaml +9 -9
  13. package/bundle/references/cli/app-lifecycle-vocabulary.yaml +3 -4
  14. package/bundle/references/cli/bundle-skill-vocabulary.yaml +9 -18
  15. package/bundle/references/cli/capability-tool-classification.yaml +2 -2
  16. package/bundle/references/cli/prime-consumer-compatibility.yaml +28 -98
  17. package/bundle/references/cli/routing-execution-vocabulary.yaml +4 -22
  18. package/bundle/references/cli/upgrade-repair-wording.md +8 -28
  19. package/bundle/references/cli/v3-handoff-manifest.schema.yaml +2 -3
  20. package/bundle/references/cli/vocabulary.md +18 -23
  21. package/bundle/references/meta/documentation-inventory.md +1 -1
  22. package/bundle/skills/agentera/schemas/artifacts/docs.yaml +3 -11
  23. package/bundle/skills/agentera/schemas/artifacts/plan.yaml +1 -1
  24. package/dist/cli/capabilityContext/bespoke.js +8 -2
  25. package/dist/cli/capabilityContext/bespoke.js.map +1 -1
  26. package/dist/cli/capabilityContext/closeout.js +3 -3
  27. package/dist/cli/capabilityContext/closeout.js.map +1 -1
  28. package/dist/cli/capabilityContext/evidence.js +52 -40
  29. package/dist/cli/capabilityContext/evidence.js.map +1 -1
  30. package/dist/cli/capabilityContext/startup.js +1 -1
  31. package/dist/cli/capabilityContext/startup.js.map +1 -1
  32. package/dist/cli/commands/doctor.js +6 -64
  33. package/dist/cli/commands/doctor.js.map +1 -1
  34. package/dist/cli/commands/durability.js +12 -48
  35. package/dist/cli/commands/durability.js.map +1 -1
  36. package/dist/cli/commands/prime/briefOrientation.js +2 -19
  37. package/dist/cli/commands/prime/briefOrientation.js.map +1 -1
  38. package/dist/cli/commands/prime/bundleStatus.js +8 -2
  39. package/dist/cli/commands/prime/bundleStatus.js.map +1 -1
  40. package/dist/cli/commands/prime/collectEntityOrientation.js +27 -14
  41. package/dist/cli/commands/prime/collectEntityOrientation.js.map +1 -1
  42. package/dist/cli/commands/prime/collectOrientationState.js +31 -52
  43. package/dist/cli/commands/prime/collectOrientationState.js.map +1 -1
  44. package/dist/cli/commands/prime/orientationOutput.js +3 -11
  45. package/dist/cli/commands/prime/orientationOutput.js.map +1 -1
  46. package/dist/cli/commands/prime.js +0 -5
  47. package/dist/cli/commands/prime.js.map +1 -1
  48. package/dist/cli/commands/query.js +17 -49
  49. package/dist/cli/commands/query.js.map +1 -1
  50. package/dist/cli/commands/schema.js +19 -78
  51. package/dist/cli/commands/schema.js.map +1 -1
  52. package/dist/cli/commands/state/decisions.js +11 -57
  53. package/dist/cli/commands/state/decisions.js.map +1 -1
  54. package/dist/cli/commands/state/docs.js +56 -120
  55. package/dist/cli/commands/state/docs.js.map +1 -1
  56. package/dist/cli/commands/state/experimentRecords.js +22 -121
  57. package/dist/cli/commands/state/experimentRecords.js.map +1 -1
  58. package/dist/cli/commands/state/experiments.js +9 -75
  59. package/dist/cli/commands/state/experiments.js.map +1 -1
  60. package/dist/cli/commands/state/get.js +62 -143
  61. package/dist/cli/commands/state/get.js.map +1 -1
  62. package/dist/cli/commands/state/health.js +9 -123
  63. package/dist/cli/commands/state/health.js.map +1 -1
  64. package/dist/cli/commands/state/index.js +2 -2
  65. package/dist/cli/commands/state/index.js.map +1 -1
  66. package/dist/cli/commands/state/list.js +20 -36
  67. package/dist/cli/commands/state/list.js.map +1 -1
  68. package/dist/cli/commands/state/objective.js +19 -86
  69. package/dist/cli/commands/state/objective.js.map +1 -1
  70. package/dist/cli/commands/state/plan.js +9 -388
  71. package/dist/cli/commands/state/plan.js.map +1 -1
  72. package/dist/cli/commands/state/planTasks.js +58 -93
  73. package/dist/cli/commands/state/planTasks.js.map +1 -1
  74. package/dist/cli/commands/state/plans.js +13 -40
  75. package/dist/cli/commands/state/plans.js.map +1 -1
  76. package/dist/cli/commands/state/progress.js +10 -55
  77. package/dist/cli/commands/state/progress.js.map +1 -1
  78. package/dist/cli/commands/state/todo.js +24 -133
  79. package/dist/cli/commands/state/todo.js.map +1 -1
  80. package/dist/cli/commands/state/write.js +11 -33
  81. package/dist/cli/commands/state/write.js.map +1 -1
  82. package/dist/cli/commands/upgrade.js +48 -18
  83. package/dist/cli/commands/upgrade.js.map +1 -1
  84. package/dist/cli/commands/upgradeVerify.js +21 -15
  85. package/dist/cli/commands/upgradeVerify.js.map +1 -1
  86. package/dist/cli/commands/validate.js +1 -9
  87. package/dist/cli/commands/validate.js.map +1 -1
  88. package/dist/cli/dispatch/check.js +5 -12
  89. package/dist/cli/dispatch/check.js.map +1 -1
  90. package/dist/cli/dispatch/index.js +30 -29
  91. package/dist/cli/dispatch/index.js.map +1 -1
  92. package/dist/cli/dispatch/lifecycle.js +23 -40
  93. package/dist/cli/dispatch/lifecycle.js.map +1 -1
  94. package/dist/cli/help.js +20 -100
  95. package/dist/cli/help.js.map +1 -1
  96. package/dist/cli/migrationRequired.js +22 -19
  97. package/dist/cli/migrationRequired.js.map +1 -1
  98. package/dist/cli/orientation/attention.js +1 -97
  99. package/dist/cli/orientation/attention.js.map +1 -1
  100. package/dist/cli/stateQuery.js +1 -2
  101. package/dist/cli/stateQuery.js.map +1 -1
  102. package/dist/core/skillIdentity.js +24 -0
  103. package/dist/core/skillIdentity.js.map +1 -0
  104. package/dist/hooks/common.js +1 -1
  105. package/dist/hooks/common.js.map +1 -1
  106. package/dist/hooks/compaction/status.js +2 -1
  107. package/dist/hooks/compaction/status.js.map +1 -1
  108. package/dist/hooks/cursorSessionStart.js +4 -25
  109. package/dist/hooks/cursorSessionStart.js.map +1 -1
  110. package/dist/hooks/projectHookInput.js +26 -0
  111. package/dist/hooks/projectHookInput.js.map +1 -0
  112. package/dist/hooks/sessionStart.js +23 -239
  113. package/dist/hooks/sessionStart.js.map +1 -1
  114. package/dist/hooks/sessionStop.js +4 -12
  115. package/dist/hooks/sessionStop.js.map +1 -1
  116. package/dist/hooks/validateArtifact/traversal.js +1 -1
  117. package/dist/hooks/validateArtifact/traversal.js.map +1 -1
  118. package/dist/registries/artifactRegistry.js +2 -1
  119. package/dist/registries/artifactRegistry.js.map +1 -1
  120. package/dist/registries/packageRegistry.js +57 -231
  121. package/dist/registries/packageRegistry.js.map +1 -1
  122. package/dist/release/releaseMetadata.js +1 -13
  123. package/dist/release/releaseMetadata.js.map +1 -1
  124. package/dist/runtime/lifecycleAdapterContract.js +4 -4
  125. package/dist/runtime/lifecycleAdapterContract.js.map +1 -1
  126. package/dist/runtime/lifecycleAdapters.js +14 -2
  127. package/dist/runtime/lifecycleAdapters.js.map +1 -1
  128. package/dist/runtime/lifecycleAuthority.js +5 -43
  129. package/dist/runtime/lifecycleAuthority.js.map +1 -1
  130. package/dist/runtime/lifecycleOperationContract.js +3 -2
  131. package/dist/runtime/lifecycleOperationContract.js.map +1 -1
  132. package/dist/runtime/lifecyclePublication.js +21 -0
  133. package/dist/runtime/lifecyclePublication.js.map +1 -1
  134. package/dist/setup/opencode.js +20 -12
  135. package/dist/setup/opencode.js.map +1 -1
  136. package/dist/setup/sharedSkill.js +46 -0
  137. package/dist/setup/sharedSkill.js.map +1 -0
  138. package/dist/setup/smokeChecks.js +16 -43
  139. package/dist/setup/smokeChecks.js.map +1 -1
  140. package/dist/state/decisionEntities.js +7 -4
  141. package/dist/state/decisionEntities.js.map +1 -1
  142. package/dist/state/durability.js +4 -240
  143. package/dist/state/durability.js.map +1 -1
  144. package/dist/state/entityCutover.js +90 -186
  145. package/dist/state/entityCutover.js.map +1 -1
  146. package/dist/state/entityStorage.js +27 -8
  147. package/dist/state/entityStorage.js.map +1 -1
  148. package/dist/state/healthEntities.js +7 -4
  149. package/dist/state/healthEntities.js.map +1 -1
  150. package/dist/state/objectiveExperimentEntities.js +7 -5
  151. package/dist/state/objectiveExperimentEntities.js.map +1 -1
  152. package/dist/state/planEntities.js +14 -10
  153. package/dist/state/planEntities.js.map +1 -1
  154. package/dist/state/progressEntities.js +4 -2
  155. package/dist/state/progressEntities.js.map +1 -1
  156. package/dist/state/startupProjection.js +3 -2
  157. package/dist/state/startupProjection.js.map +1 -1
  158. package/dist/state/stateMode.js +7 -0
  159. package/dist/state/stateMode.js.map +1 -1
  160. package/dist/state/todoDocsEntities.js +6 -4
  161. package/dist/state/todoDocsEntities.js.map +1 -1
  162. package/dist/state/write/explain.js +1 -9
  163. package/dist/state/write/explain.js.map +1 -1
  164. package/dist/state/write/transaction.js +22 -532
  165. package/dist/state/write/transaction.js.map +1 -1
  166. package/dist/upgrade/appContentRefresh.js +43 -28
  167. package/dist/upgrade/appContentRefresh.js.map +1 -1
  168. package/dist/upgrade/doctor.js +5 -1
  169. package/dist/upgrade/doctor.js.map +1 -1
  170. package/dist/upgrade/installedHooksRetirement.js +46 -39
  171. package/dist/upgrade/installedHooksRetirement.js.map +1 -1
  172. package/dist/upgrade/legacyAgentCleanup.js +132 -32
  173. package/dist/upgrade/legacyAgentCleanup.js.map +1 -1
  174. package/dist/upgrade/lifecycleUpgrade.js +65 -378
  175. package/dist/upgrade/lifecycleUpgrade.js.map +1 -1
  176. package/dist/upgrade/migrateArtifactsV2ToV3.js +151 -52
  177. package/dist/upgrade/migrateArtifactsV2ToV3.js.map +1 -1
  178. package/dist/upgrade/migrationPublication.js +123 -0
  179. package/dist/upgrade/migrationPublication.js.map +1 -0
  180. package/dist/upgrade/projectIntegration.js +46 -113
  181. package/dist/upgrade/projectIntegration.js.map +1 -1
  182. package/dist/upgrade/projectIntegrationDecision.js +6 -96
  183. package/dist/upgrade/projectIntegrationDecision.js.map +1 -1
  184. package/dist/upgrade/runtimeMigration.js +222 -402
  185. package/dist/upgrade/runtimeMigration.js.map +1 -1
  186. package/dist/upgrade/upgradeCommands.js +5 -4
  187. package/dist/upgrade/upgradeCommands.js.map +1 -1
  188. package/dist/upgrade/upgradeLock.js +73 -41
  189. package/dist/upgrade/upgradeLock.js.map +1 -1
  190. package/dist/upgrade/upgradeOrchestrator.js +91 -158
  191. package/dist/upgrade/upgradeOrchestrator.js.map +1 -1
  192. package/dist/upgrade/v3CapabilitySurface.js +2 -2
  193. package/dist/validate/appHomeContract.js +0 -4
  194. package/dist/validate/appHomeContract.js.map +1 -1
  195. package/package.json +7 -5
  196. package/bundle/.codex-plugin/plugin.json +0 -92
  197. package/bundle/.cursor/agents/agentera.md +0 -7
  198. package/bundle/.cursor/hooks.json +0 -32
  199. package/bundle/.cursor-plugin/plugin.json +0 -34
  200. package/bundle/.github/hooks/postToolUse.json +0 -9
  201. package/bundle/.github/hooks/preToolUse.json +0 -8
  202. package/bundle/.github/hooks/sessionEnd.json +0 -8
  203. package/bundle/.github/hooks/sessionStart.json +0 -8
  204. package/bundle/.github/plugin/plugin.json +0 -7
  205. package/bundle/.opencode/agents/agentera.md +0 -12
  206. package/bundle/.opencode/commands/agentera.md +0 -5
  207. package/bundle/.opencode/package.json +0 -31
  208. package/bundle/.opencode/plugins/agentera.js +0 -820
  209. package/bundle/agents/openai.yaml +0 -87
  210. package/bundle/hooks/codex-hooks.json +0 -31
  211. package/bundle/hooks/codex-plugin-hooks.json +0 -31
  212. package/bundle/plugin.json +0 -13
  213. package/bundle/references/adapters/cursor.md +0 -224
  214. package/bundle/references/adapters/opencode.md +0 -529
  215. package/bundle/references/adapters/runtime-adapter-characterization.md +0 -44
  216. package/bundle/references/adapters/runtime-adapter-interface-model.yaml +0 -200
  217. package/bundle/references/adapters/runtime-adapter-registry.yaml +0 -387
  218. package/bundle/references/adapters/runtime-feature-parity.md +0 -129
  219. package/dist/cli/commands/backfill.js +0 -231
  220. package/dist/cli/commands/backfill.js.map +0 -1
  221. package/dist/cli/commands/migrate.js +0 -681
  222. package/dist/cli/commands/migrate.js.map +0 -1
  223. package/dist/registries/runtimeAdapterRegistry.js +0 -324
  224. package/dist/registries/runtimeAdapterRegistry.js.map +0 -1
  225. package/dist/setup/copilot.js +0 -227
  226. package/dist/setup/copilot.js.map +0 -1
  227. package/dist/setup/cursor.js +0 -129
  228. package/dist/setup/cursor.js.map +0 -1
  229. package/dist/setup/cursorSurfaces.js +0 -67
  230. package/dist/setup/cursorSurfaces.js.map +0 -1
  231. package/dist/setup/doctor/core.js +0 -296
  232. package/dist/setup/doctor/core.js.map +0 -1
  233. package/dist/setup/doctor/diagnostics.js +0 -201
  234. package/dist/setup/doctor/diagnostics.js.map +0 -1
  235. package/dist/setup/doctor/opencode.js +0 -301
  236. package/dist/setup/doctor/opencode.js.map +0 -1
  237. package/dist/setup/doctor/report.js +0 -425
  238. package/dist/setup/doctor/report.js.map +0 -1
  239. package/dist/setup/doctor.js +0 -10
  240. package/dist/setup/doctor.js.map +0 -1
  241. package/dist/state/gitBackfill.js +0 -561
  242. package/dist/state/gitBackfill.js.map +0 -1
  243. package/dist/state/gitBackfillAuthority.js +0 -141
  244. package/dist/state/gitBackfillAuthority.js.map +0 -1
  245. package/dist/state/gitBackfillHistory.js +0 -278
  246. package/dist/state/gitBackfillHistory.js.map +0 -1
  247. package/dist/state/gitBackfillOutput.js +0 -209
  248. package/dist/state/gitBackfillOutput.js.map +0 -1
  249. package/dist/state/legacyMigration.js +0 -516
  250. package/dist/state/legacyMigration.js.map +0 -1
  251. package/dist/state/legacyMigrationParser.js +0 -489
  252. package/dist/state/legacyMigrationParser.js.map +0 -1
  253. package/dist/state/migrationAuthority.js +0 -413
  254. package/dist/state/migrationAuthority.js.map +0 -1
  255. package/dist/state/migrationEnrichment.js +0 -35
  256. package/dist/state/migrationEnrichment.js.map +0 -1
  257. package/dist/state/projectionRecovery.js +0 -458
  258. package/dist/state/projectionRecovery.js.map +0 -1
  259. package/dist/upgrade/migrateArtifactsV1ToV2.js +0 -568
  260. package/dist/upgrade/migrateArtifactsV1ToV2.js.map +0 -1
  261. package/dist/validate/lifecycleAdapters/legacyPythonParity.js +0 -93
  262. package/dist/validate/lifecycleAdapters/legacyPythonParity.js.map +0 -1
  263. package/dist/validate/lifecycleAdapters/lifecycleMain.js +0 -154
  264. package/dist/validate/lifecycleAdapters/lifecycleMain.js.map +0 -1
  265. package/dist/validate/lifecycleAdapters/nodeFormChecks.js +0 -481
  266. package/dist/validate/lifecycleAdapters/nodeFormChecks.js.map +0 -1
  267. package/dist/validate/lifecycleAdapters/shared.js +0 -198
  268. package/dist/validate/lifecycleAdapters/shared.js.map +0 -1
  269. package/dist/validate/lifecycleAdapters.js +0 -10
  270. package/dist/validate/lifecycleAdapters.js.map +0 -1
@@ -12,7 +12,7 @@ scope:
12
12
  includes:
13
13
  - Current user-facing and diagnostic prose that names Agentera app files.
14
14
  - Package and distribution metadata that names the suite package shape.
15
- - Runtime hook packaging prose and metadata for plugin-shipped hooks.
15
+ - Historical classification of retired runtime hook packaging prose and metadata.
16
16
  - Historical references to the removed `bundle-status` command.
17
17
  - Current references to `skills/agentera/SKILL.md`.
18
18
  excludes:
@@ -52,8 +52,7 @@ canonical_concepts:
52
52
  suite_package:
53
53
  definition: >-
54
54
  The packaged distribution shape that ships the Agentera skill, CLI,
55
- scripts, hooks, references, runtime descriptors, and package metadata as
56
- one suite artifact.
55
+ references, and package metadata as one suite artifact.
57
56
  allowed_terms:
58
57
  - suite package
59
58
  - Agentera package
@@ -63,10 +62,10 @@ canonical_concepts:
63
62
  - bundle
64
63
  - single-bundle model
65
64
  - bundled suite
66
- plugin_shipped_hooks:
65
+ retired_plugin_shipped_hooks:
67
66
  definition: >-
68
- Hooks that are shipped by active runtime plugin package surfaces such as
69
- Codex, OpenCode, Cursor, or GitHub plugin metadata.
67
+ Historical term for hooks shipped by retired v2 host-native packages.
68
+ Current Agentera packages ship no host-native hooks or plugin metadata.
70
69
  allowed_terms:
71
70
  - plugin-shipped hooks
72
71
  - plugin-bundled hooks
@@ -155,6 +154,7 @@ focused_scan:
155
154
  allowed_classifications:
156
155
  - canonical
157
156
  - compatibility-preserved
157
+ - migration-only
158
158
  - historical
159
159
  - fixture-only
160
160
  - generic
@@ -162,7 +162,6 @@ focused_scan:
162
162
  - AGENTS.md
163
163
  - README.md
164
164
  - references/cli/vocabulary.md
165
- - references/adapters/opencode.md
166
165
  - (retired maintainer measurement tool)
167
166
  - skills/agentera/SKILL.md
168
167
  - skills/agentera/capabilities/hej/schemas/triggers.yaml
@@ -193,16 +192,8 @@ focused_scan:
193
192
  reason: Vocabulary docs use concrete skill entry file paths and source-index references.
194
193
  - path: ^references/cli/vocabulary\.md$
195
194
  text: --only bundle|\.agentera-bundle\.json|bundle\.status|activeBundleRoot|bundle-status
196
- classification: compatibility-preserved
197
- reason: Vocabulary docs preserve shipped compatibility identifiers and removed command references.
198
- - path: ^references/adapters/opencode\.md$
199
- text: bundled Agentera dashboard path|bundled `agentera` skill|bundled Agentera
200
- classification: generic
201
- reason: OpenCode adapter prose uses bundled in the ordinary package-shipping sense, not as Agentera app-file terminology.
202
- - path: ^references/adapters/opencode\.md$
203
- text: SKILL\.md files|<name>/SKILL\.md|skills/\*/SKILL\.md|skills/agentera/SKILL\.md
204
- classification: compatibility-preserved
205
- reason: OpenCode adapter prose documents concrete runtime skill entry file paths.
195
+ classification: migration-only
196
+ reason: Vocabulary docs classify retired v2 identifiers for migration evidence and released history only.
206
197
  - path: ^scripts/measure_token_payload\.py$
207
198
  text: 'v1 baseline: all 12 v1 SKILL\.md files|skill_root / "SKILL\.md"'
208
199
  classification: historical
@@ -223,7 +214,7 @@ focused_scan:
223
214
  text: .
224
215
  classification: fixture-only
225
216
  reason: Runtime adapter tests use fixture paths, expected diagnostics, package metadata, and compatibility test class names.
226
- compatibility_identifiers:
217
+ migration_identifiers:
227
218
  bundle:
228
219
  - .agentera-bundle.json
229
220
  - bundle.status
@@ -1,7 +1,7 @@
1
1
  # Capability tool classification authority
2
2
  # Defines which tools each capability subagent needs to fulfill its purpose.
3
- # Consumed by: descriptor validation, regression tests, runtime adapter docs.
4
- # Source of truth for per-capability tool requirements across all runtimes.
3
+ # Consumed by shared-skill worker metadata validation and regression tests.
4
+ # Hosts provide and enforce their own tool surfaces; Agentera ships no native adapter.
5
5
 
6
6
  classification:
7
7
  mutation_capable:
@@ -22,34 +22,6 @@ exclusions:
22
22
  # Tasks 2-4 MUST keep every consumed field resolvable from a declared surface.
23
23
  # ---------------------------------------------------------------------------
24
24
  consumers:
25
- - id: opencode_compaction_context
26
- startup_command: agentera prime --format json
27
- evidence: .opencode/plugins/agentera.js:502-517
28
- consumed_fields:
29
- - mode
30
- - profile.status
31
- - profile
32
- - health.grade
33
- - health.trajectory
34
- - health
35
- - issues
36
- - plan
37
- - plan.exists
38
- - plan.status
39
- - plan.title
40
- - plan.first_pending.name
41
- - progress
42
- - progress.latest
43
- - progress.latest.id
44
- - progress.latest.what
45
- - progress.latest.next
46
- - next_action
47
- - next_action.object
48
- - attention
49
- notes: >-
50
- Reads the deprecated `issues` alias instead of `todo` (lines 480-486).
51
- This is the only documented runtime consumer of the deprecated alias, so
52
- `issues` is transition-required until the stable cut.
53
25
  - id: status_dashboard_renderer
54
26
  startup_command: agentera prime --context status --format json
55
27
  evidence: skills/agentera/SKILL.md:68
@@ -75,43 +47,35 @@ consumers:
75
47
  through the named command in the status context, never by raw artifact read.
76
48
  - id: capability_context_dispatcher
77
49
  startup_command: agentera prime --context <capability> --format json
78
- evidence: .opencode/agents/agentera.md:12
79
- alt_evidence: .cursor/agents/agentera.md:7
80
- runtime_evidence: packages/cli/src/cli/capabilityContext/startup.ts:250
50
+ evidence: packages/cli/src/cli/capabilityContext/startup.ts:250
51
+ skill_evidence: skills/agentera/SKILL.md:68-103
81
52
  consumed_fields:
82
53
  - command
83
54
  - status
84
55
  - capability_context
85
56
  - capability_context.instructions
86
57
  notes: >-
87
- Per-capability startup capsule. The runtime emits
58
+ Per-capability startup capsule. The CLI emits
88
59
  `capability_context.instructions` (the capability's instructions module),
89
- not `prose`. The agent descriptors (.opencode/agents/agentera.md and
90
- .cursor/agents/agentera.md) formerly documented a `prose` field that the
91
- v3 runtime never emits; they were reconciled to
92
- `capability_context.instructions` to match
93
- packages/cli/src/cli/capabilityContext/startup.ts:250 and
94
- skills/agentera/SKILL.md (lines 68, 103), which already documented
95
- `capability_context.instructions`. This consumer governs the `--context`
60
+ not `prose`; the shared skill consumes that field directly. This consumer
61
+ governs the `--context`
96
62
  surface, not the bare briefing; the bounded decision brief (Task 3) must
97
63
  not break the `--context` capsule. Executable fixture proves the emitted
98
64
  payload contains `capability_context.instructions` and NOT `prose`.
99
65
  - id: packaging_distribution_gate
100
66
  startup_command: agentera prime --format json
101
- evidence: docs/packaging/v3-packaging.md:130-139
67
+ evidence: packages/cli/test/packaging/packageVerification.test.ts
102
68
  consumed_fields:
103
69
  - command
104
70
  - status
105
71
  - app_home
106
72
  - app_home.source
107
73
  notes: >-
108
- Distribution/packaging verification matrix consumer. The Prime gate
109
- (line 136) asserts `command: "prime"`, `status: "ok"`, and that
110
- `app_home.source` reflects resolution; the Bun smoke gate (line 139)
111
- asserts the published single binary runs `agentera prime --format json`
112
- and exits 0 with the same JSON shape. Tasks 2-4 must keep the published
113
- prime JSON shape stable so packaged binaries and fresh-cache npx gates
114
- keep passing. Not a dashboard consumer; does not read state families.
74
+ Distribution-boundary consumer. The one extracted-package conjunction
75
+ asserts `command: "prime"`, `status: "ok"`, and that `app_home.source`
76
+ reflects resolution after the packed upgrade path. Tasks 2-4 must keep
77
+ the published prime JSON shape stable so fresh-cache npx gates keep
78
+ passing. Not a dashboard consumer; does not read state families.
115
79
  - id: json_output_surface_manifest
116
80
  startup_command: agentera prime [ --dashboard | --context <capability> ] --format json
117
81
  evidence: scripts/json_output_surface_manifest.yaml:47-161
@@ -136,9 +100,8 @@ consumers:
136
100
  from the retired `prose` field to the v3 `capability_context.instructions`
137
101
  field after the second Task 1 evaluation found this guidance was the one
138
102
  remaining live consumer contradiction. Runtime authority
139
- (capabilityContext/startup.ts:250), SKILL.md (lines 68, 103), and the
140
- agent descriptors (.opencode/agents/agentera.md, .cursor/agents/agentera.md)
141
- all already used `capability_context.instructions`. The
103
+ (capabilityContext/startup.ts:250) and SKILL.md (lines 68, 103) both use
104
+ `capability_context.instructions`. The
142
105
  `documentation_drift` guard below prevents this guidance from drifting
143
106
  back to `prose`; it does not execute a prime command.
144
107
 
@@ -154,7 +117,7 @@ consumers:
154
117
  # and kept until the 3.0.0 stable cut; it is excluded only from the canonical
155
118
  # advertised `source_contract.fields` set (one canonical representation — `todo`
156
119
  # is canonical). It is NOT selector-only: it ships in the default bare briefing
157
- # for the opencode_compaction_context consumer that still reads it.
120
+ # only as bounded CLI transition compatibility.
158
121
  # ---------------------------------------------------------------------------
159
122
  field_authorities:
160
123
  - id: orientation_output_emission
@@ -194,7 +157,7 @@ field_authorities:
194
157
  notes: >-
195
158
  Reconciled by Task 2: both hej.fields lists now mirror the canonical
196
159
  27-field set (retired `bundle` dropped; app, app_home, project_integration,
197
- runtime_lifecycle, and history added).
160
+ shared_skill, project_integration, and history added).
198
161
 
199
162
  # ---------------------------------------------------------------------------
200
163
  # Field classification. Every field proposed for omission is classified with a
@@ -264,8 +227,8 @@ field_classification:
264
227
  - field: project_integration
265
228
  status: required
266
229
  rationale: >-
267
- Status routing consumes the recommendation and aggregate lifecycle state;
268
- the bounded brief retains the routing projection even when no upgrade
230
+ Status routing consumes the app and project-state recommendation; the
231
+ bounded brief retains that routing projection even when no upgrade
269
232
  recommendation is active.
270
233
  - field: attention
271
234
  status: required
@@ -276,11 +239,9 @@ field_classification:
276
239
  Startup history. The bounded brief retains counts and named retrieval
277
240
  pointers while omitting entry detail; explicit state list/get commands
278
241
  recover the current history.
279
- - field: runtime_lifecycle
280
- status: conditional
281
- rationale: >-
282
- Diagnostic. Plan constraint: unrelated lifecycle diagnostics are omitted
283
- unless status declares them necessary for the current brief (Task 4).
242
+ - field: shared_skill
243
+ status: required
244
+ rationale: Canonical shared-skill path and read-only diagnosis.
284
245
  - field: decision_attention
285
246
  status: conditional
286
247
  rationale: Null unless returned decisions require satisfaction review.
@@ -326,10 +287,9 @@ field_classification:
326
287
  - field: issues
327
288
  status: deprecated_transition
328
289
  rationale: >-
329
- Deprecated alias of `todo`. opencode_compaction_context reads it
330
- (.opencode/plugins/agentera.js:480-486). Removable at the 3.0.0 stable cut
331
- only; tracked in TODO.md [fix:3.0.0]. Tasks 2-4 must keep the alias and
332
- the stderr deprecation warning.
290
+ Deprecated alias of `todo`. No current consumer in this inventory reads
291
+ it; the alias remains only as bounded CLI transition compatibility until
292
+ its owning contract removes it.
333
293
  - field: bundle
334
294
  status: retired
335
295
  rationale: >-
@@ -369,9 +329,9 @@ public_output_policy:
369
329
  separate bare-prime call or raw artifact read. The `--context` capsule
370
330
  contract (command/status/capability_context) is unchanged. The status
371
331
  capsule puts the canonical Task 3 projection at
372
- `capability_context.context.status_context`; unrelated per-runtime
373
- lifecycle diagnostics are omitted while aggregate release-blocking state
374
- remains available for routing.
332
+ `capability_context.context.status_context`; app/project integration and
333
+ shared-skill diagnosis remain available for routing while unrelated detail
334
+ is omitted.
375
335
  status_context_contract:
376
336
  startup_command: agentera prime --context status --format json
377
337
  state_path: capability_context.context.status_context
@@ -474,7 +434,7 @@ default_emission_omission_contract:
474
434
  only; diagnostics measured separately on stderr.
475
435
  retained_top_level_fields: >-
476
436
  Every field in never_omitted plus command, status, app_home, app, mode,
477
- history, runtime_lifecycle, project_integration, decision_attention, and
437
+ history, shared_skill, project_integration, decision_attention, and
478
438
  the bespoke context pointers (kept null on the bare surface). The
479
439
  conditional v1_migration/docs/objective are retained when active (see
480
440
  omitted_when_default). issues ships as the deprecated transition alias.
@@ -491,9 +451,6 @@ default_emission_omission_contract:
491
451
  - field: history.{progress,decisions,health}.entries
492
452
  reason: startup_history_entries
493
453
  recovery: agentera state <artifact> list --limit 20 --format json
494
- - field: runtime_lifecycle.runtimes
495
- reason: lifecycle_runtime_detail
496
- recovery: agentera upgrade --dry-run --format json
497
454
  - field: project_integration.phases
498
455
  reason: phase_blockers
499
456
  recovery: agentera doctor --format json
@@ -546,7 +503,7 @@ declared_available_fields:
546
503
  - project_integration
547
504
  - attention
548
505
  - history
549
- - runtime_lifecycle
506
+ - shared_skill
550
507
  - decision_attention
551
508
  - next_action
552
509
  - orchestration_context
@@ -560,33 +517,6 @@ declared_available_fields:
560
517
  - issues
561
518
  fixtures:
562
519
  pass:
563
- - consumer: opencode_compaction_context
564
- executable_command: agentera prime --format json
565
- depends_on:
566
- - mode
567
- - profile
568
- - health
569
- - issues
570
- - plan
571
- - progress
572
- - next_action
573
- - attention
574
- nested_fields:
575
- - profile.status
576
- - next_action.object
577
- conditional_nested_fields:
578
- - path: health.grade
579
- present_when: health.exists
580
- - path: health.trajectory
581
- present_when: health.exists
582
- - path: plan.first_pending.name
583
- present_when: plan.first_pending
584
- - path: progress.latest.id
585
- present_when: progress.latest
586
- - path: progress.latest.what
587
- present_when: progress.latest
588
- - path: progress.latest.next
589
- present_when: progress.latest
590
520
  - consumer: status_dashboard_renderer
591
521
  executable_command: agentera prime --context status --format json
592
522
  depends_on:
@@ -2,7 +2,7 @@ schema_version: agentera.routing_execution_vocabulary.v1
2
2
  status: active_authority
3
3
  purpose: >-
4
4
  Define routing and execution vocabulary boundaries so request routing, next-action
5
- recommendation, Orkestrera task assignment, worker launch, runtime support, and
5
+ recommendation, Orkestrera task assignment, worker launch, host-provided worker support, and
6
6
  worker-safety Git commits stay distinct without forcing mechanical renames of
7
7
  shipped compatibility identifiers or historical evidence.
8
8
  sources:
@@ -14,7 +14,7 @@ scope:
14
14
  - Hej and capability next-action recommendations that wait for confirmation.
15
15
  - Orkestrera assignment of approved plan work to worker capabilities.
16
16
  - Realisera and Optimera launch of runtime workers.
17
- - Runtime subagent support mechanisms and compatibility identifiers.
17
+ - Host-provided worker mechanisms without Agentera-owned runtime integration.
18
18
  - Git commit safety language before spawning isolated worker execution.
19
19
  excludes:
20
20
  - Broad current-prose replacement across capability instructions.
@@ -96,8 +96,8 @@ canonical_concepts:
96
96
  - launch substrate
97
97
  runtime_subagent_support:
98
98
  definition: >-
99
- Runtime-specific support that lets Agentera use a host's subagent surface,
100
- descriptor model, or equivalent worker mechanism.
99
+ A worker mechanism supplied by the coding host. Agentera may request a
100
+ worker but ships no host-specific descriptor, adapter, plugin, or hook.
101
101
  preferred_terms:
102
102
  - subagent mechanism
103
103
  - runtime subagent mechanism
@@ -167,7 +167,6 @@ focused_scan:
167
167
  paths:
168
168
  - AGENTS.md
169
169
  - references/cli/vocabulary.md
170
- - references/adapters/runtime-feature-parity.md
171
170
  - (retired maintainer measurement tool)
172
171
  - skills/agentera/SKILL.md
173
172
  - skills/agentera/references/contract.md
@@ -198,10 +197,6 @@ focused_scan:
198
197
  text: subagent_dispatch|fixture names
199
198
  classification: compatibility-preserved
200
199
  reason: Routing vocabulary docs preserve explicit compatibility identifiers and fixture terminology.
201
- - path: ^references/adapters/runtime-feature-parity\.md$
202
- text: prompt rewrite router|Subagent Dispatch|Dispatch surface|Capability dispatch|subagent dispatch
203
- classification: compatibility-preserved
204
- reason: Runtime parity docs name concrete host and compatibility surfaces around descriptor dispatch support.
205
200
  - path: ^scripts/measure_token_payload\.py$
206
201
  text: static dispatch payload|Agentera router
207
202
  classification: historical
@@ -238,20 +233,7 @@ focused_scan:
238
233
  text: '`dispatch`: invoke another capability autonomously|`chain`: dispatch multiple capabilities autonomously|In orkestrera only, `dispatch` and `chain` are autonomous'
239
234
  classification: fixture-only
240
235
  reason: Skill dispatch contract tests assert the canonical Orkestrera dispatch reservation.
241
- - path: ^tests/test_runtime_adapters\.py$
242
- text: opencode bare-hej router|routeBareHejMessage|subagent_dispatch
243
- classification: fixture-only
244
- reason: Runtime adapter tests assert plugin routing helpers and compatibility identifier fixtures.
245
- - path: ^tests/test_runtime_adapter_registry\.py$
246
- text: subagent_dispatch
247
- classification: code-identifier
248
- reason: Runtime adapter registry tests preserve the shipped subagent_dispatch field name.
249
236
  compatibility_identifiers:
250
- runtime_adapter:
251
- - subagent_dispatch
252
- - RuntimeAdapter.subagent_dispatch
253
- - subagent_dispatch.supported
254
- - subagent_dispatch.group
255
237
  route_aliases:
256
238
  - ROUTE_ALIASES
257
239
  - primary_aliases
@@ -1,34 +1,14 @@
1
- # Upgrade repair wording — v3 cursor agent skip
1
+ # Upgrade repair wording
2
2
 
3
- When `agentera upgrade --runtime cursor` (or a full runtime phase) runs against a
4
- **project** directory, managed `.cursor/agents/*.md` descriptors are normally
5
- copied from the active app-home bundle. On a **v3 capability-surface** project
6
- that signal is suppressed so D65 `prime --context` bodies are not regressed to
7
- the retired `instructions.md` read path.
3
+ ## Runtime migration boundary
8
4
 
9
- ## v3 surface probe
5
+ Recognized v2-to-v3 project migration rewires existing Agentera v2 hook
6
+ configurations to the npm CLI and retires only proven Agentera-owned legacy hook
7
+ files. It does not copy or refresh plugins, agents, commands, or skill links.
10
8
 
11
- Treat the project as v3 when **all twelve** instruction modules exist:
12
-
13
- `packages/cli/src/capabilities/<name>/instructions.ts`
14
-
15
- for every routed capability (`status`, `vision`, `discuss`, `research`,
16
- `plan`, `build`, `optimize`, `audit`, `document`, `profile`,
17
- `design`, `orchestrate`).
18
-
19
- If any module is missing, preserve v2 upgrade behavior (copy/refresh managed
20
- agents from the bundle).
21
-
22
- ## Orchestrator behavior
23
-
24
- | Orchestrator | Branch | Behavior |
25
- | --- | --- | --- |
26
- | TypeScript (`packages/cli/src/upgrade/runtimeMigration.ts`) | `feat/v3` | On v3 probe match, emit `skipped` `copy-agent` items for in-tree `.cursor/agents/` instead of copying from the bundle. |
27
- | Python (`scripts/agentera_upgrade.py`) | `main` (stable) | Same probe before the cursor agent copy loop; do not schedule `copy-agent` targets under the project when the probe matches. Backport per the both-branch pattern. |
28
-
29
- ## User-visible skip message
30
-
31
- `v3 capability instruction modules present; in-tree .cursor/agents/ uses prime --context and is not overwritten`
9
+ Runtime lifecycle installation and remediation are separate. Apply requires an
10
+ explicit `--runtime` selector and `--yes`; declared ownership, collision
11
+ remediation, and convergent retry behavior remain governed by `UPGRADE.md`.
32
12
 
33
13
  ## v2 install track successor surfacing (#32)
34
14
 
@@ -47,9 +47,8 @@ required_top_level_fields:
47
47
  items:
48
48
  type: string
49
49
  description: >-
50
- Runtime adapter ids (references/adapters/runtime-adapter-registry.yaml)
51
- that the v2 install actively uses runtimes whose setup doctor status is
52
- pass at write time.
50
+ Historical runtime adapter ids that the v2 install actively used at handoff.
51
+ The v3 reader treats these as migration evidence, not active runtime inventory.
53
52
  user_data_inventory_catalog:
54
53
  - id: benchmarks
55
54
  relative_path: benchmarks
@@ -51,11 +51,11 @@ examples. Diagnostics should state object, state, cause, and fix.
51
51
 
52
52
  | Term | Definition | Common sources |
53
53
  | -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
54
- | Agentera | The agent. One persistent identity that thinks through every step and keeps working when you walk away — the colleague, not the team. The CLI is the brain and spine: it owns routing, memory, capability prose, and the worker-spec contract. Active host coding agents (OpenCode, Codex, Cursor, Copilot) are harnesses that provide the model and tool runtime; Agentera provides the identity, memory, discipline, and routing. Identity is per-project: same personality, same capabilities, different memory, no bleed. Headline: one agent, one CLI, many capabilities. | `README.md`, `.agentera/vision.yaml`, `.agentera/decisions.yaml` (D74), `skills/agentera/SKILL.md` |
55
- | Host runtime (harness) | An active host coding agent OpenCode, Codex, Cursor, or Copilot — that provides the model, the tool runtime, and the spawn capacity. Agentera is the agent; the host is the harness. The host learns one contract: the JSON the CLI returns from `agentera prime`. Editor runtime installs are transport (the `skills/` directory, `plugin.json`), not an extension surface. | `.agentera/vision.yaml`, `.agentera/decisions.yaml` (D74), `skills/agentera/SKILL.md` |
56
- | Product surface | Where the same fixed Agentera workflow ships: `@agentera/cli` (the agent runtime and narrow waist — owns routing, memory, capability prose, and the worker-spec contract), `@agentera/mobile` (primary app, a client of the CLI), `@agentera/web` (site and docs), and active host runtimes (OpenCode, Codex, Cursor, Copilot). Host runtimes are harnesses clients of the CLI, not extension hosts or peers. | `README.md`, `AGENTS.md`, `packages/*/README.md`, `.agentera/decisions.yaml` (D74) |
54
+ | Agentera | The agent. One persistent identity that thinks through every step and keeps working when you walk away — the colleague, not the team. The CLI is the brain and spine: it owns routing, memory, capability prose, and the worker-spec contract. Coding hosts consume the same shared skill and CLI contract; Agentera does not ship host-native package surfaces. Identity is per-project: same personality, same capabilities, different memory, no bleed. Headline: one agent, one CLI, many capabilities. | `README.md`, `.agentera/vision.yaml`, `.agentera/decisions.yaml` (D74), `skills/agentera/SKILL.md` |
55
+ | Host runtime (harness) | A coding agent host that provides the model, tools, and worker execution. Agentera is the agent; the host is the harness. Hosts consume the shared skill at `~/.agents/skills/agentera` and the JSON returned by `agentera prime`; Agentera does not install or repair host-native plugins, hooks, agents, or packages. | `.agentera/vision.yaml`, `.agentera/decisions.yaml` (D74), `skills/agentera/SKILL.md` |
56
+ | Product surface | Where the fixed Agentera workflow ships: `@agentera/cli` (the agent runtime and narrow waist), `@agentera/mobile` (a client of the CLI), and `@agentera/web` (site and docs). Coding hosts consume the shared skill and CLI rather than receiving native Agentera package surfaces. | `README.md`, `AGENTS.md`, `packages/*/README.md`, `.agentera/decisions.yaml` (D74) |
57
57
  | @agentera/mobile | The flagship mobile/web app package at `packages/mobile`. SvelteKit, Cursor SDK, Cloudflare Worker. | `packages/mobile/README.md`, `packages/mobile/DESIGN.md` |
58
- | Agentera skill | Internal transport, not a product word. The bundle at `skills/agentera/` packages Agentera's routing entry and capability prose for host editor runtimes — the `skills/` directory and `plugin.json` manifests host editors require. It is the same fixed workflow, not user extensibility. Per Decision 74, "skill" is retired from product vocabulary and survives only as internal transport; the product word is capabilities. | `skills/agentera/SKILL.md`, `README.md` Internals, `.agentera/decisions.yaml` (D74) |
58
+ | Agentera skill | Shared transport, not a product extension point. The source at `skills/agentera/` is installed once at `~/.agents/skills/agentera` and packages Agentera's routing entry and capability prose without host-native manifests. It is the same fixed workflow, not user extensibility. Per Decision 74, the product word is capabilities. | `skills/agentera/SKILL.md`, `README.md` Internals, `.agentera/decisions.yaml` (D74) |
59
59
  | Capability | A routed behavioral unit of the single Agentera agent, driven through the CLI. Eleven top-level capabilities (status, vision, discuss, research, plan, build, optimize, audit, document, design, orchestrate) plus profile, which surfaces through existing capabilities but appears as a peer row in user-facing docs. Each capability has a prose module at `packages/cli/src/capabilities/<name>/instructions.ts` plus `triggers.yaml`, `artifacts.yaml`, `validation.yaml`, and `exit.yaml`. English names are canonical per Decision 70; the Swedish `-era` names are legacy v2 stable only (see Legacy Swedish capability names). | `AGENTS.md`, `skills/agentera/capabilities/*`, `packages/cli/src/capabilities/*`, `.agentera/decisions.yaml` (D70, D74) |
60
60
  | Capability canonical name (v3) | The English name binding for v3+ capability invocation, per Decision 70, under the single-agent identity crystallized in Decision 74. Promoted from the Decision 43 alias set. Mobile UX, web docs, host runtimes, and the CLI all use the same English name; the v2 stable distribution uses the legacy Swedish `-era` IDs (see `Legacy Swedish capability names`). | `.agentera/decisions.yaml` (D43, D70, D74), `references/cli/vocabulary-index.yaml` (protected_surfaces) |
61
61
  | Legacy Swedish capability names (v2 stable) | The historical Swedish `-era` IDs (e.g. `hej`, `resonera`) used by the v2 stable distribution (`npx -y agentera@latest`) and preserved as historical references in archived plans, decisions, and changelogs. Out of scope for v3 surface per Decisions 70 and 74; the single-agent identity uses English capability names exclusively. Coexistence probe surfaces per-distribution naming divergence. | `.agentera/decisions.yaml` (D70, D74), `references/cli/vocabulary-index.yaml` (protected_surfaces) |
@@ -142,14 +142,14 @@ authoritative recovery command.
142
142
  | Suggest, don't force | Status recommends the next capability but waits for user confirmation. |
143
143
  | Capability handoff label | A recommendation from one capability to another. Use glyph plus canonical name, such as `⧉ build` or `≡ plan`, not standalone slash-capability names. SG priority codes are internal protocol references and are not user-facing handoff labels. |
144
144
  | Explicit route documentation | User-facing examples that teach the actual entry route. Use `/agentera <alias>` such as `/agentera build`; do not present aliases as CLI commands. |
145
- | Runtime question tool | Host-native bounded-choice prompt. Concrete tool availability belongs to the active host runtime, not this vocabulary. |
146
- | Question-tool gating | Use a native question tool only for at least two meaningful non-terminal next actions or consequential Proceed/Cancel; `Done` and custom/free-form answers do not count as alternatives. Initial Agentera/status briefs stay free-form unless bounded choices were requested or the suggested next step is a state-changing Proceed/Cancel handoff. A single non-mutating suggested handoff may use a free-form prompt, but a single state-changing handoff uses native Proceed/Cancel confirmation. State-changing means the proposed next step may write artifacts, edit code, run optimization or orchestration cycles, apply migrations, refresh app/runtime state, or otherwise mutate project/runtime state. Apply the behavior rule first, with examples such as ⧉ build, ≡ plan when creating or updating plans, ▤ document when writing docs, ⎘ optimize when running or applying optimization cycles, and ⎈ orchestrate when dispatching cycles. This dispatcher rule governs status and capability handoff prompts; invoked capability prose can impose stricter question-tool requirements. |
145
+ | Bounded-choice prompt | A question surface supplied by the coding host. Agentera may use one when available but does not install, configure, or advertise a host-specific prompt integration. |
146
+ | Question gating | Use bounded choices only for at least two meaningful non-terminal next actions or consequential Proceed/Cancel; `Done` and custom/free-form answers do not count as alternatives. Initial Agentera/status briefs stay free-form unless bounded choices were requested or the suggested next step is a state-changing Proceed/Cancel handoff. A single non-mutating suggested handoff may use a free-form prompt, but a single state-changing handoff uses Proceed/Cancel confirmation. State-changing means the proposed next step may write artifacts, edit code, run optimization or orchestration cycles, apply migrations, or otherwise mutate project state. Apply the behavior rule first; invoked capability prose can impose stricter requirements. |
147
147
  | Handoff confirmation | Clear free-form acceptance of the named single suggestion confirms invocation. Selecting a downstream capability option in a bounded prompt also confirms invocation; selecting `Done` stops without routing. Ambiguous replies get one clarifying question. |
148
148
  | Route | Direct user invocation by canonical capability name, primary alias, or slash route. A route is already consent to invoke the capability and does not need an extra handoff confirmation. |
149
149
  | Suggest | Recommend a downstream capability and wait for confirmation. |
150
150
  | Delegate | Orchestrate assigns approved plan work to a worker capability during an explicitly orchestrated flow. |
151
- | Spawn | Build or Optimize launches an isolated runtime worker through the host subagent mechanism. |
152
- | Subagent mechanism | Runtime support for worker execution through OpenCode, Codex CLI, Cursor IDE, Copilot CLI, or another active host-native worker surface. |
151
+ | Spawn | Build or Optimize asks the coding host to launch an isolated worker when the host provides that facility. |
152
+ | Worker mechanism | A host-provided worker facility. Agentera ships no host-specific worker descriptor, adapter, plugin, hook, or package. |
153
153
  | Legacy bridge | Temporary v1 entry points, especially `/hej`, that guide users to `/agentera` and the v2 upgrade path. |
154
154
 
155
155
  CLI-visible `agentera prime` labels are source labels. Preserve them in CLI tests
@@ -368,18 +368,14 @@ not add precision:
368
368
  | Missing normal directory | Previewable. Agentera can show a no-write repair preview. |
369
369
  | Missing chosen directory | Needs a user decision when provided through `AGENTERA_HOME` or explicit `--install-root`. |
370
370
  | Package refresh | Package-manager or marketplace update. It does not prove Agentera's app files are current. |
371
- | App repair | Normal repair flow that previews or applies Agentera app files plus managed runtime config, plugins, hooks, commands, and safe cleanup together. It must not edit shell startup files, and package-manager commands remain opt-in through `--update-packages`. |
372
- | `--only bundle` | Compatibility selector for narrow app-file work. Do not present it as the normal repair recommendation when managed runtime surfaces may also need repair. |
371
+ | App repair | Normal flow that previews or applies Agentera app/project work. It does not install, update, authenticate, enable, trust, or repair host-native resources. |
373
372
  | Preview | No-write mode. Required before upgrade or app repair writes; the underlying command flag is `--dry-run`. |
374
373
  | `--yes` | Explicit apply flag after preview and approval. |
375
- | Final check | Setup validation after upgrade apply. Uses the same app-home probe as `agentera doctor` (`build_doctor_status`), not `setup_doctor.build_report`. |
376
- | Package-update opt-in | External package manager changes require `--update-packages`. |
377
- | Runtime adapter | Runtime-specific Agentera adapter support for skill loading, hooks, artifact validation, lifecycle metadata, and diagnostics. |
374
+ | Final check | Validation after upgrade apply using the same app/project evidence reported by `agentera doctor`. |
378
375
  | Host support | What a runtime can theoretically do. Distinguish it from shipped Agentera behavior. |
379
- | Hook lifecycle | Runtime callbacks such as `SessionStart`, `Stop`, `PreToolUse`, and `PostToolUse`. |
380
- | Setup doctor | Diagnostic command surface for install/runtime health. |
376
+ | Retired native integration vocabulary | Runtime selectors, adapter repair, plugin-shipped hooks, setup-doctor runtime health, and package-update flags describe released history or migration evidence only. They are not current Agentera features. |
381
377
 
382
- Canonical active runtime names are OpenCode, Codex, Cursor, and GitHub Copilot. Cursor Agent CLI and Cursor IDE are surfaces of the single Cursor identity; `cursor-agent` is an inactive Cursor alias and source-product name. Claude Code is a retired migration and consent-gated historical-import source, not an active runtime.
378
+ Claude Code is a retired migration and consent-gated historical-import source, not an active runtime. Current coding hosts consume the shared skill and CLI without entering an Agentera runtime inventory.
383
379
 
384
380
  ### App lifecycle status vocabulary
385
381
 
@@ -452,12 +448,11 @@ identifiers, package metadata, historical records, fixtures, path-like
452
448
  references, generic plain language, and ambiguous current prose.
453
449
 
454
450
  Use this prose as guidance only: current conceptual docs should say the object
455
- they mean, such as Agentera app files, suite package, plugin-shipped hooks,
456
- removed `bundle-status` command, Agentera routing entry point, skill entry file,
457
- historical v1 skill entry paths (post-3.0 removed from the repo tree). Preserve shipped identifiers and
458
- literal paths such as `.agentera-bundle.json`, `bundle.status`,
459
- `activeBundleRoot`, `--only bundle`, and `skills/agentera/SKILL.md` unless an
460
- explicit compatibility migration is in scope.
451
+ they mean, such as Agentera app files, suite package, Agentera routing entry
452
+ point, or skill entry file. Plugin-shipped hooks and `--only bundle` are retired
453
+ v2 vocabulary and may appear only in released history, fixtures, or explicit
454
+ migration evidence. Literal current paths such as `skills/agentera/SKILL.md`
455
+ remain valid.
461
456
 
462
457
  Do not replace this with a parallel Markdown table of allowed and forbidden
463
458
  terms. Update the YAML authority first, then keep this section as the short
@@ -530,7 +525,7 @@ schema concept, runtime capability, install state, or user action.
530
525
  | Ambiguous term | Why bare usage is risky | Required wording |
531
526
  | --------------- | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
532
527
  | Skill | Confuses v1 standalone skills, the host editor skill bundle, and internal workflows. | Per Decision 74, `skill` is internal transport, not product vocabulary. Use `capability` for Agentera workflows; reserve `skill` for the `skills/` directory and host editor manifests; `v1 skill` for history. |
533
- | Contract | Could mean schema structure, artifact shape, protocol primitive, adapter behavior, or product promise. | Use `schema contract`, `artifact schema`, `protocol primitives`, `runtime adapter contract`, or `product promise`. |
528
+ | Contract | Could mean schema structure, artifact shape, protocol primitive, package behavior, or product promise. | Use `schema contract`, `artifact schema`, `protocol primitives`, `package contract`, or `product promise`. |
534
529
  | Status | Different surfaces use different state machines and output labels. | Use `exit status`, `task status`, `installed-app status`, `install status`, `docs status`, or `health status`. |
535
530
  | Freshness | Sounds like a branded synonym for several normal states: current, stale, synced, or out of date. | Use object-specific state wording such as `artifact is current`, `Agentera app files need repair`, `docs are current`, or `plan-level current-state check`. |
536
531
  | Checkpoint | In software, can mean commit, savepoint, restore point, model checkpoint, or milestone. | Use `final state sync`, `plan-level current-state check`, `checkpoint commit`, or `pre-dispatch checkpoint commit`. |
@@ -10,7 +10,7 @@ guides — not under `docs/`.
10
10
 
11
11
  | Path | Topic |
12
12
  | ---- | ----- |
13
- | `docs/packaging/v3-packaging.md` | v3 CLI npm/Bun distribution contract |
13
+ | `docs/packaging/v3-packaging.md` | v3 CLI npm distribution and verification-lane contract |
14
14
  | `docs/consolidation/monorepo-plan.md` | Product pivot, `@agentera/*` package layout, migration checklist (D67) |
15
15
 
16
16
  ## Authority stack
@@ -73,10 +73,10 @@ BUDGET:
73
73
  1:
74
74
  id: DB1
75
75
  scope: full_file
76
- max_words: 2000
76
+ max_words: null
77
77
  description: >-
78
- Maximum words for the full file. If a write would exceed this
79
- budget, compact older audit log entries.
78
+ No full-file word budget. Historical audit_log entries are immutable;
79
+ keep the active inventory and coverage sections concise.
80
80
 
81
81
  HEADER:
82
82
  1:
@@ -396,11 +396,3 @@ VALIDATION:
396
396
  Index status values should be from the allowed set.
397
397
  checks:
398
398
  - "Each status is one of: current, stale, missing, intent, generated"
399
- 4:
400
- id: DVL4
401
- rule: word_budget
402
- severity: advisory
403
- description: >-
404
- Advisory check. Full file should be <=2000 words.
405
- checks:
406
- - "Total file word count <= 2000"