agentera 3.0.0-dev.25 → 3.0.0-dev.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -20
- package/bundle/CHANGELOG.md +15 -25
- package/bundle/README.md +13 -34
- package/bundle/UPGRADE.md +71 -165
- package/bundle/references/adapters/package-manifest-interface-model.yaml +40 -241
- package/bundle/references/adapters/package-registry.yaml +0 -145
- package/bundle/references/adapters/package-surface-characterization.md +13 -38
- package/bundle/references/adapters/runtime-lifecycle-adapters.yaml +5 -219
- package/bundle/references/adapters/runtime-lifecycle-authority.yaml +2 -29
- package/bundle/references/adapters/runtime-lifecycle-operation-contract.yaml +1 -1
- package/bundle/references/artifacts/state-storage-authority.yaml +43 -447
- package/bundle/references/cli/agent-ready-state-contract.yaml +9 -9
- package/bundle/references/cli/app-lifecycle-vocabulary.yaml +3 -4
- package/bundle/references/cli/bundle-skill-vocabulary.yaml +9 -18
- package/bundle/references/cli/capability-tool-classification.yaml +2 -2
- package/bundle/references/cli/prime-consumer-compatibility.yaml +28 -98
- package/bundle/references/cli/routing-execution-vocabulary.yaml +4 -22
- package/bundle/references/cli/upgrade-repair-wording.md +8 -28
- package/bundle/references/cli/v3-handoff-manifest.schema.yaml +2 -3
- package/bundle/references/cli/vocabulary.md +18 -23
- package/bundle/references/meta/documentation-inventory.md +1 -1
- package/bundle/skills/agentera/schemas/artifacts/docs.yaml +3 -11
- package/bundle/skills/agentera/schemas/artifacts/plan.yaml +1 -1
- package/dist/cli/capabilityContext/bespoke.js +8 -2
- package/dist/cli/capabilityContext/bespoke.js.map +1 -1
- package/dist/cli/capabilityContext/closeout.js +3 -3
- package/dist/cli/capabilityContext/closeout.js.map +1 -1
- package/dist/cli/capabilityContext/evidence.js +52 -40
- package/dist/cli/capabilityContext/evidence.js.map +1 -1
- package/dist/cli/capabilityContext/startup.js +1 -1
- package/dist/cli/capabilityContext/startup.js.map +1 -1
- package/dist/cli/commands/doctor.js +6 -64
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/durability.js +12 -48
- package/dist/cli/commands/durability.js.map +1 -1
- package/dist/cli/commands/prime/briefOrientation.js +2 -19
- package/dist/cli/commands/prime/briefOrientation.js.map +1 -1
- package/dist/cli/commands/prime/bundleStatus.js +8 -2
- package/dist/cli/commands/prime/bundleStatus.js.map +1 -1
- package/dist/cli/commands/prime/collectEntityOrientation.js +27 -14
- package/dist/cli/commands/prime/collectEntityOrientation.js.map +1 -1
- package/dist/cli/commands/prime/collectOrientationState.js +31 -52
- package/dist/cli/commands/prime/collectOrientationState.js.map +1 -1
- package/dist/cli/commands/prime/orientationOutput.js +3 -11
- package/dist/cli/commands/prime/orientationOutput.js.map +1 -1
- package/dist/cli/commands/prime.js +0 -5
- package/dist/cli/commands/prime.js.map +1 -1
- package/dist/cli/commands/query.js +17 -49
- package/dist/cli/commands/query.js.map +1 -1
- package/dist/cli/commands/schema.js +19 -78
- package/dist/cli/commands/schema.js.map +1 -1
- package/dist/cli/commands/state/decisions.js +11 -57
- package/dist/cli/commands/state/decisions.js.map +1 -1
- package/dist/cli/commands/state/docs.js +56 -120
- package/dist/cli/commands/state/docs.js.map +1 -1
- package/dist/cli/commands/state/experimentRecords.js +22 -121
- package/dist/cli/commands/state/experimentRecords.js.map +1 -1
- package/dist/cli/commands/state/experiments.js +9 -75
- package/dist/cli/commands/state/experiments.js.map +1 -1
- package/dist/cli/commands/state/get.js +62 -143
- package/dist/cli/commands/state/get.js.map +1 -1
- package/dist/cli/commands/state/health.js +9 -123
- package/dist/cli/commands/state/health.js.map +1 -1
- package/dist/cli/commands/state/index.js +2 -2
- package/dist/cli/commands/state/index.js.map +1 -1
- package/dist/cli/commands/state/list.js +20 -36
- package/dist/cli/commands/state/list.js.map +1 -1
- package/dist/cli/commands/state/objective.js +19 -86
- package/dist/cli/commands/state/objective.js.map +1 -1
- package/dist/cli/commands/state/plan.js +9 -388
- package/dist/cli/commands/state/plan.js.map +1 -1
- package/dist/cli/commands/state/planTasks.js +58 -93
- package/dist/cli/commands/state/planTasks.js.map +1 -1
- package/dist/cli/commands/state/plans.js +13 -40
- package/dist/cli/commands/state/plans.js.map +1 -1
- package/dist/cli/commands/state/progress.js +10 -55
- package/dist/cli/commands/state/progress.js.map +1 -1
- package/dist/cli/commands/state/todo.js +24 -133
- package/dist/cli/commands/state/todo.js.map +1 -1
- package/dist/cli/commands/state/write.js +11 -33
- package/dist/cli/commands/state/write.js.map +1 -1
- package/dist/cli/commands/upgrade.js +48 -18
- package/dist/cli/commands/upgrade.js.map +1 -1
- package/dist/cli/commands/upgradeVerify.js +21 -15
- package/dist/cli/commands/upgradeVerify.js.map +1 -1
- package/dist/cli/commands/validate.js +1 -9
- package/dist/cli/commands/validate.js.map +1 -1
- package/dist/cli/dispatch/check.js +5 -12
- package/dist/cli/dispatch/check.js.map +1 -1
- package/dist/cli/dispatch/index.js +30 -29
- package/dist/cli/dispatch/index.js.map +1 -1
- package/dist/cli/dispatch/lifecycle.js +23 -40
- package/dist/cli/dispatch/lifecycle.js.map +1 -1
- package/dist/cli/help.js +20 -100
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/migrationRequired.js +22 -19
- package/dist/cli/migrationRequired.js.map +1 -1
- package/dist/cli/orientation/attention.js +1 -97
- package/dist/cli/orientation/attention.js.map +1 -1
- package/dist/cli/stateQuery.js +1 -2
- package/dist/cli/stateQuery.js.map +1 -1
- package/dist/core/skillIdentity.js +24 -0
- package/dist/core/skillIdentity.js.map +1 -0
- package/dist/hooks/common.js +1 -1
- package/dist/hooks/common.js.map +1 -1
- package/dist/hooks/compaction/status.js +2 -1
- package/dist/hooks/compaction/status.js.map +1 -1
- package/dist/hooks/cursorSessionStart.js +4 -25
- package/dist/hooks/cursorSessionStart.js.map +1 -1
- package/dist/hooks/projectHookInput.js +26 -0
- package/dist/hooks/projectHookInput.js.map +1 -0
- package/dist/hooks/sessionStart.js +23 -239
- package/dist/hooks/sessionStart.js.map +1 -1
- package/dist/hooks/sessionStop.js +4 -12
- package/dist/hooks/sessionStop.js.map +1 -1
- package/dist/hooks/validateArtifact/traversal.js +1 -1
- package/dist/hooks/validateArtifact/traversal.js.map +1 -1
- package/dist/registries/artifactRegistry.js +2 -1
- package/dist/registries/artifactRegistry.js.map +1 -1
- package/dist/registries/packageRegistry.js +57 -231
- package/dist/registries/packageRegistry.js.map +1 -1
- package/dist/release/releaseMetadata.js +1 -13
- package/dist/release/releaseMetadata.js.map +1 -1
- package/dist/runtime/lifecycleAdapterContract.js +4 -4
- package/dist/runtime/lifecycleAdapterContract.js.map +1 -1
- package/dist/runtime/lifecycleAdapters.js +14 -2
- package/dist/runtime/lifecycleAdapters.js.map +1 -1
- package/dist/runtime/lifecycleAuthority.js +5 -43
- package/dist/runtime/lifecycleAuthority.js.map +1 -1
- package/dist/runtime/lifecycleOperationContract.js +3 -2
- package/dist/runtime/lifecycleOperationContract.js.map +1 -1
- package/dist/runtime/lifecyclePublication.js +21 -0
- package/dist/runtime/lifecyclePublication.js.map +1 -1
- package/dist/setup/opencode.js +20 -12
- package/dist/setup/opencode.js.map +1 -1
- package/dist/setup/sharedSkill.js +46 -0
- package/dist/setup/sharedSkill.js.map +1 -0
- package/dist/setup/smokeChecks.js +16 -43
- package/dist/setup/smokeChecks.js.map +1 -1
- package/dist/state/decisionEntities.js +7 -4
- package/dist/state/decisionEntities.js.map +1 -1
- package/dist/state/durability.js +4 -240
- package/dist/state/durability.js.map +1 -1
- package/dist/state/entityCutover.js +90 -186
- package/dist/state/entityCutover.js.map +1 -1
- package/dist/state/entityStorage.js +27 -8
- package/dist/state/entityStorage.js.map +1 -1
- package/dist/state/healthEntities.js +7 -4
- package/dist/state/healthEntities.js.map +1 -1
- package/dist/state/objectiveExperimentEntities.js +7 -5
- package/dist/state/objectiveExperimentEntities.js.map +1 -1
- package/dist/state/planEntities.js +14 -10
- package/dist/state/planEntities.js.map +1 -1
- package/dist/state/progressEntities.js +4 -2
- package/dist/state/progressEntities.js.map +1 -1
- package/dist/state/startupProjection.js +3 -2
- package/dist/state/startupProjection.js.map +1 -1
- package/dist/state/stateMode.js +7 -0
- package/dist/state/stateMode.js.map +1 -1
- package/dist/state/todoDocsEntities.js +6 -4
- package/dist/state/todoDocsEntities.js.map +1 -1
- package/dist/state/write/explain.js +1 -9
- package/dist/state/write/explain.js.map +1 -1
- package/dist/state/write/transaction.js +22 -532
- package/dist/state/write/transaction.js.map +1 -1
- package/dist/upgrade/appContentRefresh.js +43 -28
- package/dist/upgrade/appContentRefresh.js.map +1 -1
- package/dist/upgrade/doctor.js +5 -1
- package/dist/upgrade/doctor.js.map +1 -1
- package/dist/upgrade/installedHooksRetirement.js +46 -39
- package/dist/upgrade/installedHooksRetirement.js.map +1 -1
- package/dist/upgrade/legacyAgentCleanup.js +132 -32
- package/dist/upgrade/legacyAgentCleanup.js.map +1 -1
- package/dist/upgrade/lifecycleUpgrade.js +65 -378
- package/dist/upgrade/lifecycleUpgrade.js.map +1 -1
- package/dist/upgrade/migrateArtifactsV2ToV3.js +151 -52
- package/dist/upgrade/migrateArtifactsV2ToV3.js.map +1 -1
- package/dist/upgrade/migrationPublication.js +123 -0
- package/dist/upgrade/migrationPublication.js.map +1 -0
- package/dist/upgrade/projectIntegration.js +46 -113
- package/dist/upgrade/projectIntegration.js.map +1 -1
- package/dist/upgrade/projectIntegrationDecision.js +6 -96
- package/dist/upgrade/projectIntegrationDecision.js.map +1 -1
- package/dist/upgrade/runtimeMigration.js +222 -402
- package/dist/upgrade/runtimeMigration.js.map +1 -1
- package/dist/upgrade/upgradeCommands.js +5 -4
- package/dist/upgrade/upgradeCommands.js.map +1 -1
- package/dist/upgrade/upgradeLock.js +73 -41
- package/dist/upgrade/upgradeLock.js.map +1 -1
- package/dist/upgrade/upgradeOrchestrator.js +91 -158
- package/dist/upgrade/upgradeOrchestrator.js.map +1 -1
- package/dist/upgrade/v3CapabilitySurface.js +2 -2
- package/dist/validate/appHomeContract.js +0 -4
- package/dist/validate/appHomeContract.js.map +1 -1
- package/package.json +7 -5
- package/bundle/.codex-plugin/plugin.json +0 -92
- package/bundle/.cursor/agents/agentera.md +0 -7
- package/bundle/.cursor/hooks.json +0 -32
- package/bundle/.cursor-plugin/plugin.json +0 -34
- package/bundle/.github/hooks/postToolUse.json +0 -9
- package/bundle/.github/hooks/preToolUse.json +0 -8
- package/bundle/.github/hooks/sessionEnd.json +0 -8
- package/bundle/.github/hooks/sessionStart.json +0 -8
- package/bundle/.github/plugin/plugin.json +0 -7
- package/bundle/.opencode/agents/agentera.md +0 -12
- package/bundle/.opencode/commands/agentera.md +0 -5
- package/bundle/.opencode/package.json +0 -31
- package/bundle/.opencode/plugins/agentera.js +0 -820
- package/bundle/agents/openai.yaml +0 -87
- package/bundle/hooks/codex-hooks.json +0 -31
- package/bundle/hooks/codex-plugin-hooks.json +0 -31
- package/bundle/plugin.json +0 -13
- package/bundle/references/adapters/cursor.md +0 -224
- package/bundle/references/adapters/opencode.md +0 -529
- package/bundle/references/adapters/runtime-adapter-characterization.md +0 -44
- package/bundle/references/adapters/runtime-adapter-interface-model.yaml +0 -200
- package/bundle/references/adapters/runtime-adapter-registry.yaml +0 -387
- package/bundle/references/adapters/runtime-feature-parity.md +0 -129
- package/dist/cli/commands/backfill.js +0 -231
- package/dist/cli/commands/backfill.js.map +0 -1
- package/dist/cli/commands/migrate.js +0 -681
- package/dist/cli/commands/migrate.js.map +0 -1
- package/dist/registries/runtimeAdapterRegistry.js +0 -324
- package/dist/registries/runtimeAdapterRegistry.js.map +0 -1
- package/dist/setup/copilot.js +0 -227
- package/dist/setup/copilot.js.map +0 -1
- package/dist/setup/cursor.js +0 -129
- package/dist/setup/cursor.js.map +0 -1
- package/dist/setup/cursorSurfaces.js +0 -67
- package/dist/setup/cursorSurfaces.js.map +0 -1
- package/dist/setup/doctor/core.js +0 -296
- package/dist/setup/doctor/core.js.map +0 -1
- package/dist/setup/doctor/diagnostics.js +0 -201
- package/dist/setup/doctor/diagnostics.js.map +0 -1
- package/dist/setup/doctor/opencode.js +0 -301
- package/dist/setup/doctor/opencode.js.map +0 -1
- package/dist/setup/doctor/report.js +0 -425
- package/dist/setup/doctor/report.js.map +0 -1
- package/dist/setup/doctor.js +0 -10
- package/dist/setup/doctor.js.map +0 -1
- package/dist/state/gitBackfill.js +0 -561
- package/dist/state/gitBackfill.js.map +0 -1
- package/dist/state/gitBackfillAuthority.js +0 -141
- package/dist/state/gitBackfillAuthority.js.map +0 -1
- package/dist/state/gitBackfillHistory.js +0 -278
- package/dist/state/gitBackfillHistory.js.map +0 -1
- package/dist/state/gitBackfillOutput.js +0 -209
- package/dist/state/gitBackfillOutput.js.map +0 -1
- package/dist/state/legacyMigration.js +0 -516
- package/dist/state/legacyMigration.js.map +0 -1
- package/dist/state/legacyMigrationParser.js +0 -489
- package/dist/state/legacyMigrationParser.js.map +0 -1
- package/dist/state/migrationAuthority.js +0 -413
- package/dist/state/migrationAuthority.js.map +0 -1
- package/dist/state/migrationEnrichment.js +0 -35
- package/dist/state/migrationEnrichment.js.map +0 -1
- package/dist/state/projectionRecovery.js +0 -458
- package/dist/state/projectionRecovery.js.map +0 -1
- package/dist/upgrade/migrateArtifactsV1ToV2.js +0 -568
- package/dist/upgrade/migrateArtifactsV1ToV2.js.map +0 -1
- package/dist/validate/lifecycleAdapters/legacyPythonParity.js +0 -93
- package/dist/validate/lifecycleAdapters/legacyPythonParity.js.map +0 -1
- package/dist/validate/lifecycleAdapters/lifecycleMain.js +0 -154
- package/dist/validate/lifecycleAdapters/lifecycleMain.js.map +0 -1
- package/dist/validate/lifecycleAdapters/nodeFormChecks.js +0 -481
- package/dist/validate/lifecycleAdapters/nodeFormChecks.js.map +0 -1
- package/dist/validate/lifecycleAdapters/shared.js +0 -198
- package/dist/validate/lifecycleAdapters/shared.js.map +0 -1
- package/dist/validate/lifecycleAdapters.js +0 -10
- package/dist/validate/lifecycleAdapters.js.map +0 -1
package/README.md
CHANGED
|
@@ -2,8 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
Native TypeScript CLI for Agentera 3.0, published as
|
|
4
4
|
[`agentera`](https://www.npmjs.com/package/agentera). The npm package is
|
|
5
|
-
self-contained: compiled commands live in `dist
|
|
6
|
-
|
|
5
|
+
self-contained: compiled commands live in `dist/`; the canonical shared skill,
|
|
6
|
+
its schemas, required references, and `registry.json` live in `bundle/`. It
|
|
7
|
+
ships no host-native plugin, hook, command, agent, descriptor, or marketplace
|
|
8
|
+
surface.
|
|
7
9
|
|
|
8
10
|
Until the stable dist-tag is promoted, run 3.0 through `@next`:
|
|
9
11
|
|
|
@@ -20,27 +22,21 @@ Status startup is one call: `prime --context status --format json` returns
|
|
|
20
22
|
bytes). Omitted detail names its authoritative recovery command. `doctor`
|
|
21
23
|
returns detailed read-only evidence and exact user actions.
|
|
22
24
|
|
|
23
|
-
##
|
|
25
|
+
## Shared-skill integration
|
|
24
26
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
`~/.agents/skills/agentera`.
|
|
27
|
+
Agentera uses one portable integration: the Agentera CLI plus the shared skill
|
|
28
|
+
at `~/.agents/skills/agentera`. Normal upgrade previews and applies app/project
|
|
29
|
+
migration only. It has no current-runtime selector and does not create native
|
|
30
|
+
runtime resources.
|
|
30
31
|
|
|
31
32
|
```bash
|
|
32
|
-
npx -y agentera@next upgrade --dry-run
|
|
33
|
-
npx -y agentera@next upgrade --
|
|
34
|
-
npx -y agentera@next upgrade --runtime all --yes
|
|
33
|
+
npx -y agentera@next upgrade --channel development --project "$PWD" --dry-run
|
|
34
|
+
npx -y agentera@next upgrade --channel development --project "$PWD" --yes
|
|
35
35
|
```
|
|
36
36
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
has zero filesystem or state side effects. `--yes` approves only declared
|
|
41
|
-
Agentera-owned operations; native install/update, authentication, enablement,
|
|
42
|
-
and trust remain user-owned. Secure automatic apply is Linux-only and reports
|
|
43
|
-
`action_required` elsewhere.
|
|
37
|
+
Preview has no side effects. The apply path is the explicit, one-way v2-to-v3
|
|
38
|
+
migration described in [UPGRADE.md](../../UPGRADE.md); it does not run a native
|
|
39
|
+
package installer.
|
|
44
40
|
|
|
45
41
|
Retired Claude cleanup is intentionally separate:
|
|
46
42
|
|
|
@@ -72,8 +68,7 @@ plan task retrieval is active-only. Experiment history is objective-scoped and
|
|
|
72
68
|
reports full, summary-only, or unavailable detail without fabricating archives.
|
|
73
69
|
|
|
74
70
|
See [UPGRADE.md](../../UPGRADE.md) for ownership, recovery, and migration
|
|
75
|
-
details
|
|
76
|
-
for host-specific behavior.
|
|
71
|
+
details.
|
|
77
72
|
|
|
78
73
|
## Contributors
|
|
79
74
|
|
|
@@ -81,6 +76,7 @@ Requires Node.js 22+ and pnpm 10.30.3.
|
|
|
81
76
|
|
|
82
77
|
```bash
|
|
83
78
|
pnpm -C packages/cli test
|
|
79
|
+
pnpm -C packages/cli run verify:package
|
|
84
80
|
pnpm -C packages/cli run typecheck
|
|
85
81
|
pnpm -C packages/cli build
|
|
86
82
|
pnpm -C packages/cli run lint
|
package/bundle/CHANGELOG.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
### Changed
|
|
6
6
|
|
|
7
|
-
- Changed the v2-to-v3 development upgrade to one full Git-backed command that
|
|
7
|
+
- Changed the v2-to-v3 development upgrade to one full Git-backed command that converts unchanged tracked input directly into canonical entities, accepts exact partial targets on retry, validates the complete graph, and activates entity authority last. Runtime blockers are reported as post-activation action-required work without modifying the blocked resource. The optional dry-run is read-only; cross-major apply is one-way and has no staging graph, recovery journal, rollback, restore, non-Git, or partial workflow.
|
|
8
8
|
- Cut ordinary project state over to one canonical writer-owned file per entity. Public records now use only bare `id` and `artifact` identity, bounded `list` and exact `get --id` reads, and typed writers discovered through `agentera state <artifact> explain`; aggregate state files and ordinal selectors remain migration or historical evidence only.
|
|
9
9
|
- Split lifecycle validation orchestration from the public validation facade while preserving its import surface and validation behavior.
|
|
10
10
|
- Eliminated the monolithic `corpus.json` publication output from the extract CLI; report dry-run diagnostics now reference tier files and the `privacy.corpus_write` field is renamed to `privacy.tier_write`.
|
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
|
|
15
15
|
### Added
|
|
16
16
|
|
|
17
|
-
- Added post-cutover entity-backed default state views, bare-ID durability diagnostics, and read-only migration-manifest target validation while preserving legacy numbered behavior before cutover.
|
|
18
|
-
- Added a Git-backed entity cutover owned by the full development-channel `upgrade --yes` command, with deterministic
|
|
17
|
+
- Added post-cutover entity-backed default state views, bare-ID durability diagnostics, and read-only historical migration-manifest target validation while preserving legacy numbered behavior before cutover.
|
|
18
|
+
- Added a Git-backed entity cutover owned by the full development-channel `upgrade --yes` command, with deterministic direct publication, exact-target retries, marker-last authority activation, and first-unresolved-path handoff.
|
|
19
19
|
- Added post-cutover decision entities for immutable bases and content revisions, replaceable satisfaction ownership, bare-ID exact and bounded reads, deterministic effective provenance, stale-base and transition validation, and explicit same-decision conflict detection; marker-absent projects retain the legacy numbered authority without dual writes.
|
|
20
20
|
- Added the post-cutover progress entity writer and `state progress get|list` reads with bare IDs, one canonical file per cycle, atomic replay-safe publication, full provenance, bounded snapshot pagination, and no legacy projection or archive writes; legacy projects remain unchanged until the durable cutover marker exists.
|
|
21
21
|
- Added authority-driven, one-file-per-entity storage primitives with secure project-wide IDs, symlink-safe discovery, conflict-safe publication, relationship validation, and `agentera check validate state` diagnostics.
|
|
@@ -34,15 +34,11 @@
|
|
|
34
34
|
- Added `agentera state decisions amend --number N [--question ... --context ... --alternative-chosen ... --alternative-rejected ... --choice ... --reasoning ... --confidence firm|provisional|exploratory --feeds-into ...] [--dry-run] --format json`: validates and publishes a record-local revision under `.agentera/revisions/decisions.yaml` that composes over the immutable numbered archive at read time. Apply never rewrites the decisions projection, preserves unrelated decisions' bytes (including comments, block scalars, quoting, and inherited legacy confidence labels), refuses a broken revision document or unsafe record-local boundary without side effects, retries converge on a stable revision identity, and an identical re-submission is an idempotent replay. Append, satisfaction update, and amend tolerate untouched inherited confidence labels as explicit legacy caveats while requiring current vocabulary for new or amended content.
|
|
35
35
|
|
|
36
36
|
- Added an executable bounded-retrieval authority and reserved CLI grammar for plan tasks, plans, and objective-scoped experiments, including stable and legacy identity rules, experiment `0`, opaque cursors, explicit omissions, and structured compatibility errors; retrieval execution remains staged for subsequent tasks.
|
|
37
|
-
- Added
|
|
38
|
-
-
|
|
39
|
-
- Added runtime lifecycle schemas and adapters for skills, plugins, hooks, agents, configuration, enablement, trust, and native actions across all four active runtimes.
|
|
40
|
-
- Added append-only ownership-journal recovery, exact operation dependencies, Linux secure directory-relative publication, and outcomes `applied`, `noop`, `failed`, `blocked_unowned`, `skipped_dependency`, and `action_required`.
|
|
41
|
-
- Added explicit retired cleanup through `agentera upgrade --legacy-cleanup claude --dry-run|--yes`; it can remove only the ledger-owned legacy Agentera skill link and excludes user data.
|
|
37
|
+
- Added one shared skill at `~/.agents/skills/agentera` plus the CLI and entity-backed project state as the active integration contract; host-native plugin, hook, agent, and package surfaces are not shipped.
|
|
38
|
+
- Retained runtime lifecycle contracts only as migration evidence and for explicit `agentera upgrade --legacy-cleanup claude --dry-run|--yes`, which can remove only the ownership-proven legacy Agentera skill link and excludes user data.
|
|
42
39
|
- Added typed artifact writes under `agentera state`: progress/decision/audit appends, decision satisfaction updates, plan create/task/status/archive lifecycle operations, schema-derived `explain`, server-assigned identifiers, exact retry replay, dry-run diffs, project locking, strict mapped-path safety, staged 10/40/50 compaction, final-byte validation, and atomic publication.
|
|
43
40
|
- Added `install_track` to `prime --format json` (`app_home.install_track`) and `doctor --format json`. Values are `v2`, `v3`, `source`, and `unknown`.
|
|
44
|
-
- Added the
|
|
45
|
-
- Added `bash scripts/single-binary.sh` and the packaging contract in `docs/packaging/v3-packaging.md` for Bun `--compile` single-binary delivery alongside the npm tarball.
|
|
41
|
+
- Added the TypeScript CLI on the npm development channel (`npx -y agentera@next`), bundling app data at pack time via `prepack` (`tsc` + `scripts/copy-bundle.mjs`) and the `.agentera-npx-bundle.json` sentinel checked by `packages/cli/test/packaging/prepack.test.ts`.
|
|
46
42
|
- Added `packages/cli/src/migrate/v2HandoffManifest.ts` to read `v3-handoff.json` during v2→v3 cleanup preflight per `references/cli/v3-handoff-manifest.schema.yaml`.
|
|
47
43
|
- Added v3 `agentera doctor` coexistence detection in `packages/cli/src/upgrade/coexistenceProbe.ts` with regression coverage in `packages/cli/test/cli/coexistenceProbe.test.ts`.
|
|
48
44
|
- Added maintainer gates under `agentera check` (`validate`, `verify`, `lint`, `compact`) with JSON parity oracles for validate families, verify eval targets, invalid-input envelopes, and `source_contract` emissions on `prime`, `prime --context`, `state plan`, and `state query --list-artifacts`.
|
|
@@ -51,13 +47,6 @@
|
|
|
51
47
|
|
|
52
48
|
### Changed
|
|
53
49
|
|
|
54
|
-
- Changed `agentera state migrate` to inventory legacy project state locally within
|
|
55
|
-
bounded file and byte limits, retain custom names with explicit provenance, and
|
|
56
|
-
require exact selectors plus `--apply --force` before immutable archive, backup,
|
|
57
|
-
and projection publication.
|
|
58
|
-
- Changed `agentera state backfill` to remain optional local-Git enrichment: direct
|
|
59
|
-
`--apply --force` revalidates the project, `HEAD`, candidate, reachability, and
|
|
60
|
-
immutable target, while bounded history and no-remote behavior remain explicit.
|
|
61
50
|
- Changed deterministic plan lifecycle migration to run inside the full
|
|
62
51
|
development-channel v2-to-v3 upgrade. Legacy `active` and `completed` plan
|
|
63
52
|
statuses become `open` and `complete` without rewriting retained task
|
|
@@ -72,12 +61,8 @@
|
|
|
72
61
|
- Defined plan lifecycle status as `open` or `complete`, with activity derived from the current-plan path and forced unfinished archives remaining open and non-executable.
|
|
73
62
|
- Enforced plan lifecycle surface classification with a bounded repository scan covering readers, writers, migrators, schemas, adapters, fixtures, and documented commitments.
|
|
74
63
|
- Expanded lifecycle classification to every repository surface outside documented vendor, cache, generated-output, snapshot, symlink, and secret exclusions.
|
|
75
|
-
-
|
|
76
|
-
- Changed
|
|
77
|
-
- Changed corrupt or disconnected ownership-journal blockers to report stable causes without volatile event filenames across preview and apply.
|
|
78
|
-
- Synchronized lifecycle projections across prime, status, project integration, and doctor while keeping Cursor CLI required, IDE conditional, and Claude cleanup explicit.
|
|
79
|
-
- Changed lifecycle apply so native installation, update, authentication, enablement, and trust are always user-owned `action_required` steps. Automatic filesystem apply is Linux-only; other platforms retain complete preview and diagnosis.
|
|
80
|
-
- Changed the npm package to include every declared OpenCode, Codex, Cursor, and GitHub Copilot manifest/hook/agent source and to reject package, documentation, runtime-ID, or version parity drift during validation.
|
|
64
|
+
- Separated source verification from package-boundary verification: source tests validate repository behavior, while extracted-package tests validate the self-contained CLI, shared skill, bundled contracts, and absence of host-native package surfaces.
|
|
65
|
+
- Changed packed v2-to-v3 upgrade reruns to converge after exact partial targets or completed migration, preserving canonical entity identities and producing no additional project or home-directory changes.
|
|
81
66
|
- Renamed the top-level `bundle` field to `app` in `prime --format json`. Nested names are now `activeAppRoot`, `cliApp`, and `legacyAppRoot`; this is a breaking JSON output change.
|
|
82
67
|
- Added v2/v3 coexistence warning to the orientation attention list when a v2 managed app is detected at the app home alongside a v3 CLI runtime. Uses the existing "pick one line" contract message from `references/cli/coexistence-probe.yaml`.
|
|
83
68
|
- Promoted English names to canonical v3 capability IDs (`status`, `vision`, `discuss`, `research`, `plan`, `build`, `optimize`, `audit`, `document`, `profile`, `design`, `orchestrate`) and retired Swedish `-era` IDs from the active command surface.
|
|
@@ -89,6 +74,9 @@
|
|
|
89
74
|
|
|
90
75
|
### Fixed
|
|
91
76
|
|
|
77
|
+
- Fixed overlapping `upgrade --yes` runs to hold separate exclusive project and shared-runtime locks, reject stale or malformed lock state with bounded manual recovery, and release only a matching ownership token.
|
|
78
|
+
- Fixed migration-required recovery commands to shell-quote project paths so shell substitutions remain literal and the intended project receives the v2-to-v3 cutover.
|
|
79
|
+
- Fixed marker-absent v2 projects to select the entity cutover from project state under npm or source v3 execution, so the recovery command emitted by `prime` can complete the forward migration instead of reporting an unrelated no-op.
|
|
92
80
|
- Fixed post-cutover routine query aliases, canonical-boundary Git recovery, migration-marker evidence binding, entity page byte caps, plan recovery guidance, and nested entity identity metadata.
|
|
93
81
|
- Fixed the npm shim to diagnose a configured `AGENTERA_HOME` whose managed script is missing or not runnable before continuing through repository and `uvx` fallback resolution.
|
|
94
82
|
- Fixed `agentera check lint` to report findings without failing by default, fail the same findings with `--strict`, and keep invalid input, authority failures, and validated plan publication nonzero.
|
|
@@ -113,7 +101,7 @@
|
|
|
113
101
|
- Fixed `cliDistributionMajor` silently defaulting to v2 when `registry.json` version-authority was missing or corrupted. The function now reads `package.json#version` as a secondary signal before falling back to 2, and emits a one-time stderr diagnostic when both primary and secondary signals miss — preventing v3 installs with corrupted registry assets from being misclassified as v2 in runtime inference, cross-major boundary detection, channel resolution, and next-major doctor rendering.
|
|
114
102
|
- Fixed `pnpm install` failing on hosts with a system-wide `vips` (Arch, Fedora, Nix with vips overlay, Homebrew on macOS): sharp's `useGlobalLibvips()` check returned true and the install hook fell through to a `node-gyp` source build that needed `node-addon-api`. Migrated the deprecated `pnpm.onlyBuiltDependencies` and `pnpm.overrides` from `package.json#pnpm` to `pnpm-workspace.yaml` (pnpm 10+ ignores the legacy key) and added a `preinstall` hook that re-execs `pnpm install` with `SHARP_IGNORE_GLOBAL_LIBVIPS=true` so sharp's prebuilt binary is always used.
|
|
115
103
|
- Fixed `pnpm install` emitting `Failed to replace env in config: ${NPM_TOKEN}` on every invocation: scoped the npm auth config from repo root to `packages/cli/.npmrc`. Both publishing packages (the `agentera` 3.0 CLI on `@next` and the `agentera` 0.0.x shim on `@latest`) find the auth via npm's parent-directory walk; `pnpm install` from the repo root no longer reads any auth-bearing `.npmrc`.
|
|
116
|
-
- Fixed v3
|
|
104
|
+
- Fixed v2-to-v3 migration skipping tracked legacy `.cursor/agents/*.md` inputs when the project already contains v3 capability instruction modules, so cleanup processes those migration inputs consistently.
|
|
117
105
|
- Fixed `agentera prime --context orkestrera --format json` returning empty `dependency_ready_tasks` when plan `depends_on` references were complete but normalized differently from task numbers.
|
|
118
106
|
- Fixed v2→v3 migration tests leaking OpenCode skill symlinks into the developer's real home by requiring `MigrationContext.env` in `planRuntimeMigrationItems` and adding `noHomeLeak.test.ts`.
|
|
119
107
|
- Fixed `link-skill` apply failing on pre-existing dangling symlinks by unlinking symlink targets via `lstat` before `symlinkSync`.
|
|
@@ -126,11 +114,13 @@
|
|
|
126
114
|
- Removed v1 legacy migration paths, standalone skill bundle wording, and obsolete v1 fixture assumptions from the 3.x tree after the 3.0 boundary (`packages/cli/test/cli/v1LegacyCruft.test.ts` guards against reintroduction).
|
|
127
115
|
- Removed `hej`, `describe`, and `gate` from top-level `agentera --help` and dispatch; unsupported structured requests return runnable corrections to `agentera prime`, `agentera schema`, and `agentera check compact`.
|
|
128
116
|
- Removed the requirement for `uv` or a git checkout on the development channel; `uvx --from git+https://github.com/jgabor/agentera@main agentera` remains the stable 2.x Python line only.
|
|
117
|
+
- Removed `agentera state migrate`, `agentera state backfill`, projection repair, and automatic v1 conversion. Recognized v2 aggregate projects now have one forward mutation path: full `agentera upgrade --yes`; `state migrate entities --dry-run` remains read-only.
|
|
118
|
+
- Removed host-native runtime selectors, repair actions, package manifests, plugins, hooks, agents, and Bun single-binary delivery from the v3 distribution. Migration fixtures, ownership evidence, and explicit Claude cleanup remain internal migration surfaces.
|
|
129
119
|
|
|
130
120
|
### Migration notes
|
|
131
121
|
|
|
132
122
|
- **npm shim 0.0.2 v3 deprecation hint**: the `agentera@0.0.2` npm shim on `@latest` now emits a three-line stderr banner on every invocation pointing users to `npx -y agentera@next prime` for the v3 TypeScript CLI. `--help` lists the `@next` command; the install-help failure path leads with the `@next` pointer; `--version` stays banner-free so `--json` and pipe consumers stay clean. Set `AGENTERA_NO_V3_HINT=1` to suppress for CI and scripted invocations.
|
|
133
|
-
- **npm shim 0.0.0 cwd preservation**: the `agentera@0.0.0` npm shim on `@latest` now forwards the user's working directory to the installed Python CLI for the `app-home` backend, so `npx -y agentera` state and prime reads resolve the project's `.agentera/` artifacts instead of the app home. The shim remains the 2.x transitional entry point; the
|
|
123
|
+
- **npm shim 0.0.0 cwd preservation**: the `agentera@0.0.0` npm shim on `@latest` now forwards the user's working directory to the installed Python CLI for the `app-home` backend, so `npx -y agentera` state and prime reads resolve the project's `.agentera/` artifacts instead of the app home. The shim remains the 2.x transitional entry point; the TypeScript CLI is `npx -y agentera@next` until the 3.0 cutover graduates `@latest`.
|
|
134
124
|
|
|
135
125
|
## [2.7.7] · 2026-06-03
|
|
136
126
|
|
package/bundle/README.md
CHANGED
|
@@ -26,48 +26,27 @@ Run that from a git project. In an editor runtime, invoke `/agentera`
|
|
|
26
26
|
(`$agentera` in Codex) for the rendered status dashboard.
|
|
27
27
|
|
|
28
28
|
`prime` is deliberately bounded: it summarizes current project state and the
|
|
29
|
-
next useful action. Use `doctor` when you need
|
|
30
|
-
evidence.
|
|
29
|
+
next useful action. Use `doctor` when you need app, project-state, shared-skill,
|
|
30
|
+
and CLI evidence.
|
|
31
31
|
|
|
32
32
|
```bash
|
|
33
33
|
npx -y agentera@next prime --format json
|
|
34
34
|
npx -y agentera@next doctor --format json
|
|
35
35
|
```
|
|
36
36
|
|
|
37
|
-
##
|
|
37
|
+
## Runtime integration
|
|
38
38
|
|
|
39
|
-
Agentera 3.0
|
|
39
|
+
Agentera 3.0 uses one portable integration for compatible runtimes: the shared
|
|
40
|
+
skill at `~/.agents/skills/agentera` plus the Agentera CLI. Normal `upgrade`
|
|
41
|
+
previews and applies only app/project migration; it has no current-runtime
|
|
42
|
+
selector and creates no native plugin, hook, agent, command, descriptor, or
|
|
43
|
+
marketplace file. See [UPGRADE.md](./UPGRADE.md) for the distinct one-way v2
|
|
44
|
+
migration and explicit retired Claude cleanup route:
|
|
45
|
+
`agentera upgrade --legacy-cleanup claude --dry-run|--yes`.
|
|
40
46
|
|
|
41
|
-
-
|
|
42
|
-
-
|
|
43
|
-
-
|
|
44
|
-
- GitHub Copilot
|
|
45
|
-
|
|
46
|
-
Cursor Agent CLI is the required Cursor surface and Cursor IDE is conditional;
|
|
47
|
-
both belong to the single `cursor` runtime identity. The canonical portable
|
|
48
|
-
skill is `~/.agents/skills/agentera`.
|
|
49
|
-
|
|
50
|
-
On the v3 development channel, a dry-run without a selector previews lifecycle
|
|
51
|
-
findings for all active runtimes without making changes. Approve Agentera-owned
|
|
52
|
-
runtime operations separately:
|
|
53
|
-
|
|
54
|
-
```bash
|
|
55
|
-
npx -y agentera@next upgrade --runtime all --dry-run
|
|
56
|
-
npx -y agentera@next upgrade --runtime all --yes
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
You can replace `all` with `opencode`, `codex`, `cursor`, or `copilot`.
|
|
60
|
-
Preview creates no files, directories, locks, caches, telemetry, or state
|
|
61
|
-
changes. Apply writes only declared Agentera-owned resources. Native package
|
|
62
|
-
installation, authentication, enablement, and trust remain user-owned and are
|
|
63
|
-
reported as `action_required`.
|
|
64
|
-
|
|
65
|
-
Secure automatic lifecycle apply currently requires Linux `/proc/self/fd`.
|
|
66
|
-
Other platforms still receive the complete preview and explicit manual actions,
|
|
67
|
-
but filesystem operations remain `action_required`.
|
|
68
|
-
|
|
69
|
-
`prime`, status, and project-integration output summarize the same lifecycle
|
|
70
|
-
snapshot, including runtime counts, blockers, and the recommended next action.
|
|
47
|
+
`doctor` reports read-only app, project-state, shared-skill, and CLI evidence.
|
|
48
|
+
`prime`, status, and project-integration output use the app/project recommendation
|
|
49
|
+
and shared-skill diagnosis to select the next action.
|
|
71
50
|
|
|
72
51
|
Claude Code is retired from active support. Its only lifecycle command is a
|
|
73
52
|
separate, explicit cleanup of the exact Agentera-owned legacy skill link:
|
package/bundle/UPGRADE.md
CHANGED
|
@@ -1,141 +1,74 @@
|
|
|
1
|
-
# Upgrade and
|
|
1
|
+
# Upgrade and migration
|
|
2
2
|
|
|
3
|
-
Agentera 3.0 uses one upgrade command for project
|
|
4
|
-
|
|
3
|
+
Agentera 3.0 uses one upgrade command for app/project migration and explicit
|
|
4
|
+
retired Claude cleanup. Preview and apply are separate operations. Current
|
|
5
|
+
runtime installation and repair are not upgrade operations.
|
|
5
6
|
|
|
6
7
|
Before the npm stable dist-tag promotion, use `agentera@next`. The stable 2.x
|
|
7
|
-
channel remains `agentera@latest` until that promotion;
|
|
8
|
-
|
|
8
|
+
channel remains `agentera@latest` until that promotion; upgrade does not publish
|
|
9
|
+
or retag packages.
|
|
9
10
|
|
|
10
|
-
##
|
|
11
|
+
## Active integration
|
|
11
12
|
|
|
12
|
-
|
|
13
|
-
npx -y agentera@next upgrade --dry-run --channel development
|
|
14
|
-
```
|
|
13
|
+
Agentera has one active integration contract:
|
|
15
14
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
The preview remains read-only. Runtime apply is explicit:
|
|
19
|
-
|
|
20
|
-
```bash
|
|
21
|
-
npx -y agentera@next upgrade --runtime all --dry-run
|
|
22
|
-
npx -y agentera@next upgrade --runtime cursor --dry-run
|
|
15
|
+
```text
|
|
16
|
+
~/.agents/skills/agentera + agentera CLI
|
|
23
17
|
```
|
|
24
18
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
19
|
+
Normal `prime`, `doctor`, `schema`, help, and project-integration output reports
|
|
20
|
+
that shared skill and CLI/app/project state. Normal `upgrade` has no
|
|
21
|
+
current-runtime selector or native-resource operation set. It creates no current
|
|
22
|
+
plugin, hook, agent, command, descriptor, or marketplace file and does not run
|
|
23
|
+
runtime package managers, authentication, enablement, or trust operations.
|
|
29
24
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
25
|
+
Passing `--runtime` fails before mutation. Remove `--runtime`, ensure the runtime
|
|
26
|
+
can read `~/.agents/skills/agentera`, and invoke the CLI directly. The supported
|
|
27
|
+
v2 migration and Claude cleanup routes below are separate from normal active
|
|
28
|
+
integration.
|
|
33
29
|
|
|
34
|
-
|
|
35
|
-
- skill, plugin, hook, agent, configuration, enablement, trust, and native-action state;
|
|
36
|
-
- planned operations and dependencies;
|
|
37
|
-
- current ownership evidence and blocked reasons;
|
|
38
|
-
- exact manual or host-native actions;
|
|
39
|
-
- required support-floor gaps.
|
|
30
|
+
## Preview and apply
|
|
40
31
|
|
|
41
|
-
|
|
42
|
-
detailed read-only diagnosis:
|
|
32
|
+
Preview normal app/project work:
|
|
43
33
|
|
|
44
34
|
```bash
|
|
45
|
-
npx -y agentera@next
|
|
46
|
-
npx -y agentera@next doctor --format json
|
|
35
|
+
npx -y agentera@next upgrade --dry-run --channel development
|
|
47
36
|
```
|
|
48
37
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
## Apply approved Agentera-owned work
|
|
53
|
-
|
|
54
|
-
After reviewing an all-runtime preview, use its generated command or rerun the
|
|
55
|
-
selection explicitly with `--runtime all --yes`:
|
|
38
|
+
The preview is strictly read-only: it creates no files, directories, locks,
|
|
39
|
+
caches, ownership records, telemetry, or other state. Apply only after reviewing
|
|
40
|
+
the generated command:
|
|
56
41
|
|
|
57
42
|
```bash
|
|
58
|
-
npx -y agentera@next upgrade --
|
|
43
|
+
npx -y agentera@next upgrade --yes --channel development
|
|
59
44
|
```
|
|
60
45
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
identity. Stable-channel v2 behavior remains app-only.
|
|
64
|
-
|
|
65
|
-
Apply can write only resources declared by the lifecycle contract and proven
|
|
66
|
-
Agentera-owned by the append-only ownership journal. Matching names or bytes do
|
|
67
|
-
not establish ownership. User-owned, ambiguous, shadowed, or malformed targets
|
|
68
|
-
remain blocked.
|
|
69
|
-
|
|
70
|
-
For every blocked collision, the exact remediation is: “The destination is not
|
|
71
|
-
ledger-owned; review the collision manually. Agentera will not adopt it by name
|
|
72
|
-
or equality.” The destination remains unchanged until authoritative ownership is
|
|
73
|
-
available.
|
|
74
|
-
|
|
75
|
-
The operation outcomes are:
|
|
76
|
-
|
|
77
|
-
- `applied` — the declared change was published;
|
|
78
|
-
- `noop` — desired state was already exact;
|
|
79
|
-
- `failed` — this operation failed; independent operations may continue;
|
|
80
|
-
- `blocked_unowned` — ownership was not proven;
|
|
81
|
-
- `skipped_dependency` — a prerequisite did not complete;
|
|
82
|
-
- `action_required` — the user or host must perform the step.
|
|
46
|
+
`prime` and `doctor` expose the same app/project classification and shared-skill
|
|
47
|
+
state:
|
|
83
48
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
Secure automatic filesystem publication currently requires Linux
|
|
89
|
-
`/proc/self/fd`. On macOS, Windows, or a Linux environment without that secure
|
|
90
|
-
primitive, preview and diagnosis still work but mutation is returned as
|
|
91
|
-
`action_required`.
|
|
92
|
-
|
|
93
|
-
## Ownership and trust boundary
|
|
94
|
-
|
|
95
|
-
The canonical skill is:
|
|
96
|
-
|
|
97
|
-
```text
|
|
98
|
-
~/.agents/skills/agentera
|
|
49
|
+
```bash
|
|
50
|
+
npx -y agentera@next prime --format json
|
|
51
|
+
npx -y agentera@next doctor --format json
|
|
99
52
|
```
|
|
100
53
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
- runtime installation or self-update;
|
|
105
|
-
- authentication;
|
|
106
|
-
- plugin or hook enablement;
|
|
107
|
-
- trust prompts or organizational policy;
|
|
108
|
-
- user-owned configuration collisions.
|
|
109
|
-
|
|
110
|
-
Those steps are reported with exact remediation and remain user-owned.
|
|
111
|
-
|
|
112
|
-
## Cursor lifecycle
|
|
113
|
-
|
|
114
|
-
Cursor is one runtime identity with two surfaces:
|
|
115
|
-
|
|
116
|
-
| Surface | Support-floor role | Typical source |
|
|
117
|
-
| --- | --- | --- |
|
|
118
|
-
| Agent CLI | required | Cursor CLI binary and canonical shared skill |
|
|
119
|
-
| IDE | conditional | `.cursor-plugin/plugin.json`, `.cursor/hooks.json`, `.cursor/agents/` |
|
|
120
|
-
|
|
121
|
-
An absent IDE does not block a CLI-only installation. Once IDE evidence is
|
|
122
|
-
present, its incomplete or denied mandatory evidence is reported beneath the
|
|
123
|
-
same Cursor identity.
|
|
54
|
+
Retries re-observe the current app/project state. Completed migration work
|
|
55
|
+
converges to no change; interrupted v2 migration continues through the same full
|
|
56
|
+
apply command.
|
|
124
57
|
|
|
125
58
|
## Retired Claude cleanup
|
|
126
59
|
|
|
127
|
-
Claude
|
|
128
|
-
`--runtime`. Its legacy cleanup is a separate explicit selection:
|
|
60
|
+
Claude cleanup is a distinct historical route, not a current-runtime selection:
|
|
129
61
|
|
|
130
62
|
```bash
|
|
131
63
|
npx -y agentera@next upgrade --legacy-cleanup claude --dry-run
|
|
132
64
|
npx -y agentera@next upgrade --legacy-cleanup claude --yes
|
|
133
65
|
```
|
|
134
66
|
|
|
135
|
-
Cleanup is limited to the exact Agentera-owned legacy skill link recorded by
|
|
136
|
-
|
|
67
|
+
Cleanup is limited to the exact Agentera-owned legacy skill link recorded by the
|
|
68
|
+
ownership journal. It never removes Claude projects, transcripts, settings,
|
|
137
69
|
credentials, caches, or other user data. Ambiguous or unowned resources remain
|
|
138
|
-
blocked.
|
|
70
|
+
blocked. Preview is read-only; apply is idempotent and can be retried with the
|
|
71
|
+
same explicit selection.
|
|
139
72
|
|
|
140
73
|
Historical transcript import is independent of cleanup. Default extraction and
|
|
141
74
|
analytics do not read Claude history. Import requires explicit local consent:
|
|
@@ -145,9 +78,9 @@ npx -y agentera@next report refresh --import-source claude
|
|
|
145
78
|
```
|
|
146
79
|
|
|
147
80
|
Imported records carry `historical_import` provenance, have no active runtime
|
|
148
|
-
ID, and remain excluded from default active-
|
|
81
|
+
ID, and remain excluded from default active-source analytics.
|
|
149
82
|
|
|
150
|
-
##
|
|
83
|
+
## Stable v2 line
|
|
151
84
|
|
|
152
85
|
The stable `@latest` channel remains on the supported 2.x line. Preview before
|
|
153
86
|
applying an in-line upgrade:
|
|
@@ -157,65 +90,35 @@ npx -y agentera@latest upgrade --dry-run
|
|
|
157
90
|
npx -y agentera@latest upgrade --yes
|
|
158
91
|
```
|
|
159
92
|
|
|
160
|
-
Use the v3 development migration below only when you explicitly intend to
|
|
161
|
-
|
|
93
|
+
Use the v3 development migration below only when you explicitly intend to leave
|
|
94
|
+
the stable line.
|
|
162
95
|
|
|
163
|
-
## Upgrading v2 to v3 development channel
|
|
96
|
+
## Upgrading v2 to v3 development channel
|
|
164
97
|
|
|
165
|
-
|
|
98
|
+
Recognized marker-absent v2 aggregate state has one supported forward route:
|
|
166
99
|
|
|
167
100
|
```bash
|
|
168
101
|
npx -y agentera@next upgrade --channel development --project "$PWD" --dry-run
|
|
169
102
|
npx -y agentera@next upgrade --channel development --project "$PWD" --yes
|
|
170
103
|
```
|
|
171
104
|
|
|
172
|
-
The
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
Forward migration to v3 is one-way. Returning to the Python 2.x line is not
|
|
178
|
-
supported, and cross-major apply has no rollback, restore, non-Git, or partial
|
|
179
|
-
workflow. If an apply is interrupted, rerun the same full apply command to
|
|
180
|
-
continue forward.
|
|
181
|
-
|
|
182
|
-
## Legacy state and optional Git enrichment
|
|
183
|
-
|
|
184
|
-
Project-state migration and historical Git enrichment are separate local
|
|
185
|
-
operations. Migration does not read Git, contact a remote, or remove its source
|
|
186
|
-
files. Its default inventory and `--dry-run` are read-only; apply requires the
|
|
187
|
-
exact artifact and entry selectors with `--apply --force`:
|
|
188
|
-
|
|
189
|
-
```bash
|
|
190
|
-
npx -y agentera@next state migrate --project "$PWD" --artifact progress --number N --dry-run --format json
|
|
191
|
-
npx -y agentera@next state migrate --project "$PWD" --artifact progress --number N --apply --force --format json
|
|
192
|
-
```
|
|
193
|
-
|
|
194
|
-
Git enrichment is optional. A preview is useful but not required before direct
|
|
195
|
-
apply. Inventory and preview may use the current working directory when
|
|
196
|
-
`--project` is omitted; direct apply must name `--project PATH` explicitly.
|
|
197
|
-
Apply revalidates the selected project, current `HEAD`, allowed-ref
|
|
198
|
-
reachability, candidate provenance and content, and the immutable archive target
|
|
199
|
-
immediately before publication:
|
|
105
|
+
The optional preview is read-only. Before apply, commit or restore the complete
|
|
106
|
+
v2 migration source: every input must be a regular file tracked by Git and
|
|
107
|
+
unchanged at `HEAD`. Apply performs the full project rewiring and entity-state
|
|
108
|
+
cutover, then validates state and representative `prime` startup. Rewiring may
|
|
109
|
+
update recognized v2 project files; it does not install current native resources.
|
|
200
110
|
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
```
|
|
111
|
+
Forward migration is one-way. Returning to the Python 2.x line is unsupported,
|
|
112
|
+
and cross-major apply has no rollback, restore, non-Git, or partial workflow.
|
|
113
|
+
If apply is interrupted, rerun the same full apply command.
|
|
205
114
|
|
|
206
|
-
|
|
207
|
-
16 MiB of Git output. It inspects only `HEAD`, local heads, and tags; remote and
|
|
208
|
-
custom refs and operations are excluded. Returned provenance keeps the commit,
|
|
209
|
-
path, blob ID, stable entry ID, content hash, and reachability so a result can
|
|
210
|
-
be traced without adding commit fields to the archive record.
|
|
115
|
+
## Unsupported legacy state
|
|
211
116
|
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
and
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
converges as a replay. The full command, limits, failure, recovery, and
|
|
218
|
-
traceability contract is `references/artifacts/state-storage-authority.yaml`.
|
|
117
|
+
Pending v1 Markdown state and unknown marker-absent state are not automatic
|
|
118
|
+
mutation inputs. `state migrate`, `state backfill`, projection repair, v1
|
|
119
|
+
conversion, restore, and downgrade are unsupported. The read-only
|
|
120
|
+
`state migrate entities --dry-run` diagnostic may inventory cutover input but
|
|
121
|
+
cannot publish it.
|
|
219
122
|
|
|
220
123
|
## Verification and recovery
|
|
221
124
|
|
|
@@ -227,14 +130,11 @@ npx -y agentera@next prime --format json
|
|
|
227
130
|
```
|
|
228
131
|
|
|
229
132
|
`upgrade --verify` without `--yes` is a read-only doctor and capability-context
|
|
230
|
-
verification. With `--yes`, it runs those checks after
|
|
231
|
-
|
|
232
|
-
For lifecycle partial failure, rerun the same preview and apply selection. Do
|
|
233
|
-
not delete or hand-edit the ownership journal to force adoption.
|
|
133
|
+
verification. With `--yes`, it runs those checks after approved migration.
|
|
134
|
+
Explicit Claude cleanup with `--verify` requires `--yes`.
|
|
234
135
|
|
|
235
136
|
`--force` applies only where the owning migration contract explicitly permits
|
|
236
|
-
replacement. It
|
|
237
|
-
resources and does not approve native or trust actions.
|
|
137
|
+
replacement. It never adopts user-owned resources.
|
|
238
138
|
|
|
239
139
|
## Maintainer verification
|
|
240
140
|
|
|
@@ -244,8 +144,14 @@ Release preparation does not publish, tag, or push:
|
|
|
244
144
|
pnpm -C packages/cli test
|
|
245
145
|
pnpm -C packages/cli run typecheck
|
|
246
146
|
pnpm -C packages/cli build
|
|
247
|
-
node packages/cli/dist/bin/agentera.js check validate
|
|
147
|
+
node packages/cli/dist/bin/agentera.js check validate capability-contract --format json
|
|
248
148
|
node packages/cli/dist/bin/agentera.js check validate release-metadata
|
|
249
|
-
pnpm -C packages/cli run bundle:data
|
|
250
|
-
npm pack --dry-run --json --ignore-scripts
|
|
251
149
|
```
|
|
150
|
+
|
|
151
|
+
## Mutation ownership
|
|
152
|
+
|
|
153
|
+
Upgrade apply holds the required project lock before migration begins. Explicit
|
|
154
|
+
Claude cleanup additionally uses its ownership journal and shared lock. Lock
|
|
155
|
+
creation is atomic, and release succeeds only for the matching ownership token.
|
|
156
|
+
A stale or malformed lock stops the operation; inspect the named lock file,
|
|
157
|
+
remove only that file after confirming no operation owns it, then rerun.
|