agentera 3.0.0-dev.41 → 3.0.0-dev.47

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 (728) hide show
  1. package/README.md +33 -4
  2. package/bundle/CHANGELOG.md +91 -1
  3. package/bundle/README.md +26 -19
  4. package/bundle/UPGRADE.md +50 -15
  5. package/bundle/references/adapters/package-publication.json +408 -14
  6. package/bundle/references/adapters/package-registry.yaml +414 -1
  7. package/bundle/references/adapters/package-surface-characterization.md +20 -0
  8. package/bundle/references/adapters/runtime-retired-resources.yaml +237 -1
  9. package/bundle/references/analysis/evidence-tier-authority.yaml +3 -3
  10. package/bundle/references/analysis/verification-policy.yaml +48 -0
  11. package/bundle/references/artifacts/artifact-registry-interface-model.yaml +1 -1
  12. package/bundle/references/artifacts/glossary-entry-contract.yaml +11 -11
  13. package/bundle/references/artifacts/state-storage-authority.yaml +170 -118
  14. package/bundle/references/cli/capability-instruction-contract.yaml +4 -4
  15. package/bundle/references/cli/hybrid-route-contract.yaml +27 -5
  16. package/bundle/references/cli/routing-model.md +20 -4
  17. package/bundle/references/cli/trigger-schema-enrichment.md +7 -0
  18. package/bundle/references/cli/vocabulary-index.yaml +1 -3
  19. package/bundle/references/cli/vocabulary.md +18 -60
  20. package/bundle/references/meta/retained-reference-authority.yaml +151 -0
  21. package/bundle/skills/agentera/SKILL.md +32 -16
  22. package/bundle/skills/agentera/capabilities/audit/schemas/artifacts.yaml +3 -3
  23. package/bundle/skills/agentera/capabilities/audit/schemas/validation.yaml +1 -1
  24. package/bundle/skills/agentera/capabilities/build/schemas/artifacts.yaml +5 -5
  25. package/bundle/skills/agentera/capabilities/build/schemas/validation.yaml +5 -5
  26. package/bundle/skills/agentera/capabilities/design/schemas/exit.yaml +2 -2
  27. package/bundle/skills/agentera/capabilities/discuss/schemas/artifacts.yaml +3 -3
  28. package/bundle/skills/agentera/capabilities/discuss/schemas/validation.yaml +2 -2
  29. package/bundle/skills/agentera/capabilities/document/schemas/artifacts.yaml +3 -3
  30. package/bundle/skills/agentera/capabilities/document/schemas/validation.yaml +1 -1
  31. package/bundle/skills/agentera/capabilities/optimize/schemas/artifacts.yaml +1 -1
  32. package/bundle/skills/agentera/capabilities/optimize/schemas/validation.yaml +1 -1
  33. package/bundle/skills/agentera/capabilities/orchestrate/schemas/artifacts.yaml +5 -5
  34. package/bundle/skills/agentera/capabilities/orchestrate/schemas/validation.yaml +2 -2
  35. package/bundle/skills/agentera/capabilities/plan/schemas/artifacts.yaml +1 -1
  36. package/bundle/skills/agentera/capabilities/plan/schemas/validation.yaml +1 -1
  37. package/bundle/skills/agentera/capabilities/profile/schemas/validation.yaml +1 -1
  38. package/bundle/skills/agentera/capability_schema_contract.yaml +2 -2
  39. package/bundle/skills/agentera/schemas/artifacts/decisions.yaml +3 -3
  40. package/bundle/skills/agentera/schemas/artifacts/experiments.yaml +3 -3
  41. package/bundle/skills/agentera/schemas/artifacts/glossary.yaml +1 -1
  42. package/bundle/skills/agentera/schemas/artifacts/health.yaml +3 -3
  43. package/bundle/skills/agentera/schemas/artifacts/plan.yaml +12 -10
  44. package/bundle/skills/agentera/schemas/artifacts/progress.yaml +3 -3
  45. package/bundle/skills/agentera/schemas/artifacts/todo.yaml +6 -4
  46. package/dist/analytics/extractCorpus/cli.js +0 -1
  47. package/dist/analytics/extractCorpus/copilotSessions.js +0 -1
  48. package/dist/analytics/extractCorpus/core.js +0 -1
  49. package/dist/analytics/extractCorpus/corpus.js +0 -1
  50. package/dist/analytics/extractCorpus/coverageAudit.js +0 -1
  51. package/dist/analytics/extractCorpus/cursorSessions.js +0 -1
  52. package/dist/analytics/extractCorpus/evidenceTiers.js +0 -1
  53. package/dist/analytics/extractCorpus/extractCorpusParity.js +0 -1
  54. package/dist/analytics/extractCorpus/filesystemSources.js +0 -1
  55. package/dist/analytics/extractCorpus/index.js +0 -1
  56. package/dist/analytics/extractCorpus/jsonlSessions.js +0 -1
  57. package/dist/analytics/extractCorpus/sqliteCaps.js +0 -1
  58. package/dist/analytics/extractCorpus/sqliteSessions.js +0 -1
  59. package/dist/analytics/extractCorpus/tierReader.js +0 -1
  60. package/dist/analytics/extractCorpus.js +0 -1
  61. package/dist/analytics/glossaryAdviceResolution.js +0 -1
  62. package/dist/analytics/glossaryInputAcquisition.js +0 -1
  63. package/dist/analytics/personalGlossaryAdmission.js +0 -1
  64. package/dist/analytics/personalGlossaryProfile.js +0 -1
  65. package/dist/analytics/profileSignals.js +0 -1
  66. package/dist/analytics/usageStats.js +0 -1
  67. package/dist/audit/terminologyDrift.js +0 -1
  68. package/dist/bin/agentera.js +0 -1
  69. package/dist/capabilities/audit/instructions.js +3 -4
  70. package/dist/capabilities/build/instructions.js +2 -3
  71. package/dist/capabilities/design/instructions.js +1 -2
  72. package/dist/capabilities/discuss/instructions.js +2 -3
  73. package/dist/capabilities/document/instructions.js +2 -3
  74. package/dist/capabilities/index.js +5 -4
  75. package/dist/capabilities/optimize/instructions.js +1 -2
  76. package/dist/capabilities/orchestrate/instructions.js +3 -4
  77. package/dist/capabilities/plan/instructions.js +1 -2
  78. package/dist/capabilities/profile/instructions.js +1 -2
  79. package/dist/capabilities/research/instructions.js +1 -2
  80. package/dist/capabilities/status/instructions.js +1 -2
  81. package/dist/capabilities/status/startupInstructions.js +0 -5
  82. package/dist/capabilities/vision/instructions.js +1 -2
  83. package/dist/cli/appContext.js +0 -1
  84. package/dist/cli/argvalidate.js +0 -1
  85. package/dist/cli/capabilityContext/benchmark.js +4 -4
  86. package/dist/cli/capabilityContext/bespoke.js +0 -1
  87. package/dist/cli/capabilityContext/build.js +8 -10
  88. package/dist/cli/capabilityContext/closeout.js +8 -10
  89. package/dist/cli/capabilityContext/contract.js +7 -42
  90. package/dist/cli/capabilityContext/evidence.js +12 -14
  91. package/dist/cli/capabilityContext/index.js +0 -1
  92. package/dist/cli/capabilityContext/orchestration.js +6 -8
  93. package/dist/cli/capabilityContext/planState.js +0 -1
  94. package/dist/cli/capabilityContext/progress.js +0 -1
  95. package/dist/cli/capabilityContext/projectVerification.js +0 -1
  96. package/dist/cli/capabilityContext/shared.js +2 -19
  97. package/dist/cli/capabilityContext/slim.js +0 -1
  98. package/dist/cli/capabilityContext/startup.js +24 -152
  99. package/dist/cli/capabilityContext/startupAggregation.js +68 -0
  100. package/dist/cli/capabilityContext/types.js +4 -4
  101. package/dist/cli/capabilityContext.js +0 -1
  102. package/dist/cli/commands/appHome.js +0 -1
  103. package/dist/cli/commands/capability.js +2 -2
  104. package/dist/cli/commands/compact.js +0 -1
  105. package/dist/cli/commands/doctor.js +104 -9
  106. package/dist/cli/commands/durability.js +0 -1
  107. package/dist/cli/commands/glossaryAdvice.js +0 -1
  108. package/dist/cli/commands/lint.js +0 -1
  109. package/dist/cli/commands/personalGlossary.js +0 -1
  110. package/dist/cli/commands/prime/briefOrientation.js +24 -85
  111. package/dist/cli/commands/prime/buildExecutionRequest.js +2 -2
  112. package/dist/cli/commands/prime/bundleStatus.js +0 -1
  113. package/dist/cli/commands/prime/collectEntityOrientation.js +47 -27
  114. package/dist/cli/commands/prime/collectOrientationState.js +36 -2
  115. package/dist/cli/commands/prime/orientationOutput.js +104 -84
  116. package/dist/cli/commands/prime/types.js +0 -1
  117. package/dist/cli/commands/prime/v1Migration.js +0 -1
  118. package/dist/cli/commands/prime.js +18 -36
  119. package/dist/cli/commands/profileGrounding.js +0 -1
  120. package/dist/cli/commands/query.js +2 -2
  121. package/dist/cli/commands/report.js +0 -1
  122. package/dist/cli/commands/route.js +3 -3
  123. package/dist/cli/commands/schema.js +62 -92
  124. package/dist/cli/commands/state/decisions.js +0 -1
  125. package/dist/cli/commands/state/docs.js +0 -1
  126. package/dist/cli/commands/state/experimentRecords.js +0 -1
  127. package/dist/cli/commands/state/experiments.js +0 -1
  128. package/dist/cli/commands/state/get.js +0 -1
  129. package/dist/cli/commands/state/health.js +0 -1
  130. package/dist/cli/commands/state/index.js +0 -1
  131. package/dist/cli/commands/state/list.js +0 -1
  132. package/dist/cli/commands/state/objective.js +0 -1
  133. package/dist/cli/commands/state/plan.js +0 -1
  134. package/dist/cli/commands/state/planTasks.js +0 -1
  135. package/dist/cli/commands/state/plans.js +0 -1
  136. package/dist/cli/commands/state/progress.js +0 -1
  137. package/dist/cli/commands/state/shared.js +0 -1
  138. package/dist/cli/commands/state/todo.js +0 -1
  139. package/dist/cli/commands/state/write.js +10 -1
  140. package/dist/cli/commands/upgrade.js +0 -1
  141. package/dist/cli/commands/upgradeVerify.js +0 -1
  142. package/dist/cli/commands/validate.js +106 -10
  143. package/dist/cli/commands/verify.js +0 -1
  144. package/dist/cli/contracts/bundleStatus.js +0 -1
  145. package/dist/cli/contracts/orientationState.js +0 -1
  146. package/dist/cli/dispatch/argvParser.js +0 -1
  147. package/dist/cli/dispatch/check.js +6 -24
  148. package/dist/cli/dispatch/commands.js +3 -3
  149. package/dist/cli/dispatch/index.js +9 -36
  150. package/dist/cli/dispatch/lifecycle.js +11 -57
  151. package/dist/cli/dispatch/prime.js +0 -1
  152. package/dist/cli/dispatch/projections.js +17 -0
  153. package/dist/cli/dispatch/shared.js +0 -1
  154. package/dist/cli/dispatch/state.js +0 -1
  155. package/dist/cli/dispatch.js +0 -1
  156. package/dist/cli/errors.js +0 -1
  157. package/dist/cli/help.js +51 -30
  158. package/dist/cli/migrationRequired.js +3 -5
  159. package/dist/cli/orientation/attention.js +4 -17
  160. package/dist/cli/orientation/corpusCoverage.js +0 -1
  161. package/dist/cli/orientation.js +5 -5
  162. package/dist/cli/planArtifacts.js +0 -1
  163. package/dist/cli/planEvidence.js +0 -1
  164. package/dist/cli/planLifecycleState.js +2 -2
  165. package/dist/cli/planTaskIndex.js +0 -1
  166. package/dist/cli/preCutoverCommand.js +32 -0
  167. package/dist/cli/prime-blob.js +6 -6
  168. package/dist/cli/profileAcquisition.js +0 -1
  169. package/dist/cli/startupCompletenessContract.js +0 -1
  170. package/dist/cli/stateQuery.js +17 -21
  171. package/dist/cli/structured.js +0 -1
  172. package/dist/cli/todoMarkdown.js +0 -1
  173. package/dist/cli/todoReadinessSelection.js +2 -2
  174. package/dist/cli/todoSeverity.js +0 -1
  175. package/dist/core/atomicWriter.js +0 -1
  176. package/dist/core/developmentChannel.js +1 -0
  177. package/dist/core/developmentInvocation.js +374 -0
  178. package/dist/core/difflib.js +0 -1
  179. package/dist/core/envPaths.js +0 -1
  180. package/dist/core/jsonValue.js +0 -1
  181. package/dist/core/paths.js +0 -1
  182. package/dist/core/pyjson.js +0 -1
  183. package/dist/core/shell.js +0 -1
  184. package/dist/core/skillIdentity.js +0 -1
  185. package/dist/core/sourceRoot.js +9 -12
  186. package/dist/core/text.js +0 -1
  187. package/dist/core/toml.js +0 -1
  188. package/dist/core/yaml.js +0 -1
  189. package/dist/eval/evalSkills.js +0 -1
  190. package/dist/eval/hybridRouteEvaluation.js +0 -1
  191. package/dist/eval/semanticEval.js +0 -1
  192. package/dist/eval/semanticFixtures.js +0 -1
  193. package/dist/hooks/common.js +1 -54
  194. package/dist/hooks/compaction/apply.js +0 -1
  195. package/dist/hooks/compaction/dryRun.js +0 -1
  196. package/dist/hooks/compaction/index.js +1 -2
  197. package/dist/hooks/compaction/parse.js +0 -1
  198. package/dist/hooks/compaction/retention.js +0 -1
  199. package/dist/hooks/compaction/status.js +0 -1
  200. package/dist/hooks/compaction/types.js +0 -1
  201. package/dist/hooks/validateArtifact/agentFacing.js +0 -1
  202. package/dist/hooks/validateArtifact/index.js +6 -65
  203. package/dist/hooks/validateArtifact/markdown.js +0 -1
  204. package/dist/hooks/validateArtifact/schema.js +0 -1
  205. package/dist/hooks/validateArtifact/traversal.js +0 -1
  206. package/dist/hooks/validateArtifact/violations.js +0 -1
  207. package/dist/migrate/v2HandoffManifest.js +0 -3
  208. package/dist/registries/activationContract.js +2 -0
  209. package/dist/registries/activationTuples.js +106 -0
  210. package/dist/registries/artifactProtocolIds.js +0 -1
  211. package/dist/registries/artifactRegistry.js +0 -1
  212. package/dist/registries/artifactSchemaProjection.js +0 -1
  213. package/dist/registries/capabilityContract.js +0 -1
  214. package/dist/registries/evaluatorHandoffContract.js +0 -1
  215. package/dist/registries/evidenceTierContract.js +0 -1
  216. package/dist/registries/glossaryAdviceContract.js +2 -2
  217. package/dist/registries/glossaryCaveatContract.js +0 -1
  218. package/dist/registries/glossaryConsumerContractValidation.js +5 -6
  219. package/dist/registries/glossaryEntryContract.js +8 -8
  220. package/dist/registries/glossaryTermIdentity.js +0 -1
  221. package/dist/registries/glossaryTermOccurrence.js +0 -1
  222. package/dist/registries/hybridRoute.js +73 -2
  223. package/dist/registries/hybridRouteReceipt.js +2 -2
  224. package/dist/registries/packagePublication.js +229 -0
  225. package/dist/registries/packageRegistry.js +118 -2
  226. package/dist/registries/todoReadinessContract.js +0 -1
  227. package/dist/registries/triggerLoader.js +0 -1
  228. package/dist/registries/verbosityBudgetContract.js +0 -1
  229. package/dist/release/releaseMetadata.js +69 -3
  230. package/dist/runtime/lifecycleAdapterContract.js +0 -1
  231. package/dist/runtime/lifecycleAdapters.js +0 -1
  232. package/dist/runtime/lifecycleAuthority.js +0 -1
  233. package/dist/runtime/lifecycleOperationContract.js +12 -3
  234. package/dist/runtime/lifecycleOperations.js +0 -1
  235. package/dist/runtime/lifecycleOwnershipJournal.js +0 -1
  236. package/dist/runtime/lifecyclePublication.js +0 -1
  237. package/dist/runtime/lifecycleSnapshot.js +0 -1
  238. package/dist/runtime/nativeResourceCleanup.js +191 -6
  239. package/dist/setup/opencode.js +0 -1
  240. package/dist/setup/opencodeConstants.js +0 -1
  241. package/dist/setup/sharedSkill.js +0 -1
  242. package/dist/setup/smokeChecks.js +1 -33
  243. package/dist/state/archiveDiscovery.js +0 -1
  244. package/dist/state/archivePublication.js +0 -1
  245. package/dist/state/archiveRecovery.js +0 -1
  246. package/dist/state/archiveReplay.js +0 -1
  247. package/dist/state/canonicalMigrationRecord.js +0 -1
  248. package/dist/state/changelog.js +0 -1
  249. package/dist/state/decisionEntities.js +0 -1
  250. package/dist/state/decisionLegacyValidation.js +0 -1
  251. package/dist/state/decisionMigrationProvenance.js +0 -1
  252. package/dist/state/decisionOverlay.js +0 -1
  253. package/dist/state/decisionRevision.js +0 -1
  254. package/dist/state/decisionRevisionMigration.js +0 -1
  255. package/dist/state/directRetrieval.js +0 -1
  256. package/dist/state/durability.js +0 -1
  257. package/dist/state/entityCutover.js +174 -9
  258. package/dist/state/entityCutoverGit.js +0 -1
  259. package/dist/state/entityGlossaryAuthority.js +0 -1
  260. package/dist/state/entityListProjection.js +0 -1
  261. package/dist/state/entityListRuntimeRegistry.js +46 -11
  262. package/dist/state/entityMigrationCausality.js +3 -5
  263. package/dist/state/entityMigrationIdentity.js +0 -1
  264. package/dist/state/entityMigrationPreview.js +35 -73
  265. package/dist/state/entityMigrationTodo.js +133 -0
  266. package/dist/state/entityPublicationContext.js +0 -1
  267. package/dist/state/entityRetrievalHelp.js +53 -23
  268. package/dist/state/entityStorage.js +0 -1
  269. package/dist/state/exactReplacementRecovery.js +0 -1
  270. package/dist/state/experimentArchive.js +0 -1
  271. package/dist/state/experimentIdentity.js +0 -1
  272. package/dist/state/healthEntities.js +0 -1
  273. package/dist/state/healthEntityValidation.js +0 -1
  274. package/dist/state/healthRepair.js +0 -1
  275. package/dist/state/installRoot.js +0 -1
  276. package/dist/state/legacyEntityCutoverEvidence.js +0 -1
  277. package/dist/state/legacyIdentity.js +0 -1
  278. package/dist/state/legacySummaryRecord.js +0 -1
  279. package/dist/state/listAccounting.js +0 -1
  280. package/dist/state/listClassification.js +0 -1
  281. package/dist/state/listCursor.js +0 -1
  282. package/dist/state/listRetrieval.js +0 -1
  283. package/dist/state/migrationSourceBinding.js +0 -1
  284. package/dist/state/objectiveExperimentEntities.js +0 -1
  285. package/dist/state/planEntities.js +0 -1
  286. package/dist/state/planIdentity.js +0 -1
  287. package/dist/state/planRetrieval.js +0 -1
  288. package/dist/state/planTaskRetrieval.js +0 -1
  289. package/dist/state/progressEntities.js +0 -1
  290. package/dist/state/progressGlossaryCaveat.js +0 -1
  291. package/dist/state/progressPublicationOrder.js +0 -1
  292. package/dist/state/projectRoot.js +0 -1
  293. package/dist/state/projectionPolicy.js +0 -1
  294. package/dist/state/retrievalAuthority.js +0 -1
  295. package/dist/state/safeProjectFile.js +0 -1
  296. package/dist/state/startupAnalysis/benchmark.js +0 -1
  297. package/dist/state/startupAnalysis/contract.js +44 -10
  298. package/dist/state/startupAnalysis/helpers.js +0 -1
  299. package/dist/state/startupAnalysis/index.js +0 -1
  300. package/dist/state/startupAnalysis/metrics.js +0 -1
  301. package/dist/state/startupAnalysis/records.js +0 -1
  302. package/dist/state/startupAnalysis/report.js +0 -1
  303. package/dist/state/startupAnalysis/threshold.js +0 -1
  304. package/dist/state/startupAnalysis.js +0 -1
  305. package/dist/state/startupProjection.js +2 -2
  306. package/dist/state/stateMode.js +0 -1
  307. package/dist/state/stateStorageAuthority.js +0 -1
  308. package/dist/state/summaryEntityRead.js +0 -1
  309. package/dist/state/summaryMigrationProvenance.js +0 -1
  310. package/dist/state/summarySourceRowAuthority.js +0 -1
  311. package/dist/state/todoDocsEntities.js +161 -83
  312. package/dist/state/todoDocsEntityValidation.js +0 -1
  313. package/dist/state/todoMarkdownProjection.js +51 -0
  314. package/dist/state/todoReconciliationActivation.js +73 -4
  315. package/dist/state/todoReconciliationInspection.js +173 -0
  316. package/dist/state/todoReconciliationRepair.js +170 -0
  317. package/dist/state/todoReconciliationTransaction.js +41 -13
  318. package/dist/state/write/assign.js +0 -1
  319. package/dist/state/write/candidateMutation.js +0 -1
  320. package/dist/state/write/errors.js +0 -1
  321. package/dist/state/write/experimentPublication.js +0 -1
  322. package/dist/state/write/explain.js +0 -1
  323. package/dist/state/write/fields.js +0 -1
  324. package/dist/state/write/glossaryPublication.js +0 -1
  325. package/dist/state/write/grammar.js +13 -4
  326. package/dist/state/write/helpers.js +0 -1
  327. package/dist/state/write/index.js +0 -1
  328. package/dist/state/write/input.js +0 -1
  329. package/dist/state/write/lock.js +0 -1
  330. package/dist/state/write/mutation.js +0 -1
  331. package/dist/state/write/operations.js +0 -1
  332. package/dist/state/write/planEvaluation.js +0 -1
  333. package/dist/state/write/planPublication.js +0 -1
  334. package/dist/state/write/runtimeOperations.js +83 -6
  335. package/dist/state/write/serialize.js +0 -1
  336. package/dist/state/write/transaction.js +0 -1
  337. package/dist/state/write/validate.js +0 -1
  338. package/dist/upgrade/appContentRefresh.js +0 -1
  339. package/dist/upgrade/appModel.js +0 -1
  340. package/dist/upgrade/atomicWriter.js +0 -1
  341. package/dist/upgrade/bundleEvidence.js +0 -1
  342. package/dist/upgrade/channels.js +0 -1
  343. package/dist/upgrade/compatibility.js +0 -1
  344. package/dist/upgrade/doctor.js +0 -1
  345. package/dist/upgrade/doctorClassifier.js +0 -1
  346. package/dist/upgrade/installedHooksRetirement.js +0 -1
  347. package/dist/upgrade/legacyAgentCleanup.js +0 -1
  348. package/dist/upgrade/lifecycleUpgrade.js +0 -1
  349. package/dist/upgrade/migrateArtifactsV2ToV3.js +7 -15
  350. package/dist/upgrade/migrationPublication.js +0 -1
  351. package/dist/upgrade/nextMajorDoctor.js +0 -1
  352. package/dist/upgrade/npxPlatformStatus.js +0 -1
  353. package/dist/upgrade/projectIntegration.js +4 -17
  354. package/dist/upgrade/projectIntegrationDecision.js +0 -1
  355. package/dist/upgrade/retiredResourceDiagnostics.js +117 -0
  356. package/dist/upgrade/runtimeMigration.js +61 -190
  357. package/dist/upgrade/upgradeCommands.js +5 -1
  358. package/dist/upgrade/upgradeLock.js +0 -1
  359. package/dist/upgrade/upgradeOrchestrator.js +52 -9
  360. package/dist/upgrade/v3CapabilitySurface.js +0 -1
  361. package/dist/upgrade/versionResolution.js +0 -1
  362. package/dist/validate/activationArtifactEvidence.js +844 -0
  363. package/dist/validate/activationConjunction.js +816 -0
  364. package/dist/validate/activationEvidenceManifest.js +515 -0
  365. package/dist/validate/activationPackageSemantics.js +29 -0
  366. package/dist/validate/appHomeContract.js +0 -2
  367. package/dist/validate/bootstrapAuthority.js +44 -0
  368. package/dist/validate/capability.js +0 -1
  369. package/dist/validate/crossCapability.js +0 -1
  370. package/dist/validate/retainedReferenceAuthority.js +879 -0
  371. package/dist/validate/selfAudit.js +0 -1
  372. package/dist/validate/v1LegacyCruft.js +0 -10
  373. package/dist/validate/vocabularyAuthority.js +6 -8
  374. package/package.json +12 -5
  375. package/bundle/references/adapters/package-manifest-interface-model.yaml +0 -127
  376. package/bundle/references/analysis/benchmark.md +0 -271
  377. package/bundle/references/analysis/startup-measurement-contract.yaml +0 -435
  378. package/bundle/references/cli/agent-ready-state-contract.yaml +0 -1015
  379. package/bundle/references/cli/audience-namespace-cli-migration.yaml +0 -395
  380. package/bundle/references/cli/bundle-skill-vocabulary.yaml +0 -241
  381. package/bundle/references/cli/capability-instruction-structure.md +0 -144
  382. package/bundle/references/cli/capability-tool-classification.yaml +0 -53
  383. package/bundle/references/cli/coexistence-probe.yaml +0 -13
  384. package/bundle/references/cli/parity-expected-actual-template.md +0 -30
  385. package/bundle/references/cli/prime-consumer-compatibility.yaml +0 -701
  386. package/bundle/references/cli/routing-execution-vocabulary.yaml +0 -259
  387. package/bundle/references/cli/single-name-protocol.yaml +0 -42
  388. package/bundle/references/cli/upgrade-repair-wording.md +0 -25
  389. package/bundle/references/cli/v3-handoff-manifest.schema.yaml +0 -97
  390. package/bundle/references/meta/documentation-inventory.md +0 -50
  391. package/bundle/skills/agentera/references/contract.md +0 -1097
  392. package/dist/analytics/extractCorpus/cli.js.map +0 -1
  393. package/dist/analytics/extractCorpus/copilotSessions.js.map +0 -1
  394. package/dist/analytics/extractCorpus/core.js.map +0 -1
  395. package/dist/analytics/extractCorpus/corpus.js.map +0 -1
  396. package/dist/analytics/extractCorpus/coverageAudit.js.map +0 -1
  397. package/dist/analytics/extractCorpus/cursorSessions.js.map +0 -1
  398. package/dist/analytics/extractCorpus/evidenceTiers.js.map +0 -1
  399. package/dist/analytics/extractCorpus/extractCorpusParity.js.map +0 -1
  400. package/dist/analytics/extractCorpus/filesystemSources.js.map +0 -1
  401. package/dist/analytics/extractCorpus/index.js.map +0 -1
  402. package/dist/analytics/extractCorpus/jsonlSessions.js.map +0 -1
  403. package/dist/analytics/extractCorpus/sqliteCaps.js.map +0 -1
  404. package/dist/analytics/extractCorpus/sqliteSessions.js.map +0 -1
  405. package/dist/analytics/extractCorpus/tierReader.js.map +0 -1
  406. package/dist/analytics/extractCorpus.js.map +0 -1
  407. package/dist/analytics/glossaryAdviceResolution.js.map +0 -1
  408. package/dist/analytics/glossaryInputAcquisition.js.map +0 -1
  409. package/dist/analytics/personalGlossaryAdmission.js.map +0 -1
  410. package/dist/analytics/personalGlossaryProfile.js.map +0 -1
  411. package/dist/analytics/profileSignals.js.map +0 -1
  412. package/dist/analytics/usageStats.js.map +0 -1
  413. package/dist/audit/terminologyDrift.js.map +0 -1
  414. package/dist/bin/agentera.js.map +0 -1
  415. package/dist/capabilities/audit/instructions.js.map +0 -1
  416. package/dist/capabilities/build/instructions.js.map +0 -1
  417. package/dist/capabilities/design/instructions.js.map +0 -1
  418. package/dist/capabilities/discuss/instructions.js.map +0 -1
  419. package/dist/capabilities/document/instructions.js.map +0 -1
  420. package/dist/capabilities/index.js.map +0 -1
  421. package/dist/capabilities/optimize/instructions.js.map +0 -1
  422. package/dist/capabilities/orchestrate/instructions.js.map +0 -1
  423. package/dist/capabilities/plan/instructions.js.map +0 -1
  424. package/dist/capabilities/profile/instructions.js.map +0 -1
  425. package/dist/capabilities/research/instructions.js.map +0 -1
  426. package/dist/capabilities/status/instructions.js.map +0 -1
  427. package/dist/capabilities/status/startupInstructions.js.map +0 -1
  428. package/dist/capabilities/vision/instructions.js.map +0 -1
  429. package/dist/cli/appContext.js.map +0 -1
  430. package/dist/cli/argvalidate.js.map +0 -1
  431. package/dist/cli/capabilityContext/benchmark.js.map +0 -1
  432. package/dist/cli/capabilityContext/bespoke.js.map +0 -1
  433. package/dist/cli/capabilityContext/build.js.map +0 -1
  434. package/dist/cli/capabilityContext/closeout.js.map +0 -1
  435. package/dist/cli/capabilityContext/contract.js.map +0 -1
  436. package/dist/cli/capabilityContext/evidence.js.map +0 -1
  437. package/dist/cli/capabilityContext/index.js.map +0 -1
  438. package/dist/cli/capabilityContext/orchestration.js.map +0 -1
  439. package/dist/cli/capabilityContext/planState.js.map +0 -1
  440. package/dist/cli/capabilityContext/progress.js.map +0 -1
  441. package/dist/cli/capabilityContext/projectVerification.js.map +0 -1
  442. package/dist/cli/capabilityContext/shared.js.map +0 -1
  443. package/dist/cli/capabilityContext/slim.js.map +0 -1
  444. package/dist/cli/capabilityContext/startup.js.map +0 -1
  445. package/dist/cli/capabilityContext/types.js.map +0 -1
  446. package/dist/cli/capabilityContext.js.map +0 -1
  447. package/dist/cli/commands/appHome.js.map +0 -1
  448. package/dist/cli/commands/capability.js.map +0 -1
  449. package/dist/cli/commands/compact.js.map +0 -1
  450. package/dist/cli/commands/doctor.js.map +0 -1
  451. package/dist/cli/commands/durability.js.map +0 -1
  452. package/dist/cli/commands/entityMigrate.js +0 -132
  453. package/dist/cli/commands/entityMigrate.js.map +0 -1
  454. package/dist/cli/commands/glossaryAdvice.js.map +0 -1
  455. package/dist/cli/commands/lint.js.map +0 -1
  456. package/dist/cli/commands/personalGlossary.js.map +0 -1
  457. package/dist/cli/commands/prime/briefOrientation.js.map +0 -1
  458. package/dist/cli/commands/prime/buildExecutionRequest.js.map +0 -1
  459. package/dist/cli/commands/prime/bundleStatus.js.map +0 -1
  460. package/dist/cli/commands/prime/collectEntityOrientation.js.map +0 -1
  461. package/dist/cli/commands/prime/collectOrientationState.js.map +0 -1
  462. package/dist/cli/commands/prime/orientationOutput.js.map +0 -1
  463. package/dist/cli/commands/prime/types.js.map +0 -1
  464. package/dist/cli/commands/prime/v1Migration.js.map +0 -1
  465. package/dist/cli/commands/prime.js.map +0 -1
  466. package/dist/cli/commands/profileGrounding.js.map +0 -1
  467. package/dist/cli/commands/query.js.map +0 -1
  468. package/dist/cli/commands/report.js.map +0 -1
  469. package/dist/cli/commands/route.js.map +0 -1
  470. package/dist/cli/commands/schema.js.map +0 -1
  471. package/dist/cli/commands/state/decisions.js.map +0 -1
  472. package/dist/cli/commands/state/docs.js.map +0 -1
  473. package/dist/cli/commands/state/experimentRecords.js.map +0 -1
  474. package/dist/cli/commands/state/experiments.js.map +0 -1
  475. package/dist/cli/commands/state/get.js.map +0 -1
  476. package/dist/cli/commands/state/health.js.map +0 -1
  477. package/dist/cli/commands/state/index.js.map +0 -1
  478. package/dist/cli/commands/state/list.js.map +0 -1
  479. package/dist/cli/commands/state/objective.js.map +0 -1
  480. package/dist/cli/commands/state/plan.js.map +0 -1
  481. package/dist/cli/commands/state/planTasks.js.map +0 -1
  482. package/dist/cli/commands/state/plans.js.map +0 -1
  483. package/dist/cli/commands/state/progress.js.map +0 -1
  484. package/dist/cli/commands/state/shared.js.map +0 -1
  485. package/dist/cli/commands/state/todo.js.map +0 -1
  486. package/dist/cli/commands/state/write.js.map +0 -1
  487. package/dist/cli/commands/upgrade.js.map +0 -1
  488. package/dist/cli/commands/upgradeVerify.js.map +0 -1
  489. package/dist/cli/commands/validate.js.map +0 -1
  490. package/dist/cli/commands/verify.js.map +0 -1
  491. package/dist/cli/contracts/bundleStatus.js.map +0 -1
  492. package/dist/cli/contracts/orientationState.js.map +0 -1
  493. package/dist/cli/dispatch/argvParser.js.map +0 -1
  494. package/dist/cli/dispatch/check.js.map +0 -1
  495. package/dist/cli/dispatch/commands.js.map +0 -1
  496. package/dist/cli/dispatch/index.js.map +0 -1
  497. package/dist/cli/dispatch/lifecycle.js.map +0 -1
  498. package/dist/cli/dispatch/prime.js.map +0 -1
  499. package/dist/cli/dispatch/shared.js.map +0 -1
  500. package/dist/cli/dispatch/state.js.map +0 -1
  501. package/dist/cli/dispatch.js.map +0 -1
  502. package/dist/cli/errors.js.map +0 -1
  503. package/dist/cli/help.js.map +0 -1
  504. package/dist/cli/migrationRequired.js.map +0 -1
  505. package/dist/cli/orientation/attention.js.map +0 -1
  506. package/dist/cli/orientation/corpusCoverage.js.map +0 -1
  507. package/dist/cli/orientation.js.map +0 -1
  508. package/dist/cli/planArtifacts.js.map +0 -1
  509. package/dist/cli/planEvidence.js.map +0 -1
  510. package/dist/cli/planLifecycleState.js.map +0 -1
  511. package/dist/cli/planTaskIndex.js.map +0 -1
  512. package/dist/cli/prime-blob.js.map +0 -1
  513. package/dist/cli/profileAcquisition.js.map +0 -1
  514. package/dist/cli/startupCompletenessContract.js.map +0 -1
  515. package/dist/cli/stateQuery.js.map +0 -1
  516. package/dist/cli/structured.js.map +0 -1
  517. package/dist/cli/todoMarkdown.js.map +0 -1
  518. package/dist/cli/todoReadinessSelection.js.map +0 -1
  519. package/dist/cli/todoSeverity.js.map +0 -1
  520. package/dist/core/atomicWriter.js.map +0 -1
  521. package/dist/core/difflib.js.map +0 -1
  522. package/dist/core/envPaths.js.map +0 -1
  523. package/dist/core/jsonValue.js.map +0 -1
  524. package/dist/core/paths.js.map +0 -1
  525. package/dist/core/pyjson.js.map +0 -1
  526. package/dist/core/shell.js.map +0 -1
  527. package/dist/core/skillIdentity.js.map +0 -1
  528. package/dist/core/sourceRoot.js.map +0 -1
  529. package/dist/core/text.js.map +0 -1
  530. package/dist/core/toml.js.map +0 -1
  531. package/dist/core/yaml.js.map +0 -1
  532. package/dist/eval/evalSkills.js.map +0 -1
  533. package/dist/eval/hybridRouteEvaluation.js.map +0 -1
  534. package/dist/eval/semanticEval.js.map +0 -1
  535. package/dist/eval/semanticFixtures.js.map +0 -1
  536. package/dist/hooks/common.js.map +0 -1
  537. package/dist/hooks/compaction/apply.js.map +0 -1
  538. package/dist/hooks/compaction/dryRun.js.map +0 -1
  539. package/dist/hooks/compaction/index.js.map +0 -1
  540. package/dist/hooks/compaction/parse.js.map +0 -1
  541. package/dist/hooks/compaction/retention.js.map +0 -1
  542. package/dist/hooks/compaction/status.js.map +0 -1
  543. package/dist/hooks/compaction/types.js.map +0 -1
  544. package/dist/hooks/cursorPreToolUse.js +0 -19
  545. package/dist/hooks/cursorPreToolUse.js.map +0 -1
  546. package/dist/hooks/cursorSessionStart.js +0 -64
  547. package/dist/hooks/cursorSessionStart.js.map +0 -1
  548. package/dist/hooks/projectHookInput.js +0 -26
  549. package/dist/hooks/projectHookInput.js.map +0 -1
  550. package/dist/hooks/sessionStart.js +0 -94
  551. package/dist/hooks/sessionStart.js.map +0 -1
  552. package/dist/hooks/sessionStop.js +0 -198
  553. package/dist/hooks/sessionStop.js.map +0 -1
  554. package/dist/hooks/validateArtifact/agentFacing.js.map +0 -1
  555. package/dist/hooks/validateArtifact/index.js.map +0 -1
  556. package/dist/hooks/validateArtifact/markdown.js.map +0 -1
  557. package/dist/hooks/validateArtifact/runtime.js +0 -86
  558. package/dist/hooks/validateArtifact/runtime.js.map +0 -1
  559. package/dist/hooks/validateArtifact/schema.js.map +0 -1
  560. package/dist/hooks/validateArtifact/traversal.js.map +0 -1
  561. package/dist/hooks/validateArtifact/violations.js.map +0 -1
  562. package/dist/migrate/v2HandoffManifest.js.map +0 -1
  563. package/dist/registries/artifactProtocolIds.js.map +0 -1
  564. package/dist/registries/artifactRegistry.js.map +0 -1
  565. package/dist/registries/artifactSchemaProjection.js.map +0 -1
  566. package/dist/registries/capabilityContract.js.map +0 -1
  567. package/dist/registries/evaluatorHandoffContract.js.map +0 -1
  568. package/dist/registries/evidenceTierContract.js.map +0 -1
  569. package/dist/registries/glossaryAdviceContract.js.map +0 -1
  570. package/dist/registries/glossaryCaveatContract.js.map +0 -1
  571. package/dist/registries/glossaryConsumerContractValidation.js.map +0 -1
  572. package/dist/registries/glossaryEntryContract.js.map +0 -1
  573. package/dist/registries/glossaryTermIdentity.js.map +0 -1
  574. package/dist/registries/glossaryTermOccurrence.js.map +0 -1
  575. package/dist/registries/hybridRoute.js.map +0 -1
  576. package/dist/registries/hybridRouteReceipt.js.map +0 -1
  577. package/dist/registries/packageRegistry.js.map +0 -1
  578. package/dist/registries/todoReadinessContract.js.map +0 -1
  579. package/dist/registries/triggerLoader.js.map +0 -1
  580. package/dist/registries/verbosityBudgetContract.js.map +0 -1
  581. package/dist/release/releaseMetadata.js.map +0 -1
  582. package/dist/runtime/lifecycleAdapterContract.js.map +0 -1
  583. package/dist/runtime/lifecycleAdapters.js.map +0 -1
  584. package/dist/runtime/lifecycleAuthority.js.map +0 -1
  585. package/dist/runtime/lifecycleOperationContract.js.map +0 -1
  586. package/dist/runtime/lifecycleOperations.js.map +0 -1
  587. package/dist/runtime/lifecycleOwnershipJournal.js.map +0 -1
  588. package/dist/runtime/lifecyclePublication.js.map +0 -1
  589. package/dist/runtime/lifecycleSnapshot.js.map +0 -1
  590. package/dist/runtime/nativeResourceCleanup.js.map +0 -1
  591. package/dist/setup/codex/cli.js +0 -130
  592. package/dist/setup/codex/cli.js.map +0 -1
  593. package/dist/setup/codex/configToml.js +0 -558
  594. package/dist/setup/codex/configToml.js.map +0 -1
  595. package/dist/setup/codex/constants.js +0 -14
  596. package/dist/setup/codex/constants.js.map +0 -1
  597. package/dist/setup/codex/installRoot.js +0 -64
  598. package/dist/setup/codex/installRoot.js.map +0 -1
  599. package/dist/setup/codex/state.js +0 -252
  600. package/dist/setup/codex/state.js.map +0 -1
  601. package/dist/setup/codex.js +0 -10
  602. package/dist/setup/codex.js.map +0 -1
  603. package/dist/setup/opencode.js.map +0 -1
  604. package/dist/setup/opencodeConstants.js.map +0 -1
  605. package/dist/setup/sharedSkill.js.map +0 -1
  606. package/dist/setup/smokeChecks.js.map +0 -1
  607. package/dist/state/archiveDiscovery.js.map +0 -1
  608. package/dist/state/archivePublication.js.map +0 -1
  609. package/dist/state/archiveRecovery.js.map +0 -1
  610. package/dist/state/archiveReplay.js.map +0 -1
  611. package/dist/state/canonicalMigrationRecord.js.map +0 -1
  612. package/dist/state/changelog.js.map +0 -1
  613. package/dist/state/decisionEntities.js.map +0 -1
  614. package/dist/state/decisionLegacyValidation.js.map +0 -1
  615. package/dist/state/decisionMigrationProvenance.js.map +0 -1
  616. package/dist/state/decisionOverlay.js.map +0 -1
  617. package/dist/state/decisionRevision.js.map +0 -1
  618. package/dist/state/decisionRevisionMigration.js.map +0 -1
  619. package/dist/state/directRetrieval.js.map +0 -1
  620. package/dist/state/durability.js.map +0 -1
  621. package/dist/state/entityCutover.js.map +0 -1
  622. package/dist/state/entityCutoverGit.js.map +0 -1
  623. package/dist/state/entityGlossaryAuthority.js.map +0 -1
  624. package/dist/state/entityListProjection.js.map +0 -1
  625. package/dist/state/entityListRuntimeRegistry.js.map +0 -1
  626. package/dist/state/entityMigrationCausality.js.map +0 -1
  627. package/dist/state/entityMigrationIdentity.js.map +0 -1
  628. package/dist/state/entityMigrationPreview.js.map +0 -1
  629. package/dist/state/entityPublicationContext.js.map +0 -1
  630. package/dist/state/entityRetrievalHelp.js.map +0 -1
  631. package/dist/state/entityStorage.js.map +0 -1
  632. package/dist/state/exactReplacementRecovery.js.map +0 -1
  633. package/dist/state/experimentArchive.js.map +0 -1
  634. package/dist/state/experimentIdentity.js.map +0 -1
  635. package/dist/state/healthEntities.js.map +0 -1
  636. package/dist/state/healthEntityValidation.js.map +0 -1
  637. package/dist/state/healthRepair.js.map +0 -1
  638. package/dist/state/installRoot.js.map +0 -1
  639. package/dist/state/legacyEntityCutoverEvidence.js.map +0 -1
  640. package/dist/state/legacyIdentity.js.map +0 -1
  641. package/dist/state/legacySummaryRecord.js.map +0 -1
  642. package/dist/state/listAccounting.js.map +0 -1
  643. package/dist/state/listClassification.js.map +0 -1
  644. package/dist/state/listCursor.js.map +0 -1
  645. package/dist/state/listRetrieval.js.map +0 -1
  646. package/dist/state/migrationSourceBinding.js.map +0 -1
  647. package/dist/state/objectiveExperimentEntities.js.map +0 -1
  648. package/dist/state/planEntities.js.map +0 -1
  649. package/dist/state/planIdentity.js.map +0 -1
  650. package/dist/state/planRetrieval.js.map +0 -1
  651. package/dist/state/planTaskRetrieval.js.map +0 -1
  652. package/dist/state/progressEntities.js.map +0 -1
  653. package/dist/state/progressGlossaryCaveat.js.map +0 -1
  654. package/dist/state/progressPublicationOrder.js.map +0 -1
  655. package/dist/state/projectRoot.js.map +0 -1
  656. package/dist/state/projectionPolicy.js.map +0 -1
  657. package/dist/state/retrievalAuthority.js.map +0 -1
  658. package/dist/state/safeProjectFile.js.map +0 -1
  659. package/dist/state/startupAnalysis/benchmark.js.map +0 -1
  660. package/dist/state/startupAnalysis/contract.js.map +0 -1
  661. package/dist/state/startupAnalysis/helpers.js.map +0 -1
  662. package/dist/state/startupAnalysis/index.js.map +0 -1
  663. package/dist/state/startupAnalysis/metrics.js.map +0 -1
  664. package/dist/state/startupAnalysis/records.js.map +0 -1
  665. package/dist/state/startupAnalysis/report.js.map +0 -1
  666. package/dist/state/startupAnalysis/threshold.js.map +0 -1
  667. package/dist/state/startupAnalysis.js.map +0 -1
  668. package/dist/state/startupProjection.js.map +0 -1
  669. package/dist/state/stateMode.js.map +0 -1
  670. package/dist/state/stateStorageAuthority.js.map +0 -1
  671. package/dist/state/summaryEntityRead.js.map +0 -1
  672. package/dist/state/summaryMigrationProvenance.js.map +0 -1
  673. package/dist/state/summarySourceRowAuthority.js.map +0 -1
  674. package/dist/state/todoDocsEntities.js.map +0 -1
  675. package/dist/state/todoDocsEntityValidation.js.map +0 -1
  676. package/dist/state/todoReconciliationActivation.js.map +0 -1
  677. package/dist/state/todoReconciliationTransaction.js.map +0 -1
  678. package/dist/state/write/assign.js.map +0 -1
  679. package/dist/state/write/candidateMutation.js.map +0 -1
  680. package/dist/state/write/errors.js.map +0 -1
  681. package/dist/state/write/experimentPublication.js.map +0 -1
  682. package/dist/state/write/explain.js.map +0 -1
  683. package/dist/state/write/fields.js.map +0 -1
  684. package/dist/state/write/glossaryPublication.js.map +0 -1
  685. package/dist/state/write/grammar.js.map +0 -1
  686. package/dist/state/write/helpers.js.map +0 -1
  687. package/dist/state/write/index.js.map +0 -1
  688. package/dist/state/write/input.js.map +0 -1
  689. package/dist/state/write/lock.js.map +0 -1
  690. package/dist/state/write/mutation.js.map +0 -1
  691. package/dist/state/write/operations.js.map +0 -1
  692. package/dist/state/write/planEvaluation.js.map +0 -1
  693. package/dist/state/write/planPublication.js.map +0 -1
  694. package/dist/state/write/runtimeOperations.js.map +0 -1
  695. package/dist/state/write/serialize.js.map +0 -1
  696. package/dist/state/write/transaction.js.map +0 -1
  697. package/dist/state/write/validate.js.map +0 -1
  698. package/dist/upgrade/appContentRefresh.js.map +0 -1
  699. package/dist/upgrade/appModel.js.map +0 -1
  700. package/dist/upgrade/atomicWriter.js.map +0 -1
  701. package/dist/upgrade/bundleEvidence.js.map +0 -1
  702. package/dist/upgrade/channels.js.map +0 -1
  703. package/dist/upgrade/coexistenceProbe.js +0 -105
  704. package/dist/upgrade/coexistenceProbe.js.map +0 -1
  705. package/dist/upgrade/compatibility.js.map +0 -1
  706. package/dist/upgrade/doctor.js.map +0 -1
  707. package/dist/upgrade/doctorClassifier.js.map +0 -1
  708. package/dist/upgrade/installedHooksRetirement.js.map +0 -1
  709. package/dist/upgrade/legacyAgentCleanup.js.map +0 -1
  710. package/dist/upgrade/lifecycleUpgrade.js.map +0 -1
  711. package/dist/upgrade/migrateArtifactsV2ToV3.js.map +0 -1
  712. package/dist/upgrade/migrationPublication.js.map +0 -1
  713. package/dist/upgrade/nextMajorDoctor.js.map +0 -1
  714. package/dist/upgrade/npxPlatformStatus.js.map +0 -1
  715. package/dist/upgrade/projectIntegration.js.map +0 -1
  716. package/dist/upgrade/projectIntegrationDecision.js.map +0 -1
  717. package/dist/upgrade/runtimeMigration.js.map +0 -1
  718. package/dist/upgrade/upgradeCommands.js.map +0 -1
  719. package/dist/upgrade/upgradeLock.js.map +0 -1
  720. package/dist/upgrade/upgradeOrchestrator.js.map +0 -1
  721. package/dist/upgrade/v3CapabilitySurface.js.map +0 -1
  722. package/dist/upgrade/versionResolution.js.map +0 -1
  723. package/dist/validate/appHomeContract.js.map +0 -1
  724. package/dist/validate/capability.js.map +0 -1
  725. package/dist/validate/crossCapability.js.map +0 -1
  726. package/dist/validate/selfAudit.js.map +0 -1
  727. package/dist/validate/v1LegacyCruft.js.map +0 -1
  728. package/dist/validate/vocabularyAuthority.js.map +0 -1
@@ -1,15 +1,11 @@
1
1
  import fs from "node:fs";
2
- import os from "node:os";
3
2
  import path from "node:path";
4
3
  import { createHash } from "node:crypto";
5
4
  import { isFile, pathExists, resolvePath } from "../core/paths.js";
6
- import { resolveSourceRoot } from "../core/sourceRoot.js";
7
- import { codexCopiedHooksAreAgenteraOnly, codexPluginHooksEnabled, retireCodexCopiedHookTrust, } from "../setup/codex.js";
8
5
  import { hasManagedMarker, opencodeConfigDir, } from "../setup/opencode.js";
9
6
  import { OPENCODE_SKILL_NAMES } from "../setup/opencodeConstants.js";
10
- import { resolveInvokedUpdateChannel } from "./channels.js";
11
7
  import { doctorRoots } from "./appModel.js";
12
- import { bindMigrationResource, removeBoundMigrationResource, updateBoundMigrationFile, verifyBoundMigrationResource, } from "./migrationPublication.js";
8
+ import { bindMigrationResource, removeBoundMigrationResource, verifyBoundMigrationResource, } from "./migrationPublication.js";
13
9
  const PYTHON_MANAGED_PATTERNS = [
14
10
  /hooks\/validate_artifact\.py/,
15
11
  /hooks\/cursor_session_start\.py/,
@@ -36,190 +32,94 @@ export function projectHasProjectLevelRuntimeHooks(project) {
36
32
  return candidates.some((candidate) => isFile(candidate) || pathExists(candidate));
37
33
  }
38
34
  const OPENCODE_COMMAND_NAMES = ["agentera"];
39
- export function resolveNpxHookCommands(ctx, resolvedChannel) {
40
- const env = ctx.env ?? process.env;
41
- const home = ctx.home ?? env.HOME ?? os.homedir();
42
- const sourceRoot = ctx.sourceRoot ?? resolveSourceRoot(env);
43
- const channel = resolvedChannel ?? resolveInvokedUpdateChannel({
44
- channel: ctx.channel ?? null,
45
- env,
46
- home,
47
- sourceRoot,
48
- });
49
- const cliEntrypoint = channel.updateCommand.trim();
50
- return {
51
- cliEntrypoint,
52
- validate: `${cliEntrypoint} hook validate-artifact`,
53
- cursorSessionStart: `${cliEntrypoint} hook cursor-session-start`,
54
- cursorSessionStop: `${cliEntrypoint} hook session-stop`,
55
- cursorPreTool: `${cliEntrypoint} hook cursor-pre-tool-use`,
56
- };
57
- }
58
35
  export function textUsesPythonManagedEntrypoint(text) {
59
36
  if (/AGENTERA_HOME\s*=/.test(text)) {
60
37
  return true;
61
38
  }
62
39
  return PYTHON_MANAGED_PATTERNS.some((pattern) => pattern.test(text));
63
40
  }
64
- const V3_NPX_ENTRYPOINT = /\bnpx\s+-y\s+agentera\b/;
65
- export function textUsesV3NpmEntrypoint(text) {
66
- return V3_NPX_ENTRYPOINT.test(text);
67
- }
68
- export function rewireRuntimeText(text, runtime, commands) {
69
- let next = text;
70
- next = next.replace(/uv run\s+\\?"?\$\{AGENTERA_HOME\}\/hooks\/validate_artifact\.py\\?"?/g, commands.validate);
71
- next = next.replace(/uv run\s+\\?"?\$\{AGENTERA_HOME\}\/app\/hooks\/validate_artifact\.py\\?"?/g, commands.validate);
72
- next = next.replace(/uv run\s+\\?"?\$\{PLUGIN_ROOT\}\/hooks\/validate_artifact\.py\\?"?/g, commands.validate);
73
- next = next.replace(/uv run\s+\\?"?\$\{AGENTERA_HOME\}\/(?:app\/scripts|(?:app\/)?hooks)\/cursor_session_start\.py\\?"?/g, `"${commands.cursorSessionStart}"`);
74
- next = next.replace(/uv run\s+\\?"?\$\{AGENTERA_HOME\}\/(?:app\/)?hooks\/cursor_pre_tool_use\.py\\?"?/g, `"${commands.cursorPreTool}"`);
75
- next = next.replace(/uv run\s+\\?"?\$\{AGENTERA_HOME\}\/(?:app\/)?hooks\/cursor_session_stop\.py\\?"?/g, `"${commands.cursorSessionStop}"`);
76
- next = next.replace(/npx -y agentera hook /g, `${commands.cliEntrypoint} hook `);
77
- next = next.replace(/npx -y agentera@latest hook /g, `${commands.cliEntrypoint} hook `);
78
- if (runtime === "codex") {
79
- next = next.replace(/AGENTERA_HOME\s*=\s*"[^"]*"/g, "");
80
- next = next.replace(/AGENTERA_HOME\s*=\s*'[^']*'/g, "");
81
- next = next.replace(/set\s*=\s*\{\s*,/g, "set = {");
82
- next = next.replace(/,\s*,/g, ",");
83
- next = next.replace(/,\s*\}/g, " }");
84
- next = next.replace(/set\s*=\s*\{\s*\}/g, "set = { }");
41
+ const RETIRED_NPX_HOOK = /\bnpx\s+-y\s+agentera(?:@(?:next|latest))?\s+hook\s+/;
42
+ const V2_AGENTERA_HOOK = /(?:\buv(?:x|\s+run)\b[^"'\n]*(?:\$\{(?:AGENTERA_HOME|PLUGIN_ROOT)\}|hooks\/)\/[^"'\n]*\.py|\$\{AGENTERA_HOME\}\/(?:app\/scripts|(?:app\/)?hooks)\/[^"'\n]*\.py)/;
43
+ function retiredHookCommands(value, commands = []) {
44
+ if (Array.isArray(value)) {
45
+ for (const entry of value)
46
+ retiredHookCommands(entry, commands);
47
+ }
48
+ else if (value !== null && typeof value === "object") {
49
+ for (const [key, entry] of Object.entries(value)) {
50
+ if (key === "command" && typeof entry === "string")
51
+ commands.push(entry);
52
+ else
53
+ retiredHookCommands(entry, commands);
54
+ }
85
55
  }
86
- return next;
56
+ return commands;
87
57
  }
88
- function needsChannelNpxRewire(text, cliEntrypoint) {
89
- if (/npx -y agentera hook /.test(text) && !text.includes(cliEntrypoint)) {
90
- return true;
58
+ function isRetiredAgenteraHookCommand(command) {
59
+ return V2_AGENTERA_HOOK.test(command) || RETIRED_NPX_HOOK.test(command);
60
+ }
61
+ /**
62
+ * Native hook files have no durable per-entry ownership record. Remove only a
63
+ * file whose every command is a retired Agentera invocation; mixed files are
64
+ * preserved for the owner to review rather than surgically rewritten.
65
+ */
66
+ export function wholeResourceProvesV2HookOwnership(text) {
67
+ let document;
68
+ try {
69
+ document = JSON.parse(text);
91
70
  }
92
- if (/npx -y agentera@latest hook /.test(text) && !text.includes(cliEntrypoint)) {
93
- return true;
71
+ catch {
72
+ return false;
94
73
  }
95
- return false;
74
+ const commands = retiredHookCommands(document);
75
+ return commands.length > 0 && commands.every(isRetiredAgenteraHookCommand);
96
76
  }
97
- function textHasAuthoritativeV2AgenteraEvidence(text) {
98
- const variableReference = /\$\{AGENTERA_HOME\}\/(?:app\/scripts\/(?:agentera|cursor_session_start\.py)|(?:app\/)?hooks\/(?:validate_artifact|cursor_session_start|cursor_pre_tool_use|cursor_session_stop|session_start|session_stop)\.py)/;
99
- if (variableReference.test(text))
100
- return true;
101
- if (/AGENTERA_HOME\s*=/.test(text))
102
- return true;
103
- if (/\[plugins\."agentera@agentera"\]/.test(text) && /AGENTERA_HOME\s*=/.test(text))
104
- return true;
105
- return false;
77
+ function textContainsRetiredAgenteraHook(text) {
78
+ return textUsesPythonManagedEntrypoint(text) || RETIRED_NPX_HOOK.test(text);
106
79
  }
107
- function pushRewireItem(items, runtime, filePath, commands, allowedRoot) {
80
+ function pushRetireHookItem(items, runtime, filePath, allowedRoot) {
108
81
  const text = fs.readFileSync(filePath, "utf8");
109
- const needsBare = needsChannelNpxRewire(text, commands.cliEntrypoint);
110
- const authoritative = hasManagedMarker(text)
111
- || textHasAuthoritativeV2AgenteraEvidence(text)
112
- || needsBare;
113
- if (!authoritative) {
114
- if (textUsesV3NpmEntrypoint(text)) {
115
- items.push({
116
- status: "noop",
117
- action: "rewire-runtime",
118
- runtime,
119
- source: filePath,
120
- message: "runtime config already references npm self-contained entrypoint",
121
- });
122
- }
123
- // If the file has no Agentera content at all (no v2 Python, no v3 npm),
124
- // it is not Agentera-managed. Do not push a blocked item — just return.
82
+ if (!textContainsRetiredAgenteraHook(text)) {
125
83
  return;
126
84
  }
127
- const newText = rewireRuntimeText(text, runtime, commands);
128
- const status = newText === text ? "blocked" : "pending";
129
85
  const item = {
130
- status,
131
- action: "rewire-runtime",
86
+ status: wholeResourceProvesV2HookOwnership(text) ? "pending" : "blocked",
87
+ action: "retire-hooks",
132
88
  runtime,
133
89
  source: filePath,
134
- target: filePath,
135
- newText,
136
- message: status === "pending"
137
- ? "will rewire runtime config from Python managed app-home to npm self-contained entrypoint"
138
- : "runtime config uses Python managed paths but could not be rewritten safely",
90
+ message: wholeResourceProvesV2HookOwnership(text)
91
+ ? "will remove whole-resource-proven retired Agentera hook"
92
+ : "retired Agentera hook preserved: complete resource ownership is unproven; review and remove it manually",
139
93
  };
140
- const evidenceError = bindMigrationResource(item, "target", filePath, [allowedRoot], "file");
94
+ if (item.status === "blocked") {
95
+ items.push(item);
96
+ return;
97
+ }
98
+ const evidenceError = bindMigrationResource(item, "source", filePath, [allowedRoot], "file");
141
99
  if (evidenceError) {
142
100
  item.status = "blocked";
143
- item.message = `runtime config preserved: ${evidenceError}; review the unsafe path manually`;
101
+ item.message = `retired Agentera hook preserved: ${evidenceError}; review the unsafe path manually`;
144
102
  }
145
103
  items.push(item);
146
104
  }
147
- function planCodexItems(items, home, project, commands) {
105
+ function planCodexItems(items, home, project) {
148
106
  for (const root of [project, home]) {
149
107
  const hooksPath = path.join(root, ".codex", "hooks", "codex-hooks.json");
150
- const configPath = path.join(root, ".codex", "config.toml");
151
- if (isFile(configPath)) {
152
- const configText = fs.readFileSync(configPath, "utf8");
153
- const pluginHooks = codexPluginHooksEnabled(configText);
154
- if (pluginHooks && isFile(hooksPath)) {
155
- let hooksText;
156
- try {
157
- hooksText = fs.readFileSync(hooksPath, "utf8");
158
- }
159
- catch {
160
- hooksText = "";
161
- }
162
- if (codexCopiedHooksAreAgenteraOnly(hooksText)) {
163
- const rewiredConfig = rewireRuntimeText(configText, "codex", commands);
164
- const item = {
165
- status: "pending",
166
- action: "retire-hooks",
167
- runtime: "codex",
168
- source: hooksPath,
169
- target: configPath,
170
- newText: retireCodexCopiedHookTrust(rewiredConfig, hooksPath),
171
- message: "will remove Agentera-owned copied Codex hooks because plugin hooks are enabled",
172
- };
173
- const sourceError = bindMigrationResource(item, "source", hooksPath, [root], "file");
174
- const targetError = bindMigrationResource(item, "target", configPath, [root], "file");
175
- if (sourceError || targetError) {
176
- item.status = "blocked";
177
- item.message = `copied Codex hooks preserved: ${sourceError ?? targetError}; review the unsafe path manually`;
178
- }
179
- items.push(item);
180
- continue;
181
- }
182
- else if (hooksText.includes("validate_artifact") || hooksText.includes("hook validate-artifact")) {
183
- items.push({
184
- status: "blocked",
185
- action: "retire-hooks",
186
- runtime: "codex",
187
- source: hooksPath,
188
- target: configPath,
189
- message: "plugin hooks are enabled, but copied hook target needs manual review before retirement",
190
- });
191
- continue;
192
- }
193
- }
194
- pushRewireItem(items, "codex", configPath, commands, root);
195
- }
196
108
  if (isFile(hooksPath)) {
197
- pushRewireItem(items, "codex", hooksPath, commands, root);
109
+ pushRetireHookItem(items, "codex", hooksPath, root);
198
110
  }
199
111
  }
200
112
  }
201
- function planCursorItems(items, home, project, commands) {
113
+ function planCursorItems(items, home, project) {
202
114
  for (const [root, hooksPath] of [
203
115
  [project, path.join(project, ".cursor", "hooks.json")],
204
116
  [home, path.join(home, ".cursor", "hooks.json")],
205
117
  ]) {
206
118
  if (isFile(hooksPath)) {
207
- pushRewireItem(items, "cursor", hooksPath, commands, root);
119
+ pushRetireHookItem(items, "cursor", hooksPath, root);
208
120
  }
209
121
  }
210
122
  }
211
- function planOpencodeItems(items, home, env, commands) {
212
- const configDir = opencodeConfigDir(home, env);
213
- const existingResources = [
214
- path.join(configDir, "plugins", "agentera.js"),
215
- ...OPENCODE_COMMAND_NAMES.map((name) => path.join(configDir, "commands", `${name}.md`)),
216
- path.join(configDir, "agents", "agentera.md"),
217
- ];
218
- for (const resource of existingResources) {
219
- if (isFile(resource))
220
- pushRewireItem(items, "opencode", resource, commands, configDir);
221
- }
222
- }
223
123
  function symlinkOwnership(linkPath, managedSkillsRoot) {
224
124
  let stat;
225
125
  let target;
@@ -382,10 +282,10 @@ function walkJsonHookFiles(dir) {
382
282
  walk(dir);
383
283
  return out;
384
284
  }
385
- function planCopilotItems(items, project, commands) {
285
+ function planCopilotItems(items, project) {
386
286
  const hooksDir = path.join(project, ".github", "hooks");
387
287
  for (const hookFile of walkJsonHookFiles(hooksDir)) {
388
- pushRewireItem(items, "copilot", hookFile, commands, project);
288
+ pushRetireHookItem(items, "copilot", hookFile, project);
389
289
  }
390
290
  if (!items.some((item) => item.runtime === "copilot")) {
391
291
  items.push({
@@ -396,26 +296,22 @@ function planCopilotItems(items, project, commands) {
396
296
  });
397
297
  }
398
298
  }
399
- export function planRuntimeMigrationItems(ctx, resolvedChannel) {
299
+ export function planRuntimeMigrationItems(ctx) {
400
300
  if (!ctx.env) {
401
301
  throw new Error("MigrationContext.env is required for runtime migration planning; pass sandboxMigrationEnv(home, sourceRoot) in tests or an explicit env in callers.");
402
302
  }
403
303
  const home = resolvePath(ctx.home);
404
304
  const project = resolvePath(ctx.project);
405
305
  const env = ctx.env;
406
- const sourceRoot = resolvePath(ctx.sourceRoot ?? resolveSourceRoot(env));
407
- const commands = resolveNpxHookCommands({ ...ctx, home, env, sourceRoot }, resolvedChannel);
408
306
  const items = [];
409
- planCodexItems(items, home, project, commands);
410
- planCursorItems(items, home, project, commands);
411
- planOpencodeItems(items, home, env, commands);
307
+ planCodexItems(items, home, project);
308
+ planCursorItems(items, home, project);
412
309
  planStaleCommandCleanupItems(ctx, items);
413
310
  planStaleSkillCleanupItems(ctx, items);
414
- planCopilotItems(items, project, commands);
311
+ planCopilotItems(items, project);
415
312
  return items;
416
313
  }
417
314
  const RUNTIME_MIGRATION_ACTIONS = new Set([
418
- "rewire-runtime",
419
315
  "retire-hooks",
420
316
  "remove-stale-command",
421
317
  "remove-stale-skill",
@@ -423,45 +319,22 @@ const RUNTIME_MIGRATION_ACTIONS = new Set([
423
319
  function isRuntimeMigrationAction(action) {
424
320
  return RUNTIME_MIGRATION_ACTIONS.has(action);
425
321
  }
426
- export function applyRuntimeMigrationItem(item, _commands) {
322
+ export function applyRuntimeMigrationItem(item) {
427
323
  if (item.status !== "pending") {
428
324
  return;
429
325
  }
430
326
  try {
431
327
  switch (item.action) {
432
- case "rewire-runtime": {
433
- if (!item.target || item.newText === undefined) {
434
- item.status = "failed";
435
- item.message = "rewire-runtime missing target or newText";
436
- return;
437
- }
438
- updateBoundMigrationFile(item, "target", item.newText);
439
- item.status = "applied";
440
- item.message = "runtime config rewired to npm self-contained entrypoint";
441
- break;
442
- }
443
328
  case "retire-hooks": {
444
329
  if (!item.source) {
445
330
  item.status = "failed";
446
331
  item.message = "retire-hooks missing source";
447
332
  return;
448
333
  }
449
- if (!item.target) {
450
- item.status = "failed";
451
- item.message = "retire-hooks missing target";
452
- return;
453
- }
454
334
  verifyBoundMigrationResource(item, "source");
455
- verifyBoundMigrationResource(item, "target");
456
- if (item.newText === undefined) {
457
- item.status = "failed";
458
- item.message = "retire-hooks missing newText";
459
- return;
460
- }
461
- updateBoundMigrationFile(item, "target", item.newText);
462
335
  removeBoundMigrationResource(item, "source");
463
336
  item.status = "applied";
464
- item.message = "retired Agentera-owned copied Codex hooks";
337
+ item.message = "retired whole-resource-proven Agentera hook";
465
338
  break;
466
339
  }
467
340
  case "remove-stale-command": {
@@ -539,14 +412,13 @@ export function applyRuntimeMigrationItem(item, _commands) {
539
412
  item.message = `${item.action} preserved the resource: ${exc.message}; rerun migration and review it manually`;
540
413
  }
541
414
  }
542
- export function applyRuntimeMigrationItems(items, ctx) {
543
- const commands = resolveNpxHookCommands(ctx);
415
+ export function applyRuntimeMigrationItems(items, _ctx) {
544
416
  for (const item of items) {
545
417
  if (item.status !== "pending") {
546
418
  continue;
547
419
  }
548
420
  if (isRuntimeMigrationAction(item.action)) {
549
- applyRuntimeMigrationItem(item, commands);
421
+ applyRuntimeMigrationItem(item);
550
422
  }
551
423
  else {
552
424
  item.status = "failed";
@@ -554,4 +426,3 @@ export function applyRuntimeMigrationItems(items, ctx) {
554
426
  }
555
427
  }
556
428
  }
557
- //# sourceMappingURL=runtimeMigration.js.map
@@ -12,6 +12,11 @@ export function fullEntityUpgradeCommand(project) {
12
12
  "npx", "-y", "agentera@next", "upgrade", "--channel", "development", "--project", project, "--yes",
13
13
  ]);
14
14
  }
15
+ export function fullEntityUpgradePreviewCommand(project) {
16
+ return commandText([
17
+ "npx", "-y", "agentera@next", "upgrade", "--channel", "development", "--project", project, "--dry-run",
18
+ ]);
19
+ }
15
20
  /** Channel-aware upgrade preview/apply commands (doctor, prime, orchestrator). */
16
21
  export function buildUpgradeCommands(args) {
17
22
  const base = args.channel.updateCommand.split(/\s+/).slice(0, 3);
@@ -46,4 +51,3 @@ export function buildUpgradeCommands(args) {
46
51
  applyCommand: commandText(applyParts),
47
52
  };
48
53
  }
49
- //# sourceMappingURL=upgradeCommands.js.map
@@ -83,4 +83,3 @@ export function releaseUpgradeLock(lock) {
83
83
  fs.unlinkSync(lock.path);
84
84
  removeCreatedParent(path.dirname(lock.path), lock.createdParent);
85
85
  }
86
- //# sourceMappingURL=upgradeLock.js.map
@@ -7,7 +7,7 @@ import { classifyUpgradeOutcome, isBlockedUpgradeOutcome, shouldIncludeCrossMajo
7
7
  import { resolveInvokedUpdateChannel } from "./channels.js";
8
8
  import { buildUpgradeCommands } from "./upgradeCommands.js";
9
9
  import { pendingRuntimeMigrationItems } from "./projectIntegration.js";
10
- import { planLegacyAgentCleanupItems, planLegacyCapabilityAgentCleanupItems, } from "./legacyAgentCleanup.js";
10
+ import { REMOVE_LEGACY_AGENT_ACTION, planLegacyAgentCleanupItems, planLegacyCapabilityAgentCleanupItems, } from "./legacyAgentCleanup.js";
11
11
  import { MIGRATION_STATUSES, applyMigrationPhases, delegatePlanLifecycleToEntityCutover, detectV1ArtifactPairs, dryRunMigration, hasPendingPlanLifecycleMigration, } from "./migrateArtifactsV2ToV3.js";
12
12
  import { runLifecycleUpgrade, } from "./lifecycleUpgrade.js";
13
13
  import { acquireUpgradeLock, releaseUpgradeLock } from "./upgradeLock.js";
@@ -168,7 +168,7 @@ function entityReadinessPhase(project, sourceRoot, pendingV1Artifacts, selected,
168
168
  action: empty ? "unsupported-state-source" : "entity-cutover",
169
169
  message: empty
170
170
  ? "marker-absent state has no recognized v2 entity input; preserve it and follow the manual source recovery instructions in UPGRADE.md"
171
- : `${cutover.entityCount} entity record(s) are ready for marker-last Git cutover`,
171
+ : `${cutover.entityCount} entity record(s) are ready for marker-last Git cutover${cutover.todoReconciliation ? "; apply also journals TODO visible IDs, Markdown-owned public baselines, activation, canonical Markdown, and the authority marker" : ""}`,
172
172
  }]);
173
173
  }
174
174
  catch (error) {
@@ -196,6 +196,9 @@ function lifecyclePhase(result) {
196
196
  message: "summary only; selected native Agentera resource cleanup outcomes are reported under lifecycle.nativeResourceCleanup",
197
197
  };
198
198
  }
199
+ function isIndependentLegacyAgentCollision(phase, item) {
200
+ return phase.name === "cleanup" && item.action === REMOVE_LEGACY_AGENT_ACTION && item.status === "blocked";
201
+ }
199
202
  export function buildUpgradePlan(args) {
200
203
  if (args.runtime) {
201
204
  throw new Error(`--runtime ${args.runtime} is retired; use the shared skill at ~/.agents/skills/agentera plus the CLI and remove --runtime`);
@@ -255,6 +258,42 @@ function buildUpgradePlanUnlocked(args, home, project, activeUpgradeLockPaths) {
255
258
  channel,
256
259
  });
257
260
  const crossMajorBoundary = crossMajorBoundaryApplies(install, sourceRoot);
261
+ if (args.legacyCleanup) {
262
+ const lifecycle = runLifecycleUpgrade({
263
+ home,
264
+ appHome: installRoot,
265
+ apply: Boolean(args.yes),
266
+ resourceCleanup: args.legacyCleanup,
267
+ });
268
+ const phases = [lifecyclePhase(lifecycle)];
269
+ const summary = aggregateSummary(phases);
270
+ const status = workflowStatus(summary);
271
+ const commands = buildUpgradeCommands({
272
+ project,
273
+ installRoot: crossMajorBoundary ? installRoot : null,
274
+ channel,
275
+ legacyCleanup: args.legacyCleanup,
276
+ cwdDefault: true,
277
+ });
278
+ return {
279
+ schemaVersion: UPGRADE_PREVIEW_SCHEMA,
280
+ mode: args.yes ? "apply" : "plan",
281
+ status,
282
+ lifecycleStatus: lifecycleStatusFromWorkflow(status, args.yes ? "apply" : "plan"),
283
+ channel,
284
+ install,
285
+ upgradeOutcome,
286
+ crossMajorBoundary,
287
+ project,
288
+ appHome: installRoot,
289
+ home,
290
+ phases,
291
+ lifecycle,
292
+ summary,
293
+ dryRunCommand: summary.pending > 0 ? commands.dryRunCommand : null,
294
+ applyCommand: summary.pending > 0 ? commands.applyCommand : null,
295
+ };
296
+ }
258
297
  const phaseFilter = selectedPhases(args.only);
259
298
  const migrationCtx = {
260
299
  appHome: installRoot,
@@ -275,8 +314,10 @@ function buildUpgradePlanUnlocked(args, home, project, activeUpgradeLockPaths) {
275
314
  && channel.distributionMajor >= 3
276
315
  && !args.only
277
316
  && !args.legacyCleanup;
278
- const pendingCleanup = planLegacyAgentCleanupItems(migrationCtx).some((i) => i.status === "pending") ||
279
- planLegacyCapabilityAgentCleanupItems(migrationCtx).some((i) => i.status === "pending");
317
+ const pendingCleanup = [
318
+ ...planLegacyAgentCleanupItems(migrationCtx),
319
+ ...planLegacyCapabilityAgentCleanupItems(migrationCtx),
320
+ ].some((item) => item.status !== "noop");
280
321
  const runMigration = crossMajorMigration || projectEntityCutover || pendingRuntimeSync || pendingV1Artifacts || pendingPlanLifecycleMigration || pendingCleanup;
281
322
  const phases = [];
282
323
  if (phaseFilter.has("detect")) {
@@ -392,7 +433,7 @@ export function validateUpgradeApply(args, plan) {
392
433
  if (plan.crossMajorBoundary && args.only && args.only.length > 0) {
393
434
  return "cross-major v2→v3 apply must run as one full upgrade --yes; --only is preview-only at this boundary";
394
435
  }
395
- if (isBlockedUpgradeOutcome(plan.upgradeOutcome)) {
436
+ if (!args.legacyCleanup && isBlockedUpgradeOutcome(plan.upgradeOutcome)) {
396
437
  return plan.upgradeOutcome.message ?? "upgrade blocked";
397
438
  }
398
439
  const appPhases = plan.phases.filter((phase) => phase.name !== "lifecycle");
@@ -400,11 +441,14 @@ export function validateUpgradeApply(args, plan) {
400
441
  const applyBlockingPhases = entityImportPending
401
442
  ? appPhases.filter((phase) => ["detect", "artifacts", "entities"].includes(phase.name))
402
443
  : appPhases;
403
- if (applyBlockingPhases.some((phase) => phase.summary.blocked > 0 || phase.summary.failed > 0)) {
404
- return applyBlockingPhases.flatMap((phase) => phase.items).find((item) => item.status === "blocked" || item.status === "failed")?.message
444
+ const blockingItems = applyBlockingPhases.flatMap((phase) => phase.items.filter((item) => (item.status === "blocked" || item.status === "failed") && !isIndependentLegacyAgentCollision(phase, item)));
445
+ if (blockingItems.length > 0) {
446
+ return blockingItems[0]?.message
405
447
  ?? "upgrade preflight is blocked; no changes were applied";
406
448
  }
407
- if (plan.crossMajorBoundary &&
449
+ if (!args.legacyCleanup
450
+ &&
451
+ plan.crossMajorBoundary &&
408
452
  !shouldIncludeCrossMajorPlanItems(plan.channel, plan.upgradeOutcome)) {
409
453
  return ("cross-major v2→v3 migration requires the development channel while stable tracks 2.x; " +
410
454
  "run the same command with --dry-run on --channel development, then apply with --yes");
@@ -478,4 +522,3 @@ export function sortKeysDeep(value) {
478
522
  return value;
479
523
  }
480
524
  export { MAJOR_BOUNDARY_ITEM_TAG };
481
- //# sourceMappingURL=upgradeOrchestrator.js.map
@@ -12,4 +12,3 @@ export function projectUsesV3CapabilityInstructionModules(projectRoot) {
12
12
  const root = path.resolve(projectRoot);
13
13
  return Object.keys(CAPABILITY_INSTRUCTIONS).every((name) => isFile(path.join(root, INSTRUCTION_MODULE_ROOT, name, "instructions.ts")));
14
14
  }
15
- //# sourceMappingURL=v3CapabilitySurface.js.map
@@ -184,4 +184,3 @@ export function isBlockedUpgradeOutcome(outcome) {
184
184
  return (outcome.kind === "blocked_downgrade_to_v2" ||
185
185
  outcome.kind === "blocked_downgrade_not_implemented");
186
186
  }
187
- //# sourceMappingURL=versionResolution.js.map