agentera 3.0.0-dev.7 → 3.0.0-dev.74

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 (763) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +229 -22
  3. package/bundle/.agentera-build-source.json +8 -0
  4. package/bundle/CHANGELOG.md +1361 -0
  5. package/bundle/DESIGN.md +229 -0
  6. package/bundle/LICENSE +201 -0
  7. package/bundle/README.md +143 -0
  8. package/bundle/UPGRADE.md +252 -0
  9. package/bundle/extract-corpus-parity.json +2 -4
  10. package/bundle/fixtures/routing/hybrid-corpus.yaml +154 -0
  11. package/bundle/references/adapters/package-publication.json +484 -0
  12. package/bundle/references/adapters/package-registry.yaml +439 -188
  13. package/bundle/references/adapters/package-surface-characterization.md +68 -34
  14. package/bundle/references/adapters/runtime-lifecycle-adapters.yaml +74 -0
  15. package/bundle/references/adapters/runtime-lifecycle-authority.yaml +62 -0
  16. package/bundle/references/adapters/runtime-lifecycle-operation-contract.yaml +84 -0
  17. package/bundle/references/adapters/runtime-retired-resources.yaml +333 -0
  18. package/bundle/references/analysis/evidence-tier-authority.yaml +559 -0
  19. package/bundle/references/analysis/personal-glossary-evaluation-authority.yaml +175 -0
  20. package/bundle/references/analysis/personal-glossary-evaluation-corpus.yaml +291 -0
  21. package/bundle/references/analysis/personal-glossary-holdout.yaml +192 -0
  22. package/bundle/references/analysis/verification-policy.yaml +266 -0
  23. package/bundle/references/artifacts/artifact-registry-interface-model.yaml +17 -8
  24. package/bundle/references/artifacts/glossary-entry-contract.yaml +2752 -0
  25. package/bundle/references/artifacts/state-storage-authority.yaml +3061 -0
  26. package/bundle/references/artifacts/verbosity-budget-authority.yaml +42 -0
  27. package/bundle/references/cli/app-lifecycle-vocabulary.yaml +3 -4
  28. package/bundle/references/cli/capability-instruction-contract.yaml +11 -14
  29. package/bundle/references/cli/hybrid-route-contract.yaml +438 -0
  30. package/bundle/references/cli/routing-model.md +152 -93
  31. package/bundle/references/cli/trigger-schema-enrichment.md +57 -46
  32. package/bundle/references/cli/update-channels.yaml +6 -4
  33. package/bundle/references/cli/vocabulary-index.yaml +5 -7
  34. package/bundle/references/cli/vocabulary.md +52 -94
  35. package/bundle/references/meta/retained-reference-authority.yaml +166 -0
  36. package/bundle/skills/agentera/SKILL.md +183 -63
  37. package/bundle/skills/agentera/capabilities/audit/schemas/artifacts.yaml +27 -19
  38. package/bundle/skills/agentera/capabilities/audit/schemas/exit.yaml +2 -2
  39. package/bundle/skills/agentera/capabilities/audit/schemas/triggers.yaml +13 -35
  40. package/bundle/skills/agentera/capabilities/audit/schemas/validation.yaml +30 -11
  41. package/bundle/skills/agentera/capabilities/build/schemas/artifacts.yaml +44 -21
  42. package/bundle/skills/agentera/capabilities/build/schemas/exit.yaml +8 -6
  43. package/bundle/skills/agentera/capabilities/build/schemas/triggers.yaml +14 -36
  44. package/bundle/skills/agentera/capabilities/build/schemas/validation.yaml +95 -21
  45. package/bundle/skills/agentera/capabilities/design/schemas/artifacts.yaml +6 -6
  46. package/bundle/skills/agentera/capabilities/design/schemas/exit.yaml +5 -5
  47. package/bundle/skills/agentera/capabilities/design/schemas/triggers.yaml +5 -34
  48. package/bundle/skills/agentera/capabilities/design/schemas/validation.yaml +2 -2
  49. package/bundle/skills/agentera/capabilities/discuss/schemas/artifacts.yaml +17 -13
  50. package/bundle/skills/agentera/capabilities/discuss/schemas/exit.yaml +2 -2
  51. package/bundle/skills/agentera/capabilities/discuss/schemas/triggers.yaml +6 -40
  52. package/bundle/skills/agentera/capabilities/discuss/schemas/validation.yaml +72 -5
  53. package/bundle/skills/agentera/capabilities/document/schemas/artifacts.yaml +24 -17
  54. package/bundle/skills/agentera/capabilities/document/schemas/triggers.yaml +5 -35
  55. package/bundle/skills/agentera/capabilities/document/schemas/validation.yaml +13 -13
  56. package/bundle/skills/agentera/capabilities/optimize/schemas/artifacts.yaml +10 -10
  57. package/bundle/skills/agentera/capabilities/optimize/schemas/exit.yaml +2 -2
  58. package/bundle/skills/agentera/capabilities/optimize/schemas/triggers.yaml +4 -35
  59. package/bundle/skills/agentera/capabilities/optimize/schemas/validation.yaml +3 -3
  60. package/bundle/skills/agentera/capabilities/orchestrate/schemas/artifacts.yaml +34 -22
  61. package/bundle/skills/agentera/capabilities/orchestrate/schemas/exit.yaml +9 -7
  62. package/bundle/skills/agentera/capabilities/orchestrate/schemas/triggers.yaml +5 -37
  63. package/bundle/skills/agentera/capabilities/orchestrate/schemas/validation.yaml +38 -37
  64. package/bundle/skills/agentera/capabilities/plan/schemas/artifacts.yaml +20 -16
  65. package/bundle/skills/agentera/capabilities/plan/schemas/triggers.yaml +8 -31
  66. package/bundle/skills/agentera/capabilities/plan/schemas/validation.yaml +66 -6
  67. package/bundle/skills/agentera/capabilities/profile/schemas/artifacts.yaml +13 -4
  68. package/bundle/skills/agentera/capabilities/profile/schemas/exit.yaml +8 -5
  69. package/bundle/skills/agentera/capabilities/profile/schemas/triggers.yaml +8 -37
  70. package/bundle/skills/agentera/capabilities/profile/schemas/validation.yaml +67 -3
  71. package/bundle/skills/agentera/capabilities/research/schemas/artifacts.yaml +6 -6
  72. package/bundle/skills/agentera/capabilities/research/schemas/triggers.yaml +5 -29
  73. package/bundle/skills/agentera/capabilities/status/schemas/artifacts.yaml +13 -12
  74. package/bundle/skills/agentera/capabilities/status/schemas/triggers.yaml +7 -49
  75. package/bundle/skills/agentera/capabilities/vision/schemas/artifacts.yaml +8 -8
  76. package/bundle/skills/agentera/capabilities/vision/schemas/exit.yaml +7 -6
  77. package/bundle/skills/agentera/capabilities/vision/schemas/triggers.yaml +7 -39
  78. package/bundle/skills/agentera/capabilities/vision/schemas/validation.yaml +14 -16
  79. package/bundle/skills/agentera/capability_schema_contract.yaml +32 -32
  80. package/bundle/skills/agentera/protocol.yaml +4 -4
  81. package/bundle/skills/agentera/route-phrases.yaml +81 -0
  82. package/bundle/skills/agentera/schemas/artifacts/changelog.yaml +1 -0
  83. package/bundle/skills/agentera/schemas/artifacts/decisions.yaml +30 -12
  84. package/bundle/skills/agentera/schemas/artifacts/design.yaml +1 -0
  85. package/bundle/skills/agentera/schemas/artifacts/docs.yaml +7 -12
  86. package/bundle/skills/agentera/schemas/artifacts/experiments.yaml +140 -9
  87. package/bundle/skills/agentera/schemas/artifacts/glossary.yaml +87 -0
  88. package/bundle/skills/agentera/schemas/artifacts/health.yaml +56 -19
  89. package/bundle/skills/agentera/schemas/artifacts/objective.yaml +18 -4
  90. package/bundle/skills/agentera/schemas/artifacts/plan.yaml +464 -32
  91. package/bundle/skills/agentera/schemas/artifacts/progress.yaml +131 -18
  92. package/bundle/skills/agentera/schemas/artifacts/todo.yaml +302 -7
  93. package/dist/.agentera-build-source.json +8 -0
  94. package/dist/analytics/extractCorpus/cli.js +52 -11
  95. package/dist/analytics/extractCorpus/copilotSessions.js +19 -8
  96. package/dist/analytics/extractCorpus/core.js +262 -14
  97. package/dist/analytics/extractCorpus/corpus.js +57 -18
  98. package/dist/analytics/extractCorpus/coverageAudit.js +44 -45
  99. package/dist/analytics/extractCorpus/cursorSessions.js +28 -8
  100. package/dist/analytics/extractCorpus/evidenceTiers.js +709 -0
  101. package/dist/analytics/extractCorpus/extractCorpusParity.js +4 -4
  102. package/dist/analytics/extractCorpus/filesystemSources.js +5 -5
  103. package/dist/analytics/extractCorpus/index.js +4 -2
  104. package/dist/analytics/extractCorpus/jsonlSessions.js +76 -8
  105. package/dist/analytics/extractCorpus/sqliteCaps.js +0 -1
  106. package/dist/analytics/extractCorpus/sqliteSessions.js +12 -4
  107. package/dist/analytics/extractCorpus/tierReader.js +108 -0
  108. package/dist/analytics/extractCorpus.js +0 -1
  109. package/dist/analytics/glossaryAdviceResolution.js +166 -0
  110. package/dist/analytics/glossaryInputAcquisition.js +319 -0
  111. package/dist/analytics/personalGlossaryAdmission.js +113 -0
  112. package/dist/analytics/personalGlossaryCandidateProjection.js +692 -0
  113. package/dist/analytics/personalGlossaryCandidateProjectionExcerpts.js +144 -0
  114. package/dist/analytics/personalGlossaryCandidateReadView.js +23 -0
  115. package/dist/analytics/personalGlossaryCurrentGeneration.js +25 -0
  116. package/dist/analytics/personalGlossaryDecision.js +203 -0
  117. package/dist/analytics/personalGlossaryExplicit.js +788 -0
  118. package/dist/analytics/personalGlossaryExplicitMining.js +285 -0
  119. package/dist/analytics/personalGlossaryExplicitScope.js +41 -0
  120. package/dist/analytics/personalGlossaryExplicitSegments.js +418 -0
  121. package/dist/analytics/personalGlossaryExplicitTypes.js +26 -0
  122. package/dist/analytics/personalGlossaryLexicalClassifier.js +175 -0
  123. package/dist/analytics/personalGlossaryProfile.js +229 -0
  124. package/dist/analytics/personalGlossaryRecurrence.js +618 -0
  125. package/dist/analytics/personalGlossaryReviewRecordStorage.js +428 -0
  126. package/dist/analytics/personalGlossaryReviewRecords.js +332 -0
  127. package/dist/analytics/profileSignals.js +211 -0
  128. package/dist/analytics/usageStats.js +150 -23
  129. package/dist/audit/terminologyDrift.js +281 -0
  130. package/dist/bin/agentera.js +3 -2
  131. package/dist/capabilities/audit/instructions.js +16 -6
  132. package/dist/capabilities/build/instructions.js +59 -6
  133. package/dist/capabilities/design/instructions.js +3 -4
  134. package/dist/capabilities/discuss/instructions.js +29 -6
  135. package/dist/capabilities/document/instructions.js +11 -6
  136. package/dist/capabilities/index.js +20 -14
  137. package/dist/capabilities/optimize/instructions.js +14 -6
  138. package/dist/capabilities/orchestrate/instructions.js +42 -6
  139. package/dist/capabilities/plan/instructions.js +30 -3
  140. package/dist/capabilities/profile/instructions.js +104 -5
  141. package/dist/capabilities/research/instructions.js +4 -5
  142. package/dist/capabilities/status/instructions.js +15 -6
  143. package/dist/capabilities/status/startupInstructions.js +34 -0
  144. package/dist/capabilities/vision/instructions.js +3 -5
  145. package/dist/cli/appContext.js +14 -7
  146. package/dist/cli/argvalidate.js +0 -1
  147. package/dist/cli/capabilityContext/benchmark.js +5 -4
  148. package/dist/cli/capabilityContext/bespoke.js +14 -6
  149. package/dist/cli/capabilityContext/build.js +116 -42
  150. package/dist/cli/capabilityContext/closeout.js +30 -27
  151. package/dist/cli/capabilityContext/contract.js +18 -27
  152. package/dist/cli/capabilityContext/evidence.js +84 -77
  153. package/dist/cli/capabilityContext/index.js +0 -1
  154. package/dist/cli/capabilityContext/orchestration.js +42 -18
  155. package/dist/cli/capabilityContext/planState.js +89 -96
  156. package/dist/cli/capabilityContext/progress.js +51 -12
  157. package/dist/cli/capabilityContext/projectVerification.js +409 -0
  158. package/dist/cli/capabilityContext/shared.js +9 -20
  159. package/dist/cli/capabilityContext/slim.js +52 -8
  160. package/dist/cli/capabilityContext/startup.js +51 -114
  161. package/dist/cli/capabilityContext/startupAggregation.js +68 -0
  162. package/dist/cli/capabilityContext/types.js +26 -10
  163. package/dist/cli/capabilityContext.js +0 -1
  164. package/dist/cli/commands/appHome.js +0 -1
  165. package/dist/cli/commands/capability.js +2 -2
  166. package/dist/cli/commands/compact.js +163 -13
  167. package/dist/cli/commands/doctor.js +117 -11
  168. package/dist/cli/commands/durability.js +81 -0
  169. package/dist/cli/commands/glossaryAdvice.js +138 -0
  170. package/dist/cli/commands/lint.js +22 -8
  171. package/dist/cli/commands/personalGlossaryCandidateReads.js +744 -0
  172. package/dist/cli/commands/personalGlossaryDecision.js +349 -0
  173. package/dist/cli/commands/personalGlossaryPublish.js +484 -0
  174. package/dist/cli/commands/personalGlossaryReviewRecordReads.js +209 -0
  175. package/dist/cli/commands/personalGlossaryReviewRecords.js +623 -0
  176. package/dist/cli/commands/prime/briefOrientation.js +845 -0
  177. package/dist/cli/commands/prime/buildExecutionRequest.js +165 -0
  178. package/dist/cli/commands/prime/bundleStatus.js +54 -4
  179. package/dist/cli/commands/prime/collectEntityOrientation.js +326 -0
  180. package/dist/cli/commands/prime/collectOrientationState.js +126 -63
  181. package/dist/cli/commands/prime/orientationOutput.js +267 -56
  182. package/dist/cli/commands/prime/types.js +0 -1
  183. package/dist/cli/commands/prime/v1Migration.js +0 -1
  184. package/dist/cli/commands/prime.js +76 -11
  185. package/dist/cli/commands/profileGrounding.js +55 -0
  186. package/dist/cli/commands/query.js +74 -52
  187. package/dist/cli/commands/report.js +91 -21
  188. package/dist/cli/commands/route.js +142 -0
  189. package/dist/cli/commands/schema.js +436 -138
  190. package/dist/cli/commands/state/decisions.js +40 -56
  191. package/dist/cli/commands/state/docs.js +58 -85
  192. package/dist/cli/commands/state/experimentRecords.js +151 -0
  193. package/dist/cli/commands/state/experiments.js +11 -65
  194. package/dist/cli/commands/state/get.js +129 -0
  195. package/dist/cli/commands/state/health.js +11 -113
  196. package/dist/cli/commands/state/index.js +6 -41
  197. package/dist/cli/commands/state/list.js +194 -0
  198. package/dist/cli/commands/state/objective.js +21 -65
  199. package/dist/cli/commands/state/plan.js +11 -170
  200. package/dist/cli/commands/state/planTasks.js +154 -0
  201. package/dist/cli/commands/state/plans.js +154 -0
  202. package/dist/cli/commands/state/progress.js +11 -45
  203. package/dist/cli/commands/state/shared.js +0 -1
  204. package/dist/cli/commands/state/todo.js +28 -107
  205. package/dist/cli/commands/state/write.js +433 -0
  206. package/dist/cli/commands/upgrade.js +146 -5
  207. package/dist/cli/commands/upgradeVerify.js +118 -0
  208. package/dist/cli/commands/validate.js +235 -136
  209. package/dist/cli/commands/verify.js +73 -16
  210. package/dist/cli/contracts/bundleStatus.js +0 -1
  211. package/dist/cli/contracts/orientationState.js +0 -1
  212. package/dist/cli/dispatch/argvParser.js +0 -1
  213. package/dist/cli/dispatch/check.js +84 -40
  214. package/dist/cli/dispatch/commands.js +3 -3
  215. package/dist/cli/dispatch/index.js +77 -52
  216. package/dist/cli/dispatch/lifecycle.js +162 -62
  217. package/dist/cli/dispatch/prime.js +37 -2
  218. package/dist/cli/dispatch/projections.js +17 -0
  219. package/dist/cli/dispatch/shared.js +1 -2
  220. package/dist/cli/dispatch/state.js +62 -66
  221. package/dist/cli/dispatch.js +0 -1
  222. package/dist/cli/errors.js +16 -17
  223. package/dist/cli/help.js +404 -39
  224. package/dist/cli/migrationRequired.js +125 -0
  225. package/dist/cli/orientation/attention.js +19 -19
  226. package/dist/cli/orientation/corpusCoverage.js +32 -1
  227. package/dist/cli/orientation.js +346 -129
  228. package/dist/cli/planArtifacts.js +350 -0
  229. package/dist/cli/planEvidence.js +157 -0
  230. package/dist/cli/planLifecycleState.js +36 -0
  231. package/dist/cli/planTaskIndex.js +11 -0
  232. package/dist/cli/preCutoverCommand.js +32 -0
  233. package/dist/cli/prime-blob.js +71 -3
  234. package/dist/cli/profileAcquisition.js +167 -0
  235. package/dist/cli/startupCompletenessContract.js +11 -8
  236. package/dist/cli/stateQuery.js +47 -12
  237. package/dist/cli/structured.js +0 -1
  238. package/dist/cli/todoMarkdown.js +25 -12
  239. package/dist/cli/todoReadinessSelection.js +192 -0
  240. package/dist/cli/todoSeverity.js +0 -1
  241. package/dist/core/atomicWriter.js +23 -0
  242. package/dist/core/developmentChannel.js +1 -0
  243. package/dist/core/developmentInvocation.js +377 -0
  244. package/dist/core/difflib.js +0 -1
  245. package/dist/core/envPaths.js +0 -1
  246. package/dist/core/jsonValue.js +0 -1
  247. package/dist/core/paths.js +0 -1
  248. package/dist/core/pyjson.js +0 -1
  249. package/dist/core/shell.js +4 -0
  250. package/dist/core/skillIdentity.js +23 -0
  251. package/dist/core/sourceRoot.js +9 -12
  252. package/dist/core/text.js +10 -0
  253. package/dist/core/toml.js +0 -1
  254. package/dist/core/yaml.js +61 -2
  255. package/dist/eval/evalSkills.js +13 -14
  256. package/dist/eval/glossaryEvaluation.js +751 -0
  257. package/dist/eval/glossaryEvaluationProcess.js +29 -0
  258. package/dist/eval/glossaryEvaluationRunner.js +571 -0
  259. package/dist/eval/glossaryEvaluationSuccessReport.js +297 -0
  260. package/dist/eval/hybridRouteEvaluation.js +155 -0
  261. package/dist/eval/semanticEval.js +0 -1
  262. package/dist/eval/semanticFixtures.js +0 -1
  263. package/dist/hooks/common.js +3 -56
  264. package/dist/hooks/compaction/apply.js +224 -47
  265. package/dist/hooks/compaction/dryRun.js +2 -1
  266. package/dist/hooks/compaction/index.js +5 -6
  267. package/dist/hooks/compaction/parse.js +73 -6
  268. package/dist/hooks/compaction/retention.js +28 -25
  269. package/dist/hooks/compaction/status.js +145 -26
  270. package/dist/hooks/compaction/types.js +0 -1
  271. package/dist/hooks/validateArtifact/agentFacing.js +0 -1
  272. package/dist/hooks/validateArtifact/index.js +6 -65
  273. package/dist/hooks/validateArtifact/markdown.js +9 -10
  274. package/dist/hooks/validateArtifact/schema.js +96 -9
  275. package/dist/hooks/validateArtifact/traversal.js +12 -11
  276. package/dist/hooks/validateArtifact/violations.js +5 -3
  277. package/dist/migrate/v2HandoffManifest.js +8 -3
  278. package/dist/registries/activationContract.js +2 -0
  279. package/dist/registries/activationTuples.js +136 -0
  280. package/dist/registries/artifactProtocolIds.js +2 -1
  281. package/dist/registries/artifactRegistry.js +207 -60
  282. package/dist/registries/artifactSchemaProjection.js +45 -0
  283. package/dist/registries/capabilityContract.js +5 -21
  284. package/dist/registries/evaluatorHandoffContract.js +0 -1
  285. package/dist/registries/evidenceTierContract.js +375 -0
  286. package/dist/registries/explicitSegmentGrammarContract.js +619 -0
  287. package/dist/registries/glossaryAdviceContract.js +79 -0
  288. package/dist/registries/glossaryCandidateContractPaths.js +6 -0
  289. package/dist/registries/glossaryCandidateContracts.js +820 -0
  290. package/dist/registries/glossaryCandidateDecisionAuthority.js +119 -0
  291. package/dist/registries/glossaryCandidateDecisionContract.js +62 -0
  292. package/dist/registries/glossaryCandidateProjectionAuthority.js +197 -0
  293. package/dist/registries/glossaryCandidateProjectionContract.js +104 -0
  294. package/dist/registries/glossaryCaveatContract.js +67 -0
  295. package/dist/registries/glossaryConsumerContractValidation.js +787 -0
  296. package/dist/registries/glossaryEntryContract.js +759 -0
  297. package/dist/registries/glossaryEntryTemporal.js +12 -0
  298. package/dist/registries/glossaryMiningAuthority.js +764 -0
  299. package/dist/registries/glossaryProfileFullContract.js +24 -0
  300. package/dist/registries/glossaryReviewRecordsAuthority.js +426 -0
  301. package/dist/registries/glossaryReviewRecordsContract.js +129 -0
  302. package/dist/registries/glossaryTermIdentity.js +139 -0
  303. package/dist/registries/glossaryTermOccurrence.js +20 -0
  304. package/dist/registries/hybridRoute.js +274 -0
  305. package/dist/registries/hybridRouteReceipt.js +221 -0
  306. package/dist/registries/packagePublication.js +273 -0
  307. package/dist/registries/packageRegistry.js +184 -209
  308. package/dist/registries/personalGlossaryContracts.js +1 -0
  309. package/dist/registries/todoReadinessContract.js +448 -0
  310. package/dist/registries/triggerLoader.js +7 -44
  311. package/dist/registries/verbosityBudgetContract.js +205 -0
  312. package/dist/release/releaseMetadata.js +167 -10
  313. package/dist/runtime/lifecycleAdapterContract.js +457 -0
  314. package/dist/runtime/lifecycleAdapters.js +777 -0
  315. package/dist/runtime/lifecycleAuthority.js +453 -0
  316. package/dist/runtime/lifecycleOperationContract.js +123 -0
  317. package/dist/runtime/lifecycleOperations.js +634 -0
  318. package/dist/runtime/lifecycleOwnershipJournal.js +622 -0
  319. package/dist/runtime/lifecyclePublication.js +415 -0
  320. package/dist/runtime/lifecycleSnapshot.js +438 -0
  321. package/dist/runtime/nativeResourceCleanup.js +502 -0
  322. package/dist/setup/opencode.js +20 -13
  323. package/dist/setup/opencodeConstants.js +1 -0
  324. package/dist/setup/sharedSkill.js +45 -0
  325. package/dist/setup/smokeChecks.js +14 -75
  326. package/dist/state/archiveDiscovery.js +580 -0
  327. package/dist/state/archivePublication.js +225 -0
  328. package/dist/state/archiveRecovery.js +237 -0
  329. package/dist/state/archiveReplay.js +53 -0
  330. package/dist/state/canonicalMigrationRecord.js +36 -0
  331. package/dist/state/changelog.js +221 -0
  332. package/dist/state/decisionEntities.js +367 -0
  333. package/dist/state/decisionLegacyValidation.js +215 -0
  334. package/dist/state/decisionMigrationProvenance.js +199 -0
  335. package/dist/state/decisionOverlay.js +254 -0
  336. package/dist/state/decisionRevision.js +256 -0
  337. package/dist/state/decisionRevisionMigration.js +89 -0
  338. package/dist/state/directRetrieval.js +323 -0
  339. package/dist/state/durability.js +324 -0
  340. package/dist/state/entityCutover.js +459 -0
  341. package/dist/state/entityCutoverGit.js +127 -0
  342. package/dist/state/entityGlossaryAuthority.js +13 -0
  343. package/dist/state/entityListProjection.js +187 -0
  344. package/dist/state/entityListRuntimeRegistry.js +85 -0
  345. package/dist/state/entityMigrationCausality.js +97 -0
  346. package/dist/state/entityMigrationIdentity.js +5 -0
  347. package/dist/state/entityMigrationPreview.js +840 -0
  348. package/dist/state/entityMigrationTodo.js +133 -0
  349. package/dist/state/entityPublicationContext.js +859 -0
  350. package/dist/state/entityRetrievalHelp.js +506 -0
  351. package/dist/state/entityStorage.js +899 -0
  352. package/dist/state/exactReplacementRecovery.js +18 -0
  353. package/dist/state/experimentArchive.js +63 -0
  354. package/dist/state/experimentIdentity.js +202 -0
  355. package/dist/state/healthEntities.js +262 -0
  356. package/dist/state/healthEntityValidation.js +18 -0
  357. package/dist/state/healthRepair.js +69 -0
  358. package/dist/state/installRoot.js +15 -7
  359. package/dist/state/legacyEntityCutoverEvidence.js +65 -0
  360. package/dist/state/legacyIdentity.js +47 -0
  361. package/dist/state/legacySummaryRecord.js +6 -0
  362. package/dist/state/listAccounting.js +54 -0
  363. package/dist/state/listClassification.js +17 -0
  364. package/dist/state/listCursor.js +42 -0
  365. package/dist/state/listRetrieval.js +781 -0
  366. package/dist/state/migrationSourceBinding.js +30 -0
  367. package/dist/state/objectiveExperimentEntities.js +322 -0
  368. package/dist/state/planEntities.js +1027 -0
  369. package/dist/state/planIdentity.js +47 -0
  370. package/dist/state/planLineageValidation.js +52 -0
  371. package/dist/state/planReplacementTransaction.js +475 -0
  372. package/dist/state/planRetrieval.js +313 -0
  373. package/dist/state/planTaskRetrieval.js +294 -0
  374. package/dist/state/progressEntities.js +512 -0
  375. package/dist/state/progressGlossaryCaveat.js +168 -0
  376. package/dist/state/progressPublicationOrder.js +19 -0
  377. package/dist/state/progressWritePolicy.js +33 -0
  378. package/dist/state/projectRoot.js +62 -0
  379. package/dist/state/projectionPolicy.js +190 -0
  380. package/dist/state/retrievalAuthority.js +156 -0
  381. package/dist/state/safeProjectFile.js +155 -0
  382. package/dist/state/startupAnalysis/benchmark.js +70 -9
  383. package/dist/state/startupAnalysis/contract.js +44 -10
  384. package/dist/state/startupAnalysis/helpers.js +1 -2
  385. package/dist/state/startupAnalysis/index.js +0 -1
  386. package/dist/state/startupAnalysis/metrics.js +0 -1
  387. package/dist/state/startupAnalysis/records.js +0 -1
  388. package/dist/state/startupAnalysis/report.js +0 -1
  389. package/dist/state/startupAnalysis/threshold.js +13 -1
  390. package/dist/state/startupAnalysis.js +0 -1
  391. package/dist/state/startupProjection.js +499 -0
  392. package/dist/state/stateMode.js +222 -0
  393. package/dist/state/stateStorageAuthority.js +47 -0
  394. package/dist/state/summaryEntityRead.js +25 -0
  395. package/dist/state/summaryMigrationProvenance.js +66 -0
  396. package/dist/state/summarySourceRowAuthority.js +36 -0
  397. package/dist/state/todoActivationSafety.js +58 -0
  398. package/dist/state/todoDocsEntities.js +1124 -0
  399. package/dist/state/todoDocsEntityValidation.js +158 -0
  400. package/dist/state/todoMarkdownProjection.js +51 -0
  401. package/dist/state/todoReconciliationActivation.js +182 -0
  402. package/dist/state/todoReconciliationInspection.js +171 -0
  403. package/dist/state/todoReconciliationRepair.js +318 -0
  404. package/dist/state/todoReconciliationTransaction.js +595 -0
  405. package/dist/state/write/assign.js +20 -0
  406. package/dist/state/write/candidateMutation.js +269 -0
  407. package/dist/state/write/errors.js +11 -0
  408. package/dist/state/write/experimentPublication.js +192 -0
  409. package/dist/state/write/explain.js +377 -0
  410. package/dist/state/write/fields.js +61 -0
  411. package/dist/state/write/glossaryPublication.js +263 -0
  412. package/dist/state/write/grammar.js +285 -0
  413. package/dist/state/write/helpers.js +29 -0
  414. package/dist/state/write/index.js +12 -0
  415. package/dist/state/write/input.js +391 -0
  416. package/dist/state/write/lock.js +837 -0
  417. package/dist/state/write/mutation.js +234 -0
  418. package/dist/state/write/operations.js +170 -0
  419. package/dist/state/write/planEvaluation.js +128 -0
  420. package/dist/state/write/planPublication.js +179 -0
  421. package/dist/state/write/runtimeOperations.js +146 -0
  422. package/dist/state/write/serialize.js +1 -0
  423. package/dist/state/write/transaction.js +57 -0
  424. package/dist/state/write/validate.js +7 -0
  425. package/dist/upgrade/appContentRefresh.js +77 -36
  426. package/dist/upgrade/appModel.js +0 -1
  427. package/dist/upgrade/atomicWriter.js +1 -0
  428. package/dist/upgrade/bundleEvidence.js +0 -1
  429. package/dist/upgrade/channels.js +6 -9
  430. package/dist/upgrade/compatibility.js +43 -17
  431. package/dist/upgrade/doctor.js +55 -32
  432. package/dist/upgrade/doctorClassifier.js +11 -1
  433. package/dist/upgrade/installedHooksRetirement.js +46 -40
  434. package/dist/upgrade/legacyAgentCleanup.js +187 -21
  435. package/dist/upgrade/lifecycleUpgrade.js +113 -0
  436. package/dist/upgrade/migrateArtifactsV2ToV3.js +334 -64
  437. package/dist/upgrade/migrationPublication.js +122 -0
  438. package/dist/upgrade/nextMajorDoctor.js +0 -1
  439. package/dist/upgrade/npxPlatformStatus.js +2 -2
  440. package/dist/upgrade/projectIntegration.js +128 -160
  441. package/dist/upgrade/projectIntegrationDecision.js +42 -85
  442. package/dist/upgrade/retiredResourceDiagnostics.js +117 -0
  443. package/dist/upgrade/runtimeMigration.js +262 -453
  444. package/dist/upgrade/upgradeCommands.js +14 -1
  445. package/dist/upgrade/upgradeLock.js +85 -0
  446. package/dist/upgrade/upgradeOrchestrator.js +263 -59
  447. package/dist/upgrade/v3CapabilitySurface.js +2 -3
  448. package/dist/upgrade/versionResolution.js +0 -1
  449. package/dist/validate/activationArtifactEvidence.js +866 -0
  450. package/dist/validate/activationArtifactEvidenceTypes.js +12 -0
  451. package/dist/validate/activationConjunction.js +816 -0
  452. package/dist/validate/activationEvidenceManifest.js +610 -0
  453. package/dist/validate/activationPackageSemantics.js +29 -0
  454. package/dist/validate/appHomeContract.js +1 -7
  455. package/dist/validate/bootstrapAuthority.js +44 -0
  456. package/dist/validate/capability.js +11 -3
  457. package/dist/validate/crossCapability.js +14 -9
  458. package/dist/validate/retainedReferenceAuthority.js +879 -0
  459. package/dist/validate/selfAudit.js +39 -45
  460. package/dist/validate/v1LegacyCruft.js +131 -0
  461. package/dist/validate/vocabularyAuthority.js +8 -8
  462. package/package.json +39 -13
  463. package/bundle/references/adapters/cursor.md +0 -214
  464. package/bundle/references/adapters/opencode.md +0 -530
  465. package/bundle/references/adapters/package-manifest-interface-model.yaml +0 -337
  466. package/bundle/references/adapters/runtime-adapter-characterization.md +0 -79
  467. package/bundle/references/adapters/runtime-adapter-interface-model.yaml +0 -200
  468. package/bundle/references/adapters/runtime-adapter-registry.yaml +0 -554
  469. package/bundle/references/adapters/runtime-feature-parity.md +0 -189
  470. package/bundle/references/analysis/benchmark.md +0 -267
  471. package/bundle/references/analysis/startup-measurement-contract.yaml +0 -424
  472. package/bundle/references/cli/agent-ready-state-contract.yaml +0 -953
  473. package/bundle/references/cli/audience-namespace-cli-migration.yaml +0 -369
  474. package/bundle/references/cli/bundle-skill-vocabulary.yaml +0 -250
  475. package/bundle/references/cli/capability-tool-classification.yaml +0 -53
  476. package/bundle/references/cli/coexistence-probe.yaml +0 -13
  477. package/bundle/references/cli/parity-expected-actual-template.md +0 -30
  478. package/bundle/references/cli/routing-execution-vocabulary.yaml +0 -281
  479. package/bundle/references/cli/single-name-protocol.yaml +0 -42
  480. package/bundle/references/cli/upgrade-repair-wording.md +0 -45
  481. package/bundle/references/cli/v3-handoff-manifest.schema.yaml +0 -98
  482. package/bundle/references/meta/documentation-inventory.md +0 -49
  483. package/bundle/skills/agentera/.claude-plugin/plugin.json +0 -27
  484. package/bundle/skills/agentera/agents/audit.toml +0 -6
  485. package/bundle/skills/agentera/agents/build.toml +0 -6
  486. package/bundle/skills/agentera/agents/design.toml +0 -6
  487. package/bundle/skills/agentera/agents/discuss.toml +0 -6
  488. package/bundle/skills/agentera/agents/document.toml +0 -6
  489. package/bundle/skills/agentera/agents/optimize.toml +0 -6
  490. package/bundle/skills/agentera/agents/orchestrate.toml +0 -6
  491. package/bundle/skills/agentera/agents/plan.toml +0 -6
  492. package/bundle/skills/agentera/agents/profile.toml +0 -6
  493. package/bundle/skills/agentera/agents/research.toml +0 -6
  494. package/bundle/skills/agentera/agents/status.toml +0 -6
  495. package/bundle/skills/agentera/agents/vision.toml +0 -6
  496. package/bundle/skills/agentera/references/contract.md +0 -1048
  497. package/dist/analytics/extractCorpus/cli.js.map +0 -1
  498. package/dist/analytics/extractCorpus/copilotSessions.js.map +0 -1
  499. package/dist/analytics/extractCorpus/core.js.map +0 -1
  500. package/dist/analytics/extractCorpus/corpus.js.map +0 -1
  501. package/dist/analytics/extractCorpus/coverageAudit.js.map +0 -1
  502. package/dist/analytics/extractCorpus/cursorSessions.js.map +0 -1
  503. package/dist/analytics/extractCorpus/extractCorpusParity.js.map +0 -1
  504. package/dist/analytics/extractCorpus/filesystemSources.js.map +0 -1
  505. package/dist/analytics/extractCorpus/index.js.map +0 -1
  506. package/dist/analytics/extractCorpus/jsonlSessions.js.map +0 -1
  507. package/dist/analytics/extractCorpus/sqliteCaps.js.map +0 -1
  508. package/dist/analytics/extractCorpus/sqliteSessions.js.map +0 -1
  509. package/dist/analytics/extractCorpus.js.map +0 -1
  510. package/dist/analytics/usageStats.js.map +0 -1
  511. package/dist/bin/agentera.js.map +0 -1
  512. package/dist/capabilities/audit/instructions.js.map +0 -1
  513. package/dist/capabilities/build/instructions.js.map +0 -1
  514. package/dist/capabilities/design/instructions.js.map +0 -1
  515. package/dist/capabilities/discuss/instructions.js.map +0 -1
  516. package/dist/capabilities/document/instructions.js.map +0 -1
  517. package/dist/capabilities/dokumentera/instructions.js +0 -6
  518. package/dist/capabilities/dokumentera/instructions.js.map +0 -1
  519. package/dist/capabilities/hej/instructions.js +0 -6
  520. package/dist/capabilities/hej/instructions.js.map +0 -1
  521. package/dist/capabilities/index.js.map +0 -1
  522. package/dist/capabilities/inspektera/instructions.js +0 -6
  523. package/dist/capabilities/inspektera/instructions.js.map +0 -1
  524. package/dist/capabilities/inspirera/instructions.js +0 -6
  525. package/dist/capabilities/inspirera/instructions.js.map +0 -1
  526. package/dist/capabilities/optimera/instructions.js +0 -6
  527. package/dist/capabilities/optimera/instructions.js.map +0 -1
  528. package/dist/capabilities/optimize/instructions.js.map +0 -1
  529. package/dist/capabilities/orchestrate/instructions.js.map +0 -1
  530. package/dist/capabilities/orkestrera/instructions.js +0 -6
  531. package/dist/capabilities/orkestrera/instructions.js.map +0 -1
  532. package/dist/capabilities/plan/instructions.js.map +0 -1
  533. package/dist/capabilities/planera/instructions.js +0 -6
  534. package/dist/capabilities/planera/instructions.js.map +0 -1
  535. package/dist/capabilities/profile/instructions.js.map +0 -1
  536. package/dist/capabilities/profilera/instructions.js +0 -6
  537. package/dist/capabilities/profilera/instructions.js.map +0 -1
  538. package/dist/capabilities/realisera/instructions.js +0 -6
  539. package/dist/capabilities/realisera/instructions.js.map +0 -1
  540. package/dist/capabilities/research/instructions.js.map +0 -1
  541. package/dist/capabilities/resonera/instructions.js +0 -6
  542. package/dist/capabilities/resonera/instructions.js.map +0 -1
  543. package/dist/capabilities/status/instructions.js.map +0 -1
  544. package/dist/capabilities/vision/instructions.js.map +0 -1
  545. package/dist/capabilities/visionera/instructions.js +0 -6
  546. package/dist/capabilities/visionera/instructions.js.map +0 -1
  547. package/dist/capabilities/visualisera/instructions.js +0 -5
  548. package/dist/capabilities/visualisera/instructions.js.map +0 -1
  549. package/dist/cli/appContext.js.map +0 -1
  550. package/dist/cli/argvalidate.js.map +0 -1
  551. package/dist/cli/capabilityContext/benchmark.js.map +0 -1
  552. package/dist/cli/capabilityContext/bespoke.js.map +0 -1
  553. package/dist/cli/capabilityContext/build.js.map +0 -1
  554. package/dist/cli/capabilityContext/closeout.js.map +0 -1
  555. package/dist/cli/capabilityContext/contract.js.map +0 -1
  556. package/dist/cli/capabilityContext/evidence.js.map +0 -1
  557. package/dist/cli/capabilityContext/index.js.map +0 -1
  558. package/dist/cli/capabilityContext/orchestration.js.map +0 -1
  559. package/dist/cli/capabilityContext/planState.js.map +0 -1
  560. package/dist/cli/capabilityContext/progress.js.map +0 -1
  561. package/dist/cli/capabilityContext/realisera.js +0 -174
  562. package/dist/cli/capabilityContext/realisera.js.map +0 -1
  563. package/dist/cli/capabilityContext/shared.js.map +0 -1
  564. package/dist/cli/capabilityContext/slim.js.map +0 -1
  565. package/dist/cli/capabilityContext/startup.js.map +0 -1
  566. package/dist/cli/capabilityContext/types.js.map +0 -1
  567. package/dist/cli/capabilityContext.js.map +0 -1
  568. package/dist/cli/commands/appHome.js.map +0 -1
  569. package/dist/cli/commands/backfill.js +0 -84
  570. package/dist/cli/commands/backfill.js.map +0 -1
  571. package/dist/cli/commands/capability.js.map +0 -1
  572. package/dist/cli/commands/compact.js.map +0 -1
  573. package/dist/cli/commands/doctor.js.map +0 -1
  574. package/dist/cli/commands/lint.js.map +0 -1
  575. package/dist/cli/commands/prime/bundleStatus.js.map +0 -1
  576. package/dist/cli/commands/prime/collectOrientationState.js.map +0 -1
  577. package/dist/cli/commands/prime/orientationOutput.js.map +0 -1
  578. package/dist/cli/commands/prime/routeOutput.js +0 -50
  579. package/dist/cli/commands/prime/routeOutput.js.map +0 -1
  580. package/dist/cli/commands/prime/types.js.map +0 -1
  581. package/dist/cli/commands/prime/v1Migration.js.map +0 -1
  582. package/dist/cli/commands/prime.js.map +0 -1
  583. package/dist/cli/commands/query.js.map +0 -1
  584. package/dist/cli/commands/report.js.map +0 -1
  585. package/dist/cli/commands/schema.js.map +0 -1
  586. package/dist/cli/commands/state/decisions.js.map +0 -1
  587. package/dist/cli/commands/state/docs.js.map +0 -1
  588. package/dist/cli/commands/state/experiments.js.map +0 -1
  589. package/dist/cli/commands/state/health.js.map +0 -1
  590. package/dist/cli/commands/state/index.js.map +0 -1
  591. package/dist/cli/commands/state/objective.js.map +0 -1
  592. package/dist/cli/commands/state/plan.js.map +0 -1
  593. package/dist/cli/commands/state/progress.js.map +0 -1
  594. package/dist/cli/commands/state/shared.js.map +0 -1
  595. package/dist/cli/commands/state/todo.js.map +0 -1
  596. package/dist/cli/commands/state.js +0 -1023
  597. package/dist/cli/commands/state.js.map +0 -1
  598. package/dist/cli/commands/upgrade.js.map +0 -1
  599. package/dist/cli/commands/validate.js.map +0 -1
  600. package/dist/cli/commands/verify.js.map +0 -1
  601. package/dist/cli/contracts/bundleStatus.js.map +0 -1
  602. package/dist/cli/contracts/orientationState.js.map +0 -1
  603. package/dist/cli/dispatch/argvParser.js.map +0 -1
  604. package/dist/cli/dispatch/check.js.map +0 -1
  605. package/dist/cli/dispatch/commands.js.map +0 -1
  606. package/dist/cli/dispatch/index.js.map +0 -1
  607. package/dist/cli/dispatch/lifecycle.js.map +0 -1
  608. package/dist/cli/dispatch/prime.js.map +0 -1
  609. package/dist/cli/dispatch/shared.js.map +0 -1
  610. package/dist/cli/dispatch/state.js.map +0 -1
  611. package/dist/cli/dispatch.js.map +0 -1
  612. package/dist/cli/errors.js.map +0 -1
  613. package/dist/cli/help.js.map +0 -1
  614. package/dist/cli/orientation/attention.js.map +0 -1
  615. package/dist/cli/orientation/corpusCoverage.js.map +0 -1
  616. package/dist/cli/orientation.js.map +0 -1
  617. package/dist/cli/prime-blob.js.map +0 -1
  618. package/dist/cli/startupCompletenessContract.js.map +0 -1
  619. package/dist/cli/stateQuery.js.map +0 -1
  620. package/dist/cli/structured.js.map +0 -1
  621. package/dist/cli/todoMarkdown.js.map +0 -1
  622. package/dist/cli/todoSeverity.js.map +0 -1
  623. package/dist/core/difflib.js.map +0 -1
  624. package/dist/core/envPaths.js.map +0 -1
  625. package/dist/core/git.js +0 -43
  626. package/dist/core/git.js.map +0 -1
  627. package/dist/core/jsonValue.js.map +0 -1
  628. package/dist/core/paths.js.map +0 -1
  629. package/dist/core/pyjson.js.map +0 -1
  630. package/dist/core/sourceRoot.js.map +0 -1
  631. package/dist/core/toml.js.map +0 -1
  632. package/dist/core/yaml.js.map +0 -1
  633. package/dist/eval/evalSkills.js.map +0 -1
  634. package/dist/eval/semanticEval.js.map +0 -1
  635. package/dist/eval/semanticFixtures.js.map +0 -1
  636. package/dist/hooks/common.js.map +0 -1
  637. package/dist/hooks/compaction/apply.js.map +0 -1
  638. package/dist/hooks/compaction/dryRun.js.map +0 -1
  639. package/dist/hooks/compaction/index.js.map +0 -1
  640. package/dist/hooks/compaction/parse.js.map +0 -1
  641. package/dist/hooks/compaction/retention.js.map +0 -1
  642. package/dist/hooks/compaction/status.js.map +0 -1
  643. package/dist/hooks/compaction/todoResolved.js +0 -137
  644. package/dist/hooks/compaction/todoResolved.js.map +0 -1
  645. package/dist/hooks/compaction/types.js.map +0 -1
  646. package/dist/hooks/compaction.js +0 -935
  647. package/dist/hooks/compaction.js.map +0 -1
  648. package/dist/hooks/cursorPreToolUse.js +0 -19
  649. package/dist/hooks/cursorPreToolUse.js.map +0 -1
  650. package/dist/hooks/cursorSessionStart.js +0 -79
  651. package/dist/hooks/cursorSessionStart.js.map +0 -1
  652. package/dist/hooks/sessionStart.js +0 -216
  653. package/dist/hooks/sessionStart.js.map +0 -1
  654. package/dist/hooks/sessionStop.js +0 -206
  655. package/dist/hooks/sessionStop.js.map +0 -1
  656. package/dist/hooks/todoLayout.js +0 -177
  657. package/dist/hooks/todoLayout.js.map +0 -1
  658. package/dist/hooks/validateArtifact/agentFacing.js.map +0 -1
  659. package/dist/hooks/validateArtifact/index.js.map +0 -1
  660. package/dist/hooks/validateArtifact/markdown.js.map +0 -1
  661. package/dist/hooks/validateArtifact/runtime.js +0 -86
  662. package/dist/hooks/validateArtifact/runtime.js.map +0 -1
  663. package/dist/hooks/validateArtifact/schema.js.map +0 -1
  664. package/dist/hooks/validateArtifact/traversal.js.map +0 -1
  665. package/dist/hooks/validateArtifact/violations.js.map +0 -1
  666. package/dist/hooks/validateArtifact.js +0 -924
  667. package/dist/hooks/validateArtifact.js.map +0 -1
  668. package/dist/migrate/v2HandoffManifest.js.map +0 -1
  669. package/dist/registries/artifactProtocolIds.js.map +0 -1
  670. package/dist/registries/artifactRegistry.js.map +0 -1
  671. package/dist/registries/capabilityContract.js.map +0 -1
  672. package/dist/registries/evaluatorHandoffContract.js.map +0 -1
  673. package/dist/registries/packageRegistry.js.map +0 -1
  674. package/dist/registries/runtimeAdapterRegistry.js +0 -316
  675. package/dist/registries/runtimeAdapterRegistry.js.map +0 -1
  676. package/dist/registries/triggerLoader.js.map +0 -1
  677. package/dist/release/releaseMetadata.js.map +0 -1
  678. package/dist/routing/index.js +0 -2
  679. package/dist/routing/index.js.map +0 -1
  680. package/dist/routing/routeEngine.js +0 -189
  681. package/dist/routing/routeEngine.js.map +0 -1
  682. package/dist/setup/codex/agents.js +0 -96
  683. package/dist/setup/codex/agents.js.map +0 -1
  684. package/dist/setup/codex/cli.js +0 -161
  685. package/dist/setup/codex/cli.js.map +0 -1
  686. package/dist/setup/codex/configToml.js +0 -639
  687. package/dist/setup/codex/configToml.js.map +0 -1
  688. package/dist/setup/codex/constants.js +0 -29
  689. package/dist/setup/codex/constants.js.map +0 -1
  690. package/dist/setup/codex/installRoot.js +0 -64
  691. package/dist/setup/codex/installRoot.js.map +0 -1
  692. package/dist/setup/codex/state.js +0 -270
  693. package/dist/setup/codex/state.js.map +0 -1
  694. package/dist/setup/codex.js +0 -12
  695. package/dist/setup/codex.js.map +0 -1
  696. package/dist/setup/copilot.js +0 -227
  697. package/dist/setup/copilot.js.map +0 -1
  698. package/dist/setup/cursor.js +0 -129
  699. package/dist/setup/cursor.js.map +0 -1
  700. package/dist/setup/cursorSurfaces.js +0 -67
  701. package/dist/setup/cursorSurfaces.js.map +0 -1
  702. package/dist/setup/doctor/core.js +0 -300
  703. package/dist/setup/doctor/core.js.map +0 -1
  704. package/dist/setup/doctor/diagnostics.js +0 -240
  705. package/dist/setup/doctor/diagnostics.js.map +0 -1
  706. package/dist/setup/doctor/opencode.js +0 -313
  707. package/dist/setup/doctor/opencode.js.map +0 -1
  708. package/dist/setup/doctor/report.js +0 -425
  709. package/dist/setup/doctor/report.js.map +0 -1
  710. package/dist/setup/doctor.js +0 -10
  711. package/dist/setup/doctor.js.map +0 -1
  712. package/dist/setup/opencode.js.map +0 -1
  713. package/dist/setup/smokeChecks.js.map +0 -1
  714. package/dist/state/installRoot.js.map +0 -1
  715. package/dist/state/progressCommit.js +0 -289
  716. package/dist/state/progressCommit.js.map +0 -1
  717. package/dist/state/startupAnalysis/benchmark.js.map +0 -1
  718. package/dist/state/startupAnalysis/contract.js.map +0 -1
  719. package/dist/state/startupAnalysis/helpers.js.map +0 -1
  720. package/dist/state/startupAnalysis/index.js.map +0 -1
  721. package/dist/state/startupAnalysis/metrics.js.map +0 -1
  722. package/dist/state/startupAnalysis/records.js.map +0 -1
  723. package/dist/state/startupAnalysis/report.js.map +0 -1
  724. package/dist/state/startupAnalysis/threshold.js.map +0 -1
  725. package/dist/state/startupAnalysis.js.map +0 -1
  726. package/dist/upgrade/appContentRefresh.js.map +0 -1
  727. package/dist/upgrade/appModel.js.map +0 -1
  728. package/dist/upgrade/bundleEvidence.js.map +0 -1
  729. package/dist/upgrade/channels.js.map +0 -1
  730. package/dist/upgrade/cliProbe.js +0 -22
  731. package/dist/upgrade/cliProbe.js.map +0 -1
  732. package/dist/upgrade/coexistenceProbe.js +0 -107
  733. package/dist/upgrade/coexistenceProbe.js.map +0 -1
  734. package/dist/upgrade/compatibility.js.map +0 -1
  735. package/dist/upgrade/doctor.js.map +0 -1
  736. package/dist/upgrade/doctorClassifier.js.map +0 -1
  737. package/dist/upgrade/installedHooksRetirement.js.map +0 -1
  738. package/dist/upgrade/legacyAgentCleanup.js.map +0 -1
  739. package/dist/upgrade/migrateArtifactsV1ToV2.js +0 -570
  740. package/dist/upgrade/migrateArtifactsV1ToV2.js.map +0 -1
  741. package/dist/upgrade/migrateArtifactsV2ToV3.js.map +0 -1
  742. package/dist/upgrade/nextMajorDoctor.js.map +0 -1
  743. package/dist/upgrade/npxPlatformStatus.js.map +0 -1
  744. package/dist/upgrade/projectIntegration.js.map +0 -1
  745. package/dist/upgrade/projectIntegrationDecision.js.map +0 -1
  746. package/dist/upgrade/runtimeMigration.js.map +0 -1
  747. package/dist/upgrade/upgradeCommands.js.map +0 -1
  748. package/dist/upgrade/upgradeOrchestrator.js.map +0 -1
  749. package/dist/upgrade/v3CapabilitySurface.js.map +0 -1
  750. package/dist/upgrade/versionResolution.js.map +0 -1
  751. package/dist/validate/appHomeContract.js.map +0 -1
  752. package/dist/validate/capability.js.map +0 -1
  753. package/dist/validate/crossCapability.js.map +0 -1
  754. package/dist/validate/lifecycleAdapters/legacyPythonParity.js +0 -93
  755. package/dist/validate/lifecycleAdapters/legacyPythonParity.js.map +0 -1
  756. package/dist/validate/lifecycleAdapters/nodeFormChecks.js +0 -488
  757. package/dist/validate/lifecycleAdapters/nodeFormChecks.js.map +0 -1
  758. package/dist/validate/lifecycleAdapters/shared.js +0 -198
  759. package/dist/validate/lifecycleAdapters/shared.js.map +0 -1
  760. package/dist/validate/lifecycleAdapters.js +0 -62
  761. package/dist/validate/lifecycleAdapters.js.map +0 -1
  762. package/dist/validate/selfAudit.js.map +0 -1
  763. package/dist/validate/vocabularyAuthority.js.map +0 -1
@@ -7,12 +7,15 @@ import { docsConventions, sourceProvenance, uniqueList } from "./shared.js";
7
7
  import { closeoutChangelogBoundary } from "./planState.js";
8
8
  import { progressVerificationSummary } from "./progress.js";
9
9
  import { decisionReviewPressure } from "./evidence.js";
10
+ import { STATE_FAMILY_FALLBACK_COMMANDS } from "./types.js";
11
+ import { deferredStartupFamilies } from "./startupAggregation.js";
12
+ import { preCutoverCommand } from "../preCutoverCommand.js";
10
13
  export function closeoutArtifactMappings(docs) {
11
14
  const mapping = asList(docs.mapping);
12
15
  const ok = Boolean(docs.exists) && mapping.length > 0;
13
16
  return {
14
17
  status: ok ? "available" : "unavailable",
15
- source_provenance: sourceProvenance("docs", "agentera docs --format json", "summary.mapping"),
18
+ source_provenance: sourceProvenance("docs", STATE_FAMILY_FALLBACK_COMMANDS.docs, "summary.mapping"),
16
19
  entries: mapping,
17
20
  mapping_entries: mapping.length,
18
21
  caveats: ok ? [] : ["Docs artifact mappings are unavailable or empty in CLI docs state."],
@@ -26,21 +29,25 @@ export function closeoutVersionPolicy(docs) {
26
29
  const available = Object.keys(semverPolicy).length > 0;
27
30
  return {
28
31
  status: available ? "available" : "unavailable",
29
- source_provenance: sourceProvenance("docs", "agentera docs --format json", "summary.conventions"),
32
+ source_provenance: sourceProvenance("docs", STATE_FAMILY_FALLBACK_COMMANDS.docs, "summary.conventions"),
30
33
  version_files: versionFiles,
31
34
  version_files_registry: registry,
32
35
  semver_policy: semverPolicy,
33
36
  caveats: available ? [] : ["Docs version policy is unavailable in CLI docs state."],
34
37
  };
35
38
  }
36
- export function closeoutTodoBlockers(schemas, todoItems) {
39
+ export function closeoutTodoBlockers(schemas, todoItems, selectedTargetVersion = null) {
37
40
  const info = schemas.todo ?? { path: "TODO.md", record: undefined, schema: {}, fields: {} };
38
41
  const exists = fs.existsSync(artifactPath(info, "todo"));
42
+ const blockers = selectedTargetVersion === null
43
+ ? []
44
+ : todoItems.filter((item) => item.status === "open" && item.release_blocker === true && item.target_version === selectedTargetVersion);
39
45
  return {
40
46
  status: exists ? "available" : "unavailable",
41
- source_provenance: sourceProvenance("todo", "agentera todo --format json"),
42
- open_count: todoItems.length,
43
- items: todoItems,
47
+ source_provenance: sourceProvenance("todo", STATE_FAMILY_FALLBACK_COMMANDS.todo),
48
+ selected_target_version: selectedTargetVersion,
49
+ open_count: blockers.length,
50
+ items: blockers,
44
51
  caveats: exists ? [] : ["TODO state is unavailable in CLI state."],
45
52
  };
46
53
  }
@@ -50,7 +57,7 @@ export function closeoutBenchmarkEvidence(docs) {
50
57
  if (testsSummary && testsSummary.toLowerCase().includes("benchmark")) {
51
58
  return {
52
59
  status: "available",
53
- source_provenance: sourceProvenance("docs", "agentera docs --format json", "summary.coverage.tests"),
60
+ source_provenance: sourceProvenance("docs", STATE_FAMILY_FALLBACK_COMMANDS.docs, "summary.coverage.tests"),
54
61
  summary_present: true,
55
62
  non_empty_evidence_present: true,
56
63
  history_scope: "cli_visible_summary",
@@ -61,7 +68,7 @@ export function closeoutBenchmarkEvidence(docs) {
61
68
  }
62
69
  return {
63
70
  status: "unavailable",
64
- source_provenance: sourceProvenance("docs", "agentera docs --format json", "summary.coverage.tests"),
71
+ source_provenance: sourceProvenance("docs", STATE_FAMILY_FALLBACK_COMMANDS.docs, "summary.coverage.tests"),
65
72
  summary_present: false,
66
73
  non_empty_evidence_present: false,
67
74
  history_scope: "not_exposed_by_supported_cli_state",
@@ -129,30 +136,30 @@ export function closeoutReleaseBoundary(changelogBoundary, bundle) {
129
136
  remote_push: "not_recorded_in_cli_state",
130
137
  remote_checks_performed: false,
131
138
  registry_checks_performed: false,
132
- source_provenance: sourceProvenance("closeout_context", "agentera prime --context document --format json", "release_boundary.publication_evidence"),
139
+ source_provenance: sourceProvenance("closeout_context", preCutoverCommand("prime --context document --format json"), "release_boundary.publication_evidence"),
133
140
  caveats: ["Closeout context does not contact remotes or package registries."],
134
141
  },
135
142
  app_refresh_evidence: {
136
143
  installed_app_status: bundle.status ?? null,
137
144
  refresh: "not_recorded_in_cli_state",
138
145
  approval_recorded: false,
139
- source_provenance: sourceProvenance("status", "agentera prime --format json", "app.status"),
146
+ source_provenance: sourceProvenance("status", preCutoverCommand("prime --format json"), "app.status"),
140
147
  },
141
148
  caveats,
142
149
  };
143
150
  }
144
- export function documentCloseoutContext(capability, schemas, plan, progress, todoItems, docs, profile, bundle) {
151
+ export function documentCloseoutContext(capability, schemas, plan, progress, todoItems, docs, profile, bundle, decisionHistory, projectRoot) {
145
152
  if (capability !== "document")
146
153
  return null;
147
154
  const capabilityContract = capabilityContext(capability) ?? {};
148
155
  const artifactMappings = closeoutArtifactMappings(docs);
149
156
  const versionPolicy = closeoutVersionPolicy(docs);
150
- const todoBlockers = closeoutTodoBlockers(schemas, todoItems);
151
- const changelogBoundary = closeoutChangelogBoundary(schemas, plan);
157
+ const changelogBoundary = closeoutChangelogBoundary(projectRoot, plan);
158
+ const todoBlockers = closeoutTodoBlockers(schemas, todoItems, typeof changelogBoundary.selected_target_version === "string" ? changelogBoundary.selected_target_version : null);
152
159
  const progressEvidence = progressVerificationSummary(progress);
153
160
  const benchmarkEvidence = closeoutBenchmarkEvidence(docs);
154
161
  const releaseBoundary = closeoutReleaseBoundary(changelogBoundary, bundle);
155
- const reviewPressure = decisionReviewPressure(schemas);
162
+ const reviewPressure = decisionReviewPressure(decisionHistory);
156
163
  const requiredState = {
157
164
  artifact_mappings: artifactMappings.status === "available",
158
165
  version_policy: versionPolicy.status === "available",
@@ -160,30 +167,29 @@ export function documentCloseoutContext(capability, schemas, plan, progress, tod
160
167
  changelog_boundary: Boolean(changelogBoundary.boundary_present),
161
168
  progress_evidence: progressEvidence.status === "available",
162
169
  benchmark_evidence_or_caveat: benchmarkEvidence.status === "available" || (benchmarkEvidence.caveats ?? []).length > 0,
163
- decision_review_pressure: reviewPressure.status !== "review_required",
170
+ decision_review_pressure: reviewPressure.status === "available",
164
171
  };
165
172
  const missingRequired = Object.entries(requiredState).filter(([, present]) => !present).map(([k]) => k);
166
173
  let stateCaveats = [];
167
- for (const family of (capabilityContract.missing_state_families ?? [])) {
168
- stateCaveats.push(`${family} state is not included in prime --context startup context.`);
174
+ for (const family of deferredStartupFamilies(capabilityContract)) {
175
+ stateCaveats.push(`${family} detail is deferred from prime --context startup.`);
169
176
  }
170
177
  for (const component of [artifactMappings, versionPolicy, todoBlockers, changelogBoundary, releaseBoundary, progressEvidence, benchmarkEvidence, reviewPressure]) {
171
178
  stateCaveats.push(...(component.caveats ?? []));
172
179
  }
173
180
  if (bundle.status !== "up_to_date")
174
181
  stateCaveats.push("Agentera app files are not up to date; this is a caveat, not approval to repair or update app files.");
175
- if (profile.status !== "loaded")
182
+ if (profile.status !== "valid")
176
183
  stateCaveats.push("profile-derived state is unavailable in prime --context response.");
177
184
  else if (profile.stale === true)
178
185
  stateCaveats.push("profile-derived state is stale; this is a caveat, not approval to refresh profile state.");
179
186
  stateCaveats = uniqueList(stateCaveats);
180
187
  const fallbackCommands = uniqueList([
181
- "agentera state todo --format json",
182
- "agentera state docs --format json",
183
- "agentera state progress --format json",
184
- "agentera state query changelog --format json",
185
- "agentera state query --list-artifacts --format json",
186
- ...(capabilityContract.cli_fallback ?? []),
188
+ STATE_FAMILY_FALLBACK_COMMANDS.todo,
189
+ STATE_FAMILY_FALLBACK_COMMANDS.docs,
190
+ STATE_FAMILY_FALLBACK_COMMANDS.progress,
191
+ preCutoverCommand("state query changelog --format json"),
192
+ preCutoverCommand("state query --list-artifacts --format json"),
187
193
  ]);
188
194
  return {
189
195
  capability: "document",
@@ -203,8 +209,6 @@ export function documentCloseoutContext(capability, schemas, plan, progress, tod
203
209
  raw_artifact_reads_required: false,
204
210
  raw_artifact_read_policy: "Use this closeout_context and included status state first. Run listed routine/query CLI fallback commands " +
205
211
  "for missing or incomplete closeout state; raw artifact reads are last-resort diagnostics, not normal closeout behavior.",
206
- included_state_families: capabilityContract.included_state_families ?? [],
207
- missing_state_families: capabilityContract.missing_state_families ?? [],
208
212
  closeout_state_families: ["docs", "todo", "changelog", "progress", "benchmark_evidence", "decisions"],
209
213
  required_closeout_state: requiredState,
210
214
  missing_required_closeout_state: missingRequired,
@@ -227,4 +231,3 @@ export function documentCloseoutContext(capability, schemas, plan, progress, tod
227
231
  },
228
232
  };
229
233
  }
230
- //# sourceMappingURL=closeout.js.map
@@ -3,9 +3,11 @@ import path from "node:path";
3
3
  import { loadYamlMapping } from "../../core/yaml.js";
4
4
  import { activeAppModel, discoverSchemasDir } from "../appContext.js";
5
5
  import { capabilityStartupCommand } from "../../capabilities/index.js";
6
- import { PLAN_COMPLETED_PLAN_ARCHIVE_CONFIRMATION, PLAN_INSTRUCTIONS_AUTHORITY_EXCEPTIONS, PLAN_PLANNING_LEVELS, PLAN_RAW_PLAN_ACCESS_ALLOWED_FOR, PLAN_STARTUP_CONTRACT_VERSION, PLAN_STEP_VERBS, STARTUP_ENVELOPE_STATE_FAMILIES, STATE_FAMILY_FALLBACK_COMMANDS, } from "./types.js";
6
+ import { PLAN_COMPLETED_PLAN_ARCHIVE_CONFIRMATION, PLAN_INSTRUCTIONS_AUTHORITY_EXCEPTIONS, PLAN_PLANNING_LEVELS, PLAN_RAW_PLAN_ACCESS_ALLOWED_FOR, PLAN_STARTUP_CONTRACT_VERSION, PLAN_STEP_VERBS, PLAN_TASK_COHERENCE_RULE, STATE_FAMILY_FALLBACK_COMMANDS, } from "./types.js";
7
7
  import { CAPABILITY_INSTRUCTIONS, capabilityInstructionModulePath } from "../../capabilities/index.js";
8
8
  import { isFile, pyRepr, appendUnique } from "./shared.js";
9
+ import { startupAvailabilityProjection } from "./startupAggregation.js";
10
+ import { preCutoverCommand } from "../preCutoverCommand.js";
9
11
  export function capabilityInstructionContractPath() {
10
12
  const model = activeAppModel();
11
13
  const active = path.join(String(model.authoritativeRoot ?? model.activeBundleRoot), "references", "cli", "capability-instruction-contract.yaml");
@@ -27,13 +29,13 @@ export function capabilityInstructionContract() {
27
29
  }
28
30
  export function capabilityInstructionTarget(capability) {
29
31
  const module = capabilityInstructionModulePath(capability);
30
- const prose = CAPABILITY_INSTRUCTIONS[capability] ?? null;
32
+ const instructions = CAPABILITY_INSTRUCTIONS[capability] ?? null;
31
33
  return {
32
34
  module,
33
- exists: prose !== null && prose.length > 0,
35
+ exists: instructions !== null && instructions.length > 0,
34
36
  runtime_path: module,
35
- prose_present: prose !== null,
36
- prose_length: prose === null ? 0 : prose.length,
37
+ instructions_present: instructions !== null,
38
+ instructions_length: instructions === null ? 0 : instructions.length,
37
39
  };
38
40
  }
39
41
  export function firstInvocationReadMetadata(capability) {
@@ -66,12 +68,12 @@ export function planStartupContract() {
66
68
  return {
67
69
  schemaVersion: PLAN_STARTUP_CONTRACT_VERSION,
68
70
  status: "implemented_compact_normal_startup_contract",
69
- canonical_surface: "agentera prime --context plan --format json",
71
+ canonical_surface: capabilityStartupCommand("plan"),
70
72
  bounded: true,
71
73
  instructions_runtime_read_required: false,
72
74
  instructions_authority: {
73
75
  normal_startup: "Use this compact context for normal Plan execution startup; " +
74
- "shell out to `agentera prime --context plan --format json` for the full Plan prose.",
76
+ `shell out to \`${capabilityStartupCommand("plan")}\` for the full Plan instructions.`,
75
77
  read_plan_instructions_when: PLAN_INSTRUCTIONS_AUTHORITY_EXCEPTIONS,
76
78
  },
77
79
  planning: {
@@ -80,21 +82,21 @@ export function planStartupContract() {
80
82
  required_steps: PLAN_STEP_VERBS,
81
83
  full_plan_review_required: true,
82
84
  pre_write_self_audit_required: true,
83
- max_full_plan_tasks: 8,
85
+ task_coherence_rule: PLAN_TASK_COHERENCE_RULE,
84
86
  },
85
87
  cli_first_orientation: {
86
88
  use_startup_state_first: true,
87
- current_plan_command: "agentera plan --format json",
89
+ current_plan_command: STATE_FAMILY_FALLBACK_COMMANDS.plan,
88
90
  complete_plan_contract_key: "source_contract.complete_for_plan_artifact",
89
91
  fallback_policy: "Use CLI-provided fallback commands for missing or incomplete state families " +
90
92
  "before any last-resort raw artifact read.",
91
93
  },
92
94
  artifact_access_boundaries: {
93
- skip_raw_plan_artifact_when: "`agentera plan --format json` reports source_contract.complete_for_plan_artifact=true " +
95
+ skip_raw_plan_artifact_when: `\`${STATE_FAMILY_FALLBACK_COMMANDS.plan}\` reports source_contract.complete_for_plan_artifact=true ` +
94
96
  "during normal read-only startup or evaluation.",
95
97
  raw_plan_artifact_allowed_for: PLAN_RAW_PLAN_ACCESS_ALLOWED_FOR,
96
98
  completed_plan_archive_confirmation: PLAN_COMPLETED_PLAN_ARCHIVE_CONFIRMATION,
97
- artifact_mapping_source: "agentera docs/query artifact mapping before writes or closeout",
99
+ artifact_mapping_source: STATE_FAMILY_FALLBACK_COMMANDS.docs,
98
100
  },
99
101
  handoff_expectations: [
100
102
  "skip level suggests ⧉ build and waits for confirmation unless the user already asked to implement now",
@@ -104,13 +106,13 @@ export function planStartupContract() {
104
106
  unsupported_command_boundary: {
105
107
  capability_cli_commands_added: true,
106
108
  forbidden_examples: [],
107
- route_boundary: "Use `/agentera plan` for routing, `agentera plan` for plan state, " +
109
+ route_boundary: "Use `/agentera plan` for routing, `agentera state plan list` for plan state, " +
108
110
  "and `agentera plan` for capability routing guidance only.",
109
111
  },
110
112
  seam_decision: {
111
113
  selected: "prime --context",
112
114
  not_changed: [
113
- { surface: "agentera schema --format json", reason: "runtime/schema command discovery, not capability workflow startup context" },
115
+ { surface: preCutoverCommand("schema --format json"), reason: "runtime/schema command discovery, not capability workflow startup context" },
114
116
  { surface: "dispatcher guidance", reason: "route and CLI-state separation guidance, not a bounded Plan workflow payload" },
115
117
  ],
116
118
  },
@@ -140,10 +142,10 @@ export function capabilityArtifactInventory(capability) {
140
142
  continue;
141
143
  }
142
144
  const e = entry;
143
- const artifactId = String(e.artifact_id ?? "").trim();
145
+ const artifactId = String(e.artifact ?? "").trim();
144
146
  const localRole = String(e.local_role ?? "").trim();
145
147
  if (!artifactId) {
146
- errors.push(`entry ${key} is missing artifact_id`);
148
+ errors.push(`entry ${key} is missing artifact`);
147
149
  continue;
148
150
  }
149
151
  if (localRole === "consumes")
@@ -165,24 +167,13 @@ export function capabilityContext(capability) {
165
167
  return null;
166
168
  const [inventory, error] = capabilityArtifactInventory(capability);
167
169
  const needs = inventory.read_needs;
168
- const writeTargets = inventory.write_targets;
169
- const missing = needs.filter((name) => !STARTUP_ENVELOPE_STATE_FAMILIES.has(name));
170
- const cliFallback = missing.filter((name) => name in STATE_FAMILY_FALLBACK_COMMANDS).map((name) => STATE_FAMILY_FALLBACK_COMMANDS[name]);
171
170
  const context = {
172
171
  capability,
173
172
  first_invocation_read: firstInvocationReadMetadata(capability),
174
- declared_state_needs: needs,
175
- declared_write_targets: writeTargets,
176
- artifact_inventory: inventory,
177
- included_state_families: needs.filter((name) => STARTUP_ENVELOPE_STATE_FAMILIES.has(name)),
178
- missing_state_families: missing,
179
- cli_fallback: cliFallback,
180
- raw_artifact_read_policy: "Use the included state families from this prime --context response first. " +
181
- "If needed families are missing or CLI state is incomplete, run the CLI fallback commands before raw file access.",
173
+ availability: startupAvailabilityProjection(needs),
182
174
  schema_error: error,
183
175
  };
184
176
  if (capability === "plan")
185
177
  context.startup_contract = planStartupContract();
186
178
  return context;
187
179
  }
188
- //# sourceMappingURL=contract.js.map
@@ -1,13 +1,13 @@
1
1
  import fs from "node:fs";
2
2
  import { artifactPath } from "../appContext.js";
3
3
  import { asList } from "../stateQuery.js";
4
- import { decisionContextEntry, decisionSourceContract, extractDecisionEntries } from "../commands/state/index.js";
5
4
  import { capabilityContext } from "./contract.js";
6
5
  import { docsConventions, sourceProvenance, uniqueList, hasRecordedValue } from "./shared.js";
7
- import { loadNamedArtifact } from "../orientation.js";
8
- import { sourceMetadata } from "../stateQuery.js";
9
- import { selectEvidenceTarget } from "./planState.js";
6
+ import { selectEvidenceTarget, taskByRef } from "./planState.js";
10
7
  import { progressVerificationSummary, retryState } from "./progress.js";
8
+ import { STATE_FAMILY_FALLBACK_COMMANDS, STATE_FAMILY_LIST_COMMANDS } from "./types.js";
9
+ import { deferredStartupFamilies } from "./startupAggregation.js";
10
+ import { preCutoverCommand } from "../preCutoverCommand.js";
11
11
  export function dateFromIsoUtc(s) {
12
12
  const m = /^(\d{4})-(\d{2})-(\d{2})/.exec(s.trim());
13
13
  if (!m)
@@ -39,7 +39,7 @@ export function evidenceDocsState(docs) {
39
39
  const [currentState, currentStateCaveat] = currentStateStatus(docs.last_audit, "Docs");
40
40
  return {
41
41
  status: available ? "available" : "unavailable",
42
- source_provenance: sourceProvenance("docs", "agentera docs --format json"),
42
+ source_provenance: sourceProvenance("docs", STATE_FAMILY_FALLBACK_COMMANDS.docs),
43
43
  mapping_entries: docs.mapping_entries ?? 0,
44
44
  indexed_documents: docs.indexed_documents ?? 0,
45
45
  last_audit: docs.last_audit ?? null,
@@ -54,14 +54,14 @@ export function evidenceDocsState(docs) {
54
54
  }
55
55
  export function evidenceHealthState(health) {
56
56
  const available = Boolean(health.exists);
57
- const merged = { audit_number: health.number, ...health };
58
- const nonEmptyFields = ["audit_number", "trajectory", "grade"].filter((f) => hasRecordedValue(merged[f]));
57
+ const nonEmptyFields = ["id", "artifact", "trajectory", "grade"].filter((f) => hasRecordedValue(health[f]));
59
58
  const auditDate = health.date ?? health.timestamp ?? null;
60
59
  const [currentState, currentStateCaveat] = currentStateStatus(auditDate, "Health");
61
60
  return {
62
61
  status: available ? "available" : "unavailable",
63
- source_provenance: sourceProvenance("health", "agentera health --format json"),
64
- audit_number: health.number ?? null,
62
+ source_provenance: sourceProvenance("health", STATE_FAMILY_LIST_COMMANDS.health),
63
+ id: health.id ?? null,
64
+ artifact: health.artifact ?? "health",
65
65
  date: auditDate,
66
66
  timestamp: auditDate,
67
67
  trajectory: health.trajectory ?? null,
@@ -81,7 +81,7 @@ export function evidenceTodoState(schemas, todoItems) {
81
81
  const exists = fs.existsSync(artifactPath(info, "todo"));
82
82
  return {
83
83
  status: exists ? "available" : "unavailable",
84
- source_provenance: sourceProvenance("todo", "agentera todo --format json"),
84
+ source_provenance: sourceProvenance("todo", STATE_FAMILY_FALLBACK_COMMANDS.todo),
85
85
  open_count: todoItems.length,
86
86
  items: todoItems,
87
87
  non_empty_evidence_present: todoItems.length > 0,
@@ -90,7 +90,7 @@ export function evidenceTodoState(schemas, todoItems) {
90
90
  };
91
91
  }
92
92
  export function evidenceProtectedStateChecks() {
93
- const source = sourceProvenance("evidence_context", "agentera prime --context audit --format json", "protected_state_checks");
93
+ const source = sourceProvenance("evidence_context", preCutoverCommand("prime --context audit --format json"), "protected_state_checks");
94
94
  return {
95
95
  status: "not_checked_by_design",
96
96
  allowed_status_values: ["verified_local", "not_checked_by_design", "requires_manual_check", "unavailable"],
@@ -120,8 +120,8 @@ export function evidenceVersionChecks(docs) {
120
120
  const conventions = docsConventions(docs);
121
121
  const versionFiles = asList(conventions.version_files);
122
122
  const semverPolicy = conventions.semver_policy && typeof conventions.semver_policy === "object" && !Array.isArray(conventions.semver_policy) ? conventions.semver_policy : {};
123
- const source = sourceProvenance("docs", "agentera docs --format json", "summary.conventions");
124
- const ec = (field) => sourceProvenance("evidence_context", "agentera prime --context audit --format json", field);
123
+ const source = sourceProvenance("docs", STATE_FAMILY_FALLBACK_COMMANDS.docs, "summary.conventions");
124
+ const ec = (field) => sourceProvenance("evidence_context", preCutoverCommand("prime --context audit --format json"), field);
125
125
  const checks = [
126
126
  {
127
127
  name: "docs_version_policy",
@@ -177,15 +177,11 @@ export function evidenceVersionChecks(docs) {
177
177
  }
178
178
  export function evidencePlanCriteria(plan, target) {
179
179
  const taskRefObj = target.task && typeof target.task === "object" && !Array.isArray(target.task) ? target.task : null;
180
- let selected = null;
181
- if (taskRefObj) {
182
- const tasks = asList(plan.tasks).filter((t) => t && typeof t === "object" && !Array.isArray(t));
183
- selected = tasks.find((t) => t.number === taskRefObj.number) ?? null;
184
- }
180
+ const selected = taskByRef(plan, taskRefObj);
185
181
  const criteria = selected && typeof selected === "object" ? asList(selected.acceptance) : [];
186
182
  return {
187
183
  status: criteria.length > 0 ? "available" : "incomplete",
188
- source_provenance: sourceProvenance("plan", "agentera plan --format json", "entries.acceptance"),
184
+ source_provenance: sourceProvenance("plan", STATE_FAMILY_FALLBACK_COMMANDS.plan, "entries.acceptance"),
189
185
  target: taskRefObj,
190
186
  criteria,
191
187
  criteria_count: criteria.length,
@@ -197,32 +193,49 @@ export function evidencePlanCriteria(plan, target) {
197
193
  export function residualRiskEntry(category, status, message, sp) {
198
194
  return { category, status, message, source_provenance: sp };
199
195
  }
200
- export function decisionContextRisk(schemas) {
201
- const info = schemas.decisions ?? { path: ".agentera/decisions.yaml", record: undefined, schema: {}, fields: {} };
202
- const p = artifactPath(info, "decisions");
203
- const source = sourceMetadata("decisions", p);
204
- const data = loadNamedArtifact(schemas, "decisions");
205
- const entries = extractDecisionEntries(data).map((e) => decisionContextEntry(e));
206
- if (!source.exists) {
196
+ function decisionHistoryEntries(history) {
197
+ return asList(history.entries).flatMap((value) => {
198
+ if (!value || typeof value !== "object" || Array.isArray(value))
199
+ return [];
200
+ const entry = value;
201
+ const record = entry.record;
202
+ if (!record || typeof record !== "object" || Array.isArray(record))
203
+ return [];
204
+ return [{ ...record, id: entry.id ?? null, artifact: entry.artifact ?? "decisions", retrieval: entry.retrieval ?? null }];
205
+ });
206
+ }
207
+ function decisionHistoryCounts(history) {
208
+ return history.counts && typeof history.counts === "object" && !Array.isArray(history.counts)
209
+ ? history.counts
210
+ : {};
211
+ }
212
+ export function decisionContextRisk(history) {
213
+ const entries = decisionHistoryEntries(history);
214
+ const counts = decisionHistoryCounts(history);
215
+ if (history.command !== "state decisions list") {
207
216
  return {
208
217
  status: "unavailable",
209
- source_provenance: sourceProvenance("decisions", "agentera decisions --format json"),
218
+ source_provenance: sourceProvenance("decisions", STATE_FAMILY_LIST_COMMANDS.decisions),
210
219
  summary: null,
211
220
  caveats: ["Decision state is unavailable in CLI evidence context."],
212
221
  };
213
222
  }
214
- const contract = decisionSourceContract(source, entries, {});
215
- const completeness = contract.completeness && typeof contract.completeness === "object" && !Array.isArray(contract.completeness)
216
- ? contract.completeness
217
- : {};
218
- const compacted = completeness.compacted_entries;
219
- const missing = completeness.entries_with_missing_fields;
220
- const caveatsSource = compacted || missing ? (contract.caveats ?? []) : [];
221
- const caveats = Array.isArray(caveatsSource) ? caveatsSource : [];
223
+ const omitted = Number(counts.remaining ?? history.omitted_count ?? 0);
224
+ const missing = entries.filter((entry) => !entry.id || !entry.date || !entry.question || !entry.choice).length;
225
+ const caveats = uniqueList([
226
+ ...(omitted > 0 ? [`Decision startup history omits ${omitted} decision detail entr${omitted === 1 ? "y" : "ies"}; run ${STATE_FAMILY_LIST_COMMANDS.decisions} for the ordinary bounded list.`] : []),
227
+ ...(missing > 0 ? [`${missing} bounded decision entr${missing === 1 ? "y is" : "ies are"} missing review context fields.`] : []),
228
+ ]);
222
229
  return {
223
230
  status: caveats.length > 0 ? "caveated" : "available",
224
- source_provenance: sourceProvenance("decisions", "agentera decisions --format json"),
225
- summary: completeness,
231
+ source_provenance: sourceProvenance("decisions", STATE_FAMILY_LIST_COMMANDS.decisions),
232
+ summary: {
233
+ total_entries: Number(counts.total ?? entries.length),
234
+ returned_entries: Number(counts.returned ?? entries.length),
235
+ omitted_entries: omitted,
236
+ entries_with_missing_fields: missing,
237
+ authority: "canonical_entity_files",
238
+ },
226
239
  caveats,
227
240
  };
228
241
  }
@@ -248,6 +261,9 @@ export function decisionReviewDue(entry) {
248
261
  return [null, null];
249
262
  }
250
263
  export function decisionLabel(entry) {
264
+ const id = entry.id;
265
+ if (typeof id === "string" && id)
266
+ return `Decision ${id}`;
251
267
  const number = entry.number;
252
268
  if (number !== null && number !== undefined && number !== "")
253
269
  return `Decision ${number}`;
@@ -260,29 +276,21 @@ export function isoFromUtcMs(utc) {
260
276
  const d = new Date(utc);
261
277
  return `${d.getUTCFullYear()}-${String(d.getUTCMonth() + 1).padStart(2, "0")}-${String(d.getUTCDate()).padStart(2, "0")}`;
262
278
  }
263
- export function decisionReviewPressure(schemas) {
264
- const info = schemas.decisions ?? { path: ".agentera/decisions.yaml", record: undefined, schema: {}, fields: {} };
265
- const p = artifactPath(info, "decisions");
266
- const source = sourceMetadata("decisions", p);
267
- const sp = sourceProvenance("decisions", "agentera decisions --format json");
268
- if (!source.exists) {
279
+ export function decisionReviewPressure(history) {
280
+ const sp = sourceProvenance("decisions", STATE_FAMILY_LIST_COMMANDS.decisions);
281
+ if (history.command !== "state decisions list") {
269
282
  return { status: "unavailable", source_provenance: sp, summary: null, stale_protected_decisions: [], caveats: [] };
270
283
  }
271
- const data = loadNamedArtifact(schemas, "decisions");
272
- const dd = data && typeof data === "object" && !Array.isArray(data) ? data : {};
273
- const active = Array.isArray(dd.decisions) ? dd.decisions : [];
274
- const archive = Array.isArray(dd.archive) ? dd.archive : [];
275
- const activeEntries = active
276
- .filter((e) => Boolean(e && typeof e === "object" && !Array.isArray(e)))
277
- .map((e) => decisionContextEntry(e));
278
- const archiveEntries = archive
279
- .filter((e) => Boolean(e && typeof e === "object" && !Array.isArray(e)))
280
- .map((e) => decisionContextEntry(e));
284
+ const activeEntries = decisionHistoryEntries(history);
285
+ const counts = decisionHistoryCounts(history);
286
+ const omitted = Number(counts.remaining ?? history.omitted_count ?? 0);
281
287
  const protectedActive = activeEntries.filter((e) => e.satisfaction && typeof e.satisfaction === "object" && !Array.isArray(e.satisfaction) && e.satisfaction.review_needed);
282
- const protectedArchive = archiveEntries.filter((e) => e.satisfaction && typeof e.satisfaction === "object" && !Array.isArray(e.satisfaction) && e.satisfaction.review_needed);
288
+ const protectedArchive = [];
283
289
  const today = todayUtcMs();
284
290
  const stale = [];
285
- let caveats = [];
291
+ let caveats = omitted > 0
292
+ ? [`Decision review pressure is bounded with ${omitted} decision(s) omitted; continue with ${STATE_FAMILY_LIST_COMMANDS.decisions}.`]
293
+ : [];
286
294
  for (const [collection, entries] of [["decisions", protectedActive], ["archive", protectedArchive]]) {
287
295
  for (const entry of entries) {
288
296
  const [field, reviewDate] = decisionReviewDue(entry);
@@ -303,19 +311,22 @@ export function decisionReviewPressure(schemas) {
303
311
  }
304
312
  caveats = uniqueList(caveats);
305
313
  return {
306
- status: caveats.length > 0 ? "review_required" : "available",
314
+ status: stale.length > 0 || protectedOverflowCount > 0 ? "review_required" : omitted > 0 ? "degraded" : "available",
307
315
  source_provenance: sp,
308
316
  summary: {
309
317
  protected_active_decisions: protectedActive.length,
310
318
  protected_archive_decisions: protectedArchive.length,
311
319
  protected_overflow_count: protectedOverflowCount,
312
320
  stale_protected_decisions: stale.length,
321
+ returned_decisions: Number(counts.returned ?? activeEntries.length),
322
+ total_decisions: Number(counts.total ?? activeEntries.length),
323
+ omitted_decisions: omitted,
313
324
  },
314
325
  stale_protected_decisions: stale,
315
326
  caveats,
316
327
  };
317
328
  }
318
- export function auditEvidenceContext(capability, schemas, plan, progress, health, todoItems, docs, profile, bundle) {
329
+ export function auditEvidenceContext(capability, schemas, plan, progress, health, todoItems, docs, profile, bundle, decisionHistory) {
319
330
  if (capability !== "audit")
320
331
  return null;
321
332
  const capabilityContract = capabilityContext(capability) ?? {};
@@ -327,35 +338,35 @@ export function auditEvidenceContext(capability, schemas, plan, progress, health
327
338
  const todoState = evidenceTodoState(schemas, todoItems);
328
339
  const protectedStateChecks = evidenceProtectedStateChecks();
329
340
  const versionChecks = evidenceVersionChecks(docs);
330
- const decisionRisk = decisionContextRisk(schemas);
331
- const reviewPressure = decisionReviewPressure(schemas);
341
+ const decisionRisk = decisionContextRisk(decisionHistory);
342
+ const reviewPressure = decisionReviewPressure(decisionHistory);
332
343
  let stateCaveats = [];
333
344
  const attributedRisks = [];
334
- for (const family of (capabilityContract.missing_state_families ?? [])) {
335
- const message = `${family} state is not included in prime --context startup context.`;
345
+ for (const family of deferredStartupFamilies(capabilityContract)) {
346
+ const message = `${family} detail is deferred from prime --context startup.`;
336
347
  stateCaveats.push(message);
337
- attributedRisks.push(residualRiskEntry("missing_state_family", "caveated", message, sourceProvenance("prime", "agentera prime --context audit --format json", "source_contract.capability_context.missing_state_families")));
348
+ attributedRisks.push(residualRiskEntry("deferred_state_detail", "caveated", message, sourceProvenance("prime", preCutoverCommand("prime --context audit --format json"), "capability_context.startup.availability")));
338
349
  }
339
350
  if (bundle.status !== "up_to_date") {
340
351
  const message = "Agentera app files are not up to date; this is a caveat, not approval to repair or update app files.";
341
352
  stateCaveats.push(message);
342
- attributedRisks.push(residualRiskEntry("installed_app_state", "caveated", message, sourceProvenance("status", "agentera prime --format json", "app.status")));
353
+ attributedRisks.push(residualRiskEntry("installed_app_state", "caveated", message, sourceProvenance("status", preCutoverCommand("prime --format json"), "app.status")));
343
354
  }
344
- if (profile.status !== "loaded") {
355
+ if (profile.status !== "valid") {
345
356
  const message = "profile-derived state is unavailable in prime --context response.";
346
357
  stateCaveats.push(message);
347
- attributedRisks.push(residualRiskEntry("profile_state", "unavailable", message, sourceProvenance("status", "agentera prime --format json", "profile.status")));
358
+ attributedRisks.push(residualRiskEntry("profile_state", "unavailable", message, sourceProvenance("status", preCutoverCommand("prime --format json"), "profile.status")));
348
359
  }
349
360
  else if (profile.stale === true) {
350
361
  const message = "profile-derived state is stale; this is a caveat, not approval to refresh profile state.";
351
362
  stateCaveats.push(message);
352
- attributedRisks.push(residualRiskEntry("profile_state", "caveated", message, sourceProvenance("status", "agentera prime --format json", "profile.stale")));
363
+ attributedRisks.push(residualRiskEntry("profile_state", "caveated", message, sourceProvenance("status", preCutoverCommand("prime --format json"), "profile.stale")));
353
364
  }
354
365
  for (const component of [evaluationTarget, planCriteria, progressVerification, docsState, healthState, todoState, protectedStateChecks, versionChecks]) {
355
366
  for (const caveat of (component.caveats ?? [])) {
356
367
  stateCaveats.push(caveat);
357
368
  // cast: component source_provenance comes from evidence builders backed by parsed artifact/decision state
358
- const componentSp = component.source_provenance ?? sourceProvenance("evidence_context", "agentera prime --context audit --format json");
369
+ const componentSp = component.source_provenance ?? sourceProvenance("evidence_context", preCutoverCommand("prime --context audit --format json"));
359
370
  attributedRisks.push(residualRiskEntry("evidence_family", "caveated", caveat, componentSp));
360
371
  }
361
372
  }
@@ -393,13 +404,12 @@ export function auditEvidenceContext(capability, schemas, plan, progress, health
393
404
  };
394
405
  const missingRequired = Object.entries(requiredState).filter(([, present]) => !present).map(([name]) => name);
395
406
  const fallbackCommands = uniqueList([
396
- "agentera state plan --format json",
397
- "agentera state progress --format json",
398
- "agentera state docs --format json",
399
- "agentera state health --format json",
400
- "agentera state todo --format json",
401
- "agentera state query --list-artifacts --format json",
402
- ...(capabilityContract.cli_fallback ?? []),
407
+ STATE_FAMILY_FALLBACK_COMMANDS.plan,
408
+ STATE_FAMILY_FALLBACK_COMMANDS.progress,
409
+ STATE_FAMILY_FALLBACK_COMMANDS.docs,
410
+ STATE_FAMILY_FALLBACK_COMMANDS.health,
411
+ STATE_FAMILY_FALLBACK_COMMANDS.todo,
412
+ preCutoverCommand("state query --list-artifacts --format json"),
403
413
  ]);
404
414
  return {
405
415
  capability: "audit",
@@ -427,8 +437,6 @@ export function auditEvidenceContext(capability, schemas, plan, progress, health
427
437
  raw_artifact_reads_required: false,
428
438
  raw_artifact_read_policy: "Use this evidence_context and included status state first. Run listed routine/query CLI fallback commands " +
429
439
  "for missing or incomplete evidence state; raw artifact reads are last-resort diagnostics, not normal evaluation startup behavior.",
430
- included_state_families: capabilityContract.included_state_families ?? [],
431
- missing_state_families: capabilityContract.missing_state_families ?? [],
432
440
  required_evidence_state: requiredState,
433
441
  missing_required_evidence_state: missingRequired,
434
442
  fallback_commands: fallbackCommands,
@@ -453,4 +461,3 @@ export function auditEvidenceContext(capability, schemas, plan, progress, health
453
461
  },
454
462
  };
455
463
  }
456
- //# sourceMappingURL=evidence.js.map
@@ -1,4 +1,3 @@
1
1
  export { CAPABILITY_NAMES } from "./types.js";
2
2
  export { validatePrimeCapability } from "./shared.js";
3
3
  export { buildPrimeCapabilityContextPayload } from "./startup.js";
4
- //# sourceMappingURL=index.js.map