agentera 3.0.0-dev.5 → 3.0.0-next.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 +4 -3
- package/bundle/extract-corpus-parity.json +23 -0
- package/bundle/references/adapters/cursor.md +9 -8
- package/bundle/references/adapters/opencode.md +1 -1
- package/bundle/references/adapters/package-registry.yaml +0 -1
- package/bundle/references/adapters/package-surface-characterization.md +1 -2
- package/bundle/references/analysis/startup-measurement-contract.yaml +15 -15
- package/bundle/references/cli/audience-namespace-cli-migration.yaml +40 -26
- package/bundle/references/cli/bundle-skill-vocabulary.yaml +1 -29
- package/bundle/references/cli/coexistence-probe.yaml +9 -0
- package/bundle/references/cli/parity-expected-actual-template.md +30 -0
- package/bundle/references/cli/single-name-protocol.yaml +42 -0
- package/bundle/references/cli/update-channels.yaml +16 -0
- package/bundle/references/cli/upgrade-repair-wording.md +31 -0
- package/bundle/references/cli/v3-handoff-manifest.schema.yaml +98 -0
- package/bundle/references/cli/vocabulary-index.yaml +6 -4
- package/bundle/references/cli/vocabulary.md +307 -301
- package/bundle/references/meta/documentation-inventory.md +9 -3
- package/bundle/skills/agentera/SKILL.md +49 -41
- package/bundle/skills/agentera/capabilities/hej/schemas/artifacts.yaml +4 -1
- package/bundle/skills/agentera/capabilities/profilera/schemas/exit.yaml +2 -1
- package/bundle/skills/agentera/capability_schema_contract.yaml +28 -0
- package/bundle/skills/agentera/references/contract.md +324 -315
- package/bundle/skills/agentera/schemas/artifacts/todo.yaml +38 -33
- package/dist/analytics/extractCorpus/cli.js +149 -0
- package/dist/analytics/extractCorpus/cli.js.map +1 -0
- package/dist/analytics/extractCorpus/copilotSessions.js +273 -0
- package/dist/analytics/extractCorpus/copilotSessions.js.map +1 -0
- package/dist/analytics/extractCorpus/core.js +363 -0
- package/dist/analytics/extractCorpus/core.js.map +1 -0
- package/dist/analytics/extractCorpus/corpus.js +145 -0
- package/dist/analytics/extractCorpus/corpus.js.map +1 -0
- package/dist/analytics/extractCorpus/coverageAudit.js +261 -0
- package/dist/analytics/extractCorpus/coverageAudit.js.map +1 -0
- package/dist/analytics/extractCorpus/cursorSessions.js +423 -0
- package/dist/analytics/extractCorpus/cursorSessions.js.map +1 -0
- package/dist/analytics/extractCorpus/extractCorpusParity.js +105 -0
- package/dist/analytics/extractCorpus/extractCorpusParity.js.map +1 -0
- package/dist/analytics/extractCorpus/filesystemSources.js +122 -0
- package/dist/analytics/extractCorpus/filesystemSources.js.map +1 -0
- package/dist/analytics/extractCorpus/index.js +12 -0
- package/dist/analytics/extractCorpus/index.js.map +1 -0
- package/dist/analytics/extractCorpus/jsonlSessions.js +185 -0
- package/dist/analytics/extractCorpus/jsonlSessions.js.map +1 -0
- package/dist/analytics/extractCorpus/sqliteCaps.js +44 -0
- package/dist/analytics/extractCorpus/sqliteCaps.js.map +1 -0
- package/dist/analytics/extractCorpus/sqliteSessions.js +368 -0
- package/dist/analytics/extractCorpus/sqliteSessions.js.map +1 -0
- package/dist/analytics/extractCorpus.js +2 -1790
- package/dist/analytics/extractCorpus.js.map +1 -1
- package/dist/analytics/usageStats.js +1 -1
- package/dist/analytics/usageStats.js.map +1 -1
- package/dist/capabilities/inspirera/instructions.js +1 -1
- package/dist/capabilities/inspirera/instructions.js.map +1 -1
- package/dist/capabilities/planera/instructions.js +1 -1
- package/dist/capabilities/planera/instructions.js.map +1 -1
- package/dist/capabilities/profilera/instructions.js +1 -1
- package/dist/capabilities/profilera/instructions.js.map +1 -1
- package/dist/capabilities/realisera/instructions.js +1 -1
- package/dist/capabilities/realisera/instructions.js.map +1 -1
- package/dist/capabilities/resonera/instructions.js +1 -1
- package/dist/capabilities/resonera/instructions.js.map +1 -1
- package/dist/capabilities/visionera/instructions.js +1 -1
- package/dist/capabilities/visionera/instructions.js.map +1 -1
- package/dist/capabilities/visualisera/instructions.js +3 -4
- package/dist/capabilities/visualisera/instructions.js.map +1 -1
- package/dist/cli/appContext.js +2 -14
- package/dist/cli/appContext.js.map +1 -1
- package/dist/cli/capabilityContext/benchmark.js +557 -0
- package/dist/cli/capabilityContext/benchmark.js.map +1 -0
- package/dist/cli/capabilityContext/bespoke.js +25 -0
- package/dist/cli/capabilityContext/bespoke.js.map +1 -0
- package/dist/cli/capabilityContext/closeout.js +230 -0
- package/dist/cli/capabilityContext/closeout.js.map +1 -0
- package/dist/cli/capabilityContext/contract.js +186 -0
- package/dist/cli/capabilityContext/contract.js.map +1 -0
- package/dist/cli/capabilityContext/evidence.js +446 -0
- package/dist/cli/capabilityContext/evidence.js.map +1 -0
- package/dist/cli/capabilityContext/index.js +4 -0
- package/dist/cli/capabilityContext/index.js.map +1 -0
- package/dist/cli/capabilityContext/orchestration.js +107 -0
- package/dist/cli/capabilityContext/orchestration.js.map +1 -0
- package/dist/cli/capabilityContext/planState.js +271 -0
- package/dist/cli/capabilityContext/planState.js.map +1 -0
- package/dist/cli/capabilityContext/progress.js +96 -0
- package/dist/cli/capabilityContext/progress.js.map +1 -0
- package/dist/cli/capabilityContext/realisera.js +174 -0
- package/dist/cli/capabilityContext/realisera.js.map +1 -0
- package/dist/cli/capabilityContext/shared.js +94 -0
- package/dist/cli/capabilityContext/shared.js.map +1 -0
- package/dist/cli/capabilityContext/slim.js +106 -0
- package/dist/cli/capabilityContext/slim.js.map +1 -0
- package/dist/cli/capabilityContext/startup.js +208 -0
- package/dist/cli/capabilityContext/startup.js.map +1 -0
- package/dist/cli/capabilityContext/types.js +43 -0
- package/dist/cli/capabilityContext/types.js.map +1 -0
- package/dist/cli/capabilityContext.js +1 -2486
- package/dist/cli/capabilityContext.js.map +1 -1
- package/dist/cli/commands/appHome.js +23 -0
- package/dist/cli/commands/appHome.js.map +1 -0
- package/dist/cli/commands/compact.js +1 -1
- package/dist/cli/commands/compact.js.map +1 -1
- package/dist/cli/commands/doctor.js +18 -96
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/lint.js +4 -36
- package/dist/cli/commands/lint.js.map +1 -1
- package/dist/cli/commands/prime/bundleStatus.js +126 -0
- package/dist/cli/commands/prime/bundleStatus.js.map +1 -0
- package/dist/cli/commands/prime/collectOrientationState.js +143 -0
- package/dist/cli/commands/prime/collectOrientationState.js.map +1 -0
- package/dist/cli/commands/prime/orientationOutput.js +172 -0
- package/dist/cli/commands/prime/orientationOutput.js.map +1 -0
- package/dist/cli/commands/prime/types.js +2 -0
- package/dist/cli/commands/prime/types.js.map +1 -0
- package/dist/cli/commands/prime/v1Migration.js +39 -0
- package/dist/cli/commands/prime/v1Migration.js.map +1 -0
- package/dist/cli/commands/prime.js +10 -549
- package/dist/cli/commands/prime.js.map +1 -1
- package/dist/cli/commands/query.js +1 -1
- package/dist/cli/commands/query.js.map +1 -1
- package/dist/cli/commands/report.js +19 -4
- package/dist/cli/commands/report.js.map +1 -1
- package/dist/cli/commands/schema.js +1 -2
- package/dist/cli/commands/schema.js.map +1 -1
- package/dist/cli/commands/state/decisions.js +397 -0
- package/dist/cli/commands/state/decisions.js.map +1 -0
- package/dist/cli/commands/state/docs.js +93 -0
- package/dist/cli/commands/state/docs.js.map +1 -0
- package/dist/cli/commands/state/experiments.js +67 -0
- package/dist/cli/commands/state/experiments.js.map +1 -0
- package/dist/cli/commands/state/health.js +114 -0
- package/dist/cli/commands/state/health.js.map +1 -0
- package/dist/cli/commands/state/index.js +51 -0
- package/dist/cli/commands/state/index.js.map +1 -0
- package/dist/cli/commands/state/objective.js +68 -0
- package/dist/cli/commands/state/objective.js.map +1 -0
- package/dist/cli/commands/state/plan.js +172 -0
- package/dist/cli/commands/state/plan.js.map +1 -0
- package/dist/cli/commands/state/progress.js +47 -0
- package/dist/cli/commands/state/progress.js.map +1 -0
- package/dist/cli/commands/state/shared.js +15 -0
- package/dist/cli/commands/state/shared.js.map +1 -0
- package/dist/cli/commands/state/todo.js +121 -0
- package/dist/cli/commands/state/todo.js.map +1 -0
- package/dist/cli/commands/validate.js +38 -24
- package/dist/cli/commands/validate.js.map +1 -1
- package/dist/cli/contracts/bundleStatus.js +2 -0
- package/dist/cli/contracts/bundleStatus.js.map +1 -0
- package/dist/cli/contracts/orientationState.js +2 -0
- package/dist/cli/contracts/orientationState.js.map +1 -0
- package/dist/cli/dispatch/argvParser.js +33 -0
- package/dist/cli/dispatch/argvParser.js.map +1 -0
- package/dist/cli/dispatch/check.js +328 -0
- package/dist/cli/dispatch/check.js.map +1 -0
- package/dist/cli/dispatch/commands.js +27 -0
- package/dist/cli/dispatch/commands.js.map +1 -0
- package/dist/cli/dispatch/index.js +179 -0
- package/dist/cli/dispatch/index.js.map +1 -0
- package/dist/cli/dispatch/lifecycle.js +537 -0
- package/dist/cli/dispatch/lifecycle.js.map +1 -0
- package/dist/cli/dispatch/prime.js +104 -0
- package/dist/cli/dispatch/prime.js.map +1 -0
- package/dist/cli/dispatch/shared.js +64 -0
- package/dist/cli/dispatch/shared.js.map +1 -0
- package/dist/cli/dispatch/state.js +144 -0
- package/dist/cli/dispatch/state.js.map +1 -0
- package/dist/cli/dispatch.js +1 -1293
- package/dist/cli/dispatch.js.map +1 -1
- package/dist/cli/help.js +30 -2
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/orientation/attention.js +57 -0
- package/dist/cli/orientation/attention.js.map +1 -0
- package/dist/cli/orientation/corpusCoverage.js +71 -0
- package/dist/cli/orientation/corpusCoverage.js.map +1 -0
- package/dist/cli/orientation.js +41 -28
- package/dist/cli/orientation.js.map +1 -1
- package/dist/cli/startupCompletenessContract.js +49 -0
- package/dist/cli/startupCompletenessContract.js.map +1 -0
- package/dist/cli/todoSeverity.js +19 -0
- package/dist/cli/todoSeverity.js.map +1 -0
- package/dist/core/jsonValue.js +6 -0
- package/dist/core/jsonValue.js.map +1 -0
- package/dist/core/pyjson.js +67 -2
- package/dist/core/pyjson.js.map +1 -1
- package/dist/hooks/common.js +8 -23
- package/dist/hooks/common.js.map +1 -1
- package/dist/hooks/compaction/apply.js +263 -0
- package/dist/hooks/compaction/apply.js.map +1 -0
- package/dist/hooks/compaction/dryRun.js +181 -0
- package/dist/hooks/compaction/dryRun.js.map +1 -0
- package/dist/hooks/compaction/index.js +23 -0
- package/dist/hooks/compaction/index.js.map +1 -0
- package/dist/hooks/compaction/parse.js +258 -0
- package/dist/hooks/compaction/parse.js.map +1 -0
- package/dist/hooks/compaction/retention.js +197 -0
- package/dist/hooks/compaction/retention.js.map +1 -0
- package/dist/hooks/compaction/status.js +241 -0
- package/dist/hooks/compaction/status.js.map +1 -0
- package/dist/hooks/compaction/types.js +6 -0
- package/dist/hooks/compaction/types.js.map +1 -0
- package/dist/hooks/cursorPreToolUse.js +1 -1
- package/dist/hooks/cursorPreToolUse.js.map +1 -1
- package/dist/hooks/cursorSessionStart.js +10 -2
- package/dist/hooks/cursorSessionStart.js.map +1 -1
- package/dist/hooks/sessionStart.js +4 -4
- package/dist/hooks/sessionStart.js.map +1 -1
- package/dist/hooks/sessionStop.js +3 -12
- package/dist/hooks/sessionStop.js.map +1 -1
- package/dist/hooks/validateArtifact/agentFacing.js +10 -0
- package/dist/hooks/validateArtifact/agentFacing.js.map +1 -0
- package/dist/hooks/validateArtifact/index.js +149 -0
- package/dist/hooks/validateArtifact/index.js.map +1 -0
- package/dist/hooks/validateArtifact/markdown.js +146 -0
- package/dist/hooks/validateArtifact/markdown.js.map +1 -0
- package/dist/hooks/validateArtifact/runtime.js +83 -0
- package/dist/hooks/validateArtifact/runtime.js.map +1 -0
- package/dist/hooks/validateArtifact/schema.js +455 -0
- package/dist/hooks/validateArtifact/schema.js.map +1 -0
- package/dist/hooks/validateArtifact/traversal.js +105 -0
- package/dist/hooks/validateArtifact/traversal.js.map +1 -0
- package/dist/hooks/validateArtifact/violations.js +105 -0
- package/dist/hooks/validateArtifact/violations.js.map +1 -0
- package/dist/migrate/v2HandoffManifest.js +333 -0
- package/dist/migrate/v2HandoffManifest.js.map +1 -0
- package/dist/registries/artifactProtocolIds.js +77 -0
- package/dist/registries/artifactProtocolIds.js.map +1 -0
- package/dist/release/releaseMetadata.js +235 -0
- package/dist/release/releaseMetadata.js.map +1 -0
- package/dist/setup/codex/agents.js +96 -0
- package/dist/setup/codex/agents.js.map +1 -0
- package/dist/setup/codex/cli.js +161 -0
- package/dist/setup/codex/cli.js.map +1 -0
- package/dist/setup/codex/configToml.js +644 -0
- package/dist/setup/codex/configToml.js.map +1 -0
- package/dist/setup/codex/constants.js +29 -0
- package/dist/setup/codex/constants.js.map +1 -0
- package/dist/setup/codex/installRoot.js +64 -0
- package/dist/setup/codex/installRoot.js.map +1 -0
- package/dist/setup/codex/state.js +270 -0
- package/dist/setup/codex/state.js.map +1 -0
- package/dist/setup/codex.js +11 -1196
- package/dist/setup/codex.js.map +1 -1
- package/dist/setup/cursor.js +1 -1
- package/dist/setup/cursor.js.map +1 -1
- package/dist/setup/doctor/core.js +300 -0
- package/dist/setup/doctor/core.js.map +1 -0
- package/dist/setup/doctor/diagnostics.js +247 -0
- package/dist/setup/doctor/diagnostics.js.map +1 -0
- package/dist/setup/doctor/opencode.js +281 -0
- package/dist/setup/doctor/opencode.js.map +1 -0
- package/dist/setup/doctor/report.js +418 -0
- package/dist/setup/doctor/report.js.map +1 -0
- package/dist/setup/doctor.js +9 -1296
- package/dist/setup/doctor.js.map +1 -1
- package/dist/setup/opencode.js +13 -0
- package/dist/setup/opencode.js.map +1 -0
- package/dist/setup/smokeChecks.js +1 -1
- package/dist/setup/smokeChecks.js.map +1 -1
- package/dist/state/installRoot.js +49 -18
- package/dist/state/installRoot.js.map +1 -1
- package/dist/state/startupAnalysis/benchmark.js +367 -0
- package/dist/state/startupAnalysis/benchmark.js.map +1 -0
- package/dist/state/startupAnalysis/contract.js +122 -0
- package/dist/state/startupAnalysis/contract.js.map +1 -0
- package/dist/state/startupAnalysis/helpers.js +287 -0
- package/dist/state/startupAnalysis/helpers.js.map +1 -0
- package/dist/state/startupAnalysis/index.js +7 -0
- package/dist/state/startupAnalysis/index.js.map +1 -0
- package/dist/state/startupAnalysis/metrics.js +334 -0
- package/dist/state/startupAnalysis/metrics.js.map +1 -0
- package/dist/state/startupAnalysis/records.js +195 -0
- package/dist/state/startupAnalysis/records.js.map +1 -0
- package/dist/state/startupAnalysis/report.js +101 -0
- package/dist/state/startupAnalysis/report.js.map +1 -0
- package/dist/state/startupAnalysis/threshold.js +500 -0
- package/dist/state/startupAnalysis/threshold.js.map +1 -0
- package/dist/state/startupAnalysis.js +2 -1952
- package/dist/state/startupAnalysis.js.map +1 -1
- package/dist/upgrade/appModel.js +1 -4
- package/dist/upgrade/appModel.js.map +1 -1
- package/dist/upgrade/bundleEvidence.js +34 -0
- package/dist/upgrade/bundleEvidence.js.map +1 -0
- package/dist/upgrade/channels.js +8 -1
- package/dist/upgrade/channels.js.map +1 -1
- package/dist/upgrade/cliProbe.js +22 -0
- package/dist/upgrade/cliProbe.js.map +1 -0
- package/dist/upgrade/coexistenceProbe.js +80 -0
- package/dist/upgrade/coexistenceProbe.js.map +1 -0
- package/dist/upgrade/compatibility.js +1 -4
- package/dist/upgrade/compatibility.js.map +1 -1
- package/dist/upgrade/doctor.js +204 -170
- package/dist/upgrade/doctor.js.map +1 -1
- package/dist/upgrade/doctorClassifier.js +208 -0
- package/dist/upgrade/doctorClassifier.js.map +1 -0
- package/dist/upgrade/migrateArtifactsV2ToV3.js +6 -84
- package/dist/upgrade/migrateArtifactsV2ToV3.js.map +1 -1
- package/dist/upgrade/nextMajorDoctor.js +20 -1
- package/dist/upgrade/nextMajorDoctor.js.map +1 -1
- package/dist/upgrade/npxPlatformStatus.js +24 -0
- package/dist/upgrade/npxPlatformStatus.js.map +1 -0
- package/dist/upgrade/projectIntegration.js +55 -70
- package/dist/upgrade/projectIntegration.js.map +1 -1
- package/dist/upgrade/projectIntegrationDecision.js +93 -0
- package/dist/upgrade/projectIntegrationDecision.js.map +1 -0
- package/dist/upgrade/runtimeMigration.js +13 -2
- package/dist/upgrade/runtimeMigration.js.map +1 -1
- package/dist/upgrade/v3CapabilitySurface.js +15 -0
- package/dist/upgrade/v3CapabilitySurface.js.map +1 -0
- package/dist/upgrade/versionResolution.js +8 -0
- package/dist/upgrade/versionResolution.js.map +1 -1
- package/dist/validate/appHomeContract.js +3 -3
- package/dist/validate/appHomeContract.js.map +1 -1
- package/dist/validate/lifecycleAdapters/legacyPythonParity.js +93 -0
- package/dist/validate/lifecycleAdapters/legacyPythonParity.js.map +1 -0
- package/dist/validate/lifecycleAdapters/nodeFormChecks.js +488 -0
- package/dist/validate/lifecycleAdapters/nodeFormChecks.js.map +1 -0
- package/dist/validate/lifecycleAdapters/shared.js +198 -0
- package/dist/validate/lifecycleAdapters/shared.js.map +1 -0
- package/dist/validate/lifecycleAdapters.js +12 -722
- package/dist/validate/lifecycleAdapters.js.map +1 -1
- package/dist/validate/selfAudit.js +62 -20
- package/dist/validate/selfAudit.js.map +1 -1
- package/dist/validate/vocabularyAuthority.js +298 -0
- package/dist/validate/vocabularyAuthority.js.map +1 -0
- package/package.json +3 -3
- package/bundle/references/v1-section-mapping.md +0 -47
- package/bundle/skills/hej/.claude-plugin/plugin.json +0 -6
- package/bundle/skills/hej/SKILL.md +0 -69
- package/bundle/skills/hej/agents/hej.toml +0 -11
- package/bundle/skills/hej/agents/openai.yaml +0 -8
- package/dist/cli/commands/state.js +0 -1023
- package/dist/cli/commands/state.js.map +0 -1
- package/dist/hooks/compaction.js +0 -935
- package/dist/hooks/compaction.js.map +0 -1
- package/dist/hooks/validateArtifact.js +0 -935
- package/dist/hooks/validateArtifact.js.map +0 -1
package/README.md
CHANGED
|
@@ -17,10 +17,11 @@ npx -y agentera@next upgrade --dry-run --channel development
|
|
|
17
17
|
Run those from a project root. `prime` reports `project_integration.recommendation`
|
|
18
18
|
(`stay` or `upgrade`) and suggested commands for the current repo.
|
|
19
19
|
|
|
20
|
-
Full preview instructions,
|
|
21
|
-
[repository README — Agentera 3.0 preview](../../README.md#agentera-30-preview).
|
|
20
|
+
Full preview instructions, channels, and migration paths: [`UPGRADE.md`](../../UPGRADE.md).
|
|
22
21
|
|
|
23
|
-
|
|
22
|
+
## Editor runtime installs
|
|
23
|
+
|
|
24
|
+
Agentera ships a skill bundle for supported editor runtimes (Claude Code, OpenCode, Cursor, Copilot CLI, Codex CLI). Install steps and parity details live in the [repository README — Internals](../../README.md#internals) and [`references/adapters/runtime-feature-parity.md`](../../references/adapters/runtime-feature-parity.md).
|
|
24
25
|
|
|
25
26
|
## Package layout
|
|
26
27
|
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema_version": "agentera-extract-corpus-parity-v1",
|
|
3
|
+
"adapter_version": "agentera-v2-corpus-1",
|
|
4
|
+
"max_sqlite_sessions": 60,
|
|
5
|
+
"max_sqlite_rows": 100000,
|
|
6
|
+
"max_tool_arg_text": 500,
|
|
7
|
+
"copilot_sparse_remediation": "/chronicle reindex",
|
|
8
|
+
"runtime_store_globs": {
|
|
9
|
+
"codex": "*.jsonl",
|
|
10
|
+
"claude-code": "*.jsonl",
|
|
11
|
+
"cursor": "*.jsonl",
|
|
12
|
+
"cursor-agent": "store.db",
|
|
13
|
+
"opencode": "opencode.db",
|
|
14
|
+
"github-copilot": "session-store.db"
|
|
15
|
+
},
|
|
16
|
+
"families": [
|
|
17
|
+
"instruction_document",
|
|
18
|
+
"history_prompt",
|
|
19
|
+
"conversation_turn",
|
|
20
|
+
"tool_call",
|
|
21
|
+
"project_config_signal"
|
|
22
|
+
]
|
|
23
|
+
}
|
|
@@ -52,20 +52,21 @@ This repository dogfoods committed Cursor surfaces:
|
|
|
52
52
|
- `.cursor/agents/*.md` — twelve managed capability descriptors
|
|
53
53
|
- `.cursor-plugin/plugin.json` — marketplace submission-ready manifest
|
|
54
54
|
|
|
55
|
-
Hooks
|
|
56
|
-
`
|
|
57
|
-
subsequent hook executions
|
|
55
|
+
Hooks invoke the TypeScript CLI through `npx -y agentera hook …` (or
|
|
56
|
+
`npx -y agentera@next hook …` on the development channel). `sessionStart` exports
|
|
57
|
+
`AGENTERA_HOME` through Cursor hook JSON (`env`) before subsequent hook executions
|
|
58
|
+
run.
|
|
58
59
|
|
|
59
60
|
## AGENTERA_HOME wiring
|
|
60
61
|
|
|
61
|
-
Primary path: `
|
|
62
|
-
`AGENTERA_HOME`, project walk-up,
|
|
63
|
-
when
|
|
62
|
+
Primary path: `agentera hook cursor-session-start` resolves the install root from
|
|
63
|
+
`AGENTERA_HOME`, project walk-up, the plugin/checkout root, or the platform default
|
|
64
|
+
app home when env and walk-up do not resolve a managed root, then returns
|
|
64
65
|
`{"env": {"AGENTERA_HOME": "<root>"}}` plus optional `additional_context` from
|
|
65
66
|
the shared session digest.
|
|
66
67
|
|
|
67
|
-
Fallback: `
|
|
68
|
-
when live shell-tool smoke proves session env does not propagate to CLI
|
|
68
|
+
Fallback: `packages/cli/src/setup/cursor.ts` reports persistent shell configuration
|
|
69
|
+
only when live shell-tool smoke proves session env does not propagate to CLI
|
|
69
70
|
subprocesses. Agentera does not write shell rc files by default.
|
|
70
71
|
|
|
71
72
|
## Artifact validation
|
|
@@ -56,7 +56,7 @@ OpenCode skill search paths:
|
|
|
56
56
|
- Global install: `npx skills add jgabor/agentera -g -a opencode --skill agentera -y`
|
|
57
57
|
- Project install: symlink or copy `skills/agentera/` into `.opencode/skills/agentera/` or `.agents/skills/agentera/`
|
|
58
58
|
|
|
59
|
-
|
|
59
|
+
Each Agentera skill entry file contains YAML frontmatter with `name` and `description`, which matches OpenCode's frontmatter requirements exactly. The OpenCode plugin adds one prompt transformation: when the complete user message is exactly bare text `hej`, `chat.message` rewrites it to load the bundled `agentera` skill and route through the `agentera prime` dashboard path. The match is exact except for OpenCode's CLI-added single trailing newline transport artifact, and does not apply to `Hej`, `hej there`, attachments, or other message parts.
|
|
60
60
|
|
|
61
61
|
**OpenCode frontmatter validation** requires: `name` (1-64 chars, lowercase alphanumeric with single hyphens), `description` (1-1024 chars). Agentera entry point names are lowercase, matching the validation regex `^[a-z0-9]+(-[a-z0-9]+)*$`.
|
|
62
62
|
|
|
@@ -17,7 +17,7 @@ The current version-bearing surfaces are:
|
|
|
17
17
|
| `plugin.json` | version-bearing surface and runtime package manifest | root Copilot manifest `version` matches the suite version. |
|
|
18
18
|
| `.github/plugin/plugin.json` | version-bearing surface and runtime package manifest | repository Copilot manifest `version` matches the suite version. |
|
|
19
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
|
|
20
|
+
| `.claude-plugin/marketplace.json` | version-bearing surface and runtime package manifest | `metadata.version` and the bundled `agentera` plugin entry version match the suite version. |
|
|
21
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
22
|
|
|
23
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.
|
|
@@ -44,5 +44,4 @@ Write gating is preserved: `--update-packages` changes package items from `skipp
|
|
|
44
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
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
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
47
|
| 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. |
|
|
@@ -90,16 +90,16 @@ runtime_extraction_contract:
|
|
|
90
90
|
parsing encountered schema errors. This is extraction failure evidence,
|
|
91
91
|
not a successful zero-record benchmark window.
|
|
92
92
|
required_counts:
|
|
93
|
-
-
|
|
93
|
+
- file_count when discovery can count store files
|
|
94
94
|
- record_count, which may be zero or partial
|
|
95
95
|
- error_count greater than zero
|
|
96
96
|
current_examples:
|
|
97
97
|
- runtime: claude-code
|
|
98
|
-
|
|
98
|
+
file_count: 4836
|
|
99
99
|
record_count: 0
|
|
100
100
|
error_count: 2
|
|
101
101
|
- runtime: github-copilot
|
|
102
|
-
|
|
102
|
+
file_count: 1
|
|
103
103
|
record_count: 0
|
|
104
104
|
error_count: 1
|
|
105
105
|
no_matching_records:
|
|
@@ -110,7 +110,7 @@ runtime_extraction_contract:
|
|
|
110
110
|
shape, but no supported message or tool records were extracted. This is
|
|
111
111
|
sparse coverage evidence and remains distinct from schema divergence.
|
|
112
112
|
required_counts:
|
|
113
|
-
-
|
|
113
|
+
- file_count when discovery can count store files
|
|
114
114
|
- "record_count: 0"
|
|
115
115
|
- no error_count greater than zero
|
|
116
116
|
successful_zero_record_window:
|
|
@@ -362,17 +362,17 @@ privacy_boundary:
|
|
|
362
362
|
- canonical_event_class
|
|
363
363
|
- salted_non_reconstructable_hash
|
|
364
364
|
canonical_artifact_labels:
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
365
|
+
todo: todo
|
|
366
|
+
changelog: changelog
|
|
367
|
+
design: design
|
|
368
|
+
plan: plan
|
|
369
|
+
progress: progress
|
|
370
|
+
docs: docs
|
|
371
|
+
decisions: decisions
|
|
372
|
+
health: health
|
|
373
|
+
vision: vision
|
|
374
|
+
objective: objective
|
|
375
|
+
experiments: experiments
|
|
376
376
|
AGENTS.md: AGENTS.md
|
|
377
377
|
SKILL.md: SKILL.md
|
|
378
378
|
AGENTERA_ARTIFACTS: AGENTERA_ARTIFACTS
|
|
@@ -204,9 +204,10 @@ prime_hej_schema_migration_boundary:
|
|
|
204
204
|
prime_absorbs_hej:
|
|
205
205
|
status: target
|
|
206
206
|
hej_cli: >-
|
|
207
|
-
Top-level `hej` is removed from the public parser
|
|
208
|
-
`agentera hej`
|
|
209
|
-
|
|
207
|
+
Top-level `hej` is removed from the npm 3.x public parser and dispatch.
|
|
208
|
+
During Phase 1–2, `agentera hej` printed one stderr deprecation naming
|
|
209
|
+
`prime` and delegated; Phase 3 on the development channel rejects the
|
|
210
|
+
command with an unsupported-target envelope.
|
|
210
211
|
hej_skill_route: >-
|
|
211
212
|
Bare `hej` in the Agentera skill still routes to orientation, but the installed
|
|
212
213
|
CLI gate calls `agentera prime` and renders from that composite result.
|
|
@@ -225,8 +226,9 @@ prime_hej_schema_migration_boundary:
|
|
|
225
226
|
status: target
|
|
226
227
|
canonical: agentera schema [--format json|yaml]
|
|
227
228
|
alias: >-
|
|
228
|
-
`
|
|
229
|
-
|
|
229
|
+
Top-level `describe` is removed from the npm 3.x public parser and dispatch.
|
|
230
|
+
During Phase 1–2, `agentera describe` printed one stderr deprecation naming
|
|
231
|
+
`schema` and delegated.
|
|
230
232
|
discovery_ownership: >-
|
|
231
233
|
`schema` owns runtime CLI/schema introspection formerly on `describe`, including
|
|
232
234
|
command tree, audience tags, artifact locations, and linked contract sections.
|
|
@@ -260,7 +262,9 @@ plan_routing_distinction:
|
|
|
260
262
|
is not a CLI command and does not read `.agentera/plan.yaml` by itself.
|
|
261
263
|
state_read:
|
|
262
264
|
invocation: agentera state plan
|
|
263
|
-
legacy_alias:
|
|
265
|
+
legacy_alias: >-
|
|
266
|
+
Top-level `agentera plan` was removed on the npm 3.x CLI in Phase 3; use
|
|
267
|
+
`agentera state plan`.
|
|
264
268
|
surface: CLI routine state read
|
|
265
269
|
meaning: >-
|
|
266
270
|
Read-only access to the active plan artifact summary, tasks, acceptance
|
|
@@ -275,8 +279,8 @@ plan_routing_distinction:
|
|
|
275
279
|
for Planera remains `agentera prime --context planera --format json`.
|
|
276
280
|
agent_guidance: >-
|
|
277
281
|
Use `/agentera plan` when the user wants planning work routed to Planera; use
|
|
278
|
-
`agentera state plan`
|
|
279
|
-
|
|
282
|
+
`agentera state plan` when the agent needs plan artifact state; use
|
|
283
|
+
`agentera planera` for capability routing guidance; use
|
|
280
284
|
`agentera prime --context planera` for bounded Planera startup context.
|
|
281
285
|
migration_phases:
|
|
282
286
|
phase_1:
|
|
@@ -295,15 +299,18 @@ migration_phases:
|
|
|
295
299
|
- Record measurement evidence for JSON surface moves.
|
|
296
300
|
phase_3:
|
|
297
301
|
name: remove_deprecated_top_level_parsers
|
|
302
|
+
status: shipped_on_development_channel
|
|
298
303
|
actions:
|
|
299
304
|
- >-
|
|
300
|
-
Remove `hej`, public `describe`, and `gate` from top-level parser help
|
|
305
|
+
Remove `hej`, public `describe`, and `gate` from top-level parser help
|
|
306
|
+
and dispatch on the npm 3.x CLI.
|
|
301
307
|
- >-
|
|
302
|
-
Remove
|
|
303
|
-
|
|
308
|
+
Remove routine-state top-level parsers (`plan`, `progress`, `health`,
|
|
309
|
+
`todo`, `decisions`, `docs`, `objective`, `experiments`) from help and
|
|
310
|
+
dispatch on the npm 3.x CLI.
|
|
304
311
|
- >-
|
|
305
|
-
|
|
306
|
-
|
|
312
|
+
Keep a transitional stderr-alias set (`validate`, `compact`, `verify`,
|
|
313
|
+
`stats`, `lint`, `query`) until post-cutover cleanup.
|
|
307
314
|
alias_policy:
|
|
308
315
|
stderr_format: one-line deprecation naming the canonical command
|
|
309
316
|
delegation: forward to canonical handler with unchanged JSON/text envelopes
|
|
@@ -334,22 +341,29 @@ command_tree_target:
|
|
|
334
341
|
- report [user]
|
|
335
342
|
- check [maintainer]
|
|
336
343
|
|
|
337
|
-
|
|
338
|
-
#
|
|
339
|
-
-
|
|
340
|
-
-
|
|
341
|
-
-
|
|
342
|
-
-
|
|
343
|
-
-
|
|
344
|
-
-
|
|
345
|
-
-
|
|
346
|
-
-
|
|
347
|
-
-
|
|
348
|
-
-
|
|
344
|
+
removed_top_level_commands:
|
|
345
|
+
# Phase 3 on npm 3.x: removed from help and dispatch (unsupported_target)
|
|
346
|
+
- hej
|
|
347
|
+
- describe
|
|
348
|
+
- gate
|
|
349
|
+
- plan
|
|
350
|
+
- progress
|
|
351
|
+
- health
|
|
352
|
+
- todo
|
|
353
|
+
- decisions
|
|
354
|
+
- docs
|
|
355
|
+
- objective
|
|
356
|
+
- experiments
|
|
357
|
+
|
|
358
|
+
transitional_stderr_aliases:
|
|
359
|
+
# Still delegate with one-line stderr deprecation on npm 3.x
|
|
349
360
|
- { legacy: query, canonical: "state query" }
|
|
350
361
|
- { legacy: compact, canonical: "check compact" }
|
|
351
|
-
- { legacy: gate, canonical: "check compact" }
|
|
352
362
|
- { legacy: verify, canonical: "check verify" }
|
|
353
363
|
- { legacy: stats, canonical: report }
|
|
354
364
|
- { legacy: lint, canonical: "check lint" }
|
|
355
365
|
- { legacy: validate, canonical: "check validate" }
|
|
366
|
+
|
|
367
|
+
# Superseded by `removed_top_level_commands` and `transitional_stderr_aliases`
|
|
368
|
+
# for npm 3.x Phase 3 (empty list retained for contract migration readers).
|
|
369
|
+
deprecated_top_level_aliases: []
|
|
@@ -14,7 +14,7 @@ scope:
|
|
|
14
14
|
- Package and distribution metadata that names the suite package shape.
|
|
15
15
|
- Runtime hook packaging prose and metadata for plugin-shipped hooks.
|
|
16
16
|
- Historical references to the removed `bundle-status` command.
|
|
17
|
-
- Current
|
|
17
|
+
- Current references to `skills/agentera/SKILL.md`.
|
|
18
18
|
excludes:
|
|
19
19
|
- Routing and execution vocabulary collapse work.
|
|
20
20
|
- Capability instruction-file rename work.
|
|
@@ -32,8 +32,6 @@ canonical_concept_order:
|
|
|
32
32
|
- removed_bundle_status_command
|
|
33
33
|
- agentera_routing_entry
|
|
34
34
|
- skill_entry_file
|
|
35
|
-
- v1_skill_entry_file
|
|
36
|
-
- legacy_hej_bridge
|
|
37
35
|
canonical_concepts:
|
|
38
36
|
agentera_app_files:
|
|
39
37
|
definition: >-
|
|
@@ -119,32 +117,6 @@ canonical_concepts:
|
|
|
119
117
|
- SKILL.md
|
|
120
118
|
- skill file
|
|
121
119
|
- skill entry
|
|
122
|
-
v1_skill_entry_file:
|
|
123
|
-
definition: >-
|
|
124
|
-
A historical standalone v1 skill entry file or path retained in migration
|
|
125
|
-
notes, tests, stale-path checks, and compatibility fixtures.
|
|
126
|
-
allowed_terms:
|
|
127
|
-
- v1 skill entry file
|
|
128
|
-
- v1 standalone skill entry file
|
|
129
|
-
- "historical v1 `SKILL.md` file"
|
|
130
|
-
- v1 skill path
|
|
131
|
-
forbidden_ambiguous_shortcuts:
|
|
132
|
-
- SKILL.md
|
|
133
|
-
- v1 SKILL.md
|
|
134
|
-
- old skill file
|
|
135
|
-
legacy_hej_bridge:
|
|
136
|
-
definition: >-
|
|
137
|
-
The temporary v1 `/hej` bridge or exact bare `hej` compatibility path that
|
|
138
|
-
guides users toward `/agentera` and the v2 upgrade path.
|
|
139
|
-
allowed_terms:
|
|
140
|
-
- legacy hej bridge
|
|
141
|
-
- "legacy `/hej` bridge"
|
|
142
|
-
- v1 hej bridge
|
|
143
|
-
- "bare `hej` compatibility path"
|
|
144
|
-
forbidden_ambiguous_shortcuts:
|
|
145
|
-
- hej skill
|
|
146
|
-
- legacy skill
|
|
147
|
-
- old hej
|
|
148
120
|
classification_order:
|
|
149
121
|
- canonical_concept
|
|
150
122
|
- compatibility_identifier
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# v2/v3 coexistence doctor warning contract (both CLI lines).
|
|
2
|
+
schema_version: agentera.coexistenceProbe.v1
|
|
3
|
+
section_header: Coexistence
|
|
4
|
+
warning:
|
|
5
|
+
headline: "v3 detected alongside v2; pick one line"
|
|
6
|
+
resolutions:
|
|
7
|
+
- complete v3 migration
|
|
8
|
+
- uninstall v3
|
|
9
|
+
- stay on v2 explicitly
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Parity EXPECTED/ACTUAL bug-demonstration template
|
|
2
|
+
|
|
3
|
+
Apply this pattern to `npmParityMatrix` / Python-oracle parity rows when fixing a
|
|
4
|
+
regression: land a **demonstrate** commit first, then a **fix** commit that only
|
|
5
|
+
flips the assertion.
|
|
6
|
+
|
|
7
|
+
## Workflow
|
|
8
|
+
|
|
9
|
+
1. **Demonstrate commit** — test passes on broken behavior; correct expectation
|
|
10
|
+
preserved in a block comment (`EXPECTED`); wrong behavior asserted (`ACTUAL`).
|
|
11
|
+
2. **Fix commit** — delete comment markers and `ACTUAL` line; `EXPECTED` becomes the
|
|
12
|
+
live assertion. No other edits in the fix commit.
|
|
13
|
+
|
|
14
|
+
## Minimal vitest shape
|
|
15
|
+
|
|
16
|
+
See `packages/cli/test/cli/parityExpectedActualTemplate.test.ts` for a runnable
|
|
17
|
+
micro-example. For real parity rows, mirror the pattern in the oracle fixture row
|
|
18
|
+
and `npmParityMatrix.test.ts` drift assertions.
|
|
19
|
+
|
|
20
|
+
## npmParityMatrix row
|
|
21
|
+
|
|
22
|
+
When adding a row to the parity matrix for a pre-existing bug:
|
|
23
|
+
|
|
24
|
+
- Register the row with `drift_direction: equal` as the target after fix.
|
|
25
|
+
- In the demonstrate pass, temporarily pin oracle shape to the **wrong** envelope
|
|
26
|
+
or assert `ACTUAL` substring in a dedicated regression test.
|
|
27
|
+
- Fix pass restores `equal` against the corrected CLI output.
|
|
28
|
+
|
|
29
|
+
Do not apply EXPECTED/ACTUAL by default to every row — only where bisect clarity
|
|
30
|
+
justifies the two-commit ritual.
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
schema_version: agentera.single_name_protocol.v1
|
|
2
|
+
status: active_authority
|
|
3
|
+
decision: 58
|
|
4
|
+
purpose: >-
|
|
5
|
+
Machine-readable Decision 58 boundary: forbidden legacy protocol identifiers
|
|
6
|
+
and scan surfaces for the single-name protocol regression test.
|
|
7
|
+
human_index:
|
|
8
|
+
document: references/cli/vocabulary.md
|
|
9
|
+
forbidden_protocol_substrings:
|
|
10
|
+
- pattern: instruction_file
|
|
11
|
+
rationale: D65 renamed DIRECTORY_REQUIREMENTS and contract fields to instruction_module.
|
|
12
|
+
- pattern: canonical_instruction_file
|
|
13
|
+
rationale: Use canonical_instruction_module in capability-instruction-contract.yaml.
|
|
14
|
+
- pattern: legacy_instruction_file
|
|
15
|
+
rationale: Historical paths belong in archive or migration modules only.
|
|
16
|
+
- pattern: instructionPath
|
|
17
|
+
rationale: capabilityContract loader exposes instructionModulePath only.
|
|
18
|
+
forbidden_storage_protocol_markdown_artifacts:
|
|
19
|
+
- PROGRESS.md
|
|
20
|
+
- PLAN.md
|
|
21
|
+
- DECISIONS.md
|
|
22
|
+
- VISION.md
|
|
23
|
+
- HEALTH.md
|
|
24
|
+
- DOCS.md
|
|
25
|
+
- OBJECTIVE.md
|
|
26
|
+
- EXPERIMENTS.md
|
|
27
|
+
scan_roots:
|
|
28
|
+
- packages/cli/src
|
|
29
|
+
- skills/agentera/capability_schema_contract.yaml
|
|
30
|
+
- skills/agentera/protocol.yaml
|
|
31
|
+
- references/cli/capability-instruction-contract.yaml
|
|
32
|
+
- references/cli/vocabulary.md
|
|
33
|
+
- references/cli/vocabulary-index.yaml
|
|
34
|
+
- registry.json
|
|
35
|
+
scan_exclude_globs:
|
|
36
|
+
- "**/capabilities/**/instructions.ts"
|
|
37
|
+
- "**/migrateArtifactsV1ToV2.ts"
|
|
38
|
+
- "**/migrateArtifactsV2ToV3.ts"
|
|
39
|
+
- "**/migrateArtifacts*.ts"
|
|
40
|
+
- "**/*.test.ts"
|
|
41
|
+
- "**/test/**"
|
|
42
|
+
comment_line_exempt: true
|
|
@@ -37,6 +37,7 @@ channels:
|
|
|
37
37
|
concept: forward_successor_line
|
|
38
38
|
channel: development
|
|
39
39
|
version: "3.0.0"
|
|
40
|
+
announced: false
|
|
40
41
|
npm:
|
|
41
42
|
dist_tag: next
|
|
42
43
|
npm_only_advisory: >-
|
|
@@ -63,6 +64,21 @@ channels:
|
|
|
63
64
|
feat/v3 branch and v3 CLI are npm-only; v2→v3 is a one-way upgrade through
|
|
64
65
|
npx @next, not through uvx or git checkout installs.
|
|
65
66
|
distribution_major: 3
|
|
67
|
+
next_major:
|
|
68
|
+
concept: forward_successor_line
|
|
69
|
+
channel: development
|
|
70
|
+
version: "3.0.0"
|
|
71
|
+
announced: true
|
|
72
|
+
npm:
|
|
73
|
+
dist_tag: next
|
|
74
|
+
npm_only_advisory: >-
|
|
75
|
+
The v3 successor line is npm-only; opt in to v2→v3 migration through npx @next.
|
|
76
|
+
guide_url: >-
|
|
77
|
+
https://github.com/jgabor/agentera/blob/main/UPGRADE.md#upgrading-v2-to-v3-development-channel-irreversible
|
|
78
|
+
preview_command: npx -y agentera@next upgrade --dry-run --channel development
|
|
79
|
+
irreversible_advisory: >-
|
|
80
|
+
Forward migration to the v3 line is one-way; return to the prior
|
|
81
|
+
Python support line is permanently unsupported.
|
|
66
82
|
resolution:
|
|
67
83
|
npm:
|
|
68
84
|
dist_tag: next
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Upgrade repair wording — v3 cursor agent skip
|
|
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.
|
|
8
|
+
|
|
9
|
+
## v3 surface probe
|
|
10
|
+
|
|
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 (`hej`, `visionera`, `resonera`, `inspirera`,
|
|
16
|
+
`planera`, `realisera`, `optimera`, `inspektera`, `dokumentera`, `profilera`,
|
|
17
|
+
`visualisera`, `orkestrera`).
|
|
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`
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
schema_version: agentera.v3_handoff_manifest.v1
|
|
2
|
+
status: active_authority
|
|
3
|
+
purpose: >-
|
|
4
|
+
Contract for the v2→v3 handoff manifest written by the stable Python CLI at the
|
|
5
|
+
app-home root and read by the v3 TypeScript migration preflight. The manifest
|
|
6
|
+
lets v3 migration classify preserved user state in O(1) time instead of
|
|
7
|
+
scanning the entire app home.
|
|
8
|
+
manifest_file: v3-handoff.json
|
|
9
|
+
manifest_path: >-
|
|
10
|
+
{app_home}/v3-handoff.json where app_home is the platform data-home install
|
|
11
|
+
root (for example ~/.local/share/agentera on Linux).
|
|
12
|
+
writers:
|
|
13
|
+
- v2 stable Python CLI on install, upgrade apply, and doctor (refresh when stale)
|
|
14
|
+
readers:
|
|
15
|
+
- v3 TypeScript migration preflight in packages/cli/src/migrate/v2HandoffManifest.ts
|
|
16
|
+
performance:
|
|
17
|
+
reader_preflight_budget_ms: 100
|
|
18
|
+
note: >-
|
|
19
|
+
When the manifest is present and valid, the v3 reader must complete parsing
|
|
20
|
+
and validation within 100ms. When absent or invalid, the reader may fall
|
|
21
|
+
back to a full app-home scan with no time budget.
|
|
22
|
+
required_top_level_fields:
|
|
23
|
+
schema_version:
|
|
24
|
+
type: string
|
|
25
|
+
const: agentera.v3_handoff_manifest.v1
|
|
26
|
+
written_at:
|
|
27
|
+
type: string
|
|
28
|
+
format: iso8601_utc
|
|
29
|
+
description: UTC timestamp when the manifest was last written.
|
|
30
|
+
installed_v2_version:
|
|
31
|
+
type: string
|
|
32
|
+
min_length: 1
|
|
33
|
+
description: Installed Agentera suite version from the active v2 bundle marker.
|
|
34
|
+
app_home_path:
|
|
35
|
+
type: string
|
|
36
|
+
min_length: 1
|
|
37
|
+
description: Absolute resolved app-home path the writer used.
|
|
38
|
+
user_data_inventory:
|
|
39
|
+
type: array
|
|
40
|
+
min_items: 6
|
|
41
|
+
description: >-
|
|
42
|
+
One entry per catalog id below. Entries for paths that do not exist on disk
|
|
43
|
+
set exists=false; writers still emit the full catalog so v3 preflight can
|
|
44
|
+
trust absence without rescanning.
|
|
45
|
+
runtime_adapters:
|
|
46
|
+
type: array
|
|
47
|
+
items:
|
|
48
|
+
type: string
|
|
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.
|
|
53
|
+
user_data_inventory_catalog:
|
|
54
|
+
- id: benchmarks
|
|
55
|
+
relative_path: benchmarks
|
|
56
|
+
kind: directory
|
|
57
|
+
- id: intermediate
|
|
58
|
+
relative_path: intermediate
|
|
59
|
+
kind: directory
|
|
60
|
+
- id: sessions
|
|
61
|
+
relative_path: sessions
|
|
62
|
+
kind: directory
|
|
63
|
+
- id: history
|
|
64
|
+
relative_path: history
|
|
65
|
+
kind: directory
|
|
66
|
+
- id: corpus
|
|
67
|
+
relative_path: corpus
|
|
68
|
+
kind: directory
|
|
69
|
+
- id: profile_files
|
|
70
|
+
kind: profile_files
|
|
71
|
+
members:
|
|
72
|
+
- relative_path: PROFILE.md
|
|
73
|
+
kind: file
|
|
74
|
+
- relative_path: USAGE.md
|
|
75
|
+
kind: file
|
|
76
|
+
user_data_inventory_entry_shapes:
|
|
77
|
+
directory:
|
|
78
|
+
required: [id, relative_path, kind, exists]
|
|
79
|
+
kind_const: directory
|
|
80
|
+
file:
|
|
81
|
+
required: [id, relative_path, kind, exists]
|
|
82
|
+
kind_const: file
|
|
83
|
+
profile_files:
|
|
84
|
+
required: [id, kind, members]
|
|
85
|
+
kind_const: profile_files
|
|
86
|
+
members:
|
|
87
|
+
required: [relative_path, kind, exists]
|
|
88
|
+
kind_const: file
|
|
89
|
+
freshness:
|
|
90
|
+
writer_obligations:
|
|
91
|
+
- Refresh the manifest on every v2 upgrade apply.
|
|
92
|
+
- Refresh the manifest on v2 doctor when stale or missing (after warning).
|
|
93
|
+
stale_when_any:
|
|
94
|
+
- Manifest file missing.
|
|
95
|
+
- schema_version mismatch.
|
|
96
|
+
- app_home_path differs from the resolved install root.
|
|
97
|
+
- installed_v2_version differs from the active bundle marker version.
|
|
98
|
+
- written_at is older than the bundle marker mtime.
|
|
@@ -150,10 +150,12 @@ decision_44:
|
|
|
150
150
|
boundary: Preserve capability IDs, artifact IDs, group IDs, route IDs, and test fixture IDs unless a migration is planned.
|
|
151
151
|
- surface: CLI labels and exit behavior
|
|
152
152
|
boundary: Preserve current command names, parseable labels, exit codes, and source-contract labels unless an explicit CLI migration is recorded.
|
|
153
|
-
- surface: Canonical capability names
|
|
154
|
-
boundary:
|
|
155
|
-
|
|
156
|
-
|
|
153
|
+
- surface: Canonical capability names (v3 surface)
|
|
154
|
+
boundary: >-
|
|
155
|
+
Preserve the Decision 43 English alias set as the binding canonical names for v3 and onward: status, vision, discuss, research, plan, build, optimize, audit, document, profile, design, orchestrate. Future capability additions follow the same transfer-friendly English-verb pattern (Decision 70). Per Decision 70, the D43 alias set is the binding name set; future renames require a new decision.
|
|
156
|
+
- surface: Legacy Swedish capability names (v2 stable only)
|
|
157
|
+
boundary: >-
|
|
158
|
+
Preserve hej, visionera, resonera, inspirera, planera, realisera, optimera, inspektera, dokumentera, profilera, visualisera, and orkestrera for the v2 stable distribution (`npx -y agentera@latest`, ships from `main`) and as historical references in archived plans, decisions, and changelogs. Out of scope for v3 surface per Decision 70. Coexistence probe surfaces per-distribution naming divergence.
|
|
157
159
|
- surface: Historical artifacts
|
|
158
160
|
boundary: Do not rewrite old progress, changelog, archived plans, or decisions solely for vocabulary cleanup.
|
|
159
161
|
- surface: Release version
|