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.
Files changed (495) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +29 -23
  3. package/bundle/CHANGELOG.md +18 -25
  4. package/bundle/README.md +13 -34
  5. package/bundle/UPGRADE.md +71 -165
  6. package/bundle/references/adapters/package-manifest-interface-model.yaml +40 -241
  7. package/bundle/references/adapters/package-registry.yaml +0 -145
  8. package/bundle/references/adapters/package-surface-characterization.md +22 -42
  9. package/bundle/references/adapters/runtime-lifecycle-adapters.yaml +5 -219
  10. package/bundle/references/adapters/runtime-lifecycle-authority.yaml +2 -29
  11. package/bundle/references/adapters/runtime-lifecycle-operation-contract.yaml +1 -1
  12. package/bundle/references/analysis/analytics-boundary-proportional-2026-07-20.yaml +74 -0
  13. package/bundle/references/analysis/benchmark.md +11 -0
  14. package/bundle/references/analysis/evidence/analytics-boundary-proportional-2026-07-20/source-focused-1.json.gz +0 -0
  15. package/bundle/references/analysis/evidence/analytics-boundary-proportional-2026-07-20/source-focused-2.json.gz +0 -0
  16. package/bundle/references/analysis/evidence/analytics-boundary-proportional-2026-07-20/source-focused-3.json.gz +0 -0
  17. package/bundle/references/analysis/evidence/migration-pagination-proportional-2026-07-20/source-focused-1.json.gz +0 -0
  18. package/bundle/references/analysis/evidence/migration-pagination-proportional-2026-07-20/source-focused-2.json.gz +0 -0
  19. package/bundle/references/analysis/evidence/migration-pagination-proportional-2026-07-20/source-focused-3.json.gz +0 -0
  20. package/bundle/references/analysis/evidence/verification-baseline-2026-07-20/precommit-cli-route.log.gz +0 -0
  21. package/bundle/references/analysis/evidence/verification-baseline-2026-07-20/precommit-cli.log.gz +0 -0
  22. package/bundle/references/analysis/evidence/verification-baseline-2026-07-20/precommit-documentation.log.gz +0 -0
  23. package/bundle/references/analysis/evidence/verification-baseline-2026-07-20/recompute.mjs +98 -0
  24. package/bundle/references/analysis/evidence/verification-baseline-2026-07-20/source-1.json.gz +0 -0
  25. package/bundle/references/analysis/evidence/verification-baseline-2026-07-20/source-2.json.gz +0 -0
  26. package/bundle/references/analysis/evidence/verification-baseline-2026-07-20/source-3.json.gz +0 -0
  27. package/bundle/references/analysis/migration-pagination-proportional-2026-07-20.yaml +64 -0
  28. package/bundle/references/analysis/verification-baseline-2026-07-20.yaml +313 -0
  29. package/bundle/references/analysis/verification-final-proof-2026-07-21.yaml +340 -0
  30. package/bundle/references/analysis/verification-policy.yaml +142 -0
  31. package/bundle/references/analysis/worker-policy-2026-07-21.yaml +207 -0
  32. package/bundle/references/artifacts/state-storage-authority.yaml +48 -448
  33. package/bundle/references/cli/agent-ready-state-contract.yaml +9 -9
  34. package/bundle/references/cli/app-lifecycle-vocabulary.yaml +3 -4
  35. package/bundle/references/cli/bundle-skill-vocabulary.yaml +9 -18
  36. package/bundle/references/cli/capability-tool-classification.yaml +2 -2
  37. package/bundle/references/cli/prime-consumer-compatibility.yaml +86 -112
  38. package/bundle/references/cli/routing-execution-vocabulary.yaml +4 -22
  39. package/bundle/references/cli/upgrade-repair-wording.md +8 -28
  40. package/bundle/references/cli/v3-handoff-manifest.schema.yaml +2 -3
  41. package/bundle/references/cli/vocabulary.md +18 -23
  42. package/bundle/references/meta/documentation-inventory.md +3 -1
  43. package/bundle/skills/agentera/capabilities/orchestrate/schemas/artifacts.yaml +3 -2
  44. package/bundle/skills/agentera/capabilities/orchestrate/schemas/exit.yaml +1 -1
  45. package/bundle/skills/agentera/schemas/artifacts/docs.yaml +3 -11
  46. package/bundle/skills/agentera/schemas/artifacts/plan.yaml +23 -5
  47. package/dist/analytics/extractCorpus/cli.js.map +1 -1
  48. package/dist/analytics/extractCorpus/copilotSessions.js.map +1 -1
  49. package/dist/analytics/extractCorpus/core.js.map +1 -1
  50. package/dist/analytics/extractCorpus/corpus.js.map +1 -1
  51. package/dist/analytics/extractCorpus/coverageAudit.js.map +1 -1
  52. package/dist/analytics/extractCorpus/cursorSessions.js.map +1 -1
  53. package/dist/analytics/extractCorpus/evidenceTiers.js.map +1 -1
  54. package/dist/analytics/extractCorpus/extractCorpusParity.js +1 -1
  55. package/dist/analytics/extractCorpus/extractCorpusParity.js.map +1 -1
  56. package/dist/analytics/extractCorpus/filesystemSources.js.map +1 -1
  57. package/dist/analytics/extractCorpus/index.js.map +1 -1
  58. package/dist/analytics/extractCorpus/jsonlSessions.js.map +1 -1
  59. package/dist/analytics/extractCorpus/sqliteCaps.js.map +1 -1
  60. package/dist/analytics/extractCorpus/sqliteSessions.js.map +1 -1
  61. package/dist/analytics/extractCorpus/tierReader.js.map +1 -1
  62. package/dist/analytics/extractCorpus.js.map +1 -1
  63. package/dist/analytics/profileSignals.js.map +1 -1
  64. package/dist/analytics/usageStats.js.map +1 -1
  65. package/dist/bin/agentera.js.map +1 -1
  66. package/dist/capabilities/audit/instructions.js.map +1 -1
  67. package/dist/capabilities/build/instructions.js.map +1 -1
  68. package/dist/capabilities/design/instructions.js.map +1 -1
  69. package/dist/capabilities/discuss/instructions.js.map +1 -1
  70. package/dist/capabilities/document/instructions.js.map +1 -1
  71. package/dist/capabilities/index.js.map +1 -1
  72. package/dist/capabilities/optimize/instructions.js.map +1 -1
  73. package/dist/capabilities/orchestrate/instructions.js +1 -1
  74. package/dist/capabilities/orchestrate/instructions.js.map +1 -1
  75. package/dist/capabilities/plan/instructions.js.map +1 -1
  76. package/dist/capabilities/profile/instructions.js.map +1 -1
  77. package/dist/capabilities/research/instructions.js.map +1 -1
  78. package/dist/capabilities/status/instructions.js.map +1 -1
  79. package/dist/capabilities/status/startupInstructions.js.map +1 -1
  80. package/dist/capabilities/vision/instructions.js.map +1 -1
  81. package/dist/cli/appContext.js.map +1 -1
  82. package/dist/cli/argvalidate.js.map +1 -1
  83. package/dist/cli/capabilityContext/benchmark.js.map +1 -1
  84. package/dist/cli/capabilityContext/bespoke.js +8 -2
  85. package/dist/cli/capabilityContext/bespoke.js.map +1 -1
  86. package/dist/cli/capabilityContext/build.js.map +1 -1
  87. package/dist/cli/capabilityContext/closeout.js +3 -3
  88. package/dist/cli/capabilityContext/closeout.js.map +1 -1
  89. package/dist/cli/capabilityContext/contract.js.map +1 -1
  90. package/dist/cli/capabilityContext/evidence.js +52 -40
  91. package/dist/cli/capabilityContext/evidence.js.map +1 -1
  92. package/dist/cli/capabilityContext/index.js.map +1 -1
  93. package/dist/cli/capabilityContext/orchestration.js +15 -5
  94. package/dist/cli/capabilityContext/orchestration.js.map +1 -1
  95. package/dist/cli/capabilityContext/planState.js +1 -1
  96. package/dist/cli/capabilityContext/planState.js.map +1 -1
  97. package/dist/cli/capabilityContext/progress.js.map +1 -1
  98. package/dist/cli/capabilityContext/shared.js.map +1 -1
  99. package/dist/cli/capabilityContext/slim.js +16 -3
  100. package/dist/cli/capabilityContext/slim.js.map +1 -1
  101. package/dist/cli/capabilityContext/startup.js +4 -1
  102. package/dist/cli/capabilityContext/startup.js.map +1 -1
  103. package/dist/cli/capabilityContext/types.js.map +1 -1
  104. package/dist/cli/capabilityContext.js.map +1 -1
  105. package/dist/cli/commands/appHome.js.map +1 -1
  106. package/dist/cli/commands/capability.js.map +1 -1
  107. package/dist/cli/commands/compact.js.map +1 -1
  108. package/dist/cli/commands/doctor.js +6 -64
  109. package/dist/cli/commands/doctor.js.map +1 -1
  110. package/dist/cli/commands/durability.js +12 -48
  111. package/dist/cli/commands/durability.js.map +1 -1
  112. package/dist/cli/commands/entityMigrate.js.map +1 -1
  113. package/dist/cli/commands/lint.js.map +1 -1
  114. package/dist/cli/commands/prime/briefOrientation.js +25 -24
  115. package/dist/cli/commands/prime/briefOrientation.js.map +1 -1
  116. package/dist/cli/commands/prime/bundleStatus.js +8 -2
  117. package/dist/cli/commands/prime/bundleStatus.js.map +1 -1
  118. package/dist/cli/commands/prime/collectEntityOrientation.js +76 -24
  119. package/dist/cli/commands/prime/collectEntityOrientation.js.map +1 -1
  120. package/dist/cli/commands/prime/collectOrientationState.js +34 -53
  121. package/dist/cli/commands/prime/collectOrientationState.js.map +1 -1
  122. package/dist/cli/commands/prime/orientationOutput.js +9 -14
  123. package/dist/cli/commands/prime/orientationOutput.js.map +1 -1
  124. package/dist/cli/commands/prime/types.js.map +1 -1
  125. package/dist/cli/commands/prime/v1Migration.js.map +1 -1
  126. package/dist/cli/commands/prime.js +43 -25
  127. package/dist/cli/commands/prime.js.map +1 -1
  128. package/dist/cli/commands/query.js +17 -49
  129. package/dist/cli/commands/query.js.map +1 -1
  130. package/dist/cli/commands/report.js.map +1 -1
  131. package/dist/cli/commands/schema.js +19 -78
  132. package/dist/cli/commands/schema.js.map +1 -1
  133. package/dist/cli/commands/state/decisions.js +11 -57
  134. package/dist/cli/commands/state/decisions.js.map +1 -1
  135. package/dist/cli/commands/state/docs.js +56 -120
  136. package/dist/cli/commands/state/docs.js.map +1 -1
  137. package/dist/cli/commands/state/experimentRecords.js +22 -121
  138. package/dist/cli/commands/state/experimentRecords.js.map +1 -1
  139. package/dist/cli/commands/state/experiments.js +9 -75
  140. package/dist/cli/commands/state/experiments.js.map +1 -1
  141. package/dist/cli/commands/state/get.js +62 -143
  142. package/dist/cli/commands/state/get.js.map +1 -1
  143. package/dist/cli/commands/state/health.js +9 -123
  144. package/dist/cli/commands/state/health.js.map +1 -1
  145. package/dist/cli/commands/state/index.js +2 -2
  146. package/dist/cli/commands/state/index.js.map +1 -1
  147. package/dist/cli/commands/state/list.js +20 -36
  148. package/dist/cli/commands/state/list.js.map +1 -1
  149. package/dist/cli/commands/state/objective.js +19 -86
  150. package/dist/cli/commands/state/objective.js.map +1 -1
  151. package/dist/cli/commands/state/plan.js +9 -388
  152. package/dist/cli/commands/state/plan.js.map +1 -1
  153. package/dist/cli/commands/state/planTasks.js +58 -93
  154. package/dist/cli/commands/state/planTasks.js.map +1 -1
  155. package/dist/cli/commands/state/plans.js +13 -40
  156. package/dist/cli/commands/state/plans.js.map +1 -1
  157. package/dist/cli/commands/state/progress.js +10 -55
  158. package/dist/cli/commands/state/progress.js.map +1 -1
  159. package/dist/cli/commands/state/shared.js.map +1 -1
  160. package/dist/cli/commands/state/todo.js +24 -133
  161. package/dist/cli/commands/state/todo.js.map +1 -1
  162. package/dist/cli/commands/state/write.js +13 -35
  163. package/dist/cli/commands/state/write.js.map +1 -1
  164. package/dist/cli/commands/upgrade.js +48 -18
  165. package/dist/cli/commands/upgrade.js.map +1 -1
  166. package/dist/cli/commands/upgradeVerify.js +21 -15
  167. package/dist/cli/commands/upgradeVerify.js.map +1 -1
  168. package/dist/cli/commands/validate.js +1 -9
  169. package/dist/cli/commands/validate.js.map +1 -1
  170. package/dist/cli/commands/verify.js.map +1 -1
  171. package/dist/cli/contracts/bundleStatus.js.map +1 -1
  172. package/dist/cli/contracts/orientationState.js.map +1 -1
  173. package/dist/cli/dispatch/argvParser.js.map +1 -1
  174. package/dist/cli/dispatch/check.js +5 -12
  175. package/dist/cli/dispatch/check.js.map +1 -1
  176. package/dist/cli/dispatch/commands.js.map +1 -1
  177. package/dist/cli/dispatch/index.js +30 -29
  178. package/dist/cli/dispatch/index.js.map +1 -1
  179. package/dist/cli/dispatch/lifecycle.js +23 -40
  180. package/dist/cli/dispatch/lifecycle.js.map +1 -1
  181. package/dist/cli/dispatch/prime.js.map +1 -1
  182. package/dist/cli/dispatch/shared.js.map +1 -1
  183. package/dist/cli/dispatch/state.js.map +1 -1
  184. package/dist/cli/dispatch.js.map +1 -1
  185. package/dist/cli/errors.js.map +1 -1
  186. package/dist/cli/help.js +20 -100
  187. package/dist/cli/help.js.map +1 -1
  188. package/dist/cli/migrationRequired.js +22 -19
  189. package/dist/cli/migrationRequired.js.map +1 -1
  190. package/dist/cli/orientation/attention.js +1 -97
  191. package/dist/cli/orientation/attention.js.map +1 -1
  192. package/dist/cli/orientation/corpusCoverage.js.map +1 -1
  193. package/dist/cli/orientation.js +18 -4
  194. package/dist/cli/orientation.js.map +1 -1
  195. package/dist/cli/planArtifacts.js.map +1 -1
  196. package/dist/cli/planEvidence.js.map +1 -1
  197. package/dist/cli/planLifecycleState.js.map +1 -1
  198. package/dist/cli/planTaskIndex.js +12 -0
  199. package/dist/cli/planTaskIndex.js.map +1 -0
  200. package/dist/cli/prime-blob.js +1 -1
  201. package/dist/cli/prime-blob.js.map +1 -1
  202. package/dist/cli/startupCompletenessContract.js.map +1 -1
  203. package/dist/cli/stateQuery.js +1 -2
  204. package/dist/cli/stateQuery.js.map +1 -1
  205. package/dist/cli/structured.js.map +1 -1
  206. package/dist/cli/todoMarkdown.js.map +1 -1
  207. package/dist/cli/todoSeverity.js.map +1 -1
  208. package/dist/core/atomicWriter.js.map +1 -1
  209. package/dist/core/difflib.js.map +1 -1
  210. package/dist/core/envPaths.js.map +1 -1
  211. package/dist/core/jsonValue.js.map +1 -1
  212. package/dist/core/paths.js.map +1 -1
  213. package/dist/core/pyjson.js.map +1 -1
  214. package/dist/core/skillIdentity.js +24 -0
  215. package/dist/core/skillIdentity.js.map +1 -0
  216. package/dist/core/sourceRoot.js.map +1 -1
  217. package/dist/core/text.js.map +1 -1
  218. package/dist/core/toml.js.map +1 -1
  219. package/dist/core/yaml.js.map +1 -1
  220. package/dist/eval/evalSkills.js.map +1 -1
  221. package/dist/eval/semanticEval.js.map +1 -1
  222. package/dist/eval/semanticFixtures.js.map +1 -1
  223. package/dist/hooks/common.js +1 -1
  224. package/dist/hooks/common.js.map +1 -1
  225. package/dist/hooks/compaction/apply.js.map +1 -1
  226. package/dist/hooks/compaction/dryRun.js.map +1 -1
  227. package/dist/hooks/compaction/index.js.map +1 -1
  228. package/dist/hooks/compaction/parse.js.map +1 -1
  229. package/dist/hooks/compaction/retention.js.map +1 -1
  230. package/dist/hooks/compaction/status.js +2 -1
  231. package/dist/hooks/compaction/status.js.map +1 -1
  232. package/dist/hooks/compaction/types.js.map +1 -1
  233. package/dist/hooks/cursorPreToolUse.js.map +1 -1
  234. package/dist/hooks/cursorSessionStart.js +4 -25
  235. package/dist/hooks/cursorSessionStart.js.map +1 -1
  236. package/dist/hooks/projectHookInput.js +26 -0
  237. package/dist/hooks/projectHookInput.js.map +1 -0
  238. package/dist/hooks/sessionStart.js +23 -239
  239. package/dist/hooks/sessionStart.js.map +1 -1
  240. package/dist/hooks/sessionStop.js +4 -12
  241. package/dist/hooks/sessionStop.js.map +1 -1
  242. package/dist/hooks/validateArtifact/agentFacing.js.map +1 -1
  243. package/dist/hooks/validateArtifact/index.js.map +1 -1
  244. package/dist/hooks/validateArtifact/markdown.js.map +1 -1
  245. package/dist/hooks/validateArtifact/runtime.js.map +1 -1
  246. package/dist/hooks/validateArtifact/schema.js.map +1 -1
  247. package/dist/hooks/validateArtifact/traversal.js +1 -1
  248. package/dist/hooks/validateArtifact/traversal.js.map +1 -1
  249. package/dist/hooks/validateArtifact/violations.js.map +1 -1
  250. package/dist/migrate/v2HandoffManifest.js.map +1 -1
  251. package/dist/registries/artifactProtocolIds.js.map +1 -1
  252. package/dist/registries/artifactRegistry.js +2 -1
  253. package/dist/registries/artifactRegistry.js.map +1 -1
  254. package/dist/registries/capabilityContract.js.map +1 -1
  255. package/dist/registries/evaluatorHandoffContract.js.map +1 -1
  256. package/dist/registries/evidenceTierContract.js.map +1 -1
  257. package/dist/registries/packageRegistry.js +57 -231
  258. package/dist/registries/packageRegistry.js.map +1 -1
  259. package/dist/registries/triggerLoader.js.map +1 -1
  260. package/dist/registries/verbosityBudgetContract.js.map +1 -1
  261. package/dist/release/releaseMetadata.js +1 -13
  262. package/dist/release/releaseMetadata.js.map +1 -1
  263. package/dist/runtime/lifecycleAdapterContract.js +4 -4
  264. package/dist/runtime/lifecycleAdapterContract.js.map +1 -1
  265. package/dist/runtime/lifecycleAdapters.js +14 -2
  266. package/dist/runtime/lifecycleAdapters.js.map +1 -1
  267. package/dist/runtime/lifecycleAuthority.js +5 -43
  268. package/dist/runtime/lifecycleAuthority.js.map +1 -1
  269. package/dist/runtime/lifecycleOperationContract.js +3 -2
  270. package/dist/runtime/lifecycleOperationContract.js.map +1 -1
  271. package/dist/runtime/lifecycleOperations.js.map +1 -1
  272. package/dist/runtime/lifecycleOwnershipJournal.js.map +1 -1
  273. package/dist/runtime/lifecyclePublication.js +21 -0
  274. package/dist/runtime/lifecyclePublication.js.map +1 -1
  275. package/dist/runtime/lifecycleSnapshot.js.map +1 -1
  276. package/dist/runtime/retiredRuntimeCleanup.js.map +1 -1
  277. package/dist/setup/codex/agents.js.map +1 -1
  278. package/dist/setup/codex/cli.js.map +1 -1
  279. package/dist/setup/codex/configToml.js.map +1 -1
  280. package/dist/setup/codex/constants.js.map +1 -1
  281. package/dist/setup/codex/installRoot.js.map +1 -1
  282. package/dist/setup/codex/state.js.map +1 -1
  283. package/dist/setup/codex.js.map +1 -1
  284. package/dist/setup/opencode.js +20 -12
  285. package/dist/setup/opencode.js.map +1 -1
  286. package/dist/setup/opencodeConstants.js.map +1 -1
  287. package/dist/setup/sharedSkill.js +46 -0
  288. package/dist/setup/sharedSkill.js.map +1 -0
  289. package/dist/setup/smokeChecks.js +16 -43
  290. package/dist/setup/smokeChecks.js.map +1 -1
  291. package/dist/state/archiveDiscovery.js.map +1 -1
  292. package/dist/state/archivePublication.js.map +1 -1
  293. package/dist/state/archiveRecovery.js.map +1 -1
  294. package/dist/state/archiveReplay.js.map +1 -1
  295. package/dist/state/decisionEntities.js +7 -4
  296. package/dist/state/decisionEntities.js.map +1 -1
  297. package/dist/state/decisionLegacyValidation.js.map +1 -1
  298. package/dist/state/decisionOverlay.js.map +1 -1
  299. package/dist/state/decisionRevision.js.map +1 -1
  300. package/dist/state/decisionRevisionPublication.js.map +1 -1
  301. package/dist/state/directRetrieval.js.map +1 -1
  302. package/dist/state/durability.js +4 -240
  303. package/dist/state/durability.js.map +1 -1
  304. package/dist/state/entityCutover.js +90 -186
  305. package/dist/state/entityCutover.js.map +1 -1
  306. package/dist/state/entityCutoverGit.js.map +1 -1
  307. package/dist/state/entityMigrationPreview.js +3 -3
  308. package/dist/state/entityMigrationPreview.js.map +1 -1
  309. package/dist/state/entityPublicationContext.js.map +1 -1
  310. package/dist/state/entityStorage.js +49 -10
  311. package/dist/state/entityStorage.js.map +1 -1
  312. package/dist/state/experimentArchive.js.map +1 -1
  313. package/dist/state/experimentIdentity.js.map +1 -1
  314. package/dist/state/experimentRetrieval.js.map +1 -1
  315. package/dist/state/healthEntities.js +7 -4
  316. package/dist/state/healthEntities.js.map +1 -1
  317. package/dist/state/healthEntityValidation.js.map +1 -1
  318. package/dist/state/healthRepair.js.map +1 -1
  319. package/dist/state/installRoot.js.map +1 -1
  320. package/dist/state/legacyEntityCutoverEvidence.js.map +1 -1
  321. package/dist/state/legacyIdentity.js.map +1 -1
  322. package/dist/state/listAccounting.js.map +1 -1
  323. package/dist/state/listClassification.js.map +1 -1
  324. package/dist/state/listRetrieval.js.map +1 -1
  325. package/dist/state/objectiveExperimentEntities.js +7 -5
  326. package/dist/state/objectiveExperimentEntities.js.map +1 -1
  327. package/dist/state/planEntities.js +60 -12
  328. package/dist/state/planEntities.js.map +1 -1
  329. package/dist/state/planIdentity.js.map +1 -1
  330. package/dist/state/planRetrieval.js.map +1 -1
  331. package/dist/state/planTaskRetrieval.js.map +1 -1
  332. package/dist/state/progressEntities.js +4 -2
  333. package/dist/state/progressEntities.js.map +1 -1
  334. package/dist/state/projectRoot.js.map +1 -1
  335. package/dist/state/projectionPolicy.js.map +1 -1
  336. package/dist/state/retrievalAuthority.js.map +1 -1
  337. package/dist/state/safeProjectFile.js.map +1 -1
  338. package/dist/state/startupAnalysis/benchmark.js.map +1 -1
  339. package/dist/state/startupAnalysis/contract.js.map +1 -1
  340. package/dist/state/startupAnalysis/helpers.js.map +1 -1
  341. package/dist/state/startupAnalysis/index.js.map +1 -1
  342. package/dist/state/startupAnalysis/metrics.js.map +1 -1
  343. package/dist/state/startupAnalysis/records.js.map +1 -1
  344. package/dist/state/startupAnalysis/report.js.map +1 -1
  345. package/dist/state/startupAnalysis/threshold.js.map +1 -1
  346. package/dist/state/startupAnalysis.js.map +1 -1
  347. package/dist/state/startupProjection.js +5 -3
  348. package/dist/state/startupProjection.js.map +1 -1
  349. package/dist/state/stateMode.js +7 -0
  350. package/dist/state/stateMode.js.map +1 -1
  351. package/dist/state/todoDocsEntities.js +6 -4
  352. package/dist/state/todoDocsEntities.js.map +1 -1
  353. package/dist/state/todoDocsEntityValidation.js.map +1 -1
  354. package/dist/state/write/assign.js.map +1 -1
  355. package/dist/state/write/candidateMutation.js.map +1 -1
  356. package/dist/state/write/errors.js.map +1 -1
  357. package/dist/state/write/experimentPublication.js.map +1 -1
  358. package/dist/state/write/explain.js +10 -12
  359. package/dist/state/write/explain.js.map +1 -1
  360. package/dist/state/write/fields.js.map +1 -1
  361. package/dist/state/write/helpers.js.map +1 -1
  362. package/dist/state/write/index.js.map +1 -1
  363. package/dist/state/write/input.js.map +1 -1
  364. package/dist/state/write/lock.js.map +1 -1
  365. package/dist/state/write/mutation.js.map +1 -1
  366. package/dist/state/write/operations.js +6 -0
  367. package/dist/state/write/operations.js.map +1 -1
  368. package/dist/state/write/planEvaluation.js +19 -5
  369. package/dist/state/write/planEvaluation.js.map +1 -1
  370. package/dist/state/write/planPublication.js +7 -0
  371. package/dist/state/write/planPublication.js.map +1 -1
  372. package/dist/state/write/serialize.js.map +1 -1
  373. package/dist/state/write/transaction.js +23 -532
  374. package/dist/state/write/transaction.js.map +1 -1
  375. package/dist/state/write/validate.js.map +1 -1
  376. package/dist/upgrade/appContentRefresh.js +54 -44
  377. package/dist/upgrade/appContentRefresh.js.map +1 -1
  378. package/dist/upgrade/appModel.js.map +1 -1
  379. package/dist/upgrade/atomicWriter.js.map +1 -1
  380. package/dist/upgrade/bundleEvidence.js.map +1 -1
  381. package/dist/upgrade/channels.js.map +1 -1
  382. package/dist/upgrade/coexistenceProbe.js.map +1 -1
  383. package/dist/upgrade/compatibility.js.map +1 -1
  384. package/dist/upgrade/doctor.js +5 -1
  385. package/dist/upgrade/doctor.js.map +1 -1
  386. package/dist/upgrade/doctorClassifier.js.map +1 -1
  387. package/dist/upgrade/installedHooksRetirement.js +46 -39
  388. package/dist/upgrade/installedHooksRetirement.js.map +1 -1
  389. package/dist/upgrade/legacyAgentCleanup.js +132 -32
  390. package/dist/upgrade/legacyAgentCleanup.js.map +1 -1
  391. package/dist/upgrade/lifecycleUpgrade.js +65 -378
  392. package/dist/upgrade/lifecycleUpgrade.js.map +1 -1
  393. package/dist/upgrade/migrateArtifactsV2ToV3.js +151 -52
  394. package/dist/upgrade/migrateArtifactsV2ToV3.js.map +1 -1
  395. package/dist/upgrade/migrationPublication.js +123 -0
  396. package/dist/upgrade/migrationPublication.js.map +1 -0
  397. package/dist/upgrade/nextMajorDoctor.js.map +1 -1
  398. package/dist/upgrade/npxPlatformStatus.js.map +1 -1
  399. package/dist/upgrade/projectIntegration.js +46 -113
  400. package/dist/upgrade/projectIntegration.js.map +1 -1
  401. package/dist/upgrade/projectIntegrationDecision.js +6 -96
  402. package/dist/upgrade/projectIntegrationDecision.js.map +1 -1
  403. package/dist/upgrade/runtimeMigration.js +222 -402
  404. package/dist/upgrade/runtimeMigration.js.map +1 -1
  405. package/dist/upgrade/upgradeCommands.js +5 -4
  406. package/dist/upgrade/upgradeCommands.js.map +1 -1
  407. package/dist/upgrade/upgradeLock.js +73 -41
  408. package/dist/upgrade/upgradeLock.js.map +1 -1
  409. package/dist/upgrade/upgradeOrchestrator.js +91 -158
  410. package/dist/upgrade/upgradeOrchestrator.js.map +1 -1
  411. package/dist/upgrade/v3CapabilitySurface.js +2 -2
  412. package/dist/upgrade/v3CapabilitySurface.js.map +1 -1
  413. package/dist/upgrade/versionResolution.js.map +1 -1
  414. package/dist/validate/appHomeContract.js +0 -4
  415. package/dist/validate/appHomeContract.js.map +1 -1
  416. package/dist/validate/capability.js.map +1 -1
  417. package/dist/validate/crossCapability.js.map +1 -1
  418. package/dist/validate/selfAudit.js.map +1 -1
  419. package/dist/validate/vocabularyAuthority.js.map +1 -1
  420. package/package.json +23 -8
  421. package/bundle/.codex-plugin/plugin.json +0 -92
  422. package/bundle/.cursor/agents/agentera.md +0 -7
  423. package/bundle/.cursor/hooks.json +0 -32
  424. package/bundle/.cursor-plugin/plugin.json +0 -34
  425. package/bundle/.github/hooks/postToolUse.json +0 -9
  426. package/bundle/.github/hooks/preToolUse.json +0 -8
  427. package/bundle/.github/hooks/sessionEnd.json +0 -8
  428. package/bundle/.github/hooks/sessionStart.json +0 -8
  429. package/bundle/.github/plugin/plugin.json +0 -7
  430. package/bundle/.opencode/agents/agentera.md +0 -12
  431. package/bundle/.opencode/commands/agentera.md +0 -5
  432. package/bundle/.opencode/package.json +0 -31
  433. package/bundle/.opencode/plugins/agentera.js +0 -820
  434. package/bundle/agents/openai.yaml +0 -87
  435. package/bundle/hooks/codex-hooks.json +0 -31
  436. package/bundle/hooks/codex-plugin-hooks.json +0 -31
  437. package/bundle/plugin.json +0 -13
  438. package/bundle/references/adapters/cursor.md +0 -224
  439. package/bundle/references/adapters/opencode.md +0 -529
  440. package/bundle/references/adapters/runtime-adapter-characterization.md +0 -44
  441. package/bundle/references/adapters/runtime-adapter-interface-model.yaml +0 -200
  442. package/bundle/references/adapters/runtime-adapter-registry.yaml +0 -387
  443. package/bundle/references/adapters/runtime-feature-parity.md +0 -129
  444. package/dist/cli/commands/backfill.js +0 -231
  445. package/dist/cli/commands/backfill.js.map +0 -1
  446. package/dist/cli/commands/migrate.js +0 -681
  447. package/dist/cli/commands/migrate.js.map +0 -1
  448. package/dist/registries/runtimeAdapterRegistry.js +0 -324
  449. package/dist/registries/runtimeAdapterRegistry.js.map +0 -1
  450. package/dist/setup/copilot.js +0 -227
  451. package/dist/setup/copilot.js.map +0 -1
  452. package/dist/setup/cursor.js +0 -129
  453. package/dist/setup/cursor.js.map +0 -1
  454. package/dist/setup/cursorSurfaces.js +0 -67
  455. package/dist/setup/cursorSurfaces.js.map +0 -1
  456. package/dist/setup/doctor/core.js +0 -296
  457. package/dist/setup/doctor/core.js.map +0 -1
  458. package/dist/setup/doctor/diagnostics.js +0 -201
  459. package/dist/setup/doctor/diagnostics.js.map +0 -1
  460. package/dist/setup/doctor/opencode.js +0 -301
  461. package/dist/setup/doctor/opencode.js.map +0 -1
  462. package/dist/setup/doctor/report.js +0 -425
  463. package/dist/setup/doctor/report.js.map +0 -1
  464. package/dist/setup/doctor.js +0 -10
  465. package/dist/setup/doctor.js.map +0 -1
  466. package/dist/state/gitBackfill.js +0 -561
  467. package/dist/state/gitBackfill.js.map +0 -1
  468. package/dist/state/gitBackfillAuthority.js +0 -141
  469. package/dist/state/gitBackfillAuthority.js.map +0 -1
  470. package/dist/state/gitBackfillHistory.js +0 -278
  471. package/dist/state/gitBackfillHistory.js.map +0 -1
  472. package/dist/state/gitBackfillOutput.js +0 -209
  473. package/dist/state/gitBackfillOutput.js.map +0 -1
  474. package/dist/state/legacyMigration.js +0 -516
  475. package/dist/state/legacyMigration.js.map +0 -1
  476. package/dist/state/legacyMigrationParser.js +0 -489
  477. package/dist/state/legacyMigrationParser.js.map +0 -1
  478. package/dist/state/migrationAuthority.js +0 -413
  479. package/dist/state/migrationAuthority.js.map +0 -1
  480. package/dist/state/migrationEnrichment.js +0 -35
  481. package/dist/state/migrationEnrichment.js.map +0 -1
  482. package/dist/state/projectionRecovery.js +0 -458
  483. package/dist/state/projectionRecovery.js.map +0 -1
  484. package/dist/upgrade/migrateArtifactsV1ToV2.js +0 -568
  485. package/dist/upgrade/migrateArtifactsV1ToV2.js.map +0 -1
  486. package/dist/validate/lifecycleAdapters/legacyPythonParity.js +0 -93
  487. package/dist/validate/lifecycleAdapters/legacyPythonParity.js.map +0 -1
  488. package/dist/validate/lifecycleAdapters/lifecycleMain.js +0 -154
  489. package/dist/validate/lifecycleAdapters/lifecycleMain.js.map +0 -1
  490. package/dist/validate/lifecycleAdapters/nodeFormChecks.js +0 -481
  491. package/dist/validate/lifecycleAdapters/nodeFormChecks.js.map +0 -1
  492. package/dist/validate/lifecycleAdapters/shared.js +0 -198
  493. package/dist/validate/lifecycleAdapters/shared.js.map +0 -1
  494. package/dist/validate/lifecycleAdapters.js +0 -10
  495. 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 Git cutover, are implemented but activate entity authority only
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 implemented legacy
23
- authority while that marker is absent. The maintenance-only Git backfill
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: target_gate_not_yet_implemented
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: one_way_git_cutover_implemented
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, stages and graph-
519
- validates deterministic entities, publishes them without deleting a
520
- canonical entity, and writes the authority marker last. There is no direct
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
- Before forward-manifest publication, a rerun may discard only the fixed
546
- migration-owned staging path and recompute it from the same Git-bound
547
- source. After manifest or canonical publication, a rerun validates the
548
- manifest binding and every existing canonical target, republishes only
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. Any
558
- blocker prevents every selected effect.
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: valid_empty_initialization
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
- preserves the deterministic mapping in staged canonical paths and the
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
- defensively by upgrade apply and forward continuation. A target failure is a corrupt blocker tied
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
- Before any apply effect, recompute the complete preview and require its
660
- source fingerprint and preview digest to match the Git-pinned preparation
661
- or retained forward manifest. A mismatch refuses every selected effect.
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
- root: .agentera/migrations/entities
696
- staging: .agentera/migrations/entities/staging
697
- manifest: .agentera/migrations/entities/forward.yaml
698
- manifest_schema_version: agentera.entityCutoverManifest.v1
699
- manifest_fields: [schemaVersion, phase, source, targets, marker]
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 durable
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: one bounded forward manifest exists and every canonical target matches or is published once
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
- backfill:
1627
- command: >-
1628
- agentera state backfill [--project PATH] [--artifact ARTIFACT]
1629
- [--number N] [--commit HASH] [--path PATH] [--limit N]
1630
- [--dry-run|--apply --force] --format {text,json,yaml}
1631
- formats: [text, json, yaml]
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 bundle status
74
- - install-root status
75
- - runtime adapter availability and configuration diagnostics
76
- - hook, package, and schema availability checks when implemented
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/install/runtime self-check
87
- vocabulary, while artifact health and codebase audits remain separate concerns.
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
- - runtime_lifecycle
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
- - runtime_lifecycle
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
- Compatibility identifiers such as `.agentera-bundle.json`, `bundle.status`,
29
- `activeBundleRoot`, and `--only bundle` may remain until an explicit migration
30
- exists. They do not make bundle/fresh/stale/refresh/fixed canonical app
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