agentera 3.0.0-dev.8 → 3.0.0-dev.81

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 (725) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +252 -22
  3. package/bundle/.agentera-build-source.json +8 -0
  4. package/bundle/CHANGELOG.md +1389 -0
  5. package/bundle/DESIGN.md +229 -0
  6. package/bundle/LICENSE +201 -0
  7. package/bundle/README.md +142 -0
  8. package/bundle/UPGRADE.md +275 -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 +443 -188
  13. package/bundle/references/adapters/package-surface-characterization.md +68 -34
  14. package/bundle/references/adapters/product-v1-reset.yaml +101 -0
  15. package/bundle/references/adapters/runtime-lifecycle-adapters.yaml +74 -0
  16. package/bundle/references/adapters/runtime-lifecycle-authority.yaml +62 -0
  17. package/bundle/references/adapters/runtime-lifecycle-operation-contract.yaml +84 -0
  18. package/bundle/references/adapters/runtime-retired-resources.yaml +357 -0
  19. package/bundle/references/analysis/evidence-tier-authority.yaml +559 -0
  20. package/bundle/references/analysis/personal-glossary-evaluation-authority.yaml +175 -0
  21. package/bundle/references/analysis/personal-glossary-evaluation-corpus.yaml +291 -0
  22. package/bundle/references/analysis/personal-glossary-holdout.yaml +192 -0
  23. package/bundle/references/analysis/verification-policy.yaml +262 -0
  24. package/bundle/references/artifacts/artifact-registry-interface-model.yaml +17 -8
  25. package/bundle/references/artifacts/glossary-entry-contract.yaml +2906 -0
  26. package/bundle/references/artifacts/state-storage-authority.yaml +3075 -0
  27. package/bundle/references/artifacts/verbosity-budget-authority.yaml +42 -0
  28. package/bundle/references/cli/app-lifecycle-vocabulary.yaml +3 -4
  29. package/bundle/references/cli/capability-instruction-contract.yaml +11 -14
  30. package/bundle/references/cli/hybrid-route-contract.yaml +438 -0
  31. package/bundle/references/cli/routing-model.md +152 -93
  32. package/bundle/references/cli/trigger-schema-enrichment.md +57 -46
  33. package/bundle/references/cli/update-channels.yaml +7 -5
  34. package/bundle/references/cli/vocabulary-index.yaml +7 -9
  35. package/bundle/references/cli/vocabulary.md +54 -97
  36. package/bundle/references/meta/retained-reference-authority.yaml +171 -0
  37. package/bundle/skills/agentera/SKILL.md +183 -63
  38. package/bundle/skills/agentera/capabilities/audit/schemas/artifacts.yaml +27 -19
  39. package/bundle/skills/agentera/capabilities/audit/schemas/exit.yaml +2 -2
  40. package/bundle/skills/agentera/capabilities/audit/schemas/triggers.yaml +13 -35
  41. package/bundle/skills/agentera/capabilities/audit/schemas/validation.yaml +30 -11
  42. package/bundle/skills/agentera/capabilities/build/schemas/artifacts.yaml +44 -21
  43. package/bundle/skills/agentera/capabilities/build/schemas/exit.yaml +8 -6
  44. package/bundle/skills/agentera/capabilities/build/schemas/triggers.yaml +14 -36
  45. package/bundle/skills/agentera/capabilities/build/schemas/validation.yaml +95 -21
  46. package/bundle/skills/agentera/capabilities/design/schemas/artifacts.yaml +6 -6
  47. package/bundle/skills/agentera/capabilities/design/schemas/exit.yaml +5 -5
  48. package/bundle/skills/agentera/capabilities/design/schemas/triggers.yaml +5 -34
  49. package/bundle/skills/agentera/capabilities/design/schemas/validation.yaml +2 -2
  50. package/bundle/skills/agentera/capabilities/discuss/schemas/artifacts.yaml +17 -13
  51. package/bundle/skills/agentera/capabilities/discuss/schemas/exit.yaml +2 -2
  52. package/bundle/skills/agentera/capabilities/discuss/schemas/triggers.yaml +6 -40
  53. package/bundle/skills/agentera/capabilities/discuss/schemas/validation.yaml +72 -5
  54. package/bundle/skills/agentera/capabilities/document/schemas/artifacts.yaml +24 -17
  55. package/bundle/skills/agentera/capabilities/document/schemas/triggers.yaml +5 -35
  56. package/bundle/skills/agentera/capabilities/document/schemas/validation.yaml +13 -13
  57. package/bundle/skills/agentera/capabilities/optimize/schemas/artifacts.yaml +10 -10
  58. package/bundle/skills/agentera/capabilities/optimize/schemas/exit.yaml +2 -2
  59. package/bundle/skills/agentera/capabilities/optimize/schemas/triggers.yaml +4 -35
  60. package/bundle/skills/agentera/capabilities/optimize/schemas/validation.yaml +3 -3
  61. package/bundle/skills/agentera/capabilities/orchestrate/schemas/artifacts.yaml +34 -22
  62. package/bundle/skills/agentera/capabilities/orchestrate/schemas/exit.yaml +9 -7
  63. package/bundle/skills/agentera/capabilities/orchestrate/schemas/triggers.yaml +5 -37
  64. package/bundle/skills/agentera/capabilities/orchestrate/schemas/validation.yaml +38 -37
  65. package/bundle/skills/agentera/capabilities/plan/schemas/artifacts.yaml +20 -16
  66. package/bundle/skills/agentera/capabilities/plan/schemas/triggers.yaml +8 -31
  67. package/bundle/skills/agentera/capabilities/plan/schemas/validation.yaml +66 -6
  68. package/bundle/skills/agentera/capabilities/profile/schemas/artifacts.yaml +13 -4
  69. package/bundle/skills/agentera/capabilities/profile/schemas/exit.yaml +8 -5
  70. package/bundle/skills/agentera/capabilities/profile/schemas/triggers.yaml +8 -37
  71. package/bundle/skills/agentera/capabilities/profile/schemas/validation.yaml +67 -3
  72. package/bundle/skills/agentera/capabilities/research/schemas/artifacts.yaml +6 -6
  73. package/bundle/skills/agentera/capabilities/research/schemas/triggers.yaml +5 -29
  74. package/bundle/skills/agentera/capabilities/status/schemas/artifacts.yaml +13 -12
  75. package/bundle/skills/agentera/capabilities/status/schemas/triggers.yaml +7 -49
  76. package/bundle/skills/agentera/capabilities/vision/schemas/artifacts.yaml +8 -8
  77. package/bundle/skills/agentera/capabilities/vision/schemas/exit.yaml +7 -6
  78. package/bundle/skills/agentera/capabilities/vision/schemas/triggers.yaml +7 -39
  79. package/bundle/skills/agentera/capabilities/vision/schemas/validation.yaml +14 -16
  80. package/bundle/skills/agentera/capability_schema_contract.yaml +32 -32
  81. package/bundle/skills/agentera/protocol.yaml +4 -4
  82. package/bundle/skills/agentera/route-phrases.yaml +81 -0
  83. package/bundle/skills/agentera/schemas/artifacts/changelog.yaml +1 -0
  84. package/bundle/skills/agentera/schemas/artifacts/decisions.yaml +29 -30
  85. package/bundle/skills/agentera/schemas/artifacts/design.yaml +1 -0
  86. package/bundle/skills/agentera/schemas/artifacts/docs.yaml +7 -43
  87. package/bundle/skills/agentera/schemas/artifacts/experiments.yaml +140 -34
  88. package/bundle/skills/agentera/schemas/artifacts/glossary.yaml +87 -0
  89. package/bundle/skills/agentera/schemas/artifacts/health.yaml +53 -51
  90. package/bundle/skills/agentera/schemas/artifacts/objective.yaml +18 -35
  91. package/bundle/skills/agentera/schemas/artifacts/plan.yaml +453 -55
  92. package/bundle/skills/agentera/schemas/artifacts/progress.yaml +128 -39
  93. package/bundle/skills/agentera/schemas/artifacts/todo.yaml +305 -7
  94. package/bundle/skills/agentera/schemas/artifacts/vision.yaml +0 -19
  95. package/dist/.agentera-build-source.json +8 -0
  96. package/dist/analytics/extractCorpus/cli.js +52 -11
  97. package/dist/analytics/extractCorpus/copilotSessions.js +19 -8
  98. package/dist/analytics/extractCorpus/core.js +262 -14
  99. package/dist/analytics/extractCorpus/corpus.js +57 -18
  100. package/dist/analytics/extractCorpus/coverageAudit.js +44 -45
  101. package/dist/analytics/extractCorpus/cursorSessions.js +28 -8
  102. package/dist/analytics/extractCorpus/evidenceTiers.js +709 -0
  103. package/dist/analytics/extractCorpus/extractCorpusParity.js +4 -4
  104. package/dist/analytics/extractCorpus/filesystemSources.js +5 -5
  105. package/dist/analytics/extractCorpus/index.js +4 -2
  106. package/dist/analytics/extractCorpus/jsonlSessions.js +76 -8
  107. package/dist/analytics/extractCorpus/sqliteCaps.js +0 -1
  108. package/dist/analytics/extractCorpus/sqliteSessions.js +12 -4
  109. package/dist/analytics/extractCorpus/tierReader.js +108 -0
  110. package/dist/analytics/extractCorpus.js +0 -1
  111. package/dist/analytics/glossaryAdviceResolution.js +166 -0
  112. package/dist/analytics/glossaryInputAcquisition.js +319 -0
  113. package/dist/analytics/personalGlossaryAdmission.js +113 -0
  114. package/dist/analytics/personalGlossaryCandidateProjection.js +788 -0
  115. package/dist/analytics/personalGlossaryCandidateProjectionExcerpts.js +144 -0
  116. package/dist/analytics/personalGlossaryCandidateProjectionModel.js +1 -0
  117. package/dist/analytics/personalGlossaryCandidateReadView.js +23 -0
  118. package/dist/analytics/personalGlossaryCurrentGeneration.js +25 -0
  119. package/dist/analytics/personalGlossaryDecision.js +203 -0
  120. package/dist/analytics/personalGlossaryExplicit.js +788 -0
  121. package/dist/analytics/personalGlossaryExplicitMining.js +285 -0
  122. package/dist/analytics/personalGlossaryExplicitScope.js +41 -0
  123. package/dist/analytics/personalGlossaryExplicitSegments.js +418 -0
  124. package/dist/analytics/personalGlossaryExplicitTypes.js +26 -0
  125. package/dist/analytics/personalGlossaryLexicalClassifier.js +175 -0
  126. package/dist/analytics/personalGlossaryProfile.js +229 -0
  127. package/dist/analytics/personalGlossaryRecurrence.js +618 -0
  128. package/dist/analytics/personalGlossaryRefreshProjection.js +351 -0
  129. package/dist/analytics/personalGlossaryReviewRecordStorage.js +428 -0
  130. package/dist/analytics/personalGlossaryReviewRecords.js +332 -0
  131. package/dist/analytics/profileSignals.js +211 -0
  132. package/dist/analytics/usageStats.js +150 -23
  133. package/dist/audit/terminologyDrift.js +281 -0
  134. package/dist/bin/agentera.js +3 -2
  135. package/dist/capabilities/audit/instructions.js +16 -6
  136. package/dist/capabilities/build/instructions.js +59 -6
  137. package/dist/capabilities/design/instructions.js +3 -4
  138. package/dist/capabilities/discuss/instructions.js +29 -6
  139. package/dist/capabilities/document/instructions.js +11 -6
  140. package/dist/capabilities/index.js +20 -14
  141. package/dist/capabilities/optimize/instructions.js +14 -6
  142. package/dist/capabilities/orchestrate/instructions.js +42 -6
  143. package/dist/capabilities/plan/instructions.js +30 -3
  144. package/dist/capabilities/profile/instructions.js +104 -5
  145. package/dist/capabilities/research/instructions.js +4 -5
  146. package/dist/capabilities/status/instructions.js +15 -6
  147. package/dist/capabilities/status/startupInstructions.js +34 -0
  148. package/dist/capabilities/vision/instructions.js +3 -5
  149. package/dist/cli/appContext.js +14 -7
  150. package/dist/cli/argvalidate.js +0 -1
  151. package/dist/cli/capabilityContext/benchmark.js +5 -4
  152. package/dist/cli/capabilityContext/bespoke.js +14 -6
  153. package/dist/cli/capabilityContext/build.js +116 -42
  154. package/dist/cli/capabilityContext/closeout.js +30 -27
  155. package/dist/cli/capabilityContext/contract.js +18 -27
  156. package/dist/cli/capabilityContext/evidence.js +84 -77
  157. package/dist/cli/capabilityContext/index.js +0 -1
  158. package/dist/cli/capabilityContext/orchestration.js +42 -18
  159. package/dist/cli/capabilityContext/planState.js +89 -96
  160. package/dist/cli/capabilityContext/progress.js +52 -12
  161. package/dist/cli/capabilityContext/projectVerification.js +409 -0
  162. package/dist/cli/capabilityContext/shared.js +9 -20
  163. package/dist/cli/capabilityContext/slim.js +52 -8
  164. package/dist/cli/capabilityContext/startup.js +51 -114
  165. package/dist/cli/capabilityContext/startupAggregation.js +68 -0
  166. package/dist/cli/capabilityContext/types.js +26 -10
  167. package/dist/cli/capabilityContext.js +0 -1
  168. package/dist/cli/commands/appHome.js +0 -1
  169. package/dist/cli/commands/capability.js +2 -2
  170. package/dist/cli/commands/compact.js +163 -13
  171. package/dist/cli/commands/doctor.js +162 -11
  172. package/dist/cli/commands/durability.js +81 -0
  173. package/dist/cli/commands/glossaryAdvice.js +138 -0
  174. package/dist/cli/commands/lint.js +22 -8
  175. package/dist/cli/commands/personalGlossaryCandidateReads.js +755 -0
  176. package/dist/cli/commands/personalGlossaryDecision.js +349 -0
  177. package/dist/cli/commands/personalGlossaryPublish.js +484 -0
  178. package/dist/cli/commands/personalGlossaryReviewRecordReads.js +209 -0
  179. package/dist/cli/commands/personalGlossaryReviewRecords.js +623 -0
  180. package/dist/cli/commands/prime/briefOrientation.js +845 -0
  181. package/dist/cli/commands/prime/buildExecutionRequest.js +165 -0
  182. package/dist/cli/commands/prime/bundleStatus.js +54 -4
  183. package/dist/cli/commands/prime/collectEntityOrientation.js +338 -0
  184. package/dist/cli/commands/prime/collectOrientationState.js +124 -68
  185. package/dist/cli/commands/prime/orientationOutput.js +271 -59
  186. package/dist/cli/commands/prime/types.js +0 -1
  187. package/dist/cli/commands/prime.js +89 -11
  188. package/dist/cli/commands/profileGrounding.js +55 -0
  189. package/dist/cli/commands/query.js +74 -52
  190. package/dist/cli/commands/report.js +187 -27
  191. package/dist/cli/commands/route.js +142 -0
  192. package/dist/cli/commands/schema.js +436 -138
  193. package/dist/cli/commands/state/decisions.js +40 -56
  194. package/dist/cli/commands/state/docs.js +58 -85
  195. package/dist/cli/commands/state/experimentRecords.js +151 -0
  196. package/dist/cli/commands/state/experiments.js +11 -65
  197. package/dist/cli/commands/state/get.js +129 -0
  198. package/dist/cli/commands/state/health.js +11 -113
  199. package/dist/cli/commands/state/index.js +6 -41
  200. package/dist/cli/commands/state/list.js +194 -0
  201. package/dist/cli/commands/state/objective.js +21 -65
  202. package/dist/cli/commands/state/plan.js +11 -170
  203. package/dist/cli/commands/state/planTasks.js +154 -0
  204. package/dist/cli/commands/state/plans.js +154 -0
  205. package/dist/cli/commands/state/progress.js +11 -45
  206. package/dist/cli/commands/state/shared.js +0 -1
  207. package/dist/cli/commands/state/todo.js +28 -107
  208. package/dist/cli/commands/state/write.js +459 -0
  209. package/dist/cli/commands/upgrade.js +176 -5
  210. package/dist/cli/commands/upgradeVerify.js +118 -0
  211. package/dist/cli/commands/validate.js +235 -136
  212. package/dist/cli/commands/verify.js +73 -16
  213. package/dist/cli/contracts/bundleStatus.js +0 -1
  214. package/dist/cli/contracts/orientationState.js +0 -1
  215. package/dist/cli/dispatch/argvParser.js +0 -1
  216. package/dist/cli/dispatch/check.js +84 -40
  217. package/dist/cli/dispatch/commands.js +3 -3
  218. package/dist/cli/dispatch/index.js +84 -52
  219. package/dist/cli/dispatch/lifecycle.js +182 -62
  220. package/dist/cli/dispatch/prime.js +37 -2
  221. package/dist/cli/dispatch/projections.js +17 -0
  222. package/dist/cli/dispatch/shared.js +1 -2
  223. package/dist/cli/dispatch/state.js +62 -66
  224. package/dist/cli/dispatch.js +0 -1
  225. package/dist/cli/errors.js +16 -17
  226. package/dist/cli/help.js +419 -41
  227. package/dist/cli/migrationRequired.js +125 -0
  228. package/dist/cli/orientation/attention.js +19 -22
  229. package/dist/cli/orientation/corpusCoverage.js +32 -1
  230. package/dist/cli/orientation.js +346 -129
  231. package/dist/cli/planArtifacts.js +350 -0
  232. package/dist/cli/planEvidence.js +157 -0
  233. package/dist/cli/planLifecycleState.js +36 -0
  234. package/dist/cli/planTaskIndex.js +11 -0
  235. package/dist/cli/preCutoverCommand.js +32 -0
  236. package/dist/cli/prime-blob.js +71 -3
  237. package/dist/cli/productV1Eol.js +55 -0
  238. package/dist/cli/profileAcquisition.js +167 -0
  239. package/dist/cli/startupCompletenessContract.js +11 -9
  240. package/dist/cli/stateQuery.js +47 -12
  241. package/dist/cli/structured.js +0 -1
  242. package/dist/cli/todoMarkdown.js +25 -12
  243. package/dist/cli/todoReadinessSelection.js +192 -0
  244. package/dist/cli/todoSeverity.js +0 -1
  245. package/dist/core/atomicWriter.js +23 -0
  246. package/dist/core/developmentChannel.js +1 -0
  247. package/dist/core/developmentInvocation.js +377 -0
  248. package/dist/core/difflib.js +0 -1
  249. package/dist/core/envPaths.js +0 -1
  250. package/dist/core/jsonValue.js +0 -1
  251. package/dist/core/paths.js +0 -1
  252. package/dist/core/pyjson.js +0 -1
  253. package/dist/core/shell.js +4 -0
  254. package/dist/core/skillIdentity.js +23 -0
  255. package/dist/core/sourceRoot.js +9 -12
  256. package/dist/core/text.js +10 -0
  257. package/dist/core/toml.js +0 -1
  258. package/dist/core/yaml.js +61 -2
  259. package/dist/eval/evalSkills.js +13 -14
  260. package/dist/eval/glossaryEvaluation.js +751 -0
  261. package/dist/eval/glossaryEvaluationProcess.js +29 -0
  262. package/dist/eval/glossaryEvaluationRunner.js +571 -0
  263. package/dist/eval/glossaryEvaluationSuccessReport.js +297 -0
  264. package/dist/eval/hybridRouteEvaluation.js +155 -0
  265. package/dist/eval/semanticEval.js +0 -1
  266. package/dist/eval/semanticFixtures.js +0 -1
  267. package/dist/hooks/common.js +3 -56
  268. package/dist/hooks/compaction/apply.js +224 -47
  269. package/dist/hooks/compaction/dryRun.js +2 -1
  270. package/dist/hooks/compaction/index.js +5 -6
  271. package/dist/hooks/compaction/parse.js +73 -6
  272. package/dist/hooks/compaction/retention.js +28 -25
  273. package/dist/hooks/compaction/status.js +145 -26
  274. package/dist/hooks/compaction/types.js +0 -1
  275. package/dist/hooks/validateArtifact/agentFacing.js +0 -1
  276. package/dist/hooks/validateArtifact/index.js +6 -65
  277. package/dist/hooks/validateArtifact/markdown.js +9 -10
  278. package/dist/hooks/validateArtifact/schema.js +96 -9
  279. package/dist/hooks/validateArtifact/traversal.js +12 -11
  280. package/dist/hooks/validateArtifact/violations.js +5 -3
  281. package/dist/migrate/v2HandoffManifest.js +8 -3
  282. package/dist/registries/activationContract.js +2 -0
  283. package/dist/registries/activationTuples.js +145 -0
  284. package/dist/registries/artifactProtocolIds.js +2 -1
  285. package/dist/registries/artifactRegistry.js +207 -60
  286. package/dist/registries/artifactSchemaProjection.js +45 -0
  287. package/dist/registries/capabilityContract.js +5 -21
  288. package/dist/registries/evaluatorHandoffContract.js +0 -1
  289. package/dist/registries/evidenceTierContract.js +375 -0
  290. package/dist/registries/explicitSegmentGrammarContract.js +619 -0
  291. package/dist/registries/glossaryAdviceContract.js +79 -0
  292. package/dist/registries/glossaryCandidateContractPaths.js +6 -0
  293. package/dist/registries/glossaryCandidateContracts.js +820 -0
  294. package/dist/registries/glossaryCandidateDecisionAuthority.js +119 -0
  295. package/dist/registries/glossaryCandidateDecisionContract.js +62 -0
  296. package/dist/registries/glossaryCandidateProjectionAuthority.js +345 -0
  297. package/dist/registries/glossaryCandidateProjectionContract.js +108 -0
  298. package/dist/registries/glossaryCaveatContract.js +67 -0
  299. package/dist/registries/glossaryConsumerContractValidation.js +787 -0
  300. package/dist/registries/glossaryEntryContract.js +759 -0
  301. package/dist/registries/glossaryEntryTemporal.js +12 -0
  302. package/dist/registries/glossaryMiningAuthority.js +764 -0
  303. package/dist/registries/glossaryProfileFullContract.js +24 -0
  304. package/dist/registries/glossaryReviewRecordsAuthority.js +426 -0
  305. package/dist/registries/glossaryReviewRecordsContract.js +129 -0
  306. package/dist/registries/glossaryTermIdentity.js +139 -0
  307. package/dist/registries/glossaryTermOccurrence.js +20 -0
  308. package/dist/registries/hybridRoute.js +274 -0
  309. package/dist/registries/hybridRouteReceipt.js +221 -0
  310. package/dist/registries/packagePublication.js +273 -0
  311. package/dist/registries/packageRegistry.js +184 -209
  312. package/dist/registries/personalGlossaryContracts.js +1 -0
  313. package/dist/registries/todoReadinessContract.js +448 -0
  314. package/dist/registries/triggerLoader.js +7 -44
  315. package/dist/registries/verbosityBudgetContract.js +205 -0
  316. package/dist/release/releaseMetadata.js +168 -11
  317. package/dist/runtime/lifecycleAdapterContract.js +457 -0
  318. package/dist/runtime/lifecycleAdapters.js +777 -0
  319. package/dist/runtime/lifecycleAuthority.js +453 -0
  320. package/dist/runtime/lifecycleOperationContract.js +123 -0
  321. package/dist/runtime/lifecycleOperations.js +634 -0
  322. package/dist/runtime/lifecycleOwnershipJournal.js +622 -0
  323. package/dist/runtime/lifecyclePublication.js +415 -0
  324. package/dist/runtime/lifecycleSnapshot.js +438 -0
  325. package/dist/runtime/nativeResourceCleanup.js +618 -0
  326. package/dist/setup/opencode.js +20 -13
  327. package/dist/setup/opencodeConstants.js +1 -0
  328. package/dist/setup/sharedSkill.js +45 -0
  329. package/dist/setup/smokeChecks.js +14 -75
  330. package/dist/state/archiveDiscovery.js +580 -0
  331. package/dist/state/archivePublication.js +225 -0
  332. package/dist/state/archiveRecovery.js +237 -0
  333. package/dist/state/archiveReplay.js +53 -0
  334. package/dist/state/canonicalMigrationRecord.js +36 -0
  335. package/dist/state/changelog.js +221 -0
  336. package/dist/state/decisionEntities.js +367 -0
  337. package/dist/state/decisionLegacyValidation.js +215 -0
  338. package/dist/state/decisionMigrationProvenance.js +199 -0
  339. package/dist/state/decisionOverlay.js +254 -0
  340. package/dist/state/decisionRevision.js +256 -0
  341. package/dist/state/decisionRevisionMigration.js +89 -0
  342. package/dist/state/directRetrieval.js +323 -0
  343. package/dist/state/durability.js +324 -0
  344. package/dist/state/entityCutover.js +459 -0
  345. package/dist/state/entityCutoverGit.js +127 -0
  346. package/dist/state/entityGlossaryAuthority.js +13 -0
  347. package/dist/state/entityListProjection.js +187 -0
  348. package/dist/state/entityListRuntimeRegistry.js +85 -0
  349. package/dist/state/entityMigrationCausality.js +97 -0
  350. package/dist/state/entityMigrationIdentity.js +5 -0
  351. package/dist/state/entityMigrationPreview.js +840 -0
  352. package/dist/state/entityMigrationTodo.js +133 -0
  353. package/dist/state/entityPublicationContext.js +859 -0
  354. package/dist/state/entityRetrievalHelp.js +506 -0
  355. package/dist/state/entityStorage.js +894 -0
  356. package/dist/state/entityWriterLock.js +18 -0
  357. package/dist/state/exactReplacementRecovery.js +18 -0
  358. package/dist/state/experimentArchive.js +63 -0
  359. package/dist/state/experimentIdentity.js +202 -0
  360. package/dist/state/healthEntities.js +262 -0
  361. package/dist/state/healthEntityValidation.js +18 -0
  362. package/dist/state/healthRepair.js +69 -0
  363. package/dist/state/installRoot.js +15 -7
  364. package/dist/state/legacyEntityCutoverEvidence.js +65 -0
  365. package/dist/state/legacyIdentity.js +47 -0
  366. package/dist/state/legacySummaryRecord.js +6 -0
  367. package/dist/state/listAccounting.js +54 -0
  368. package/dist/state/listClassification.js +17 -0
  369. package/dist/state/listCursor.js +42 -0
  370. package/dist/state/listRetrieval.js +781 -0
  371. package/dist/state/migrationSourceBinding.js +30 -0
  372. package/dist/state/objectiveExperimentEntities.js +322 -0
  373. package/dist/state/planEntities.js +1027 -0
  374. package/dist/state/planIdentity.js +47 -0
  375. package/dist/state/planLineageValidation.js +52 -0
  376. package/dist/state/planReplacementTransaction.js +475 -0
  377. package/dist/state/planRetrieval.js +313 -0
  378. package/dist/state/planTaskRetrieval.js +294 -0
  379. package/dist/state/progressEntities.js +512 -0
  380. package/dist/state/progressGlossaryCaveat.js +168 -0
  381. package/dist/state/progressPublicationOrder.js +19 -0
  382. package/dist/state/progressWritePolicy.js +33 -0
  383. package/dist/state/projectRoot.js +62 -0
  384. package/dist/state/projectionPolicy.js +190 -0
  385. package/dist/state/retrievalAuthority.js +156 -0
  386. package/dist/state/safeProjectFile.js +155 -0
  387. package/dist/state/startupAnalysis/benchmark.js +70 -9
  388. package/dist/state/startupAnalysis/contract.js +44 -10
  389. package/dist/state/startupAnalysis/helpers.js +1 -2
  390. package/dist/state/startupAnalysis/index.js +0 -1
  391. package/dist/state/startupAnalysis/metrics.js +0 -1
  392. package/dist/state/startupAnalysis/records.js +0 -1
  393. package/dist/state/startupAnalysis/report.js +0 -1
  394. package/dist/state/startupAnalysis/threshold.js +13 -1
  395. package/dist/state/startupAnalysis.js +0 -1
  396. package/dist/state/startupProjection.js +499 -0
  397. package/dist/state/stateMode.js +222 -0
  398. package/dist/state/stateStorageAuthority.js +47 -0
  399. package/dist/state/summaryEntityRead.js +25 -0
  400. package/dist/state/summaryMigrationProvenance.js +66 -0
  401. package/dist/state/summarySourceRowAuthority.js +36 -0
  402. package/dist/state/todoActivationSafety.js +58 -0
  403. package/dist/state/todoCreateBatch.js +69 -0
  404. package/dist/state/todoDocsEntities.js +1339 -0
  405. package/dist/state/todoDocsEntityValidation.js +158 -0
  406. package/dist/state/todoMarkdownProjection.js +63 -0
  407. package/dist/state/todoReconciliationActivation.js +182 -0
  408. package/dist/state/todoReconciliationInspection.js +184 -0
  409. package/dist/state/todoReconciliationRepair.js +320 -0
  410. package/dist/state/todoReconciliationTransaction.js +628 -0
  411. package/dist/state/todoSeverityHeadings.js +71 -0
  412. package/dist/state/todoTransitionBatch.js +65 -0
  413. package/dist/state/todoUpdateBatch.js +50 -0
  414. package/dist/state/write/assign.js +20 -0
  415. package/dist/state/write/candidateMutation.js +269 -0
  416. package/dist/state/write/errors.js +11 -0
  417. package/dist/state/write/experimentPublication.js +192 -0
  418. package/dist/state/write/explain.js +380 -0
  419. package/dist/state/write/fields.js +61 -0
  420. package/dist/state/write/glossaryPublication.js +263 -0
  421. package/dist/state/write/grammar.js +285 -0
  422. package/dist/state/write/helpers.js +29 -0
  423. package/dist/state/write/index.js +12 -0
  424. package/dist/state/write/input.js +391 -0
  425. package/dist/state/write/lock.js +837 -0
  426. package/dist/state/write/mutation.js +234 -0
  427. package/dist/state/write/operations.js +170 -0
  428. package/dist/state/write/planEvaluation.js +128 -0
  429. package/dist/state/write/planPublication.js +179 -0
  430. package/dist/state/write/runtimeOperations.js +146 -0
  431. package/dist/state/write/serialize.js +1 -0
  432. package/dist/state/write/transaction.js +57 -0
  433. package/dist/state/write/validate.js +7 -0
  434. package/dist/upgrade/appContentRefresh.js +77 -36
  435. package/dist/upgrade/appModel.js +0 -1
  436. package/dist/upgrade/atomicWriter.js +1 -0
  437. package/dist/upgrade/bundleEvidence.js +0 -1
  438. package/dist/upgrade/channels.js +6 -9
  439. package/dist/upgrade/compatibility.js +43 -17
  440. package/dist/upgrade/doctor.js +55 -32
  441. package/dist/upgrade/doctorClassifier.js +11 -1
  442. package/dist/upgrade/installedHooksRetirement.js +46 -40
  443. package/dist/upgrade/legacyAgentCleanup.js +133 -34
  444. package/dist/upgrade/lifecycleUpgrade.js +126 -0
  445. package/dist/upgrade/migrateArtifactsV2ToV3.js +325 -82
  446. package/dist/upgrade/migrationPublication.js +122 -0
  447. package/dist/upgrade/nextMajorDoctor.js +0 -22
  448. package/dist/upgrade/npxPlatformStatus.js +2 -2
  449. package/dist/upgrade/productV1Reset.js +515 -0
  450. package/dist/upgrade/productV1ResetAuthority.js +139 -0
  451. package/dist/upgrade/projectIntegration.js +126 -134
  452. package/dist/upgrade/projectIntegrationDecision.js +21 -13
  453. package/dist/upgrade/retiredResourceDiagnostics.js +117 -0
  454. package/dist/upgrade/runtimeMigration.js +210 -430
  455. package/dist/upgrade/upgradeCommands.js +14 -1
  456. package/dist/upgrade/upgradeLock.js +85 -0
  457. package/dist/upgrade/upgradeOrchestrator.js +257 -48
  458. package/dist/upgrade/v3CapabilitySurface.js +2 -3
  459. package/dist/upgrade/versionResolution.js +0 -1
  460. package/dist/validate/activationArtifactEvidence.js +866 -0
  461. package/dist/validate/activationArtifactEvidenceTypes.js +12 -0
  462. package/dist/validate/activationConjunction.js +816 -0
  463. package/dist/validate/activationEvidenceManifest.js +610 -0
  464. package/dist/validate/activationPackageSemantics.js +29 -0
  465. package/dist/validate/appHomeContract.js +1 -7
  466. package/dist/validate/bootstrapAuthority.js +44 -0
  467. package/dist/validate/capability.js +11 -3
  468. package/dist/validate/crossCapability.js +14 -9
  469. package/dist/validate/glossaryVariantGuard.js +96 -0
  470. package/dist/validate/retainedReferenceAuthority.js +879 -0
  471. package/dist/validate/selfAudit.js +39 -45
  472. package/dist/validate/vocabularyAuthority.js +8 -8
  473. package/package.json +39 -13
  474. package/bundle/references/adapters/cursor.md +0 -214
  475. package/bundle/references/adapters/opencode.md +0 -530
  476. package/bundle/references/adapters/package-manifest-interface-model.yaml +0 -337
  477. package/bundle/references/adapters/runtime-adapter-characterization.md +0 -79
  478. package/bundle/references/adapters/runtime-adapter-interface-model.yaml +0 -200
  479. package/bundle/references/adapters/runtime-adapter-registry.yaml +0 -554
  480. package/bundle/references/adapters/runtime-feature-parity.md +0 -189
  481. package/bundle/references/analysis/benchmark.md +0 -267
  482. package/bundle/references/analysis/startup-measurement-contract.yaml +0 -424
  483. package/bundle/references/cli/agent-ready-state-contract.yaml +0 -953
  484. package/bundle/references/cli/audience-namespace-cli-migration.yaml +0 -369
  485. package/bundle/references/cli/bundle-skill-vocabulary.yaml +0 -250
  486. package/bundle/references/cli/capability-tool-classification.yaml +0 -53
  487. package/bundle/references/cli/coexistence-probe.yaml +0 -13
  488. package/bundle/references/cli/parity-expected-actual-template.md +0 -30
  489. package/bundle/references/cli/routing-execution-vocabulary.yaml +0 -281
  490. package/bundle/references/cli/single-name-protocol.yaml +0 -42
  491. package/bundle/references/cli/upgrade-repair-wording.md +0 -45
  492. package/bundle/references/cli/v3-handoff-manifest.schema.yaml +0 -98
  493. package/bundle/references/meta/documentation-inventory.md +0 -49
  494. package/bundle/skills/agentera/.claude-plugin/plugin.json +0 -27
  495. package/bundle/skills/agentera/agents/audit.toml +0 -6
  496. package/bundle/skills/agentera/agents/build.toml +0 -6
  497. package/bundle/skills/agentera/agents/design.toml +0 -6
  498. package/bundle/skills/agentera/agents/discuss.toml +0 -6
  499. package/bundle/skills/agentera/agents/document.toml +0 -6
  500. package/bundle/skills/agentera/agents/optimize.toml +0 -6
  501. package/bundle/skills/agentera/agents/orchestrate.toml +0 -6
  502. package/bundle/skills/agentera/agents/plan.toml +0 -6
  503. package/bundle/skills/agentera/agents/profile.toml +0 -6
  504. package/bundle/skills/agentera/agents/research.toml +0 -6
  505. package/bundle/skills/agentera/agents/status.toml +0 -6
  506. package/bundle/skills/agentera/agents/vision.toml +0 -6
  507. package/bundle/skills/agentera/references/contract.md +0 -1048
  508. package/dist/analytics/extractCorpus/cli.js.map +0 -1
  509. package/dist/analytics/extractCorpus/copilotSessions.js.map +0 -1
  510. package/dist/analytics/extractCorpus/core.js.map +0 -1
  511. package/dist/analytics/extractCorpus/corpus.js.map +0 -1
  512. package/dist/analytics/extractCorpus/coverageAudit.js.map +0 -1
  513. package/dist/analytics/extractCorpus/cursorSessions.js.map +0 -1
  514. package/dist/analytics/extractCorpus/extractCorpusParity.js.map +0 -1
  515. package/dist/analytics/extractCorpus/filesystemSources.js.map +0 -1
  516. package/dist/analytics/extractCorpus/index.js.map +0 -1
  517. package/dist/analytics/extractCorpus/jsonlSessions.js.map +0 -1
  518. package/dist/analytics/extractCorpus/sqliteCaps.js.map +0 -1
  519. package/dist/analytics/extractCorpus/sqliteSessions.js.map +0 -1
  520. package/dist/analytics/extractCorpus.js.map +0 -1
  521. package/dist/analytics/usageStats.js.map +0 -1
  522. package/dist/bin/agentera.js.map +0 -1
  523. package/dist/capabilities/audit/instructions.js.map +0 -1
  524. package/dist/capabilities/build/instructions.js.map +0 -1
  525. package/dist/capabilities/design/instructions.js.map +0 -1
  526. package/dist/capabilities/discuss/instructions.js.map +0 -1
  527. package/dist/capabilities/document/instructions.js.map +0 -1
  528. package/dist/capabilities/index.js.map +0 -1
  529. package/dist/capabilities/optimize/instructions.js.map +0 -1
  530. package/dist/capabilities/orchestrate/instructions.js.map +0 -1
  531. package/dist/capabilities/plan/instructions.js.map +0 -1
  532. package/dist/capabilities/profile/instructions.js.map +0 -1
  533. package/dist/capabilities/research/instructions.js.map +0 -1
  534. package/dist/capabilities/status/instructions.js.map +0 -1
  535. package/dist/capabilities/vision/instructions.js.map +0 -1
  536. package/dist/cli/appContext.js.map +0 -1
  537. package/dist/cli/argvalidate.js.map +0 -1
  538. package/dist/cli/capabilityContext/benchmark.js.map +0 -1
  539. package/dist/cli/capabilityContext/bespoke.js.map +0 -1
  540. package/dist/cli/capabilityContext/build.js.map +0 -1
  541. package/dist/cli/capabilityContext/closeout.js.map +0 -1
  542. package/dist/cli/capabilityContext/contract.js.map +0 -1
  543. package/dist/cli/capabilityContext/evidence.js.map +0 -1
  544. package/dist/cli/capabilityContext/index.js.map +0 -1
  545. package/dist/cli/capabilityContext/orchestration.js.map +0 -1
  546. package/dist/cli/capabilityContext/planState.js.map +0 -1
  547. package/dist/cli/capabilityContext/progress.js.map +0 -1
  548. package/dist/cli/capabilityContext/shared.js.map +0 -1
  549. package/dist/cli/capabilityContext/slim.js.map +0 -1
  550. package/dist/cli/capabilityContext/startup.js.map +0 -1
  551. package/dist/cli/capabilityContext/types.js.map +0 -1
  552. package/dist/cli/capabilityContext.js.map +0 -1
  553. package/dist/cli/commands/appHome.js.map +0 -1
  554. package/dist/cli/commands/capability.js.map +0 -1
  555. package/dist/cli/commands/compact.js.map +0 -1
  556. package/dist/cli/commands/doctor.js.map +0 -1
  557. package/dist/cli/commands/lint.js.map +0 -1
  558. package/dist/cli/commands/prime/bundleStatus.js.map +0 -1
  559. package/dist/cli/commands/prime/collectOrientationState.js.map +0 -1
  560. package/dist/cli/commands/prime/orientationOutput.js.map +0 -1
  561. package/dist/cli/commands/prime/types.js.map +0 -1
  562. package/dist/cli/commands/prime/v1Migration.js +0 -39
  563. package/dist/cli/commands/prime/v1Migration.js.map +0 -1
  564. package/dist/cli/commands/prime.js.map +0 -1
  565. package/dist/cli/commands/query.js.map +0 -1
  566. package/dist/cli/commands/report.js.map +0 -1
  567. package/dist/cli/commands/schema.js.map +0 -1
  568. package/dist/cli/commands/state/decisions.js.map +0 -1
  569. package/dist/cli/commands/state/docs.js.map +0 -1
  570. package/dist/cli/commands/state/experiments.js.map +0 -1
  571. package/dist/cli/commands/state/health.js.map +0 -1
  572. package/dist/cli/commands/state/index.js.map +0 -1
  573. package/dist/cli/commands/state/objective.js.map +0 -1
  574. package/dist/cli/commands/state/plan.js.map +0 -1
  575. package/dist/cli/commands/state/progress.js.map +0 -1
  576. package/dist/cli/commands/state/shared.js.map +0 -1
  577. package/dist/cli/commands/state/todo.js.map +0 -1
  578. package/dist/cli/commands/upgrade.js.map +0 -1
  579. package/dist/cli/commands/validate.js.map +0 -1
  580. package/dist/cli/commands/verify.js.map +0 -1
  581. package/dist/cli/contracts/bundleStatus.js.map +0 -1
  582. package/dist/cli/contracts/orientationState.js.map +0 -1
  583. package/dist/cli/dispatch/argvParser.js.map +0 -1
  584. package/dist/cli/dispatch/check.js.map +0 -1
  585. package/dist/cli/dispatch/commands.js.map +0 -1
  586. package/dist/cli/dispatch/index.js.map +0 -1
  587. package/dist/cli/dispatch/lifecycle.js.map +0 -1
  588. package/dist/cli/dispatch/prime.js.map +0 -1
  589. package/dist/cli/dispatch/shared.js.map +0 -1
  590. package/dist/cli/dispatch/state.js.map +0 -1
  591. package/dist/cli/dispatch.js.map +0 -1
  592. package/dist/cli/errors.js.map +0 -1
  593. package/dist/cli/help.js.map +0 -1
  594. package/dist/cli/orientation/attention.js.map +0 -1
  595. package/dist/cli/orientation/corpusCoverage.js.map +0 -1
  596. package/dist/cli/orientation.js.map +0 -1
  597. package/dist/cli/prime-blob.js.map +0 -1
  598. package/dist/cli/startupCompletenessContract.js.map +0 -1
  599. package/dist/cli/stateQuery.js.map +0 -1
  600. package/dist/cli/structured.js.map +0 -1
  601. package/dist/cli/todoMarkdown.js.map +0 -1
  602. package/dist/cli/todoSeverity.js.map +0 -1
  603. package/dist/core/difflib.js.map +0 -1
  604. package/dist/core/envPaths.js.map +0 -1
  605. package/dist/core/jsonValue.js.map +0 -1
  606. package/dist/core/paths.js.map +0 -1
  607. package/dist/core/pyjson.js.map +0 -1
  608. package/dist/core/sourceRoot.js.map +0 -1
  609. package/dist/core/toml.js.map +0 -1
  610. package/dist/core/yaml.js.map +0 -1
  611. package/dist/eval/evalSkills.js.map +0 -1
  612. package/dist/eval/semanticEval.js.map +0 -1
  613. package/dist/eval/semanticFixtures.js.map +0 -1
  614. package/dist/hooks/common.js.map +0 -1
  615. package/dist/hooks/compaction/apply.js.map +0 -1
  616. package/dist/hooks/compaction/dryRun.js.map +0 -1
  617. package/dist/hooks/compaction/index.js.map +0 -1
  618. package/dist/hooks/compaction/parse.js.map +0 -1
  619. package/dist/hooks/compaction/retention.js.map +0 -1
  620. package/dist/hooks/compaction/status.js.map +0 -1
  621. package/dist/hooks/compaction/types.js.map +0 -1
  622. package/dist/hooks/cursorPreToolUse.js +0 -19
  623. package/dist/hooks/cursorPreToolUse.js.map +0 -1
  624. package/dist/hooks/cursorSessionStart.js +0 -79
  625. package/dist/hooks/cursorSessionStart.js.map +0 -1
  626. package/dist/hooks/sessionStart.js +0 -216
  627. package/dist/hooks/sessionStart.js.map +0 -1
  628. package/dist/hooks/sessionStop.js +0 -206
  629. package/dist/hooks/sessionStop.js.map +0 -1
  630. package/dist/hooks/validateArtifact/agentFacing.js.map +0 -1
  631. package/dist/hooks/validateArtifact/index.js.map +0 -1
  632. package/dist/hooks/validateArtifact/markdown.js.map +0 -1
  633. package/dist/hooks/validateArtifact/runtime.js +0 -86
  634. package/dist/hooks/validateArtifact/runtime.js.map +0 -1
  635. package/dist/hooks/validateArtifact/schema.js.map +0 -1
  636. package/dist/hooks/validateArtifact/traversal.js.map +0 -1
  637. package/dist/hooks/validateArtifact/violations.js.map +0 -1
  638. package/dist/migrate/v2HandoffManifest.js.map +0 -1
  639. package/dist/registries/artifactProtocolIds.js.map +0 -1
  640. package/dist/registries/artifactRegistry.js.map +0 -1
  641. package/dist/registries/capabilityContract.js.map +0 -1
  642. package/dist/registries/evaluatorHandoffContract.js.map +0 -1
  643. package/dist/registries/packageRegistry.js.map +0 -1
  644. package/dist/registries/runtimeAdapterRegistry.js +0 -316
  645. package/dist/registries/runtimeAdapterRegistry.js.map +0 -1
  646. package/dist/registries/triggerLoader.js.map +0 -1
  647. package/dist/release/releaseMetadata.js.map +0 -1
  648. package/dist/setup/codex/agents.js +0 -96
  649. package/dist/setup/codex/agents.js.map +0 -1
  650. package/dist/setup/codex/cli.js +0 -161
  651. package/dist/setup/codex/cli.js.map +0 -1
  652. package/dist/setup/codex/configToml.js +0 -639
  653. package/dist/setup/codex/configToml.js.map +0 -1
  654. package/dist/setup/codex/constants.js +0 -29
  655. package/dist/setup/codex/constants.js.map +0 -1
  656. package/dist/setup/codex/installRoot.js +0 -64
  657. package/dist/setup/codex/installRoot.js.map +0 -1
  658. package/dist/setup/codex/state.js +0 -270
  659. package/dist/setup/codex/state.js.map +0 -1
  660. package/dist/setup/codex.js +0 -12
  661. package/dist/setup/codex.js.map +0 -1
  662. package/dist/setup/copilot.js +0 -227
  663. package/dist/setup/copilot.js.map +0 -1
  664. package/dist/setup/cursor.js +0 -129
  665. package/dist/setup/cursor.js.map +0 -1
  666. package/dist/setup/cursorSurfaces.js +0 -67
  667. package/dist/setup/cursorSurfaces.js.map +0 -1
  668. package/dist/setup/doctor/core.js +0 -300
  669. package/dist/setup/doctor/core.js.map +0 -1
  670. package/dist/setup/doctor/diagnostics.js +0 -240
  671. package/dist/setup/doctor/diagnostics.js.map +0 -1
  672. package/dist/setup/doctor/opencode.js +0 -313
  673. package/dist/setup/doctor/opencode.js.map +0 -1
  674. package/dist/setup/doctor/report.js +0 -425
  675. package/dist/setup/doctor/report.js.map +0 -1
  676. package/dist/setup/doctor.js +0 -10
  677. package/dist/setup/doctor.js.map +0 -1
  678. package/dist/setup/opencode.js.map +0 -1
  679. package/dist/setup/smokeChecks.js.map +0 -1
  680. package/dist/state/installRoot.js.map +0 -1
  681. package/dist/state/startupAnalysis/benchmark.js.map +0 -1
  682. package/dist/state/startupAnalysis/contract.js.map +0 -1
  683. package/dist/state/startupAnalysis/helpers.js.map +0 -1
  684. package/dist/state/startupAnalysis/index.js.map +0 -1
  685. package/dist/state/startupAnalysis/metrics.js.map +0 -1
  686. package/dist/state/startupAnalysis/records.js.map +0 -1
  687. package/dist/state/startupAnalysis/report.js.map +0 -1
  688. package/dist/state/startupAnalysis/threshold.js.map +0 -1
  689. package/dist/state/startupAnalysis.js.map +0 -1
  690. package/dist/upgrade/appContentRefresh.js.map +0 -1
  691. package/dist/upgrade/appModel.js.map +0 -1
  692. package/dist/upgrade/bundleEvidence.js.map +0 -1
  693. package/dist/upgrade/channels.js.map +0 -1
  694. package/dist/upgrade/coexistenceProbe.js +0 -107
  695. package/dist/upgrade/coexistenceProbe.js.map +0 -1
  696. package/dist/upgrade/compatibility.js.map +0 -1
  697. package/dist/upgrade/doctor.js.map +0 -1
  698. package/dist/upgrade/doctorClassifier.js.map +0 -1
  699. package/dist/upgrade/installedHooksRetirement.js.map +0 -1
  700. package/dist/upgrade/legacyAgentCleanup.js.map +0 -1
  701. package/dist/upgrade/migrateArtifactsV1ToV2.js +0 -570
  702. package/dist/upgrade/migrateArtifactsV1ToV2.js.map +0 -1
  703. package/dist/upgrade/migrateArtifactsV2ToV3.js.map +0 -1
  704. package/dist/upgrade/nextMajorDoctor.js.map +0 -1
  705. package/dist/upgrade/npxPlatformStatus.js.map +0 -1
  706. package/dist/upgrade/projectIntegration.js.map +0 -1
  707. package/dist/upgrade/projectIntegrationDecision.js.map +0 -1
  708. package/dist/upgrade/runtimeMigration.js.map +0 -1
  709. package/dist/upgrade/upgradeCommands.js.map +0 -1
  710. package/dist/upgrade/upgradeOrchestrator.js.map +0 -1
  711. package/dist/upgrade/v3CapabilitySurface.js.map +0 -1
  712. package/dist/upgrade/versionResolution.js.map +0 -1
  713. package/dist/validate/appHomeContract.js.map +0 -1
  714. package/dist/validate/capability.js.map +0 -1
  715. package/dist/validate/crossCapability.js.map +0 -1
  716. package/dist/validate/lifecycleAdapters/legacyPythonParity.js +0 -93
  717. package/dist/validate/lifecycleAdapters/legacyPythonParity.js.map +0 -1
  718. package/dist/validate/lifecycleAdapters/nodeFormChecks.js +0 -488
  719. package/dist/validate/lifecycleAdapters/nodeFormChecks.js.map +0 -1
  720. package/dist/validate/lifecycleAdapters/shared.js +0 -198
  721. package/dist/validate/lifecycleAdapters/shared.js.map +0 -1
  722. package/dist/validate/lifecycleAdapters.js +0 -62
  723. package/dist/validate/lifecycleAdapters.js.map +0 -1
  724. package/dist/validate/selfAudit.js.map +0 -1
  725. package/dist/validate/vocabularyAuthority.js.map +0 -1
@@ -48,8 +48,9 @@ ENTRY_SCHEMA:
48
48
  type: string
49
49
  required: false
50
50
  description: >-
51
- Advisory relevance-precedence hint the LLM host reads alongside the
52
- entry description. Required for all TRIGGERS entries.
51
+ Advisory relevance-precedence hint a host reads alongside the entry
52
+ description only after deterministic routing returns semantic_required.
53
+ Required for all TRIGGERS entries.
53
54
  Valid values: high, medium, low.
54
55
  deprecated:
55
56
  type: boolean
@@ -79,7 +80,7 @@ DIRECTORY_REQUIREMENTS:
79
80
  TypeScript module that exports the capability's behavioral instructions
80
81
  as a default-exported string constant. The runtime loads it via the
81
82
  compiled .js path and surfaces the prose through
82
- `agentera prime --context <name> --format json`.
83
+ `npx -y agentera@next prime --context <name> --format json`.
83
84
  schemas_directory:
84
85
  path: schemas
85
86
  type: directory
@@ -136,32 +137,34 @@ FIELD_RULES:
136
137
  - medium
137
138
  - low
138
139
  description: >-
139
- Relevance-precedence hint the LLM host reads when ordering
140
- candidate capabilities for a request. See
140
+ Relevance-precedence hint a host reads when ordering capability intent
141
+ after deterministic abstention. See
141
142
  references/cli/routing-model.md for routing semantics.
142
143
 
143
144
  TRIGGER_ENRICHMENT:
144
145
  description: >-
145
- Optional trigger-entry intent-documentation fields. Every field is
146
- OPTIONAL: a triggers.yaml entry that omits all enriched fields remains
147
- valid. The LLM host consumes description and disambiguates_against at
148
- runtime; confidence_threshold, borderline_band, and patterns_regex are
149
- retained as shape-validated documentation so triggers.yaml files that
150
- carry them still validate.
146
+ Optional trigger-entry fields. Every field is OPTIONAL: a triggers.yaml
147
+ entry that omits all enriched fields remains valid. A host consumes
148
+ disambiguates_against as semantic-phase intent documentation only after
149
+ deterministic abstention. patterns,
150
+ confidence_threshold, borderline_band, and patterns_regex are legacy
151
+ compatibility fields: they remain shape-validated only and never enter the
152
+ active semantic trigger model.
151
153
  spec: references/cli/trigger-schema-enrichment.md
152
- contract_defaults:
153
- # Default values for optional enriched fields.
154
- confidence_threshold: 50
155
- borderline_band: 15
156
154
  fields:
155
+ patterns:
156
+ type: list_of_strings
157
+ required: false
158
+ description: >-
159
+ Legacy matcher strings retained only so existing trigger files load and
160
+ validate. They are never matched or returned by the active model.
157
161
  confidence_threshold:
158
162
  type: integer
159
163
  required: false
160
164
  min: 0
161
165
  max: 100
162
- default: 50
163
166
  description: >-
164
- Optional integer 0-100. Not consumed by the LLM host; retained so
167
+ Legacy integer 0-100. Not consumed by the LLM host; retained so
165
168
  triggers.yaml files carrying the field still validate. A non-integer
166
169
  or value outside 0..100 fails V7 validation with the valid range
167
170
  and the offending entry ID.
@@ -170,25 +173,21 @@ TRIGGER_ENRICHMENT:
170
173
  required: false
171
174
  min: 0
172
175
  max: 100
173
- default: 15
174
176
  description: >-
175
- Optional integer 0-100. Not consumed by the LLM host; retained so
177
+ Legacy integer 0-100. Not consumed by the LLM host; retained so
176
178
  triggers.yaml files carrying the field still validate. A non-integer
177
179
  or value outside 0..100 fails V7 validation.
178
180
  patterns_regex:
179
181
  type: list_of_strings
180
182
  required: false
181
- default: []
182
183
  each_must_be_valid_regex: true
183
184
  description: >-
184
- Optional list of regex strings. Not consumed by the LLM host;
185
- retained so triggers.yaml files carrying the field still validate.
186
- The loader compiles each entry during validation; a compile failure
187
- fails V7 validation naming the offending entry and pattern.
185
+ Legacy list of regex strings. Not consumed by the LLM host; retained
186
+ so triggers.yaml files carrying the field still validate. The loader
187
+ syntax-validates each entry but never returns a RegExp or matches it.
188
188
  disambiguates_against:
189
189
  type: list_of_mappings
190
190
  required: false
191
- default: []
192
191
  description: >-
193
192
  Declares which other capabilities this trigger's intent could be
194
193
  confused with, with a hint the LLM host consults when a request could
@@ -282,7 +281,7 @@ ROUTE_ALIASES:
282
281
  canonical_name_precedence: true
283
282
  cli_boundary: >-
284
283
  Slash routes and state commands are distinct: `/agentera plan` routes to
285
- the plan capability, while `agentera state plan` remains the
284
+ the plan capability, while `agentera state plan list` remains the
286
285
  state-oriented CLI command for reading plan state. Do not add capability or
287
286
  alias commands to the CLI.
288
287
  primary_aliases:
@@ -410,7 +409,7 @@ ARTIFACTS:
410
409
  Behavioral instructions the agent reads. TypeScript module that exports
411
410
  a default-exported string constant. The runtime loads it via the
412
411
  compiled .js path and serves the prose through
413
- `agentera prime --context <name> --format json`.
412
+ `npx -y agentera@next prime --context <name> --format json`.
414
413
  produces: false
415
414
  consumes: true
416
415
  4:
@@ -497,13 +496,14 @@ VALIDATION:
497
496
  description: >-
498
497
  Trigger entries MAY carry the optional intent-documentation fields
499
498
  defined in TRIGGER_ENRICHMENT. Enrichment is opt-in per entry;
500
- triggers omitting every enriched field remain valid.
501
- confidence_threshold, borderline_band, and patterns_regex are
502
- retained as shape-validated documentation; disambiguates_against
503
- is consumed by the LLM host at runtime. Validating an entry with
504
- enriched fields fails when the rules below are violated.
499
+ triggers omitting every enriched field remain valid. patterns,
500
+ confidence_threshold, borderline_band, and patterns_regex are legacy
501
+ compatibility fields only; disambiguates_against is consumed by the
502
+ LLM host at runtime. Validating an entry with enriched fields fails
503
+ when the rules below are violated.
505
504
  severity: error
506
505
  checks:
506
+ - "patterns, when present, is a list of strings"
507
507
  - "confidence_threshold, when present, is an integer in 0..100"
508
508
  - "borderline_band, when present, is an integer in 0..100"
509
509
  - "patterns_regex entries are strings that compile as regular expressions"
@@ -432,8 +432,8 @@ PHASES:
432
432
  2:
433
433
  id: PH2
434
434
  value: deliberate
435
- capabilities: [discuss]
436
- purpose: "Reason through decisions before committing to a direction"
435
+ capabilities: [discuss, research]
436
+ purpose: "Reason through decisions or external evidence before committing to a direction"
437
437
  valid_successors: [plan, build, envision]
438
438
  terminal: false
439
439
  self_transition: false
@@ -448,8 +448,8 @@ PHASES:
448
448
  4:
449
449
  id: PH4
450
450
  value: build
451
- capabilities: [build, optimize, document, design]
452
- purpose: "Implement, optimize, document, or design"
451
+ capabilities: [build, optimize, document, profile, design]
452
+ purpose: "Implement, optimize, document, profile, or design"
453
453
  valid_successors: [build, audit, plan]
454
454
  terminal: true
455
455
  self_transition: true
@@ -0,0 +1,81 @@
1
+ schema_version: agentera.route_phrase_registry.v1
2
+ status: active_authority
3
+ purpose: >-
4
+ Own the small, explicit inventory of deterministic leading phrases. Trigger
5
+ schemas remain semantic intent documentation and are not a phrase source.
6
+ normalization: references/cli/hybrid-route-contract.yaml#phrase_matching
7
+ rules:
8
+ stable_ids: Phrase IDs are permanent and never reassigned.
9
+ active_matching: Only entries with status active are eligible for matching.
10
+ global_collisions: >-
11
+ Normalized phrases must be unique across active and deprecated entries; a
12
+ collision is a validation error, never a precedence decision.
13
+ direct_route_collisions: >-
14
+ A phrase cannot duplicate or begin with a canonical capability name or a
15
+ primary alias under the direct-route grammar.
16
+ deprecation: >-
17
+ Remove no entry. Mark it deprecated, retain its ID and phrase, and set
18
+ replaced_by to an active registry ID. Deprecated phrases abstain.
19
+ prohibited_sources: [legacy_patterns, regexes, thresholds, bands, trigger_descriptions]
20
+
21
+ phrases:
22
+ - id: RP_STATUS_PROJECT_BRIEFING
23
+ capability: status
24
+ phrase: show project briefing
25
+ status: active
26
+ evidence: [DEV-PHRASE-STATUS]
27
+ - id: RP_VISION_PRODUCT_DIRECTION
28
+ capability: vision
29
+ phrase: define product direction
30
+ status: active
31
+ evidence: [DEV-PHRASE-VISION]
32
+ - id: RP_DISCUSS_DECISION
33
+ capability: discuss
34
+ phrase: help me decide
35
+ status: active
36
+ evidence: [DEV-PHRASE-DISCUSS]
37
+ - id: RP_RESEARCH_EXTERNAL_PATTERNS
38
+ capability: research
39
+ phrase: study external patterns
40
+ status: active
41
+ evidence: [DEV-PHRASE-RESEARCH]
42
+ - id: RP_PLAN_IMPLEMENTATION
43
+ capability: plan
44
+ phrase: make an implementation plan
45
+ status: active
46
+ evidence: [DEV-PHRASE-PLAN]
47
+ - id: RP_BUILD_APPROVED_PLAN
48
+ capability: build
49
+ phrase: implement the approved plan
50
+ status: active
51
+ evidence: [DEV-PHRASE-BUILD]
52
+ - id: RP_OPTIMIZE_BOTTLENECK
53
+ capability: optimize
54
+ phrase: improve a measured bottleneck
55
+ status: active
56
+ evidence: [DEV-PHRASE-OPTIMIZE]
57
+ - id: RP_AUDIT_CODEBASE_HEALTH
58
+ capability: audit
59
+ phrase: check codebase health
60
+ status: active
61
+ evidence: [DEV-PHRASE-AUDIT]
62
+ - id: RP_DOCUMENT_PROJECT
63
+ capability: document
64
+ phrase: refresh project documentation
65
+ status: active
66
+ evidence: [DEV-PHRASE-DOCUMENT]
67
+ - id: RP_PROFILE_DECISION
68
+ capability: profile
69
+ phrase: save a decision profile
70
+ status: active
71
+ evidence: [DEV-PHRASE-PROFILE]
72
+ - id: RP_DESIGN_INTERFACE
73
+ capability: design
74
+ phrase: shape the interface
75
+ status: active
76
+ evidence: [DEV-PHRASE-DESIGN]
77
+ - id: RP_ORCHESTRATE_DELIVERY
78
+ capability: orchestrate
79
+ phrase: execute the approved plan
80
+ status: active
81
+ evidence: [DEV-PHRASE-ORCHESTRATE]
@@ -27,6 +27,7 @@ GROUP_PREFIXES:
27
27
  BUDGET:
28
28
  1:
29
29
  id: CB1
30
+ scope: full_file
30
31
  token_budget: 5000
31
32
  description: >-
32
33
  Maximum tokens for CHANGELOG.md content. Exceeding triggers compaction.
@@ -4,26 +4,8 @@
4
4
  # one entry. Decisions are referenced by build, optimize, and profile
5
5
  # for context on why choices were made.
6
6
  #
7
- # Structural pattern: UPPER_CASE groups with numbered entries and stable IDs,
8
- # following capability_schema_contract.yaml and protocol.yaml conventions.
9
- #
10
- # ── Field-by-field mapping: v1 DECISIONS.md → v2 decisions.yaml ──
11
- #
12
- # v1 Field v2 Field v2 ID
13
- # ─────────────────────────────────────────────────────────────────────
14
- # ## Decision N · date DECISION.number DC1
15
- # (date from heading) DECISION.date DC2
16
- # **Question**: <text> DECISION.question DC3
17
- # **Context**: <text> DECISION.context DC4
18
- # **Alternatives**: (list) ALTERNATIVE entry DA1
19
- # (named alt, e.g. "[Foo], chosen") ALTERNATIVE.name DA2
20
- # (chosen/rejected status) ALTERNATIVE.status DA3
21
- # **Choice**: <text> DECISION.choice DC5
22
- # **Reasoning**: <text> DECISION.reasoning DC6
23
- # **Confidence**: <label> DECISION.confidence DC7
24
- # **Feeds into**: <text> DECISION.feeds_into DC8
25
- # ## Archived Decisions (implicit section) —
26
- # - Decision N (date): [Choice] — ... ARCHIVE.summary DR1
7
+ # The active authority uses writer-owned decision, revision, and satisfaction
8
+ # entity files.
27
9
  #
28
10
  # Protocol references:
29
11
  # confidence: DL1-DL3 (protocol.yaml DECISION_LABELS)
@@ -38,10 +20,22 @@ meta:
38
20
  and orchestrate for context on why choices were made.
39
21
  artifact_type: agent_facing
40
22
  path: ".agentera/decisions.yaml"
23
+ authority: legacy_migration_input_only
41
24
  producer: discuss
42
25
  consumers: [document, status, audit, optimize, orchestrate, plan, profile, build, discuss, vision]
43
26
  format: yaml
44
27
 
28
+ ENTITY_AUTHORITY:
29
+ identity_fields: [id, artifact]
30
+ artifact: decisions
31
+ boundaries: [decision, decision_revision, decision_satisfaction]
32
+ retrieval:
33
+ list: npx -y agentera@next state decisions list --format json
34
+ get: npx -y agentera@next state decisions get --id ID --format json
35
+ mutation: npx -y agentera@next state decisions explain --format json
36
+ direct_file_edits: forbidden
37
+ legacy_schema_below: migration_input_only
38
+
45
39
  GROUP_PREFIXES:
46
40
  BUDGET: DB
47
41
  COMPACTION: DX
@@ -69,10 +63,10 @@ BUDGET:
69
63
  COMPACTION:
70
64
  1:
71
65
  id: DX1
72
- rule: uniform_10_40_50
66
+ rule: lossless_projection
73
67
  description: >-
74
- Growing artifacts follow a uniform 10/40/50 rule: 10 full-detail
75
- entries, 40 one-line archive entries, drop beyond 50 total.
68
+ The 10/40/50 values are current projection defaults, not deletion limits.
69
+ Numbered archive records remain complete and unlimited.
76
70
  2:
77
71
  id: DX2
78
72
  full_detail:
@@ -93,21 +87,26 @@ COMPACTION:
93
87
  the archive section. Compact summaries preserve decision number, date,
94
88
  and chosen alternative; structured compact fields preserve outcome and
95
89
  explicit feeds_into references when present so CLI downstream references
96
- remain non-inferential.
90
+ remain non-inferential. Entries beyond the summary default are represented
91
+ by omission metadata while their numbered archive records remain available.
97
92
  4:
98
93
  id: DX4
99
- dropped:
100
- threshold: 50
101
- action: "Removed entirely"
94
+ omission:
95
+ fields: [omitted, omitted_count, omission_reason, retrieval]
96
+ reason: projection_capacity_or_byte_budget
102
97
  description: >-
103
- Decisions older than 50 are dropped entirely.
98
+ Omitted projection detail is never silently deleted or truncated. The
99
+ numbered archive is the complete historical source and retrieval points
100
+ use the direct state get contract.
104
101
  5:
105
102
  id: DX5
106
103
  trigger: "When discuss writes a new decision"
107
104
  description: >-
108
105
  Compaction runs when the producing skill writes a new entry.
109
- If >10 full-detail entries exist, collapse the oldest to one-line.
110
- If >40 one-line entries exist, drop the oldest.
106
+ If >10 full-detail entries exist and their numbered archives verify,
107
+ collapse the oldest to one-line. If >40 summary entries exist, omit the
108
+ oldest from this bounded projection with metadata; never delete its
109
+ numbered archive record. Unresolved review entries do not block storage.
111
110
  6:
112
111
  id: DX6
113
112
  archive_section:
@@ -27,6 +27,7 @@ GROUP_PREFIXES:
27
27
  BUDGET:
28
28
  1:
29
29
  id: DB1
30
+ scope: full_file
30
31
  token_budget: 2000
31
32
  description: >-
32
33
  Maximum tokens for DESIGN.md content. Exceeding triggers compaction.
@@ -2,42 +2,14 @@
2
2
  #
3
3
  # Documentation contract maintained by document. Tracks project doc
4
4
  # conventions, artifact path overrides, document index with status, coverage
5
- # metrics, and timestamped audit findings.
5
+ # metrics, and timestamped audit findings. After durable entity cutover only
6
+ # index entries become independent entities; mappings, conventions, coverage,
7
+ # audit/editorial configuration, and other singleton sections retain
8
+ # intentional whole-document authority in docs.yaml.
6
9
  #
7
10
  # Structural pattern: UPPER_CASE groups with numbered entries and stable IDs,
8
11
  # following capability_schema_contract.yaml and protocol.yaml conventions.
9
12
  #
10
- # ── Field-by-field mapping: v1 DOCS.md → v2 docs.yaml ──
11
- #
12
- # v1 Field v2 Field v2 ID
13
- # ─────────────────────────────────────────────────────────────────────
14
- # <!-- Last audit: date (label) --> HEADER.last_audit DH1
15
- # ## Conventions / doc_root CONVENTIONS.doc_root DC1
16
- # ## Conventions / style CONVENTIONS.style DC2
17
- # ## Conventions / auto_gen CONVENTIONS.auto_gen DC3
18
- # ## Conventions / version_files CONVENTIONS.version_files DC4
19
- # ## Conventions / semver_policy CONVENTIONS.semver_policy DC5
20
- # ## Artifact Mapping / table row MAPPING.entry DM1
21
- # (Artifact column) MAPPING.artifact DM2
22
- # (Path column) MAPPING.path DM3
23
- # (Producers column) MAPPING.producers DM4
24
- # ## Index / table row INDEX.entry DI1
25
- # (Document column) INDEX.document DI2
26
- # (Path column) INDEX.path DI3
27
- # (Last Updated column) INDEX.last_updated DI4
28
- # (Status column) INDEX.status DI5
29
- # ## Coverage / Documented COVERAGE.documented DV1
30
- # ## Coverage / Undocumented COVERAGE.undocumented DV2
31
- # ## Coverage / Stale COVERAGE.stale DV3
32
- # ## Coverage / Tests COVERAGE.tests DV4
33
- # ## Audit Log / ### date (label) AUDIT_LOG.entry DA1
34
- # (audit date from heading) AUDIT_LOG.date DA2
35
- # (audit label from heading) AUDIT_LOG.label DA3
36
- # - [finding_type] description FINDING.type DF1
37
- # (severity from context) FINDING.severity DF2
38
- # (description text) FINDING.description DF3
39
- # (resolution: fixed/deferred) FINDING.resolution DF4
40
- #
41
13
  # Protocol references:
42
14
  # visual tokens: VT1 (protocol.yaml VISUAL_TOKENS, status: current)
43
15
  # severity: SF1-SF3 (protocol.yaml SEVERITY_FINDING)
@@ -70,10 +42,10 @@ BUDGET:
70
42
  1:
71
43
  id: DB1
72
44
  scope: full_file
73
- max_words: 2000
45
+ max_words: null
74
46
  description: >-
75
- Maximum words for the full file. If a write would exceed this
76
- budget, compact older audit log entries.
47
+ No full-file word budget. Historical audit_log entries are immutable;
48
+ keep the active inventory and coverage sections concise.
77
49
 
78
50
  HEADER:
79
51
  1:
@@ -393,11 +365,3 @@ VALIDATION:
393
365
  Index status values should be from the allowed set.
394
366
  checks:
395
367
  - "Each status is one of: current, stale, missing, intent, generated"
396
- 4:
397
- id: DVL4
398
- rule: word_budget
399
- severity: advisory
400
- description: >-
401
- Advisory check. Full file should be <=2000 words.
402
- checks:
403
- - "Total file word count <= 2000"
@@ -2,36 +2,11 @@
2
2
  #
3
3
  # Experiment log maintained by optimize. Each experiment records hypothesis,
4
4
  # method, metric results, kept/discarded status, and conclusions. Lives
5
- # alongside OBJECTIVE.md in .agentera/optimera/<name>/.
5
+ # alongside OBJECTIVE.md in .agentera/optimize/<name>/.
6
6
  #
7
7
  # Structural pattern: UPPER_CASE groups with numbered entries and stable IDs,
8
8
  # following capability_schema_contract.yaml and protocol.yaml conventions.
9
9
  #
10
- # ── Field-by-field mapping: v1 EXPERIMENTS.md → v2 experiments.yaml ──
11
- #
12
- # v1 Field v2 Field v2 ID
13
- # ─────────────────────────────────────────────────────────────────────
14
- # ## Experiment N · date · label EXPERIMENT.number EX1
15
- # (date from heading) EXPERIMENT.date EX2
16
- # (label from heading) EXPERIMENT.label EX3
17
- # **Hypothesis**: <text> EXPERIMENT.hypothesis EX4
18
- # **Method**: <text> EXPERIMENT.method EX5
19
- # **Change**: <text> EXPERIMENT.change EX6
20
- # **Metric**: <text> + tables EXPERIMENT.metric EX7
21
- # **Regression**: <text> EXPERIMENT.regression EX8
22
- # **Status**: kept/discarded/baseline EXPERIMENT.status EX9
23
- # **Conclusion**: <text> EXPERIMENT.conclusion EX10
24
- # **Next**: <text> EXPERIMENT.next EX11
25
- # **Escalation**: <text> EXPERIMENT.escalation EX12
26
- # **Target progress**: <text> EXPERIMENT.target_progress EX13
27
- # **Brainstorm iteration log** EXPERIMENT.iteration_log EX14
28
- # ## Closure · date CLOSURE.date EC1
29
- # **Final value**: <value> CLOSURE.final_value EC2
30
- # **Target**: <target> CLOSURE.target EC3
31
- # **Reason**: <text> CLOSURE.reason EC4
32
- # ## Archived Experiments (implicit section) —
33
- # - EXP-N: result summary ARCHIVE.summary EA1
34
- #
35
10
  # Protocol references:
36
11
  # status visual tokens: VT1-VT3 (protocol.yaml VISUAL_TOKENS)
37
12
  # trend tokens: VT12-VT13 (protocol.yaml VISUAL_TOKENS)
@@ -41,9 +16,9 @@ meta:
41
16
  version: "1.0.0"
42
17
  description: >-
43
18
  Experiment log for optimize objectives. Produced and consumed by optimize.
44
- Lives in .agentera/optimera/<name>/ alongside the objective.
19
+ Lives in .agentera/optimize/<name>/ alongside the objective.
45
20
  artifact_type: agent_facing
46
- path: ".agentera/optimera/<name>/experiments.yaml"
21
+ path: ".agentera/optimize/<name>/experiments.yaml"
47
22
  producer: optimize
48
23
  consumers: [status, optimize]
49
24
  format: yaml
@@ -54,6 +29,8 @@ GROUP_PREFIXES:
54
29
  EXPERIMENT: EX
55
30
  CLOSURE: EC
56
31
  ARCHIVE: EA
32
+ PUBLICATION: EP
33
+ RETRIEVAL: ER
57
34
  VALIDATION: EV
58
35
 
59
36
  BUDGET:
@@ -133,6 +110,7 @@ EXPERIMENT:
133
110
  validation:
134
111
  - "Must be a non-negative integer"
135
112
  - "Must be unique across active and archived entries"
113
+ - "Identity is <objective-id>/experiment:<number>"
136
114
  2:
137
115
  id: EX2
138
116
  field: date
@@ -267,6 +245,94 @@ EXPERIMENT:
267
245
  Harness refinement log for baseline experiments. Each entry
268
246
  records a run number, issue encountered, and fix applied.
269
247
 
248
+ PUBLICATION:
249
+ 1:
250
+ id: EP1
251
+ operation: publish
252
+ command: >-
253
+ npx -y agentera@next state experiments publish --objective ID [--id ID]
254
+ --input EXPERIMENT.yaml --format json
255
+ description: >-
256
+ The typed state writer is the mutation authority. It validates the
257
+ objective, identity, caller entry, and canonical entity state before
258
+ atomically publishing one experiment entity.
259
+ 2:
260
+ id: EP2
261
+ identity: bare_ten_letter_id
262
+ classification: experiments
263
+ cli_owned_fields: [id, artifact, objective]
264
+ retry: byte_equivalent_identity_is_idempotent
265
+ collision: same_identity_with_different_content_fails
266
+ description: >-
267
+ Retry never duplicates an experiment. Invalid identity, collisions, and
268
+ pre-publication failures preserve active and archive projection bytes.
269
+ 3:
270
+ id: EP3
271
+ projection: bounded_entity_list
272
+ durable_archive: not_applicable
273
+ description: >-
274
+ Publication validates and durably publishes one immutable canonical
275
+ experiment entity. Bounded list output never compacts entity records.
276
+ 4:
277
+ id: EP4
278
+ classification: legacy_migration_source_provenance
279
+ archive_path: '.agentera/<objective-root>/<objective>/archive/experiments/<experiment-number>.yaml'
280
+ canonical_objective_root: optimize
281
+ readable_legacy_objective_roots: [optimera]
282
+ envelope_schema: agentera.experimentArchive.v1
283
+ required_fields:
284
+ - schemaVersion
285
+ - stable_id
286
+ - objective_id
287
+ - experiment_number
288
+ - record
289
+ - record_sha256
290
+ - provenance
291
+ provenance_fields: [authority, objective_id, experiment_id, storage_scope, publication_order]
292
+ retry: byte_equivalent_envelope_is_idempotent
293
+ collision: same_identity_with_different_bytes_fails
294
+ description: >-
295
+ Archive identity binds stable objective and experiment identity to the
296
+ immutable full record. Legacy projection entries remain readable without
297
+ fabricating archive history that predates this publication contract.
298
+ 5:
299
+ id: EP5
300
+ directory_durability: fsync_each_new_child_parent_before_advancing
301
+ exact_full_replay: reconstruct_missing_archive_before_success
302
+ summary_only_replay: never_reconstruct_without_full_detail
303
+ description: >-
304
+ First publication durably records every new archive directory entry.
305
+ Replay may recover only the exact full record still present in the
306
+ projection; compacted summaries and dropped rows are not fabricated.
307
+
308
+ RETRIEVAL:
309
+ 1:
310
+ id: ER1
311
+ list: >-
312
+ npx -y agentera@next state experiments list --objective ID [--limit N]
313
+ [--cursor TOKEN] --format json
314
+ get: >-
315
+ npx -y agentera@next state experiments get --id ID --format json
316
+ description: >-
317
+ List returns newest-first objective-scoped canonical entities. Get returns
318
+ one exact entity by bare ID.
319
+ 2:
320
+ id: ER2
321
+ cursor: opaque_snapshot_cursor
322
+ cursor_binding: [collection, objective, order, snapshot]
323
+ detail_availability: [full, summary, unavailable]
324
+ description: >-
325
+ Cursor tokens are copied, never parsed or constructed. List and get retain
326
+ compatibility and provenance when legacy detail is summary-only or absent.
327
+ 3:
328
+ id: ER3
329
+ maximum_limit: 100
330
+ max_serialized_utf8_bytes: 32768
331
+ omission_fields: [omitted, omitted_count, omission_reason, retrieval]
332
+ description: >-
333
+ Structured pages omit whole entries rather than truncating scalar values;
334
+ every addressable omission has continuation or exact-get recovery.
335
+
270
336
  CLOSURE:
271
337
  1:
272
338
  id: EC1
@@ -317,22 +383,22 @@ ARCHIVE:
317
383
  VALIDATION:
318
384
  1:
319
385
  id: EV1
320
- rule: unique_experiment_numbers
386
+ rule: unique_entity_ids
321
387
  severity: error
322
388
  description: >-
323
- Experiment numbers must be unique and sequential.
389
+ Experiment IDs must be unique project-wide and match the canonical pattern.
324
390
  checks:
325
- - "All experiment numbers are unique across active and archived entries"
326
- - "Experiment numbers are sequential starting from 0"
391
+ - "All experiment IDs are unique across canonical entities"
392
+ - "Every ID is ten lowercase letters"
327
393
  2:
328
394
  id: EV2
329
395
  rule: required_fields
330
396
  severity: error
331
397
  description: >-
332
- Each full-detail experiment entry must have: number, date, label,
398
+ Each full-detail experiment entity record must have: date, label,
333
399
  hypothesis, method, change, metric, status, and conclusion.
334
400
  checks:
335
- - "number is present and is a non-negative integer"
401
+ - "the envelope has id and artifact fields"
336
402
  - "date is present and matches YYYY-MM-DD HH:MM"
337
403
  - "label is present and non-empty"
338
404
  - "hypothesis is present and non-empty"
@@ -371,3 +437,43 @@ VALIDATION:
371
437
  and serve as the reference measurement.
372
438
  checks:
373
439
  - "Experiment 0 has status 'baseline'"
440
+ 6:
441
+ id: EV6
442
+ rule: identity_compatibility
443
+ severity: error
444
+ description: >-
445
+ Experiment identity is objective-scoped. Reads retain legacy entries with
446
+ missing or duplicate numbers as unaddressable data with explicit caveats;
447
+ a new publication must reject ambiguous objective or experiment identity
448
+ before changing objective, experiment, or archive bytes.
449
+ checks:
450
+ - "Objective identity is stable across title and directory rename"
451
+ - "Experiment 0 and later non-negative numbers are addressable"
452
+ - "Duplicate or missing experiment numbers remain visible but unaddressable"
453
+ - "Publication rejects ambiguity before effects"
454
+ 7:
455
+ id: EV7
456
+ rule: validated_publication
457
+ severity: error
458
+ description: >-
459
+ New experiments are published only through the typed writer after pure
460
+ identity and schema preflight, with atomic replacement and idempotent retry.
461
+ checks:
462
+ - "Caller input omits the CLI-owned number field"
463
+ - "Objective and experiment identity validate before staging"
464
+ - "Final experiments.yaml bytes validate before atomic replacement"
465
+ - "A byte-equivalent retry returns the existing experiment without duplication"
466
+ 8:
467
+ id: EV8
468
+ rule: durable_archive_before_projection
469
+ severity: error
470
+ description: >-
471
+ Newly published full detail must be validated, immutably archived, and
472
+ directory-synced before the compacted projection is replaced.
473
+ checks:
474
+ - "Archive envelope identity and provenance validate before publication"
475
+ - "Every newly created archive directory entry is parent-synced in order"
476
+ - "Archive publication succeeds before projection replacement"
477
+ - "Exact full replay reconstructs a missing archive before success"
478
+ - "Conflicting immutable archive bytes preserve archive and projection"
479
+ - "Retry after archive or projection interruption does not duplicate detail"