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,337 @@
1
+ interface: PackageManifest
2
+ status: implemented
3
+ implemented_by: references/adapters/package-registry.yaml
4
+ intent: >
5
+ Define the package and release-surface access Interface before introducing an
6
+ executable registry Module. This model records ownership boundaries and the
7
+ validation contract for future PackageManifest records. The executable registry
8
+ at references/adapters/package-registry.yaml and its loader scripts/package_registry.py
9
+ now implement this interface; this model remains the authoritative design contract.
10
+ record:
11
+ required_groups:
12
+ - identity
13
+ - version_authority
14
+ - version_surfaces
15
+ - runtime_package_manifests
16
+ - bundle_surfaces
17
+ - package_commands
18
+ - docs_targets
19
+ - release_policy
20
+ groups:
21
+ identity:
22
+ type: object
23
+ owns:
24
+ - package id
25
+ - suite name
26
+ - skill path
27
+ - capability count expectation
28
+ required_fields:
29
+ id: string
30
+ name: string
31
+ skill_path: repo_relative_path
32
+ expected_capabilities: integer
33
+ version_authority:
34
+ type: object
35
+ owns:
36
+ - suite version access selector
37
+ - persisted authority declaration
38
+ - authority transition rule
39
+ required_fields:
40
+ persisted_authority: repo_relative_path
41
+ selector: string
42
+ access_interface: string
43
+ future_authority_change_requires: string
44
+ version_surfaces:
45
+ type: object
46
+ owns:
47
+ - version-bearing repository surfaces
48
+ - version extraction selectors
49
+ - non-version surface exclusions
50
+ required_fields:
51
+ surfaces: list[object]
52
+ excluded_runtime_manifests: list[repo_relative_path]
53
+ runtime_package_manifests:
54
+ type: object
55
+ owns:
56
+ - runtime package manifest paths
57
+ - runtime package shape expectations
58
+ - shared package path expectations
59
+ required_fields:
60
+ manifests: list[object]
61
+ shared_paths_policy: string
62
+ bundle_surfaces:
63
+ type: object
64
+ owns:
65
+ - bundled directories
66
+ - bundled files
67
+ - bundle skip rules
68
+ - bundle mismatch standardization target
69
+ required_fields:
70
+ directories: list[repo_relative_path]
71
+ files: list[repo_relative_path]
72
+ skip_parts: list[string]
73
+ skip_suffixes: list[string]
74
+ package_commands:
75
+ type: object
76
+ owns:
77
+ - package-manager command specifications
78
+ - package command action names
79
+ - package command runtime scope
80
+ - package write-gate preservation
81
+ required_fields:
82
+ commands: list[object]
83
+ safety: object
84
+ docs_targets:
85
+ type: object
86
+ owns:
87
+ - docs version targets
88
+ - docs index targets for package surfaces
89
+ - non-version docs exclusions
90
+ required_fields:
91
+ version_files_source: string
92
+ version_files: list[repo_relative_path]
93
+ index_targets: list[repo_relative_path]
94
+ excluded_version_files: list[repo_relative_path]
95
+ release_policy:
96
+ type: object
97
+ owns:
98
+ - semver policy projection
99
+ - changelog decision guidance
100
+ - release publication exclusion
101
+ required_fields:
102
+ semver_policy_source: string
103
+ version_bump_required_for_interface_only_change: boolean
104
+ release_publication_in_scope: boolean
105
+ ownership:
106
+ registry_json_version_authority:
107
+ owner: registry.json
108
+ persisted_authority: true
109
+ path: registry.json
110
+ selector: skills[0].version
111
+ access_interface: PackageManifest
112
+ rule: >
113
+ registry.json remains the persisted suite-version authority. PackageManifest
114
+ becomes the typed access Interface for consumers after migration, unless an
115
+ explicit future ADR changes persisted authority.
116
+ future_authority_change_requires: explicit ADR
117
+ install_root_delegated:
118
+ owner: scripts/install_root.py
119
+ forbidden_in_package_manifest:
120
+ - AGENTERA_HOME precedence
121
+ - default app home
122
+ - managed classification
123
+ - stale classification
124
+ - unmanaged classification
125
+ - app-home diagnostics
126
+ runtime_adapter_delegated:
127
+ owner: scripts/runtime_adapter_registry.py
128
+ forbidden_in_package_manifest:
129
+ - runtime discovery
130
+ - lifecycle events
131
+ - artifact validation hooks
132
+ - config target paths
133
+ - runtime diagnostics
134
+ - documentation claims
135
+ command_safety:
136
+ argv_only: true
137
+ approved_executables:
138
+ - npx
139
+ approved_actions:
140
+ - remove-legacy-skills
141
+ - install-agentera-skill
142
+ approved_runtimes:
143
+ - all
144
+ - claude
145
+ - opencode
146
+ approved_runtime_agents:
147
+ - claude-code
148
+ - opencode
149
+ approved_package_tool:
150
+ executable: npx
151
+ command_namespace: skills
152
+ actions:
153
+ - remove
154
+ - add
155
+ cleanup_actions:
156
+ - remove-legacy-skills
157
+ runtime_install_actions:
158
+ - install-agentera-skill
159
+ gates:
160
+ update_packages_required_to_plan: true
161
+ yes_required_to_execute: true
162
+ preserve_existing_write_gates: true
163
+ sample_manifest:
164
+ identity:
165
+ id: agentera
166
+ name: agentera
167
+ skill_path: skills/agentera
168
+ expected_capabilities: 12
169
+ version_authority:
170
+ persisted_authority: registry.json
171
+ selector: skills[0].version
172
+ access_interface: PackageManifest
173
+ future_authority_change_requires: explicit ADR
174
+ version_surfaces:
175
+ surfaces:
176
+ - id: registry
177
+ path: registry.json
178
+ selector: skills[0].version
179
+ - id: python-project
180
+ path: pyproject.toml
181
+ selector: project.version
182
+ - id: copilot-root
183
+ path: plugin.json
184
+ selector: version
185
+ - id: copilot-repository
186
+ path: .github/plugin/plugin.json
187
+ selector: version
188
+ - id: codex-plugin
189
+ path: .codex-plugin/plugin.json
190
+ selector: version
191
+ - id: claude-marketplace-metadata
192
+ path: .claude-plugin/marketplace.json
193
+ selector: metadata.version
194
+ - id: claude-marketplace-plugins
195
+ path: .claude-plugin/marketplace.json
196
+ selector: plugins[*].version
197
+ - id: opencode-plugin-marker
198
+ path: .opencode/plugins/agentera.js
199
+ selector: AGENTERA_VERSION
200
+ excluded_runtime_manifests:
201
+ - .opencode/package.json
202
+ runtime_package_manifests:
203
+ manifests:
204
+ - runtime: copilot
205
+ path: plugin.json
206
+ version_bearing: true
207
+ package_shape: suite-bundle
208
+ - runtime: copilot
209
+ path: .github/plugin/plugin.json
210
+ version_bearing: true
211
+ package_shape: suite-bundle
212
+ - runtime: codex
213
+ path: .codex-plugin/plugin.json
214
+ version_bearing: true
215
+ package_shape: suite-bundle
216
+ - runtime: claude
217
+ path: .claude-plugin/marketplace.json
218
+ version_bearing: true
219
+ package_shape: suite-bundle
220
+ - runtime: opencode
221
+ path: .opencode/package.json
222
+ version_bearing: false
223
+ package_shape: suite-bundle
224
+ shared_paths_policy: validate minimum shared paths separately from full bundle includes
225
+ bundle_surfaces:
226
+ directories:
227
+ - skills
228
+ - scripts
229
+ - hooks
230
+ - references
231
+ - agents
232
+ - .agents/plugins
233
+ - .codex-plugin
234
+ - .claude-plugin
235
+ - .github/hooks
236
+ - .github/plugin
237
+ - .opencode/commands
238
+ - .opencode/plugins
239
+ files:
240
+ - README.md
241
+ - UPGRADE.md
242
+ - CHANGELOG.md
243
+ - DESIGN.md
244
+ - LICENSE
245
+ - pyproject.toml
246
+ - uv.lock
247
+ - registry.json
248
+ - plugin.json
249
+ - .opencode/package.json
250
+ skip_parts:
251
+ - __pycache__
252
+ - .pytest_cache
253
+ - node_modules
254
+ skip_suffixes:
255
+ - .pyc
256
+ - .pyo
257
+ package_commands:
258
+ commands:
259
+ - runtime: all
260
+ action: remove-legacy-skills
261
+ phase: cleanup
262
+ argv:
263
+ - npx
264
+ - skills
265
+ - remove
266
+ - hej
267
+ - visionera
268
+ - resonera
269
+ - inspirera
270
+ - planera
271
+ - realisera
272
+ - inspektera
273
+ - optimera
274
+ - orkestrera
275
+ - visualisera
276
+ - dokumentera
277
+ - profilera
278
+ - -g
279
+ - -y
280
+ skipped_without_update_packages_message: legacy skill removal skipped; pass --update-packages to run
281
+ - runtime: claude
282
+ action: install-agentera-skill
283
+ phase: runtime-install
284
+ argv:
285
+ - npx
286
+ - skills
287
+ - add
288
+ - jgabor/agentera
289
+ - -g
290
+ - -a
291
+ - claude-code
292
+ - --skill
293
+ - agentera
294
+ - -y
295
+ skipped_without_update_packages_message: external package update skipped; pass --update-packages to run
296
+ - runtime: opencode
297
+ action: install-agentera-skill
298
+ phase: runtime-install
299
+ argv:
300
+ - npx
301
+ - skills
302
+ - add
303
+ - jgabor/agentera
304
+ - -g
305
+ - -a
306
+ - opencode
307
+ - --skill
308
+ - agentera
309
+ - -y
310
+ skipped_without_update_packages_message: external package update skipped; pass --update-packages to run
311
+ safety:
312
+ argv_only: true
313
+ update_packages_required_to_plan: true
314
+ yes_required_to_execute: true
315
+ preserve_existing_write_gates: true
316
+ cleanup_phase: cleanup
317
+ runtime_install_phase: runtime-install
318
+ docs_targets:
319
+ version_files_source: .agentera/docs.yaml conventions.version_files
320
+ version_files:
321
+ - pyproject.toml
322
+ - uv.lock
323
+ - plugin.json
324
+ - .github/plugin/plugin.json
325
+ - .codex-plugin/plugin.json
326
+ - .claude-plugin/marketplace.json
327
+ - .opencode/plugins/agentera.js
328
+ - registry.json
329
+ index_targets:
330
+ - references/adapters/package-surface-characterization.md
331
+ - references/adapters/package-manifest-interface-model.yaml
332
+ excluded_version_files:
333
+ - .opencode/package.json
334
+ release_policy:
335
+ semver_policy_source: .agentera/docs.yaml conventions.semver_policy
336
+ version_bump_required_for_interface_only_change: false
337
+ release_publication_in_scope: false
@@ -0,0 +1,247 @@
1
+ schema_version: agentera.packageRegistry.v1
2
+ package_order:
3
+ - agentera
4
+ records:
5
+ - identity:
6
+ id: agentera
7
+ name: agentera
8
+ skill_path: skills/agentera
9
+ expected_capabilities: 12
10
+ version_authority:
11
+ persisted_authority: registry.json
12
+ selector: skills[0].version
13
+ access_interface: PackageManifest
14
+ future_authority_change_requires: explicit ADR
15
+ version_surfaces:
16
+ surfaces:
17
+ - id: registry
18
+ path: registry.json
19
+ selector: skills[0].version
20
+ - id: python-project
21
+ path: pyproject.toml
22
+ selector: project.version
23
+ - id: copilot-root
24
+ path: plugin.json
25
+ selector: version
26
+ - id: copilot-repository
27
+ path: .github/plugin/plugin.json
28
+ selector: version
29
+ - id: codex-plugin
30
+ path: .codex-plugin/plugin.json
31
+ selector: version
32
+ - id: claude-marketplace-metadata
33
+ path: .claude-plugin/marketplace.json
34
+ selector: metadata.version
35
+ - id: claude-marketplace-plugins
36
+ path: .claude-plugin/marketplace.json
37
+ selector: plugins[*].version
38
+ - id: opencode-plugin-marker
39
+ path: .opencode/plugins/agentera.js
40
+ selector: AGENTERA_VERSION
41
+ excluded_runtime_manifests:
42
+ - .opencode/package.json
43
+ runtime_package_manifests:
44
+ manifests:
45
+ - id: copilot-root-manifest
46
+ runtime: copilot
47
+ path: plugin.json
48
+ version_bearing: true
49
+ package_shape: suite-bundle
50
+ - id: copilot-repository-manifest
51
+ runtime: copilot
52
+ path: .github/plugin/plugin.json
53
+ version_bearing: true
54
+ package_shape: suite-bundle
55
+ - id: codex-plugin-manifest
56
+ runtime: codex
57
+ path: .codex-plugin/plugin.json
58
+ version_bearing: true
59
+ package_shape: suite-bundle
60
+ - id: cursor-plugin-manifest
61
+ runtime: cursor
62
+ path: .cursor-plugin/plugin.json
63
+ version_bearing: true
64
+ package_shape: suite-bundle
65
+ - id: claude-marketplace-manifest
66
+ runtime: claude
67
+ path: .claude-plugin/marketplace.json
68
+ version_bearing: true
69
+ package_shape: suite-bundle
70
+ - id: opencode-package-manifest
71
+ runtime: opencode
72
+ path: .opencode/package.json
73
+ version_bearing: false
74
+ package_shape: npm-loadable-plugin
75
+ shared_paths:
76
+ - id: skills
77
+ path: skills
78
+ kind: dir
79
+ - id: scripts
80
+ path: scripts
81
+ kind: dir
82
+ - id: hooks
83
+ path: hooks
84
+ kind: dir
85
+ - id: registry
86
+ path: registry.json
87
+ kind: file
88
+ - id: copilot-root-manifest
89
+ path: plugin.json
90
+ kind: file
91
+ - id: readme
92
+ path: README.md
93
+ kind: file
94
+ - id: upgrade-guide
95
+ path: UPGRADE.md
96
+ kind: file
97
+ shared_paths_policy: validate minimum shared paths separately from full bundle includes
98
+ bundle_surfaces:
99
+ directories:
100
+ - id: skills
101
+ path: skills
102
+ - id: scripts
103
+ path: scripts
104
+ - id: hooks
105
+ path: hooks
106
+ - id: references
107
+ path: references
108
+ - id: agents
109
+ path: agents
110
+ - id: agents-plugins
111
+ path: .agents/plugins
112
+ - id: codex-plugin
113
+ path: .codex-plugin
114
+ - id: cursor-plugin
115
+ path: .cursor-plugin
116
+ - id: cursor-agents
117
+ path: .cursor/agents
118
+ - id: claude-plugin
119
+ path: .claude-plugin
120
+ - id: github-hooks
121
+ path: .github/hooks
122
+ - id: github-plugin
123
+ path: .github/plugin
124
+ - id: opencode-commands
125
+ path: .opencode/commands
126
+ - id: opencode-agents
127
+ path: .opencode/agents
128
+ - id: opencode-plugins
129
+ path: .opencode/plugins
130
+ files:
131
+ - id: readme
132
+ path: README.md
133
+ - id: upgrade-guide
134
+ path: UPGRADE.md
135
+ - id: changelog
136
+ path: CHANGELOG.md
137
+ - id: design
138
+ path: DESIGN.md
139
+ - id: license
140
+ path: LICENSE
141
+ - id: python-project
142
+ path: pyproject.toml
143
+ - id: python-lock
144
+ path: uv.lock
145
+ - id: registry
146
+ path: registry.json
147
+ - id: copilot-root-manifest
148
+ path: plugin.json
149
+ - id: opencode-package-manifest
150
+ path: .opencode/package.json
151
+ - id: cursor-hooks
152
+ path: .cursor/hooks.json
153
+ skip_parts:
154
+ - __pycache__
155
+ - .pytest_cache
156
+ - node_modules
157
+ skip_suffixes:
158
+ - .pyc
159
+ - .pyo
160
+ package_commands:
161
+ commands:
162
+ - id: remove-legacy-skills
163
+ runtime: all
164
+ action: remove-legacy-skills
165
+ phase: cleanup
166
+ argv:
167
+ - npx
168
+ - skills
169
+ - remove
170
+ - hej
171
+ - visionera
172
+ - resonera
173
+ - inspirera
174
+ - planera
175
+ - realisera
176
+ - inspektera
177
+ - optimera
178
+ - orkestrera
179
+ - visualisera
180
+ - dokumentera
181
+ - profilera
182
+ - -g
183
+ - -y
184
+ skipped_without_update_packages_message: legacy skill removal skipped; pass --update-packages to run
185
+ - id: install-agentera-skill-claude
186
+ runtime: claude
187
+ action: install-agentera-skill
188
+ phase: runtime-install
189
+ argv:
190
+ - npx
191
+ - skills
192
+ - add
193
+ - jgabor/agentera
194
+ - -g
195
+ - -a
196
+ - claude-code
197
+ - --skill
198
+ - agentera
199
+ - -y
200
+ skipped_without_update_packages_message: external package update skipped; pass --update-packages to run
201
+ - id: install-agentera-skill-opencode
202
+ runtime: opencode
203
+ action: install-agentera-skill
204
+ phase: runtime-install
205
+ argv:
206
+ - npx
207
+ - skills
208
+ - add
209
+ - jgabor/agentera
210
+ - -g
211
+ - -a
212
+ - opencode
213
+ - --skill
214
+ - agentera
215
+ - -y
216
+ skipped_without_update_packages_message: external package update skipped; pass --update-packages to run
217
+ safety:
218
+ argv_only: true
219
+ update_packages_required_to_plan: true
220
+ yes_required_to_execute: true
221
+ preserve_existing_write_gates: true
222
+ cleanup_phase: cleanup
223
+ runtime_install_phase: runtime-install
224
+ docs_targets:
225
+ version_files_source: .agentera/docs.yaml conventions.version_files
226
+ version_files:
227
+ - pyproject.toml
228
+ - uv.lock
229
+ - plugin.json
230
+ - .github/plugin/plugin.json
231
+ - .codex-plugin/plugin.json
232
+ - .cursor-plugin/plugin.json
233
+ - .claude-plugin/marketplace.json
234
+ - .opencode/plugins/agentera.js
235
+ - skills/agentera/SKILL.md
236
+ - skills/hej/SKILL.md
237
+ - registry.json
238
+ index_targets:
239
+ - references/adapters/package-surface-characterization.md
240
+ - references/adapters/package-manifest-interface-model.yaml
241
+ - references/adapters/package-registry.yaml
242
+ excluded_version_files:
243
+ - .opencode/package.json
244
+ release_policy:
245
+ semver_policy_source: .agentera/docs.yaml conventions.semver_policy
246
+ version_bump_required_for_interface_only_change: false
247
+ release_publication_in_scope: false
@@ -0,0 +1,48 @@
1
+ # Package Surface Characterization
2
+
3
+ Characterized on 2026-05-06 before the PackageManifest registry migration. This file records current behavior only; it is not the registry design.
4
+
5
+ The executable PackageManifest registry at `references/adapters/package-registry.yaml` and its loader `scripts/package_registry.py` now own the single source of truth for version surfaces, runtime package manifests, bundle surfaces, package commands, and docs targets. Validators, upgrade, and tests consume registry facts instead of duplicating constants.
6
+
7
+ ## Version-Bearing Surfaces
8
+
9
+ `registry.json` is the persisted suite-version authority. The current suite version is `2.2.0` at `skills[0].version`.
10
+
11
+ The current version-bearing surfaces are:
12
+
13
+ | Surface | Kind | Current behavior |
14
+ | --- | --- | --- |
15
+ | `registry.json` | version-bearing surface | `skills[0].version` is the suite authority. |
16
+ | `pyproject.toml` | version-bearing surface | `[project].version` matches the registry suite version. |
17
+ | `plugin.json` | version-bearing surface and runtime package manifest | root Copilot manifest `version` matches the suite version. |
18
+ | `.github/plugin/plugin.json` | version-bearing surface and runtime package manifest | repository Copilot manifest `version` matches the suite version. |
19
+ | `.codex-plugin/plugin.json` | version-bearing surface and runtime package manifest | Codex manifest `version` matches the suite version. |
20
+ | `.claude-plugin/marketplace.json` | version-bearing surface and runtime package manifest | `metadata.version` and every plugin entry version, including the legacy `hej` bridge, match the suite version. |
21
+ | `.opencode/plugins/agentera.js` | version-bearing surface | `AGENTERA_VERSION` matches the registry suite version and drives the OpenCode command marker file `.agentera-version`. |
22
+
23
+ `.opencode/package.json` is intentionally not version-bearing. Its current behavior is runtime package manifest behavior only: it keeps `type: "module"`, `main`/`exports` pointing at `./plugins/agentera.js`, `dependencies["@opencode-ai/plugin"] == "1.14.33"`, and an `agentera` npm-loadable plugin metadata block, but it has no top-level `name` or `version` field.
24
+
25
+ ## Package-Manager Command Surface
26
+
27
+ Upgrade package planning currently emits package-manager commands only for Claude Code and OpenCode runtime selections.
28
+
29
+ | Runtime | Action | Command argv | Skipped message | Dry-run behavior | Apply behavior with mocked command |
30
+ | --- | --- | --- | --- | --- | --- |
31
+ | `all` | `remove-legacy-skills` | `npx skills remove hej visionera resonera inspirera planera realisera inspektera optimera orkestrera visualisera dokumentera profilera -g -y` | `legacy skill removal skipped; pass --update-packages to run` | `--update-packages` without `--yes` leaves status `pending` and does not execute. | status becomes `applied`, message `package update completed`, and command result tails are recorded. |
32
+ | `claude` | `install-agentera-skill` | `npx skills add jgabor/agentera -g -a claude-code --skill agentera -y` | `external package update skipped; pass --update-packages to run` | `--update-packages` without `--yes` leaves status `pending` and does not execute. | status becomes `applied`, message `package update completed`, and command result tails are recorded. |
33
+ | `opencode` | `install-agentera-skill` | `npx skills add jgabor/agentera -g -a opencode --skill agentera -y` | `external package update skipped; pass --update-packages to run` | `--update-packages` without `--yes` leaves status `pending` and does not execute. | status becomes `applied`, message `package update completed`, and command result tails are recorded. |
34
+
35
+ Write gating is preserved: `--update-packages` changes package items from `skipped` to `pending`, but package-manager commands execute only during apply mode behind `--yes`. Focused tests mock `subprocess.run`; no live package-manager call is part of this characterization.
36
+
37
+ ## Bundle And Docs Drift Inventory
38
+
39
+ | Drift point | Surface class | Decision | Current behavior to preserve before migration |
40
+ | --- | --- | --- | --- |
41
+ | `pyproject.toml` force-includes and `scripts/agentera_upgrade.py` bundle lists duplicate the same shipped bundle directories and files. | bundle metadata surface | `standardize` | Keep both lists aligned now; later PackageManifest should own the list once. |
42
+ | Lifecycle validation requires only the minimal shared runtime package paths (`skills`, `scripts`, `hooks`, `registry.json`, `plugin.json`, `pyproject.toml`, `README.md`) while pyproject and upgrade copy the larger distributable bundle. | runtime package manifest | `standardize` | Keep the validator as a minimum package-shape check now; later PackageManifest should separate minimal runtime metadata from full bundle includes. |
43
+ | Runtime manifest `agentera.sharedPaths` includes `UPGRADE.md`, but `SUITE_BUNDLE_REQUIRED_PATHS` does not require it. | runtime package manifest | `standardize` | Keep current validator leniency now; later PackageManifest should make required shared paths explicit in one place. |
44
+ | `.agentera/docs.yaml` `version_files` includes version-bearing surfaces and excludes `.opencode/package.json`. | version-bearing surface | `preserve` | Keep `.opencode/package.json` out of version checks because it is a runtime package manifest, not a suite version surface. |
45
+ | `.opencode/package.json` is force-included and bundled, but it is not in docs `version_files`. | runtime package manifest | `preserve` | Keep packaging it without treating it as version-bearing. |
46
+ | Upgrade package commands are represented as argv lists for Claude Code and OpenCode only; Codex and Copilot have runtime manifests but no package-manager command entries. | package-manager command surface | `preserve` | Keep command planning limited to currently managed package runtimes. |
47
+ | `.claude-plugin/marketplace.json` carries a `hej` legacy bridge version alongside `agentera`. | version-bearing surface | `defer` | Keep the legacy bridge version aligned until a separate legacy-bridge removal or marketplace simplification task exists. |
48
+ | Live package-manager behavior is not characterized by this task. | package-manager command surface | `defer` | Keep tests mocked; do not introduce live `npx skills` execution. |