agentera 3.0.0-dev.25 → 3.0.0-dev.27
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/LICENSE +201 -0
- package/README.md +29 -23
- package/bundle/CHANGELOG.md +18 -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 +22 -42
- 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/analysis/analytics-boundary-proportional-2026-07-20.yaml +74 -0
- package/bundle/references/analysis/benchmark.md +11 -0
- package/bundle/references/analysis/evidence/analytics-boundary-proportional-2026-07-20/source-focused-1.json.gz +0 -0
- package/bundle/references/analysis/evidence/analytics-boundary-proportional-2026-07-20/source-focused-2.json.gz +0 -0
- package/bundle/references/analysis/evidence/analytics-boundary-proportional-2026-07-20/source-focused-3.json.gz +0 -0
- package/bundle/references/analysis/evidence/migration-pagination-proportional-2026-07-20/source-focused-1.json.gz +0 -0
- package/bundle/references/analysis/evidence/migration-pagination-proportional-2026-07-20/source-focused-2.json.gz +0 -0
- package/bundle/references/analysis/evidence/migration-pagination-proportional-2026-07-20/source-focused-3.json.gz +0 -0
- package/bundle/references/analysis/evidence/verification-baseline-2026-07-20/precommit-cli-route.log.gz +0 -0
- package/bundle/references/analysis/evidence/verification-baseline-2026-07-20/precommit-cli.log.gz +0 -0
- package/bundle/references/analysis/evidence/verification-baseline-2026-07-20/precommit-documentation.log.gz +0 -0
- package/bundle/references/analysis/evidence/verification-baseline-2026-07-20/recompute.mjs +98 -0
- package/bundle/references/analysis/evidence/verification-baseline-2026-07-20/source-1.json.gz +0 -0
- package/bundle/references/analysis/evidence/verification-baseline-2026-07-20/source-2.json.gz +0 -0
- package/bundle/references/analysis/evidence/verification-baseline-2026-07-20/source-3.json.gz +0 -0
- package/bundle/references/analysis/migration-pagination-proportional-2026-07-20.yaml +64 -0
- package/bundle/references/analysis/verification-baseline-2026-07-20.yaml +313 -0
- package/bundle/references/analysis/verification-final-proof-2026-07-21.yaml +340 -0
- package/bundle/references/analysis/verification-policy.yaml +142 -0
- package/bundle/references/analysis/worker-policy-2026-07-21.yaml +207 -0
- package/bundle/references/artifacts/state-storage-authority.yaml +48 -448
- 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 +86 -112
- 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 +3 -1
- package/bundle/skills/agentera/capabilities/orchestrate/schemas/artifacts.yaml +3 -2
- package/bundle/skills/agentera/capabilities/orchestrate/schemas/exit.yaml +1 -1
- package/bundle/skills/agentera/schemas/artifacts/docs.yaml +3 -11
- package/bundle/skills/agentera/schemas/artifacts/plan.yaml +23 -5
- package/dist/analytics/extractCorpus/cli.js.map +1 -1
- package/dist/analytics/extractCorpus/copilotSessions.js.map +1 -1
- package/dist/analytics/extractCorpus/core.js.map +1 -1
- package/dist/analytics/extractCorpus/corpus.js.map +1 -1
- package/dist/analytics/extractCorpus/coverageAudit.js.map +1 -1
- package/dist/analytics/extractCorpus/cursorSessions.js.map +1 -1
- package/dist/analytics/extractCorpus/evidenceTiers.js.map +1 -1
- package/dist/analytics/extractCorpus/extractCorpusParity.js +1 -1
- package/dist/analytics/extractCorpus/extractCorpusParity.js.map +1 -1
- package/dist/analytics/extractCorpus/filesystemSources.js.map +1 -1
- package/dist/analytics/extractCorpus/index.js.map +1 -1
- package/dist/analytics/extractCorpus/jsonlSessions.js.map +1 -1
- package/dist/analytics/extractCorpus/sqliteCaps.js.map +1 -1
- package/dist/analytics/extractCorpus/sqliteSessions.js.map +1 -1
- package/dist/analytics/extractCorpus/tierReader.js.map +1 -1
- package/dist/analytics/extractCorpus.js.map +1 -1
- package/dist/analytics/profileSignals.js.map +1 -1
- package/dist/analytics/usageStats.js.map +1 -1
- package/dist/bin/agentera.js.map +1 -1
- package/dist/capabilities/audit/instructions.js.map +1 -1
- package/dist/capabilities/build/instructions.js.map +1 -1
- package/dist/capabilities/design/instructions.js.map +1 -1
- package/dist/capabilities/discuss/instructions.js.map +1 -1
- package/dist/capabilities/document/instructions.js.map +1 -1
- package/dist/capabilities/index.js.map +1 -1
- package/dist/capabilities/optimize/instructions.js.map +1 -1
- package/dist/capabilities/orchestrate/instructions.js +1 -1
- package/dist/capabilities/orchestrate/instructions.js.map +1 -1
- package/dist/capabilities/plan/instructions.js.map +1 -1
- package/dist/capabilities/profile/instructions.js.map +1 -1
- package/dist/capabilities/research/instructions.js.map +1 -1
- package/dist/capabilities/status/instructions.js.map +1 -1
- package/dist/capabilities/status/startupInstructions.js.map +1 -1
- package/dist/capabilities/vision/instructions.js.map +1 -1
- package/dist/cli/appContext.js.map +1 -1
- package/dist/cli/argvalidate.js.map +1 -1
- package/dist/cli/capabilityContext/benchmark.js.map +1 -1
- package/dist/cli/capabilityContext/bespoke.js +8 -2
- package/dist/cli/capabilityContext/bespoke.js.map +1 -1
- package/dist/cli/capabilityContext/build.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/contract.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/index.js.map +1 -1
- package/dist/cli/capabilityContext/orchestration.js +15 -5
- package/dist/cli/capabilityContext/orchestration.js.map +1 -1
- package/dist/cli/capabilityContext/planState.js +1 -1
- package/dist/cli/capabilityContext/planState.js.map +1 -1
- package/dist/cli/capabilityContext/progress.js.map +1 -1
- package/dist/cli/capabilityContext/shared.js.map +1 -1
- package/dist/cli/capabilityContext/slim.js +16 -3
- package/dist/cli/capabilityContext/slim.js.map +1 -1
- package/dist/cli/capabilityContext/startup.js +4 -1
- package/dist/cli/capabilityContext/startup.js.map +1 -1
- package/dist/cli/capabilityContext/types.js.map +1 -1
- package/dist/cli/capabilityContext.js.map +1 -1
- package/dist/cli/commands/appHome.js.map +1 -1
- package/dist/cli/commands/capability.js.map +1 -1
- package/dist/cli/commands/compact.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/entityMigrate.js.map +1 -1
- package/dist/cli/commands/lint.js.map +1 -1
- package/dist/cli/commands/prime/briefOrientation.js +25 -24
- 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 +76 -24
- package/dist/cli/commands/prime/collectEntityOrientation.js.map +1 -1
- package/dist/cli/commands/prime/collectOrientationState.js +34 -53
- package/dist/cli/commands/prime/collectOrientationState.js.map +1 -1
- package/dist/cli/commands/prime/orientationOutput.js +9 -14
- package/dist/cli/commands/prime/orientationOutput.js.map +1 -1
- package/dist/cli/commands/prime/types.js.map +1 -1
- package/dist/cli/commands/prime/v1Migration.js.map +1 -1
- package/dist/cli/commands/prime.js +43 -25
- 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/report.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/shared.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 +13 -35
- 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/commands/verify.js.map +1 -1
- package/dist/cli/contracts/bundleStatus.js.map +1 -1
- package/dist/cli/contracts/orientationState.js.map +1 -1
- package/dist/cli/dispatch/argvParser.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/commands.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/dispatch/prime.js.map +1 -1
- package/dist/cli/dispatch/shared.js.map +1 -1
- package/dist/cli/dispatch/state.js.map +1 -1
- package/dist/cli/dispatch.js.map +1 -1
- package/dist/cli/errors.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/orientation/corpusCoverage.js.map +1 -1
- package/dist/cli/orientation.js +18 -4
- package/dist/cli/orientation.js.map +1 -1
- package/dist/cli/planArtifacts.js.map +1 -1
- package/dist/cli/planEvidence.js.map +1 -1
- package/dist/cli/planLifecycleState.js.map +1 -1
- package/dist/cli/planTaskIndex.js +12 -0
- package/dist/cli/planTaskIndex.js.map +1 -0
- package/dist/cli/prime-blob.js +1 -1
- package/dist/cli/prime-blob.js.map +1 -1
- package/dist/cli/startupCompletenessContract.js.map +1 -1
- package/dist/cli/stateQuery.js +1 -2
- package/dist/cli/stateQuery.js.map +1 -1
- package/dist/cli/structured.js.map +1 -1
- package/dist/cli/todoMarkdown.js.map +1 -1
- package/dist/cli/todoSeverity.js.map +1 -1
- package/dist/core/atomicWriter.js.map +1 -1
- package/dist/core/difflib.js.map +1 -1
- package/dist/core/envPaths.js.map +1 -1
- package/dist/core/jsonValue.js.map +1 -1
- package/dist/core/paths.js.map +1 -1
- package/dist/core/pyjson.js.map +1 -1
- package/dist/core/skillIdentity.js +24 -0
- package/dist/core/skillIdentity.js.map +1 -0
- package/dist/core/sourceRoot.js.map +1 -1
- package/dist/core/text.js.map +1 -1
- package/dist/core/toml.js.map +1 -1
- package/dist/core/yaml.js.map +1 -1
- package/dist/eval/evalSkills.js.map +1 -1
- package/dist/eval/semanticEval.js.map +1 -1
- package/dist/eval/semanticFixtures.js.map +1 -1
- package/dist/hooks/common.js +1 -1
- package/dist/hooks/common.js.map +1 -1
- package/dist/hooks/compaction/apply.js.map +1 -1
- package/dist/hooks/compaction/dryRun.js.map +1 -1
- package/dist/hooks/compaction/index.js.map +1 -1
- package/dist/hooks/compaction/parse.js.map +1 -1
- package/dist/hooks/compaction/retention.js.map +1 -1
- package/dist/hooks/compaction/status.js +2 -1
- package/dist/hooks/compaction/status.js.map +1 -1
- package/dist/hooks/compaction/types.js.map +1 -1
- package/dist/hooks/cursorPreToolUse.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/agentFacing.js.map +1 -1
- package/dist/hooks/validateArtifact/index.js.map +1 -1
- package/dist/hooks/validateArtifact/markdown.js.map +1 -1
- package/dist/hooks/validateArtifact/runtime.js.map +1 -1
- package/dist/hooks/validateArtifact/schema.js.map +1 -1
- package/dist/hooks/validateArtifact/traversal.js +1 -1
- package/dist/hooks/validateArtifact/traversal.js.map +1 -1
- package/dist/hooks/validateArtifact/violations.js.map +1 -1
- package/dist/migrate/v2HandoffManifest.js.map +1 -1
- package/dist/registries/artifactProtocolIds.js.map +1 -1
- package/dist/registries/artifactRegistry.js +2 -1
- package/dist/registries/artifactRegistry.js.map +1 -1
- package/dist/registries/capabilityContract.js.map +1 -1
- package/dist/registries/evaluatorHandoffContract.js.map +1 -1
- package/dist/registries/evidenceTierContract.js.map +1 -1
- package/dist/registries/packageRegistry.js +57 -231
- package/dist/registries/packageRegistry.js.map +1 -1
- package/dist/registries/triggerLoader.js.map +1 -1
- package/dist/registries/verbosityBudgetContract.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/lifecycleOperations.js.map +1 -1
- package/dist/runtime/lifecycleOwnershipJournal.js.map +1 -1
- package/dist/runtime/lifecyclePublication.js +21 -0
- package/dist/runtime/lifecyclePublication.js.map +1 -1
- package/dist/runtime/lifecycleSnapshot.js.map +1 -1
- package/dist/runtime/retiredRuntimeCleanup.js.map +1 -1
- package/dist/setup/codex/agents.js.map +1 -1
- package/dist/setup/codex/cli.js.map +1 -1
- package/dist/setup/codex/configToml.js.map +1 -1
- package/dist/setup/codex/constants.js.map +1 -1
- package/dist/setup/codex/installRoot.js.map +1 -1
- package/dist/setup/codex/state.js.map +1 -1
- package/dist/setup/codex.js.map +1 -1
- package/dist/setup/opencode.js +20 -12
- package/dist/setup/opencode.js.map +1 -1
- package/dist/setup/opencodeConstants.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/archiveDiscovery.js.map +1 -1
- package/dist/state/archivePublication.js.map +1 -1
- package/dist/state/archiveRecovery.js.map +1 -1
- package/dist/state/archiveReplay.js.map +1 -1
- package/dist/state/decisionEntities.js +7 -4
- package/dist/state/decisionEntities.js.map +1 -1
- package/dist/state/decisionLegacyValidation.js.map +1 -1
- package/dist/state/decisionOverlay.js.map +1 -1
- package/dist/state/decisionRevision.js.map +1 -1
- package/dist/state/decisionRevisionPublication.js.map +1 -1
- package/dist/state/directRetrieval.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/entityCutoverGit.js.map +1 -1
- package/dist/state/entityMigrationPreview.js +3 -3
- package/dist/state/entityMigrationPreview.js.map +1 -1
- package/dist/state/entityPublicationContext.js.map +1 -1
- package/dist/state/entityStorage.js +49 -10
- package/dist/state/entityStorage.js.map +1 -1
- package/dist/state/experimentArchive.js.map +1 -1
- package/dist/state/experimentIdentity.js.map +1 -1
- package/dist/state/experimentRetrieval.js.map +1 -1
- package/dist/state/healthEntities.js +7 -4
- package/dist/state/healthEntities.js.map +1 -1
- package/dist/state/healthEntityValidation.js.map +1 -1
- package/dist/state/healthRepair.js.map +1 -1
- package/dist/state/installRoot.js.map +1 -1
- package/dist/state/legacyEntityCutoverEvidence.js.map +1 -1
- package/dist/state/legacyIdentity.js.map +1 -1
- package/dist/state/listAccounting.js.map +1 -1
- package/dist/state/listClassification.js.map +1 -1
- package/dist/state/listRetrieval.js.map +1 -1
- package/dist/state/objectiveExperimentEntities.js +7 -5
- package/dist/state/objectiveExperimentEntities.js.map +1 -1
- package/dist/state/planEntities.js +60 -12
- package/dist/state/planEntities.js.map +1 -1
- package/dist/state/planIdentity.js.map +1 -1
- package/dist/state/planRetrieval.js.map +1 -1
- package/dist/state/planTaskRetrieval.js.map +1 -1
- package/dist/state/progressEntities.js +4 -2
- package/dist/state/progressEntities.js.map +1 -1
- package/dist/state/projectRoot.js.map +1 -1
- package/dist/state/projectionPolicy.js.map +1 -1
- package/dist/state/retrievalAuthority.js.map +1 -1
- package/dist/state/safeProjectFile.js.map +1 -1
- package/dist/state/startupAnalysis/benchmark.js.map +1 -1
- package/dist/state/startupAnalysis/contract.js.map +1 -1
- package/dist/state/startupAnalysis/helpers.js.map +1 -1
- package/dist/state/startupAnalysis/index.js.map +1 -1
- package/dist/state/startupAnalysis/metrics.js.map +1 -1
- package/dist/state/startupAnalysis/records.js.map +1 -1
- package/dist/state/startupAnalysis/report.js.map +1 -1
- package/dist/state/startupAnalysis/threshold.js.map +1 -1
- package/dist/state/startupAnalysis.js.map +1 -1
- package/dist/state/startupProjection.js +5 -3
- 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/todoDocsEntityValidation.js.map +1 -1
- package/dist/state/write/assign.js.map +1 -1
- package/dist/state/write/candidateMutation.js.map +1 -1
- package/dist/state/write/errors.js.map +1 -1
- package/dist/state/write/experimentPublication.js.map +1 -1
- package/dist/state/write/explain.js +10 -12
- package/dist/state/write/explain.js.map +1 -1
- package/dist/state/write/fields.js.map +1 -1
- package/dist/state/write/helpers.js.map +1 -1
- package/dist/state/write/index.js.map +1 -1
- package/dist/state/write/input.js.map +1 -1
- package/dist/state/write/lock.js.map +1 -1
- package/dist/state/write/mutation.js.map +1 -1
- package/dist/state/write/operations.js +6 -0
- package/dist/state/write/operations.js.map +1 -1
- package/dist/state/write/planEvaluation.js +19 -5
- package/dist/state/write/planEvaluation.js.map +1 -1
- package/dist/state/write/planPublication.js +7 -0
- package/dist/state/write/planPublication.js.map +1 -1
- package/dist/state/write/serialize.js.map +1 -1
- package/dist/state/write/transaction.js +23 -532
- package/dist/state/write/transaction.js.map +1 -1
- package/dist/state/write/validate.js.map +1 -1
- package/dist/upgrade/appContentRefresh.js +54 -44
- package/dist/upgrade/appContentRefresh.js.map +1 -1
- package/dist/upgrade/appModel.js.map +1 -1
- package/dist/upgrade/atomicWriter.js.map +1 -1
- package/dist/upgrade/bundleEvidence.js.map +1 -1
- package/dist/upgrade/channels.js.map +1 -1
- package/dist/upgrade/coexistenceProbe.js.map +1 -1
- package/dist/upgrade/compatibility.js.map +1 -1
- package/dist/upgrade/doctor.js +5 -1
- package/dist/upgrade/doctor.js.map +1 -1
- package/dist/upgrade/doctorClassifier.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/nextMajorDoctor.js.map +1 -1
- package/dist/upgrade/npxPlatformStatus.js.map +1 -1
- 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/upgrade/v3CapabilitySurface.js.map +1 -1
- package/dist/upgrade/versionResolution.js.map +1 -1
- package/dist/validate/appHomeContract.js +0 -4
- package/dist/validate/appHomeContract.js.map +1 -1
- package/dist/validate/capability.js.map +1 -1
- package/dist/validate/crossCapability.js.map +1 -1
- package/dist/validate/selfAudit.js.map +1 -1
- package/dist/validate/vocabularyAuthority.js.map +1 -1
- package/package.json +23 -8
- 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
|
@@ -16,13 +16,11 @@ authority:
|
|
|
16
16
|
implementation_boundary: >-
|
|
17
17
|
Shared entity storage plus the progress, decisions, health, plan, objective,
|
|
18
18
|
experiment, TODO-item, and documentation-inventory family writers and retrieval,
|
|
19
|
-
plus one-way
|
|
19
|
+
plus one-way forward import, are implemented but activate entity authority only
|
|
20
20
|
from the durable cutover marker. The preserved
|
|
21
21
|
singleton families remain legacy files. The
|
|
22
|
-
current numbered archive and retrieval groups remain
|
|
23
|
-
|
|
24
|
-
surface declared by api.backfill remains a separate legacy repair operation
|
|
25
|
-
and is not the Decision 94 cutover.
|
|
22
|
+
current numbered archive and retrieval groups remain migration input while
|
|
23
|
+
that marker is absent; no independent legacy repair mutation remains.
|
|
26
24
|
|
|
27
25
|
entity_target:
|
|
28
26
|
status: progress_decisions_health_plan_objective_experiment_todo_and_docs_implemented_other_families_declared
|
|
@@ -300,7 +298,7 @@ entity_target:
|
|
|
300
298
|
- boundary: plan_task
|
|
301
299
|
artifact: plan
|
|
302
300
|
independently_mutable: true
|
|
303
|
-
relationships: [plan, depends_on_tasks]
|
|
301
|
+
relationships: [plan, depends_on_tasks, superseded_by]
|
|
304
302
|
implementation: implemented
|
|
305
303
|
publication: replace_owned_entity
|
|
306
304
|
record:
|
|
@@ -416,6 +414,10 @@ entity_target:
|
|
|
416
414
|
field: depends_on
|
|
417
415
|
target: plan_task
|
|
418
416
|
cardinality: zero_or_many_same_plan
|
|
417
|
+
- source: plan_task
|
|
418
|
+
field: superseded_by
|
|
419
|
+
target: plan_task
|
|
420
|
+
cardinality: zero_or_many_same_plan
|
|
419
421
|
- source: experiment
|
|
420
422
|
field: objective
|
|
421
423
|
target: objective
|
|
@@ -452,7 +454,7 @@ entity_target:
|
|
|
452
454
|
- immutable historical prose and evidence, except structured references explicitly declared for rewrite
|
|
453
455
|
- genuinely singleton editorial artifacts added by an authority amendment
|
|
454
456
|
measurement_contract:
|
|
455
|
-
status:
|
|
457
|
+
status: implemented
|
|
456
458
|
environment: Linux, Node.js 22 or newer, one cold CLI process per sample
|
|
457
459
|
fixtures:
|
|
458
460
|
small: 100 valid entities distributed across every declared entity boundary
|
|
@@ -491,7 +493,7 @@ entity_target:
|
|
|
491
493
|
never truncate bytes, omit required identity, or fabricate detail.
|
|
492
494
|
|
|
493
495
|
entity_migration:
|
|
494
|
-
status:
|
|
496
|
+
status: one_way_forward_import_implemented
|
|
495
497
|
decision: 94
|
|
496
498
|
kind: single_full_upgrade_cutover
|
|
497
499
|
cutover_marker:
|
|
@@ -504,6 +506,12 @@ entity_migration:
|
|
|
504
506
|
invalid_behavior: fail_without_fallback
|
|
505
507
|
detection: read_only
|
|
506
508
|
publication_owner: development_channel_v2_to_v3_upgrade
|
|
509
|
+
selection: >-
|
|
510
|
+
Project state and CLI installation state are independent dimensions. A v3
|
|
511
|
+
CLI selects this cutover for recognized marker-absent v2 aggregate state
|
|
512
|
+
whether the CLI runs from a self-contained npm package or a source
|
|
513
|
+
checkout. Pending v1 Markdown state and marker-absent state with no
|
|
514
|
+
recognized v2 entity input are rejected with manual recovery instructions.
|
|
507
515
|
invocation:
|
|
508
516
|
explicit_apply: full_upgrade_yes_only
|
|
509
517
|
dry_run: optional_read_only_preview
|
|
@@ -515,9 +523,10 @@ entity_migration:
|
|
|
515
523
|
apply_command: >-
|
|
516
524
|
npx -y agentera@next upgrade --channel development --project "$PWD" --yes
|
|
517
525
|
apply_boundary: >-
|
|
518
|
-
Full upgrade serializes through the project writer lock,
|
|
519
|
-
|
|
520
|
-
|
|
526
|
+
Full upgrade serializes through the project writer lock, validates the
|
|
527
|
+
deterministic conversion, writes each missing canonical entity or accepts
|
|
528
|
+
an exact existing match, validates the complete graph, and writes the
|
|
529
|
+
authority marker last. There is no direct
|
|
521
530
|
entity apply, public operation ID, resume, rollback, or cross-major restore.
|
|
522
531
|
git_preflight:
|
|
523
532
|
required: true
|
|
@@ -542,20 +551,21 @@ entity_migration:
|
|
|
542
551
|
or additional cutover consent. Any --only apply is rejected at this
|
|
543
552
|
cross-major boundary.
|
|
544
553
|
interruption: >-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
missing targets from recomputed staging, validates the graph, and finishes
|
|
550
|
-
the marker forward. It never deletes canonical entities.
|
|
554
|
+
A rerun recomputes the deterministic conversion from unchanged Git-bound
|
|
555
|
+
source, accepts existing canonical targets only when their bytes match,
|
|
556
|
+
writes the first missing target, validates the complete graph, and finishes
|
|
557
|
+
the marker forward. It never deletes or replaces canonical entities.
|
|
551
558
|
completed: >-
|
|
552
559
|
A valid entity marker makes legacy authority permanently inactive.
|
|
553
560
|
Repeated upgrade validates current entity state and reports a no-op;
|
|
554
561
|
normal entity writes may evolve records without reopening cutover.
|
|
555
562
|
preflight: >-
|
|
556
563
|
Upgrade plans artifact normalization, entity readiness, runtime work,
|
|
557
|
-
and cleanup read-only before any selected apply function runs.
|
|
558
|
-
blocker prevents
|
|
564
|
+
and cleanup read-only before any selected apply function runs. A detect,
|
|
565
|
+
artifact, or entity blocker prevents entity publication and activation.
|
|
566
|
+
Runtime or cleanup blockers do not prevent valid entity activation; their
|
|
567
|
+
resources remain untouched and are reported after the marker as
|
|
568
|
+
action-required work.
|
|
559
569
|
phase_filters: >-
|
|
560
570
|
Every --only apply is invalid during a v2-to-v3 boundary. Read-only
|
|
561
571
|
filtered preview may remain available.
|
|
@@ -568,7 +578,7 @@ entity_migration:
|
|
|
568
578
|
Deterministic legacy plan lifecycle normalization is part of entity
|
|
569
579
|
projection during cutover. Upgrade retains the original legacy YAML as
|
|
570
580
|
source and recovery evidence instead of rewriting it first.
|
|
571
|
-
empty_state:
|
|
581
|
+
empty_state: unsupported_unknown_source_with_manual_handoff
|
|
572
582
|
existing_entity_state: validate_then_no_op
|
|
573
583
|
source_scope:
|
|
574
584
|
included_entities: entity_target.entities
|
|
@@ -614,8 +624,7 @@ entity_migration:
|
|
|
614
624
|
domain-separated SHA-256 of the complete source fingerprint and canonical
|
|
615
625
|
source key. This is allocation of a new opaque target candidate, not
|
|
616
626
|
reconstruction of a missing source ID. A collision is a blocker. Apply
|
|
617
|
-
|
|
618
|
-
bounded forward manifest before canonical publication.
|
|
627
|
+
preserves the deterministic mapping in each canonical target path.
|
|
619
628
|
preview_digest: >-
|
|
620
629
|
SHA-256 over canonical JSON of the complete unbounded inventory, proposed
|
|
621
630
|
mapping, authority-validated final envelope byte SHA-256 values,
|
|
@@ -626,7 +635,7 @@ entity_migration:
|
|
|
626
635
|
Before preview can be ready or produce an approvable digest, every proposed
|
|
627
636
|
final envelope, record, public field vocabulary, and relationship graph is
|
|
628
637
|
validated through the same authority-backed canonical target validator used
|
|
629
|
-
|
|
638
|
+
defensively by upgrade apply and forward retry. A target failure is a corrupt blocker tied
|
|
630
639
|
to its source identity and recovery action; preserved nonentity residues are
|
|
631
640
|
excluded from target validation and publication.
|
|
632
641
|
output:
|
|
@@ -656,9 +665,9 @@ entity_migration:
|
|
|
656
665
|
open no writer or upgrade lock and create no directory, temporary file,
|
|
657
666
|
mapping, snapshot, journal, cache, or state file.
|
|
658
667
|
binding: >-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
668
|
+
Before any apply effect, recompute the complete preview and require its
|
|
669
|
+
source fingerprint and preview digest to match the Git-pinned preparation.
|
|
670
|
+
A mismatch refuses every selected effect.
|
|
662
671
|
source_outcomes:
|
|
663
672
|
valid_full:
|
|
664
673
|
outcome: ready
|
|
@@ -692,30 +701,18 @@ entity_migration:
|
|
|
692
701
|
- silent dropping, deduplication, or winner selection
|
|
693
702
|
partial_cutover_success: forbidden
|
|
694
703
|
forward_state:
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
source_fields: [head, source_fingerprint, preview_digest]
|
|
701
|
-
target_fields: [path, sha256]
|
|
702
|
-
marker_fields: [path, sha256]
|
|
703
|
-
phases: [publishing_entities, entities_published]
|
|
704
|
-
forbidden_fields:
|
|
705
|
-
- operation_id
|
|
706
|
-
- migration_id
|
|
707
|
-
- snapshots
|
|
708
|
-
- source_bytes
|
|
709
|
-
- inode_receipts
|
|
710
|
-
- rollback_state
|
|
711
|
-
publication_order: staging_then_forward_manifest_then_entities_then_marker
|
|
704
|
+
persisted_recovery_state: none
|
|
705
|
+
publication_order: exact_or_missing_entities_then_graph_validation_then_marker
|
|
706
|
+
retry_rule: accept_exact_targets_and_continue_at_first_missing_path
|
|
707
|
+
divergent_target: stop_without_replacement_and_name_first_unresolved_path
|
|
708
|
+
forbidden_fields: [operation_id, migration_id, snapshots, source_bytes, inode_receipts, rollback_state]
|
|
712
709
|
historical_evidence: >-
|
|
713
710
|
Already committed .agentera/migrations content is inert and remains
|
|
714
711
|
byte-for-byte untouched. Read-only legacy manifest parsing is retained only
|
|
715
712
|
for public validation of entity markers created by the former cutover.
|
|
716
713
|
fault_test_hook: >-
|
|
717
714
|
Tests may set NODE_ENV=test and
|
|
718
|
-
AGENTERA_FAULT_INJECT_ENTITY_MIGRATION_AFTER_PHASE to one declared
|
|
715
|
+
AGENTERA_FAULT_INJECT_ENTITY_MIGRATION_AFTER_PHASE to one declared publication
|
|
719
716
|
phase. Other environments ignore the variable.
|
|
720
717
|
lifecycle:
|
|
721
718
|
- phase: inventory
|
|
@@ -727,12 +724,9 @@ entity_migration:
|
|
|
727
724
|
- phase: git_preflight
|
|
728
725
|
mutates: false
|
|
729
726
|
exit: project root, HEAD, clean checkout, source bytes, types, and modes match
|
|
730
|
-
- phase: stage_entities
|
|
731
|
-
mutates: true
|
|
732
|
-
exit: deterministic entity bytes and graph validate under the fixed staging path
|
|
733
727
|
- phase: publishing_entities
|
|
734
728
|
mutates: true
|
|
735
|
-
exit:
|
|
729
|
+
exit: every canonical target is an exact match or is published once
|
|
736
730
|
- phase: entities_published
|
|
737
731
|
mutates: false
|
|
738
732
|
exit: canonical source-to-target parity, uniqueness, ownership, relationships, and budgets pass
|
|
@@ -1623,406 +1617,12 @@ api:
|
|
|
1623
1617
|
deterministic: >-
|
|
1624
1618
|
With unchanged local files and reachable refs, repeated checks emit the
|
|
1625
1619
|
same ordered result and do not create state or contact a remote.
|
|
1626
|
-
|
|
1627
|
-
command:
|
|
1628
|
-
|
|
1629
|
-
|
|
1630
|
-
|
|
1631
|
-
|
|
1632
|
-
default_limit: 100
|
|
1633
|
-
maximum_limit: 100
|
|
1634
|
-
maximum_commits: 500
|
|
1635
|
-
maximum_history_bytes: 16777216
|
|
1636
|
-
supported_artifacts: [progress, decisions, health]
|
|
1637
|
-
reachable_refs: [HEAD, refs/heads, refs/tags]
|
|
1638
|
-
excluded_refs: [refs/remotes, custom_refs]
|
|
1639
|
-
apply_requires: [--apply, --force, --project PATH, --artifact ARTIFACT, --number N]
|
|
1640
|
-
status_values: [complete, degraded, blocked, unavailable]
|
|
1641
|
-
response:
|
|
1642
|
-
required_fields: [command, mode, status, project, read_only, remote_contact, head, scan, counts, active_projections_unchanged, active_projection_hashes, omitted, omitted_count, omission_reason, continuation, entries, diagnostics, source_contract]
|
|
1643
|
-
entry_fields: [entry_id, artifact_id, entry_number, commit, path, blob_id, content_hash, ambiguity_reason, eligible, reachable, provenance, operation, refusal]
|
|
1644
|
-
modes:
|
|
1645
|
-
inventory: >-
|
|
1646
|
-
The default read-only mode reports up to maximum_limit final rows after
|
|
1647
|
-
combining reachable and rewritten-history occurrences. Omitted rows
|
|
1648
|
-
carry explicit omission metadata; returned rows include commit, path,
|
|
1649
|
-
blob identity, stable entry ID, canonical content hash, and an explicit
|
|
1650
|
-
ambiguity reason.
|
|
1651
|
-
preview: >-
|
|
1652
|
-
--dry-run is read-only and shows proposed immutable archive bytes only
|
|
1653
|
-
for a returned exact unique candidate, together with every matching
|
|
1654
|
-
provenance.
|
|
1655
|
-
apply: >-
|
|
1656
|
-
--apply --force is the only mutation mode. It requires one project,
|
|
1657
|
-
artifact, and entry number. A prior --dry-run is optional. Apply
|
|
1658
|
-
independently revalidates the selected project, current HEAD, allowed
|
|
1659
|
-
ref reachability, candidate path/blob/content, and immutable archive
|
|
1660
|
-
target immediately before publication, and never overwrites conflicts.
|
|
1661
|
-
ambiguity_reasons:
|
|
1662
|
-
- none
|
|
1663
|
-
- conflicting_versions
|
|
1664
|
-
- shallow_history
|
|
1665
|
-
- history_rewritten
|
|
1666
|
-
- missing_history
|
|
1667
|
-
- corrupt_history
|
|
1668
|
-
- changed_head
|
|
1669
|
-
- scan_bounded
|
|
1670
|
-
- git_unavailable
|
|
1671
|
-
- immutable_conflict
|
|
1672
|
-
- candidate_changed
|
|
1673
|
-
- no_matching_pin
|
|
1674
|
-
guarantees:
|
|
1675
|
-
read_only_inventory_and_preview: true
|
|
1676
|
-
apply_requires_force: true
|
|
1677
|
-
preview_optional: true
|
|
1678
|
-
apply_revalidation: >-
|
|
1679
|
-
Apply repeats project, HEAD, allowed-ref reachability, candidate
|
|
1680
|
-
provenance/content, and immutable-target checks immediately before
|
|
1681
|
-
publication; a failed check preserves active projections and archives.
|
|
1682
|
-
remote_contact: forbidden
|
|
1683
|
-
custom_refs: forbidden
|
|
1684
|
-
commit_fields_in_archive_records: forbidden
|
|
1685
|
-
projection_writes: forbidden
|
|
1686
|
-
immutable_conflicts: refuse_without_overwrite
|
|
1687
|
-
retry: identical_publication_is_idempotent
|
|
1688
|
-
failure_projection_rule: active_projections_remain_byte_identical
|
|
1689
|
-
omission:
|
|
1690
|
-
fields: [omitted, omitted_count, omission_reason, continuation]
|
|
1691
|
-
complete_reason: none
|
|
1692
|
-
bounded_reason: result_limit
|
|
1693
|
-
continuation: >-
|
|
1694
|
-
No cursor is issued. Use --artifact ARTIFACT --number N to retrieve an
|
|
1695
|
-
omitted entry because --limit cannot exceed maximum_limit (100).
|
|
1696
|
-
traceability:
|
|
1697
|
-
provenance_fields: [commit, path, blob_id, entry_id, content_hash, reachable]
|
|
1698
|
-
archive_record_forbids: [commit, commit_hash, git_commit, git_ref]
|
|
1699
|
-
recovery: >-
|
|
1700
|
-
Resolve the reported ambiguity, unavailable Git state, changed candidate,
|
|
1701
|
-
or immutable conflict and retry the same exact selectors. A refused
|
|
1702
|
-
operation leaves active projections and existing archives unchanged;
|
|
1703
|
-
identical publication is an idempotent replay.
|
|
1704
|
-
migrate:
|
|
1705
|
-
namespace: agentera state migrate
|
|
1706
|
-
command: >-
|
|
1707
|
-
agentera state migrate [--project PATH] [--artifact ARTIFACT]
|
|
1708
|
-
[--number N] [--path PATH] [--limit N]
|
|
1709
|
-
[--dry-run|--apply --force] --format {text,json,yaml}
|
|
1710
|
-
purpose: >-
|
|
1711
|
-
Inventory bounded, project-local legacy state and define the only
|
|
1712
|
-
authority for a later non-Git migration apply. This surface does not
|
|
1713
|
-
infer missing records, contact Git, contact a remote, or remove legacy
|
|
1714
|
-
source files.
|
|
1715
|
-
implementation_boundary: >-
|
|
1716
|
-
The runtime owns bounded, project-local candidate inventory and the
|
|
1717
|
-
explicit archive, backup, projection, and mutation flow described here.
|
|
1718
|
-
Inventory never reads Git or writes archives, backups, or projections;
|
|
1719
|
-
migration remains independent of the optional Git backfill surface.
|
|
1720
|
-
formats: [text, json, yaml]
|
|
1721
|
-
default_limit: 20
|
|
1722
|
-
maximum_limit: 100
|
|
1723
|
-
supported_artifacts: [progress, decisions, health]
|
|
1724
|
-
selectors:
|
|
1725
|
-
project:
|
|
1726
|
-
flag: --project PATH
|
|
1727
|
-
default: current_working_directory
|
|
1728
|
-
resolution: >-
|
|
1729
|
-
Resolve the selected directory to a real project root before any
|
|
1730
|
-
candidate is considered. The project root is selected explicitly or
|
|
1731
|
-
is the caller's current working directory; AGENTERA_HOME, profile
|
|
1732
|
-
paths, docs.yaml overrides, and Git worktrees do not replace it.
|
|
1733
|
-
artifact:
|
|
1734
|
-
flag: --artifact ARTIFACT
|
|
1735
|
-
required_for_apply: true
|
|
1736
|
-
valid_values: [progress, decisions, health]
|
|
1737
|
-
number:
|
|
1738
|
-
flag: --number N
|
|
1739
|
-
pattern: '^[1-9][0-9]*$'
|
|
1740
|
-
required_with: --artifact
|
|
1741
|
-
meaning: exact positive legacy entry number; never a positional offset
|
|
1742
|
-
path:
|
|
1743
|
-
flag: --path PATH
|
|
1744
|
-
pattern: '^[A-Za-z0-9][A-Za-z0-9._-]{0,63}\.(md|yaml|yml)$'
|
|
1745
|
-
relative_to: selected_project_root
|
|
1746
|
-
required_for_custom_apply: true
|
|
1747
|
-
meaning: exact candidate path pin; inventory may omit it to enumerate candidates
|
|
1748
|
-
limit:
|
|
1749
|
-
flag: --limit N
|
|
1750
|
-
default: 20
|
|
1751
|
-
minimum: 1
|
|
1752
|
-
maximum: 100
|
|
1753
|
-
meaning: maximum returned candidate summaries, not a scan escape hatch
|
|
1754
|
-
format:
|
|
1755
|
-
flag: --format FORMAT
|
|
1756
|
-
valid_values: [text, json, yaml]
|
|
1757
|
-
modes:
|
|
1758
|
-
inventory:
|
|
1759
|
-
selector: default when neither --dry-run nor --apply is present
|
|
1760
|
-
read_only: true
|
|
1761
|
-
writes: forbidden
|
|
1762
|
-
preview:
|
|
1763
|
-
selector: --dry-run
|
|
1764
|
-
read_only: true
|
|
1765
|
-
writes: forbidden
|
|
1766
|
-
output: exact proposed archive, backup, and projection operations only for addressable candidates
|
|
1767
|
-
apply:
|
|
1768
|
-
selector: --apply --force
|
|
1769
|
-
read_only: false
|
|
1770
|
-
mutation_intent: explicit_apply_and_force
|
|
1771
|
-
selectors_required: [--artifact, --number]
|
|
1772
|
-
mutation: >-
|
|
1773
|
-
The runtime publishes only after revalidating the selected candidate,
|
|
1774
|
-
project boundary, backup identity, and immutable archive identity.
|
|
1775
|
-
invalid_combinations:
|
|
1776
|
-
- flags: [--apply, --dry-run]
|
|
1777
|
-
failure_class: invalid_selector
|
|
1778
|
-
message: --apply and --dry-run are mutually exclusive
|
|
1779
|
-
- flags: [--apply]
|
|
1780
|
-
requires: --force
|
|
1781
|
-
failure_class: invalid_selector
|
|
1782
|
-
message: --apply requires explicit --force intent
|
|
1783
|
-
- flags: [--force]
|
|
1784
|
-
requires: --apply
|
|
1785
|
-
failure_class: invalid_selector
|
|
1786
|
-
message: --force requires --apply
|
|
1787
|
-
inventory:
|
|
1788
|
-
project_local: true
|
|
1789
|
-
bounded_scan:
|
|
1790
|
-
roots:
|
|
1791
|
-
- path: .
|
|
1792
|
-
maximum_depth: 1
|
|
1793
|
-
- path: .agentera
|
|
1794
|
-
maximum_depth: 1
|
|
1795
|
-
excluded_relative_paths:
|
|
1796
|
-
- .git
|
|
1797
|
-
- .agentera/archive
|
|
1798
|
-
- .agentera/overlays
|
|
1799
|
-
- .agentera/migration-backups
|
|
1800
|
-
maximum_candidate_files: 256
|
|
1801
|
-
maximum_file_bytes: 1048576
|
|
1802
|
-
maximum_total_bytes: 16777216
|
|
1803
|
-
ordering: normalized_relative_path_ascending
|
|
1804
|
-
candidate_rule: >-
|
|
1805
|
-
A candidate is a regular, non-symlink file directly under one declared
|
|
1806
|
-
scan root whose basename is ASCII and matches
|
|
1807
|
-
^[A-Za-z0-9][A-Za-z0-9._-]{0,63}\.(md|yaml|yml)$. Fixed legacy names
|
|
1808
|
-
are recognized first; every other accepted name is a custom candidate
|
|
1809
|
-
and remains project-local.
|
|
1810
|
-
fixed_names:
|
|
1811
|
-
- path: .agentera/PROGRESS.md
|
|
1812
|
-
artifact: progress
|
|
1813
|
-
- path: .agentera/DECISIONS.md
|
|
1814
|
-
artifact: decisions
|
|
1815
|
-
- path: .agentera/HEALTH.md
|
|
1816
|
-
artifact: health
|
|
1817
|
-
custom_name_rule: >-
|
|
1818
|
-
Custom names are discovered only within the declared roots and are
|
|
1819
|
-
never mapped from their basename alone. A custom candidate is
|
|
1820
|
-
addressable only when --path pins it, --artifact identifies the
|
|
1821
|
-
numbered artifact, and parsing yields exactly one supported stable
|
|
1822
|
-
identity for the requested --number. A candidate with zero, multiple,
|
|
1823
|
-
conflicting, or unsupported identities is inventory-visible but not
|
|
1824
|
-
apply-eligible.
|
|
1825
|
-
deterministic_rejections:
|
|
1826
|
-
unsafe_path: absolute paths, traversal segments, encoded traversal, URI paths, or symlink components
|
|
1827
|
-
escaping_path: realpath is outside the selected project root
|
|
1828
|
-
ambiguous_candidate: one candidate yields multiple artifact or entry identities, or identities conflict
|
|
1829
|
-
unsupported_candidate: unsupported extension, non-regular file, invalid encoding, or unsupported artifact shape
|
|
1830
|
-
scan_bounded: candidate or byte limits are exceeded; omitted candidates are reported, never silently dropped
|
|
1831
|
-
project_boundary:
|
|
1832
|
-
selected_root: resolved_realpath_of_project_selector
|
|
1833
|
-
candidate_rule: >-
|
|
1834
|
-
The candidate realpath and every existing parent must remain strictly
|
|
1835
|
-
beneath selected_root. The project root itself is not a candidate.
|
|
1836
|
-
reject: [absolute_candidate_path, traversal, encoded_traversal, uri_path, symlink_escape, outside_project]
|
|
1837
|
-
docs_mapping: forbidden
|
|
1838
|
-
remote_access: forbidden
|
|
1839
|
-
compatibility_window:
|
|
1840
|
-
name: v2_to_v3_local_state
|
|
1841
|
-
scope: numbered_progress_decisions_health_only
|
|
1842
|
-
supported_sources: [legacy_markdown, legacy_yaml, current_yaml_projection]
|
|
1843
|
-
classifications: [complete, degraded, blocked, unsupported]
|
|
1844
|
-
cases:
|
|
1845
|
-
new:
|
|
1846
|
-
classification: complete
|
|
1847
|
-
behavior: preserve current archive and projection authority
|
|
1848
|
-
legacy_full:
|
|
1849
|
-
classification: degraded
|
|
1850
|
-
behavior: archive exact parsed records and retain source provenance
|
|
1851
|
-
legacy_summary:
|
|
1852
|
-
classification: degraded
|
|
1853
|
-
behavior: preserve summary-only detail and never reconstruct absent fields
|
|
1854
|
-
non_git:
|
|
1855
|
-
classification: complete
|
|
1856
|
-
behavior: local inventory and publication do not require Git
|
|
1857
|
-
ambiguous:
|
|
1858
|
-
classification: blocked
|
|
1859
|
-
behavior: never choose between candidates; preserve all diagnostics
|
|
1860
|
-
corrupt:
|
|
1861
|
-
classification: blocked
|
|
1862
|
-
behavior: preserve source bytes and do not archive or project invalid records
|
|
1863
|
-
unsupported:
|
|
1864
|
-
classification: unsupported
|
|
1865
|
-
behavior: report a deterministic candidate diagnostic without mutation
|
|
1866
|
-
no_reconstruction: >-
|
|
1867
|
-
Missing, ambiguous, compacted, summary-only, and satisfaction-incomplete
|
|
1868
|
-
state remains explicitly classified. No fields, identity, satisfaction,
|
|
1869
|
-
provenance, or history are inferred from names, summaries, Git, or
|
|
1870
|
-
profile state. Decision 53 remains governed by overlays.decision_53_rules.
|
|
1871
|
-
backups:
|
|
1872
|
-
required_for_apply: true
|
|
1873
|
-
project_local: true
|
|
1874
|
-
root: .agentera/migration-backups
|
|
1875
|
-
path_template: .agentera/migration-backups/<sha256-relative-source>.bak
|
|
1876
|
-
bytes: exact_source_bytes_before_projection
|
|
1877
|
-
identity: sha256(relative_source_path + NUL + source_bytes)
|
|
1878
|
-
publication: exclusive_immutable_file
|
|
1879
|
-
existing_backup: >-
|
|
1880
|
-
An identical backup is an idempotent replay. Different bytes at the
|
|
1881
|
-
same backup identity are backup_conflict and block without overwrite.
|
|
1882
|
-
cleanup: forbidden
|
|
1883
|
-
required_before_projection: true
|
|
1884
|
-
publication:
|
|
1885
|
-
order:
|
|
1886
|
-
- validate_candidate_and_selector
|
|
1887
|
-
- publish_immutable_archive_record
|
|
1888
|
-
- publish_immutable_backup
|
|
1889
|
-
- publish_current_projection
|
|
1890
|
-
archive_before_projection: true
|
|
1891
|
-
archive_immutability: storage.archive.mutation_policy
|
|
1892
|
-
projection_failure: >-
|
|
1893
|
-
Leave archive, backup, and the pre-existing projection bytes unchanged
|
|
1894
|
-
except for successfully published immutable artifacts; retry must replay
|
|
1895
|
-
identical artifacts rather than restart or synthesize a new identity.
|
|
1896
|
-
monotonic_states: [inventory, previewed, archive_published, backup_published, projection_published]
|
|
1897
|
-
retry: >-
|
|
1898
|
-
Repeating the same project, selector, source bytes, and canonical record
|
|
1899
|
-
is an idempotent replay. The same stable identity with different bytes
|
|
1900
|
-
is immutable_conflict; no existing archive, backup, or projection bytes
|
|
1901
|
-
may be overwritten.
|
|
1902
|
-
git:
|
|
1903
|
-
required: false
|
|
1904
|
-
reads: forbidden
|
|
1905
|
-
remote_contact: forbidden
|
|
1906
|
-
completion_independent: true
|
|
1907
|
-
provenance: local_source_path_and_content_hash_only
|
|
1908
|
-
result:
|
|
1909
|
-
schema_version: agentera.stateMigrationResult.v1
|
|
1910
|
-
statuses: [complete, degraded, blocked, unavailable]
|
|
1911
|
-
required_fields: [schemaVersion, command, status, mode, project, read_only, mutation_intent, mutation_performed, remote_contact, inventory_performed, entries, counts, diagnostics, source_contract, omitted, omitted_count, omission_reason, retrieval]
|
|
1912
|
-
entry_fields: [candidate_id, path, artifact_id, entry_number, classification, detail_availability, compatibility, source, addressable, size_bytes, rejection, provenance]
|
|
1913
|
-
count_fields: [physical, addressable, addressable_ids, unaddressable, ambiguous, mirrored, duplicate, conflict, omitted]
|
|
1914
|
-
count_rules:
|
|
1915
|
-
physical:
|
|
1916
|
-
source: all_candidates
|
|
1917
|
-
operation: count
|
|
1918
|
-
addressable:
|
|
1919
|
-
source: visible_entries
|
|
1920
|
-
operation: count
|
|
1921
|
-
predicates: [{field: addressable, equals: true}]
|
|
1922
|
-
addressable_ids:
|
|
1923
|
-
source: visible_entries
|
|
1924
|
-
operation: distinct
|
|
1925
|
-
field: candidate_id
|
|
1926
|
-
unaddressable:
|
|
1927
|
-
source: visible_entries
|
|
1928
|
-
operation: count
|
|
1929
|
-
predicates:
|
|
1930
|
-
- {field: addressable, equals: false}
|
|
1931
|
-
- {field: classification, not_equals: ambiguous}
|
|
1932
|
-
ambiguous:
|
|
1933
|
-
source: visible_entries
|
|
1934
|
-
operation: count
|
|
1935
|
-
predicates: [{field: classification, equals: ambiguous}]
|
|
1936
|
-
mirrored:
|
|
1937
|
-
source: visible_entries
|
|
1938
|
-
operation: count
|
|
1939
|
-
predicates: [{field: classification, equals: mirrored}]
|
|
1940
|
-
duplicate:
|
|
1941
|
-
source: visible_entries
|
|
1942
|
-
operation: count
|
|
1943
|
-
predicates: [{field: classification, equals: duplicate}]
|
|
1944
|
-
conflict:
|
|
1945
|
-
source: visible_entries
|
|
1946
|
-
operation: count
|
|
1947
|
-
predicates: [{field: classification, equals: conflict}]
|
|
1948
|
-
omitted:
|
|
1949
|
-
source: omitted_count
|
|
1950
|
-
operation: value
|
|
1951
|
-
omission:
|
|
1952
|
-
fields: [omitted, omitted_count, omission_reason, retrieval]
|
|
1953
|
-
field_sources:
|
|
1954
|
-
omitted: has_omissions
|
|
1955
|
-
omitted_count: omitted_count
|
|
1956
|
-
omission_reason: omission_reason
|
|
1957
|
-
retrieval: retrieval
|
|
1958
|
-
complete_reason: none
|
|
1959
|
-
bounded_reason: scan_bounded
|
|
1960
|
-
output_bounded_reason: serialized_output_byte_budget
|
|
1961
|
-
retry: >-
|
|
1962
|
-
Retry with narrower project or selectors, or use the bounded list
|
|
1963
|
-
pointer to continue from the same normalized snapshot.
|
|
1964
|
-
output_retry: >-
|
|
1965
|
-
Retry with a smaller --limit or narrower selectors; use --path with
|
|
1966
|
-
--artifact and --number to address one omitted candidate. The omitted
|
|
1967
|
-
records remain accounted for and no state was changed by output bounding.
|
|
1968
|
-
retrieval: >-
|
|
1969
|
-
agentera state migrate --project PATH [selectors] --limit N
|
|
1970
|
-
semantics: >-
|
|
1971
|
-
Omitted candidates are represented by omitted=true, omitted_count,
|
|
1972
|
-
omission_reason, and a bounded retry/list pointer. Text, JSON, and YAML
|
|
1973
|
-
are projections of the same envelope and never contain unbounded records.
|
|
1974
|
-
failures:
|
|
1975
|
-
schema_version: agentera.stateFailure.v1
|
|
1976
|
-
deterministic: >-
|
|
1977
|
-
The same authority, project bytes, selectors, and local filesystem
|
|
1978
|
-
state produce the same failure class, syntax, example, and recovery.
|
|
1979
|
-
classes:
|
|
1980
|
-
- class: invalid_selector
|
|
1981
|
-
message: selector is missing, duplicated, malformed, or not allowed for the selected mode
|
|
1982
|
-
example: agentera state migrate --number 1 --format json
|
|
1983
|
-
recovery: add one supported --artifact selector and retry; no state was changed
|
|
1984
|
-
- class: project_boundary
|
|
1985
|
-
message: selected project or candidate path escapes the project boundary
|
|
1986
|
-
example: agentera state migrate --path ../secrets.yaml --format json
|
|
1987
|
-
recovery: select a project-local relative path; no state was changed
|
|
1988
|
-
- class: unsupported_candidate
|
|
1989
|
-
message: candidate is not a supported regular file or artifact shape
|
|
1990
|
-
example: agentera state migrate --path .agentera/state.txt --format json
|
|
1991
|
-
recovery: use a supported Markdown or YAML candidate; no state was changed
|
|
1992
|
-
- class: ambiguous_candidate
|
|
1993
|
-
message: candidate has multiple or conflicting supported identities
|
|
1994
|
-
example: agentera state migrate --artifact progress --number 1 --path CUSTOM.md --dry-run --format json
|
|
1995
|
-
recovery: resolve the candidate ambiguity before retrying; no state was changed
|
|
1996
|
-
- class: corrupt_candidate
|
|
1997
|
-
message: candidate bytes or parsed record fail the declared artifact schema
|
|
1998
|
-
example: agentera state migrate --artifact decisions --number 53 --dry-run --format json
|
|
1999
|
-
recovery: repair or preserve the source and retry only after validation; no state was changed
|
|
2000
|
-
- class: backup_conflict
|
|
2001
|
-
message: immutable backup identity already contains different source bytes
|
|
2002
|
-
example: agentera state migrate --artifact progress --number 1 --apply --force --format json
|
|
2003
|
-
recovery: preserve the existing backup and resolve the source conflict; no projection was changed
|
|
2004
|
-
- class: immutable_conflict
|
|
2005
|
-
message: immutable archive identity already contains different canonical content
|
|
2006
|
-
example: agentera state migrate --artifact progress --number 1 --apply --force --format json
|
|
2007
|
-
recovery: preserve the existing archive and resolve the identity conflict; no projection was changed
|
|
2008
|
-
- class: changed_candidate
|
|
2009
|
-
message: candidate changed between inventory, preview, and apply
|
|
2010
|
-
example: agentera state migrate --artifact health --number 1 --apply --force --format json
|
|
2011
|
-
recovery: rerun inventory and preview against the current local bytes; no projection was changed
|
|
2012
|
-
- class: scan_bounded
|
|
2013
|
-
message: bounded candidate or byte limit was exceeded
|
|
2014
|
-
example: agentera state migrate --limit 100 --format json
|
|
2015
|
-
recovery: narrow the project or selectors; omitted candidates remain reported
|
|
2016
|
-
guarantees:
|
|
2017
|
-
read_only_inventory_and_preview: true
|
|
2018
|
-
apply_requires_force: true
|
|
2019
|
-
archive_before_projection: true
|
|
2020
|
-
backups_before_projection: true
|
|
2021
|
-
monotonic_retry: true
|
|
2022
|
-
archive_immutability: true
|
|
2023
|
-
project_local: true
|
|
2024
|
-
remote_contact: forbidden
|
|
2025
|
-
git_independent: true
|
|
1620
|
+
entity_migration_discovery:
|
|
1621
|
+
command: agentera state migrate entities --project PATH --dry-run --format json
|
|
1622
|
+
implementation: implemented
|
|
1623
|
+
read_only: true
|
|
1624
|
+
writes: forbidden
|
|
1625
|
+
authority: entity_migration.read_only_preview
|
|
2026
1626
|
cursor:
|
|
2027
1627
|
syntax: opaque TOKEN returned as response.next_cursor
|
|
2028
1628
|
first_page: omit --cursor to establish a snapshot
|
|
@@ -70,21 +70,21 @@ doctor:
|
|
|
70
70
|
compatibility_alias: forbidden
|
|
71
71
|
owns:
|
|
72
72
|
- Agentera CLI self-check status
|
|
73
|
-
- installed
|
|
74
|
-
-
|
|
75
|
-
-
|
|
76
|
-
-
|
|
73
|
+
- installed app and install-root status
|
|
74
|
+
- canonical shared-skill diagnosis
|
|
75
|
+
- project integration and project-state migration diagnostics
|
|
76
|
+
- bounded offline smoke checks when requested
|
|
77
77
|
excludes:
|
|
78
78
|
- project artifact health
|
|
79
79
|
- codebase quality audit findings
|
|
80
80
|
- inspektera architecture, test, dependency, or documentation audit output
|
|
81
81
|
adjacent_surfaces:
|
|
82
82
|
codebase_audit: /agentera audit routes to inspektera
|
|
83
|
-
setup_specific_diagnostics: packages/cli/src/setup/doctor.ts
|
|
84
83
|
rationale: >-
|
|
85
84
|
Decision 45 rejects `bundle-status` as too narrow and rejects an alias for
|
|
86
|
-
release-clean vocabulary; `doctor` is the CLI
|
|
87
|
-
vocabulary, while artifact health and codebase audits
|
|
85
|
+
release-clean vocabulary; `doctor` is the CLI, app, shared-skill, and project
|
|
86
|
+
integration self-check vocabulary, while artifact health and codebase audits
|
|
87
|
+
remain separate concerns.
|
|
88
88
|
schema:
|
|
89
89
|
status: implemented_runtime_introspection
|
|
90
90
|
command: schema
|
|
@@ -237,7 +237,7 @@ structured_output:
|
|
|
237
237
|
- project_integration
|
|
238
238
|
- attention
|
|
239
239
|
- history
|
|
240
|
-
-
|
|
240
|
+
- shared_skill
|
|
241
241
|
- decision_attention
|
|
242
242
|
- next_action
|
|
243
243
|
- orchestration_context
|
|
@@ -575,7 +575,7 @@ field_selection:
|
|
|
575
575
|
- project_integration
|
|
576
576
|
- attention
|
|
577
577
|
- history
|
|
578
|
-
-
|
|
578
|
+
- shared_skill
|
|
579
579
|
- decision_attention
|
|
580
580
|
- next_action
|
|
581
581
|
- orchestration_context
|
|
@@ -25,10 +25,9 @@ scope:
|
|
|
25
25
|
- Update channel names, dist-tag resolution, and override keys.
|
|
26
26
|
- General prose outside app lifecycle metadata.
|
|
27
27
|
compatibility_boundary: >-
|
|
28
|
-
|
|
29
|
-
`activeBundleRoot`, and `--only bundle` may remain
|
|
30
|
-
|
|
31
|
-
lifecycle status vocabulary.
|
|
28
|
+
Retired v2 identifiers such as `.agentera-bundle.json`, `bundle.status`,
|
|
29
|
+
`activeBundleRoot`, and `--only bundle` may remain only in migration readers,
|
|
30
|
+
fixtures, and released history. They are not current app lifecycle vocabulary.
|
|
32
31
|
canonical_status_order:
|
|
33
32
|
- up_to_date
|
|
34
33
|
- outdated
|