agentera 0.0.0 → 3.0.0-dev.1
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.
- package/README.md +6 -45
- package/bundle/.agentera-npx-bundle.json +4 -0
- package/bundle/references/adapters/cursor.md +213 -0
- package/bundle/references/adapters/opencode.md +530 -0
- package/bundle/references/adapters/package-manifest-interface-model.yaml +337 -0
- package/bundle/references/adapters/package-registry.yaml +247 -0
- package/bundle/references/adapters/package-surface-characterization.md +48 -0
- package/bundle/references/adapters/runtime-adapter-characterization.md +79 -0
- package/bundle/references/adapters/runtime-adapter-interface-model.yaml +200 -0
- package/bundle/references/adapters/runtime-adapter-registry.yaml +548 -0
- package/bundle/references/adapters/runtime-feature-parity.md +189 -0
- package/bundle/references/analysis/benchmark.md +267 -0
- package/bundle/references/analysis/startup-measurement-contract.yaml +424 -0
- package/bundle/references/artifacts/artifact-registry-interface-model.yaml +288 -0
- package/bundle/references/cli/agent-ready-state-contract.yaml +950 -0
- package/bundle/references/cli/app-lifecycle-vocabulary.yaml +241 -0
- package/bundle/references/cli/audience-namespace-cli-migration.yaml +355 -0
- package/bundle/references/cli/bundle-skill-vocabulary.yaml +278 -0
- package/bundle/references/cli/capability-instruction-contract.yaml +123 -0
- package/bundle/references/cli/capability-tool-classification.yaml +53 -0
- package/bundle/references/cli/routing-execution-vocabulary.yaml +281 -0
- package/bundle/references/cli/update-channels.yaml +147 -0
- package/bundle/references/cli/vocabulary-index.yaml +160 -0
- package/bundle/references/cli/vocabulary.md +566 -0
- package/bundle/references/meta/documentation-inventory.md +43 -0
- package/bundle/references/v1-section-mapping.md +47 -0
- package/bundle/registry.json +39 -0
- package/bundle/skills/agentera/.claude-plugin/plugin.json +27 -0
- package/bundle/skills/agentera/SKILL.md +470 -0
- package/bundle/skills/agentera/agents/dokumentera.toml +6 -0
- package/bundle/skills/agentera/agents/hej.toml +6 -0
- package/bundle/skills/agentera/agents/inspektera.toml +6 -0
- package/bundle/skills/agentera/agents/inspirera.toml +6 -0
- package/bundle/skills/agentera/agents/optimera.toml +6 -0
- package/bundle/skills/agentera/agents/orkestrera.toml +6 -0
- package/bundle/skills/agentera/agents/planera.toml +6 -0
- package/bundle/skills/agentera/agents/profilera.toml +6 -0
- package/bundle/skills/agentera/agents/realisera.toml +6 -0
- package/bundle/skills/agentera/agents/resonera.toml +6 -0
- package/bundle/skills/agentera/agents/visionera.toml +6 -0
- package/bundle/skills/agentera/agents/visualisera.toml +6 -0
- package/bundle/skills/agentera/capabilities/dokumentera/instructions.md +428 -0
- package/bundle/skills/agentera/capabilities/dokumentera/schemas/artifacts.yaml +73 -0
- package/bundle/skills/agentera/capabilities/dokumentera/schemas/exit.yaml +35 -0
- package/bundle/skills/agentera/capabilities/dokumentera/schemas/triggers.yaml +35 -0
- package/bundle/skills/agentera/capabilities/dokumentera/schemas/validation.yaml +139 -0
- package/bundle/skills/agentera/capabilities/hej/instructions.md +331 -0
- package/bundle/skills/agentera/capabilities/hej/schemas/artifacts.yaml +69 -0
- package/bundle/skills/agentera/capabilities/hej/schemas/exit.yaml +32 -0
- package/bundle/skills/agentera/capabilities/hej/schemas/triggers.yaml +58 -0
- package/bundle/skills/agentera/capabilities/hej/schemas/validation.yaml +55 -0
- package/bundle/skills/agentera/capabilities/inspektera/instructions.md +514 -0
- package/bundle/skills/agentera/capabilities/inspektera/schemas/artifacts.yaml +76 -0
- package/bundle/skills/agentera/capabilities/inspektera/schemas/exit.yaml +36 -0
- package/bundle/skills/agentera/capabilities/inspektera/schemas/triggers.yaml +38 -0
- package/bundle/skills/agentera/capabilities/inspektera/schemas/validation.yaml +113 -0
- package/bundle/skills/agentera/capabilities/inspirera/instructions.md +280 -0
- package/bundle/skills/agentera/capabilities/inspirera/schemas/artifacts.yaml +24 -0
- package/bundle/skills/agentera/capabilities/inspirera/schemas/exit.yaml +33 -0
- package/bundle/skills/agentera/capabilities/inspirera/schemas/triggers.yaml +34 -0
- package/bundle/skills/agentera/capabilities/inspirera/schemas/validation.yaml +58 -0
- package/bundle/skills/agentera/capabilities/optimera/instructions.md +437 -0
- package/bundle/skills/agentera/capabilities/optimera/schemas/artifacts.yaml +69 -0
- package/bundle/skills/agentera/capabilities/optimera/schemas/exit.yaml +35 -0
- package/bundle/skills/agentera/capabilities/optimera/schemas/triggers.yaml +39 -0
- package/bundle/skills/agentera/capabilities/optimera/schemas/validation.yaml +91 -0
- package/bundle/skills/agentera/capabilities/orkestrera/instructions.md +433 -0
- package/bundle/skills/agentera/capabilities/orkestrera/schemas/artifacts.yaml +64 -0
- package/bundle/skills/agentera/capabilities/orkestrera/schemas/exit.yaml +34 -0
- package/bundle/skills/agentera/capabilities/orkestrera/schemas/triggers.yaml +42 -0
- package/bundle/skills/agentera/capabilities/orkestrera/schemas/validation.yaml +107 -0
- package/bundle/skills/agentera/capabilities/planera/instructions.md +368 -0
- package/bundle/skills/agentera/capabilities/planera/schemas/artifacts.yaml +62 -0
- package/bundle/skills/agentera/capabilities/planera/schemas/exit.yaml +33 -0
- package/bundle/skills/agentera/capabilities/planera/schemas/triggers.yaml +34 -0
- package/bundle/skills/agentera/capabilities/planera/schemas/validation.yaml +61 -0
- package/bundle/skills/agentera/capabilities/profilera/instructions.md +419 -0
- package/bundle/skills/agentera/capabilities/profilera/schemas/artifacts.yaml +18 -0
- package/bundle/skills/agentera/capabilities/profilera/schemas/exit.yaml +34 -0
- package/bundle/skills/agentera/capabilities/profilera/schemas/triggers.yaml +45 -0
- package/bundle/skills/agentera/capabilities/profilera/schemas/validation.yaml +57 -0
- package/bundle/skills/agentera/capabilities/realisera/instructions.md +403 -0
- package/bundle/skills/agentera/capabilities/realisera/schemas/artifacts.yaml +80 -0
- package/bundle/skills/agentera/capabilities/realisera/schemas/exit.yaml +35 -0
- package/bundle/skills/agentera/capabilities/realisera/schemas/triggers.yaml +39 -0
- package/bundle/skills/agentera/capabilities/realisera/schemas/validation.yaml +110 -0
- package/bundle/skills/agentera/capabilities/resonera/instructions.md +329 -0
- package/bundle/skills/agentera/capabilities/resonera/schemas/artifacts.yaml +47 -0
- package/bundle/skills/agentera/capabilities/resonera/schemas/exit.yaml +35 -0
- package/bundle/skills/agentera/capabilities/resonera/schemas/triggers.yaml +46 -0
- package/bundle/skills/agentera/capabilities/resonera/schemas/validation.yaml +77 -0
- package/bundle/skills/agentera/capabilities/visionera/instructions.md +309 -0
- package/bundle/skills/agentera/capabilities/visionera/schemas/artifacts.yaml +57 -0
- package/bundle/skills/agentera/capabilities/visionera/schemas/exit.yaml +35 -0
- package/bundle/skills/agentera/capabilities/visionera/schemas/triggers.yaml +41 -0
- package/bundle/skills/agentera/capabilities/visionera/schemas/validation.yaml +74 -0
- package/bundle/skills/agentera/capabilities/visualisera/instructions.md +400 -0
- package/bundle/skills/agentera/capabilities/visualisera/schemas/artifacts.yaml +44 -0
- package/bundle/skills/agentera/capabilities/visualisera/schemas/exit.yaml +34 -0
- package/bundle/skills/agentera/capabilities/visualisera/schemas/triggers.yaml +33 -0
- package/bundle/skills/agentera/capabilities/visualisera/schemas/validation.yaml +80 -0
- package/bundle/skills/agentera/capability_schema_contract.yaml +385 -0
- package/bundle/skills/agentera/protocol.yaml +463 -0
- package/bundle/skills/agentera/references/contract.md +1039 -0
- package/bundle/skills/agentera/schemas/artifacts/changelog.yaml +60 -0
- package/bundle/skills/agentera/schemas/artifacts/decisions.yaml +461 -0
- package/bundle/skills/agentera/schemas/artifacts/design.yaml +55 -0
- package/bundle/skills/agentera/schemas/artifacts/docs.yaml +402 -0
- package/bundle/skills/agentera/schemas/artifacts/experiments.yaml +373 -0
- package/bundle/skills/agentera/schemas/artifacts/health.yaml +484 -0
- package/bundle/skills/agentera/schemas/artifacts/objective.yaml +399 -0
- package/bundle/skills/agentera/schemas/artifacts/plan.yaml +342 -0
- package/bundle/skills/agentera/schemas/artifacts/progress.yaml +325 -0
- package/bundle/skills/agentera/schemas/artifacts/todo.yaml +110 -0
- package/bundle/skills/agentera/schemas/artifacts/vision.yaml +262 -0
- package/bundle/skills/hej/.claude-plugin/plugin.json +6 -0
- package/bundle/skills/hej/SKILL.md +69 -0
- package/bundle/skills/hej/agents/hej.toml +11 -0
- package/bundle/skills/hej/agents/openai.yaml +8 -0
- package/dist/analytics/extractCorpus.js +1791 -0
- package/dist/analytics/extractCorpus.js.map +1 -0
- package/dist/analytics/usageStats.js +487 -0
- package/dist/analytics/usageStats.js.map +1 -0
- package/dist/bin/agentera.js +4 -0
- package/dist/bin/agentera.js.map +1 -0
- package/dist/cli/appContext.js +226 -0
- package/dist/cli/appContext.js.map +1 -0
- package/dist/cli/argvalidate.js +41 -0
- package/dist/cli/argvalidate.js.map +1 -0
- package/dist/cli/capabilityContext.js +2421 -0
- package/dist/cli/capabilityContext.js.map +1 -0
- package/dist/cli/commands/backfill.js +84 -0
- package/dist/cli/commands/backfill.js.map +1 -0
- package/dist/cli/commands/capability.js +44 -0
- package/dist/cli/commands/capability.js.map +1 -0
- package/dist/cli/commands/compact.js +148 -0
- package/dist/cli/commands/compact.js.map +1 -0
- package/dist/cli/commands/doctor.js +180 -0
- package/dist/cli/commands/doctor.js.map +1 -0
- package/dist/cli/commands/lint.js +179 -0
- package/dist/cli/commands/lint.js.map +1 -0
- package/dist/cli/commands/prime.js +544 -0
- package/dist/cli/commands/prime.js.map +1 -0
- package/dist/cli/commands/query.js +346 -0
- package/dist/cli/commands/query.js.map +1 -0
- package/dist/cli/commands/report.js +210 -0
- package/dist/cli/commands/report.js.map +1 -0
- package/dist/cli/commands/schema.js +306 -0
- package/dist/cli/commands/schema.js.map +1 -0
- package/dist/cli/commands/state.js +1012 -0
- package/dist/cli/commands/state.js.map +1 -0
- package/dist/cli/commands/upgrade.js +48 -0
- package/dist/cli/commands/upgrade.js.map +1 -0
- package/dist/cli/commands/validate.js +519 -0
- package/dist/cli/commands/validate.js.map +1 -0
- package/dist/cli/commands/verify.js +204 -0
- package/dist/cli/commands/verify.js.map +1 -0
- package/dist/cli/dispatch.js +958 -0
- package/dist/cli/dispatch.js.map +1 -0
- package/dist/cli/orientation.js +595 -0
- package/dist/cli/orientation.js.map +1 -0
- package/dist/cli/prime-blob.js +3 -0
- package/dist/cli/prime-blob.js.map +1 -0
- package/dist/cli/stateQuery.js +292 -0
- package/dist/cli/stateQuery.js.map +1 -0
- package/dist/cli/structured.js +18 -0
- package/dist/cli/structured.js.map +1 -0
- package/dist/core/difflib.js +274 -0
- package/dist/core/difflib.js.map +1 -0
- package/dist/core/git.js +43 -0
- package/dist/core/git.js.map +1 -0
- package/dist/core/paths.js +50 -0
- package/dist/core/paths.js.map +1 -0
- package/dist/core/pyjson.js +101 -0
- package/dist/core/pyjson.js.map +1 -0
- package/dist/core/sourceRoot.js +72 -0
- package/dist/core/sourceRoot.js.map +1 -0
- package/dist/core/toml.js +11 -0
- package/dist/core/toml.js.map +1 -0
- package/dist/core/yaml.js +25 -0
- package/dist/core/yaml.js.map +1 -0
- package/dist/eval/evalSkills.js +258 -0
- package/dist/eval/evalSkills.js.map +1 -0
- package/dist/eval/semanticEval.js +148 -0
- package/dist/eval/semanticEval.js.map +1 -0
- package/dist/eval/semanticFixtures.js +227 -0
- package/dist/eval/semanticFixtures.js.map +1 -0
- package/dist/hooks/common.js +160 -0
- package/dist/hooks/common.js.map +1 -0
- package/dist/hooks/compaction.js +935 -0
- package/dist/hooks/compaction.js.map +1 -0
- package/dist/hooks/cursorPreToolUse.js +19 -0
- package/dist/hooks/cursorPreToolUse.js.map +1 -0
- package/dist/hooks/cursorSessionStart.js +71 -0
- package/dist/hooks/cursorSessionStart.js.map +1 -0
- package/dist/hooks/sessionStart.js +209 -0
- package/dist/hooks/sessionStart.js.map +1 -0
- package/dist/hooks/sessionStop.js +212 -0
- package/dist/hooks/sessionStop.js.map +1 -0
- package/dist/hooks/validateArtifact.js +933 -0
- package/dist/hooks/validateArtifact.js.map +1 -0
- package/dist/registries/artifactRegistry.js +206 -0
- package/dist/registries/artifactRegistry.js.map +1 -0
- package/dist/registries/capabilityContract.js +310 -0
- package/dist/registries/capabilityContract.js.map +1 -0
- package/dist/registries/packageRegistry.js +641 -0
- package/dist/registries/packageRegistry.js.map +1 -0
- package/dist/registries/runtimeAdapterRegistry.js +315 -0
- package/dist/registries/runtimeAdapterRegistry.js.map +1 -0
- package/dist/setup/codex.js +1056 -0
- package/dist/setup/codex.js.map +1 -0
- package/dist/setup/copilot.js +227 -0
- package/dist/setup/copilot.js.map +1 -0
- package/dist/setup/cursor.js +127 -0
- package/dist/setup/cursor.js.map +1 -0
- package/dist/setup/doctor.js +1276 -0
- package/dist/setup/doctor.js.map +1 -0
- package/dist/state/installRoot.js +279 -0
- package/dist/state/installRoot.js.map +1 -0
- package/dist/state/progressCommit.js +289 -0
- package/dist/state/progressCommit.js.map +1 -0
- package/dist/state/startupAnalysis.js +1953 -0
- package/dist/state/startupAnalysis.js.map +1 -0
- package/dist/upgrade/appModel.js +189 -0
- package/dist/upgrade/appModel.js.map +1 -0
- package/dist/upgrade/channels.js +208 -0
- package/dist/upgrade/channels.js.map +1 -0
- package/dist/upgrade/compatibility.js +201 -0
- package/dist/upgrade/compatibility.js.map +1 -0
- package/dist/upgrade/doctor.js +373 -0
- package/dist/upgrade/doctor.js.map +1 -0
- package/dist/upgrade/migrateArtifactsV2ToV3.js +332 -0
- package/dist/upgrade/migrateArtifactsV2ToV3.js.map +1 -0
- package/dist/upgrade/runtimeMigration.js +484 -0
- package/dist/upgrade/runtimeMigration.js.map +1 -0
- package/dist/upgrade/upgradeCommands.js +36 -0
- package/dist/upgrade/upgradeCommands.js.map +1 -0
- package/dist/upgrade/upgradeOrchestrator.js +299 -0
- package/dist/upgrade/upgradeOrchestrator.js.map +1 -0
- package/dist/upgrade/versionResolution.js +179 -0
- package/dist/upgrade/versionResolution.js.map +1 -0
- package/dist/validate/appHomeContract.js +150 -0
- package/dist/validate/appHomeContract.js.map +1 -0
- package/dist/validate/capability.js +412 -0
- package/dist/validate/capability.js.map +1 -0
- package/dist/validate/crossCapability.js +145 -0
- package/dist/validate/crossCapability.js.map +1 -0
- package/dist/validate/lifecycleAdapters.js +772 -0
- package/dist/validate/lifecycleAdapters.js.map +1 -0
- package/dist/validate/selfAudit.js +107 -0
- package/dist/validate/selfAudit.js.map +1 -0
- package/package.json +28 -8
- package/LICENSE +0 -201
- package/bin/agentera.mjs +0 -50
- package/lib/exec.mjs +0 -116
- 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. |
|