agentera 3.0.0-dev.4 → 3.0.0-dev.46

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 (585) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +108 -22
  3. package/bundle/.agentera-npx-bundle.json +1 -1
  4. package/bundle/CHANGELOG.md +1351 -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 +236 -0
  9. package/bundle/extract-corpus-parity.json +21 -0
  10. package/bundle/fixtures/routing/hybrid-corpus.yaml +154 -0
  11. package/bundle/references/adapters/package-publication.json +437 -0
  12. package/bundle/references/adapters/package-registry.yaml +434 -189
  13. package/bundle/references/adapters/package-surface-characterization.md +66 -35
  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 +518 -0
  19. package/bundle/references/analysis/verification-policy.yaml +191 -0
  20. package/bundle/references/artifacts/artifact-registry-interface-model.yaml +20 -10
  21. package/bundle/references/artifacts/glossary-entry-contract.yaml +1254 -0
  22. package/bundle/references/artifacts/state-storage-authority.yaml +2982 -0
  23. package/bundle/references/artifacts/verbosity-budget-authority.yaml +42 -0
  24. package/bundle/references/cli/app-lifecycle-vocabulary.yaml +7 -8
  25. package/bundle/references/cli/capability-instruction-contract.yaml +97 -59
  26. package/bundle/references/cli/hybrid-route-contract.yaml +438 -0
  27. package/bundle/references/cli/routing-model.md +155 -0
  28. package/bundle/references/cli/trigger-schema-enrichment.md +147 -0
  29. package/bundle/references/cli/update-channels.yaml +35 -2
  30. package/bundle/references/cli/vocabulary-index.yaml +23 -20
  31. package/bundle/references/cli/vocabulary.md +337 -366
  32. package/bundle/references/meta/retained-reference-authority.yaml +151 -0
  33. package/bundle/registry.json +14 -14
  34. package/bundle/skills/agentera/SKILL.md +218 -408
  35. package/bundle/skills/agentera/capabilities/audit/schemas/artifacts.yaml +84 -0
  36. package/bundle/skills/agentera/capabilities/{inspektera → audit}/schemas/exit.yaml +2 -2
  37. package/bundle/skills/agentera/capabilities/audit/schemas/triggers.yaml +25 -0
  38. package/bundle/skills/agentera/capabilities/{inspektera → audit}/schemas/validation.yaml +37 -18
  39. package/bundle/skills/agentera/capabilities/build/schemas/artifacts.yaml +102 -0
  40. package/bundle/skills/agentera/capabilities/{realisera → build}/schemas/exit.yaml +6 -5
  41. package/bundle/skills/agentera/capabilities/build/schemas/triggers.yaml +27 -0
  42. package/bundle/skills/agentera/capabilities/build/schemas/validation.yaml +176 -0
  43. package/bundle/skills/agentera/capabilities/{visualisera → design}/schemas/artifacts.yaml +12 -12
  44. package/bundle/skills/agentera/capabilities/{visualisera → design}/schemas/exit.yaml +5 -5
  45. package/bundle/skills/agentera/capabilities/design/schemas/triggers.yaml +16 -0
  46. package/bundle/skills/agentera/capabilities/{visualisera → design}/schemas/validation.yaml +7 -7
  47. package/bundle/skills/agentera/capabilities/discuss/schemas/artifacts.yaml +51 -0
  48. package/bundle/skills/agentera/capabilities/{resonera → discuss}/schemas/exit.yaml +2 -2
  49. package/bundle/skills/agentera/capabilities/discuss/schemas/triggers.yaml +20 -0
  50. package/bundle/skills/agentera/capabilities/discuss/schemas/validation.yaml +144 -0
  51. package/bundle/skills/agentera/capabilities/document/schemas/artifacts.yaml +80 -0
  52. package/bundle/skills/agentera/capabilities/document/schemas/triggers.yaml +16 -0
  53. package/bundle/skills/agentera/capabilities/{dokumentera → document}/schemas/validation.yaml +18 -18
  54. package/bundle/skills/agentera/capabilities/{optimera → optimize}/schemas/artifacts.yaml +18 -18
  55. package/bundle/skills/agentera/capabilities/{optimera → optimize}/schemas/exit.yaml +2 -2
  56. package/bundle/skills/agentera/capabilities/optimize/schemas/triggers.yaml +16 -0
  57. package/bundle/skills/agentera/capabilities/{optimera → optimize}/schemas/validation.yaml +9 -9
  58. package/bundle/skills/agentera/capabilities/orchestrate/schemas/artifacts.yaml +76 -0
  59. package/bundle/skills/agentera/capabilities/{orkestrera → orchestrate}/schemas/exit.yaml +9 -7
  60. package/bundle/skills/agentera/capabilities/orchestrate/schemas/triggers.yaml +23 -0
  61. package/bundle/skills/agentera/capabilities/orchestrate/schemas/validation.yaml +121 -0
  62. package/bundle/skills/agentera/capabilities/plan/schemas/artifacts.yaml +66 -0
  63. package/bundle/skills/agentera/capabilities/{planera → plan}/schemas/exit.yaml +2 -2
  64. package/bundle/skills/agentera/capabilities/plan/schemas/triggers.yaml +23 -0
  65. package/bundle/skills/agentera/capabilities/plan/schemas/validation.yaml +121 -0
  66. package/bundle/skills/agentera/capabilities/profile/schemas/artifacts.yaml +23 -0
  67. package/bundle/skills/agentera/capabilities/{profilera → profile}/schemas/exit.yaml +6 -5
  68. package/bundle/skills/agentera/capabilities/profile/schemas/triggers.yaml +20 -0
  69. package/bundle/skills/agentera/capabilities/profile/schemas/validation.yaml +115 -0
  70. package/bundle/skills/agentera/capabilities/research/schemas/artifacts.yaml +24 -0
  71. package/bundle/skills/agentera/capabilities/research/schemas/triggers.yaml +16 -0
  72. package/bundle/skills/agentera/capabilities/{inspirera → research}/schemas/validation.yaml +2 -2
  73. package/bundle/skills/agentera/capabilities/status/schemas/artifacts.yaml +73 -0
  74. package/bundle/skills/agentera/capabilities/status/schemas/triggers.yaml +22 -0
  75. package/bundle/skills/agentera/capabilities/{hej → status}/schemas/validation.yaml +5 -5
  76. package/bundle/skills/agentera/capabilities/{visionera → vision}/schemas/artifacts.yaml +16 -16
  77. package/bundle/skills/agentera/capabilities/{visionera → vision}/schemas/exit.yaml +7 -6
  78. package/bundle/skills/agentera/capabilities/vision/schemas/triggers.yaml +23 -0
  79. package/bundle/skills/agentera/capabilities/{visionera → vision}/schemas/validation.yaml +18 -20
  80. package/bundle/skills/agentera/capability_schema_contract.yaml +200 -37
  81. package/bundle/skills/agentera/protocol.yaml +31 -31
  82. package/bundle/skills/agentera/route-phrases.yaml +81 -0
  83. package/bundle/skills/agentera/schemas/artifacts/changelog.yaml +5 -4
  84. package/bundle/skills/agentera/schemas/artifacts/decisions.yaml +40 -22
  85. package/bundle/skills/agentera/schemas/artifacts/design.yaml +5 -4
  86. package/bundle/skills/agentera/schemas/artifacts/docs.yaml +15 -19
  87. package/bundle/skills/agentera/schemas/artifacts/experiments.yaml +145 -14
  88. package/bundle/skills/agentera/schemas/artifacts/glossary.yaml +82 -0
  89. package/bundle/skills/agentera/schemas/artifacts/health.yaml +58 -21
  90. package/bundle/skills/agentera/schemas/artifacts/objective.yaml +22 -8
  91. package/bundle/skills/agentera/schemas/artifacts/plan.yaml +421 -33
  92. package/bundle/skills/agentera/schemas/artifacts/progress.yaml +143 -53
  93. package/bundle/skills/agentera/schemas/artifacts/todo.yaml +345 -31
  94. package/bundle/skills/agentera/schemas/artifacts/vision.yaml +3 -3
  95. package/dist/analytics/extractCorpus/cli.js +190 -0
  96. package/dist/analytics/extractCorpus/copilotSessions.js +275 -0
  97. package/dist/analytics/extractCorpus/core.js +392 -0
  98. package/dist/analytics/extractCorpus/corpus.js +167 -0
  99. package/dist/analytics/extractCorpus/coverageAudit.js +260 -0
  100. package/dist/analytics/extractCorpus/cursorSessions.js +425 -0
  101. package/dist/analytics/extractCorpus/evidenceTiers.js +603 -0
  102. package/dist/analytics/extractCorpus/extractCorpusParity.js +105 -0
  103. package/dist/analytics/extractCorpus/filesystemSources.js +118 -0
  104. package/dist/analytics/extractCorpus/index.js +14 -0
  105. package/dist/analytics/extractCorpus/jsonlSessions.js +204 -0
  106. package/dist/analytics/extractCorpus/sqliteCaps.js +43 -0
  107. package/dist/analytics/extractCorpus/sqliteSessions.js +367 -0
  108. package/dist/analytics/extractCorpus/tierReader.js +108 -0
  109. package/dist/analytics/extractCorpus.js +2 -1791
  110. package/dist/analytics/glossaryAdviceResolution.js +166 -0
  111. package/dist/analytics/glossaryInputAcquisition.js +319 -0
  112. package/dist/analytics/personalGlossaryAdmission.js +133 -0
  113. package/dist/analytics/personalGlossaryProfile.js +219 -0
  114. package/dist/analytics/profileSignals.js +211 -0
  115. package/dist/analytics/usageStats.js +169 -42
  116. package/dist/audit/terminologyDrift.js +281 -0
  117. package/dist/bin/agentera.js +3 -2
  118. package/dist/capabilities/audit/instructions.js +16 -0
  119. package/dist/capabilities/build/instructions.js +56 -0
  120. package/dist/capabilities/design/instructions.js +4 -0
  121. package/dist/capabilities/discuss/instructions.js +29 -0
  122. package/dist/capabilities/document/instructions.js +11 -0
  123. package/dist/capabilities/index.js +40 -0
  124. package/dist/capabilities/optimize/instructions.js +14 -0
  125. package/dist/capabilities/orchestrate/instructions.js +40 -0
  126. package/dist/capabilities/plan/instructions.js +32 -0
  127. package/dist/capabilities/profile/instructions.js +70 -0
  128. package/dist/capabilities/research/instructions.js +5 -0
  129. package/dist/capabilities/status/instructions.js +11 -0
  130. package/dist/capabilities/status/startupInstructions.js +34 -0
  131. package/dist/capabilities/vision/instructions.js +4 -0
  132. package/dist/cli/appContext.js +30 -24
  133. package/dist/cli/argvalidate.js +0 -1
  134. package/dist/cli/capabilityContext/benchmark.js +565 -0
  135. package/dist/cli/capabilityContext/bespoke.js +44 -0
  136. package/dist/cli/capabilityContext/build.js +242 -0
  137. package/dist/cli/capabilityContext/closeout.js +233 -0
  138. package/dist/cli/capabilityContext/contract.js +179 -0
  139. package/dist/cli/capabilityContext/evidence.js +463 -0
  140. package/dist/cli/capabilityContext/index.js +3 -0
  141. package/dist/cli/capabilityContext/orchestration.js +131 -0
  142. package/dist/cli/capabilityContext/planState.js +260 -0
  143. package/dist/cli/capabilityContext/progress.js +142 -0
  144. package/dist/cli/capabilityContext/projectVerification.js +409 -0
  145. package/dist/cli/capabilityContext/shared.js +83 -0
  146. package/dist/cli/capabilityContext/slim.js +152 -0
  147. package/dist/cli/capabilityContext/startup.js +150 -0
  148. package/dist/cli/capabilityContext/startupAggregation.js +68 -0
  149. package/dist/cli/capabilityContext/types.js +56 -0
  150. package/dist/cli/capabilityContext.js +1 -2421
  151. package/dist/cli/commands/appHome.js +22 -0
  152. package/dist/cli/commands/capability.js +5 -12
  153. package/dist/cli/commands/compact.js +41 -13
  154. package/dist/cli/commands/doctor.js +127 -97
  155. package/dist/cli/commands/durability.js +81 -0
  156. package/dist/cli/commands/glossaryAdvice.js +138 -0
  157. package/dist/cli/commands/lint.js +26 -44
  158. package/dist/cli/commands/personalGlossary.js +176 -0
  159. package/dist/cli/commands/prime/briefOrientation.js +747 -0
  160. package/dist/cli/commands/prime/buildExecutionRequest.js +165 -0
  161. package/dist/cli/commands/prime/bundleStatus.js +190 -0
  162. package/dist/cli/commands/prime/collectEntityOrientation.js +311 -0
  163. package/dist/cli/commands/prime/collectOrientationState.js +212 -0
  164. package/dist/cli/commands/prime/orientationOutput.js +397 -0
  165. package/dist/cli/commands/prime/types.js +1 -0
  166. package/dist/cli/commands/prime/v1Migration.js +38 -0
  167. package/dist/cli/commands/prime.js +80 -558
  168. package/dist/cli/commands/profileGrounding.js +55 -0
  169. package/dist/cli/commands/query.js +78 -53
  170. package/dist/cli/commands/report.js +96 -25
  171. package/dist/cli/commands/route.js +142 -0
  172. package/dist/cli/commands/schema.js +266 -143
  173. package/dist/cli/commands/state/decisions.js +387 -0
  174. package/dist/cli/commands/state/docs.js +70 -0
  175. package/dist/cli/commands/state/experimentRecords.js +151 -0
  176. package/dist/cli/commands/state/experiments.js +14 -0
  177. package/dist/cli/commands/state/get.js +129 -0
  178. package/dist/cli/commands/state/health.js +14 -0
  179. package/dist/cli/commands/state/index.js +16 -0
  180. package/dist/cli/commands/state/list.js +194 -0
  181. package/dist/cli/commands/state/objective.js +25 -0
  182. package/dist/cli/commands/state/plan.js +14 -0
  183. package/dist/cli/commands/state/planTasks.js +154 -0
  184. package/dist/cli/commands/state/plans.js +154 -0
  185. package/dist/cli/commands/state/progress.js +13 -0
  186. package/dist/cli/commands/state/shared.js +14 -0
  187. package/dist/cli/commands/state/todo.js +42 -0
  188. package/dist/cli/commands/state/write.js +434 -0
  189. package/dist/cli/commands/upgrade.js +146 -5
  190. package/dist/cli/commands/upgradeVerify.js +118 -0
  191. package/dist/cli/commands/validate.js +272 -213
  192. package/dist/cli/commands/verify.js +24 -9
  193. package/dist/cli/contracts/bundleStatus.js +1 -0
  194. package/dist/cli/contracts/orientationState.js +1 -0
  195. package/dist/cli/dispatch/argvParser.js +32 -0
  196. package/dist/cli/dispatch/check.js +372 -0
  197. package/dist/cli/dispatch/commands.js +27 -0
  198. package/dist/cli/dispatch/index.js +207 -0
  199. package/dist/cli/dispatch/lifecycle.js +652 -0
  200. package/dist/cli/dispatch/prime.js +139 -0
  201. package/dist/cli/dispatch/projections.js +17 -0
  202. package/dist/cli/dispatch/shared.js +63 -0
  203. package/dist/cli/dispatch/state.js +140 -0
  204. package/dist/cli/dispatch.js +1 -996
  205. package/dist/cli/errors.js +52 -0
  206. package/dist/cli/help.js +390 -43
  207. package/dist/cli/migrationRequired.js +87 -0
  208. package/dist/cli/orientation/attention.js +59 -0
  209. package/dist/cli/orientation/corpusCoverage.js +102 -0
  210. package/dist/cli/orientation.js +444 -173
  211. package/dist/cli/planArtifacts.js +350 -0
  212. package/dist/cli/planEvidence.js +157 -0
  213. package/dist/cli/planLifecycleState.js +36 -0
  214. package/dist/cli/planTaskIndex.js +11 -0
  215. package/dist/cli/preCutoverCommand.js +32 -0
  216. package/dist/cli/prime-blob.js +71 -3
  217. package/dist/cli/profileAcquisition.js +167 -0
  218. package/dist/cli/startupCompletenessContract.js +59 -0
  219. package/dist/cli/stateQuery.js +63 -14
  220. package/dist/cli/structured.js +0 -1
  221. package/dist/cli/todoMarkdown.js +46 -0
  222. package/dist/cli/todoReadinessSelection.js +192 -0
  223. package/dist/cli/todoSeverity.js +18 -0
  224. package/dist/core/atomicWriter.js +20 -0
  225. package/dist/core/developmentChannel.js +1 -0
  226. package/dist/core/developmentInvocation.js +374 -0
  227. package/dist/core/difflib.js +0 -1
  228. package/dist/core/envPaths.js +20 -0
  229. package/dist/core/jsonValue.js +5 -0
  230. package/dist/core/paths.js +0 -1
  231. package/dist/core/pyjson.js +67 -3
  232. package/dist/core/shell.js +4 -0
  233. package/dist/core/skillIdentity.js +23 -0
  234. package/dist/core/sourceRoot.js +9 -12
  235. package/dist/core/text.js +10 -0
  236. package/dist/core/toml.js +0 -1
  237. package/dist/core/yaml.js +8 -1
  238. package/dist/eval/evalSkills.js +30 -26
  239. package/dist/eval/hybridRouteEvaluation.js +155 -0
  240. package/dist/eval/semanticEval.js +43 -20
  241. package/dist/eval/semanticFixtures.js +16 -5
  242. package/dist/hooks/common.js +11 -81
  243. package/dist/hooks/compaction/apply.js +446 -0
  244. package/dist/hooks/compaction/dryRun.js +184 -0
  245. package/dist/hooks/compaction/index.js +22 -0
  246. package/dist/hooks/compaction/parse.js +325 -0
  247. package/dist/hooks/compaction/retention.js +202 -0
  248. package/dist/hooks/compaction/status.js +360 -0
  249. package/dist/hooks/compaction/types.js +5 -0
  250. package/dist/hooks/validateArtifact/agentFacing.js +9 -0
  251. package/dist/hooks/validateArtifact/index.js +92 -0
  252. package/dist/hooks/validateArtifact/markdown.js +145 -0
  253. package/dist/hooks/validateArtifact/schema.js +546 -0
  254. package/dist/hooks/validateArtifact/traversal.js +107 -0
  255. package/dist/hooks/validateArtifact/violations.js +107 -0
  256. package/dist/migrate/v2HandoffManifest.js +452 -0
  257. package/dist/registries/activationContract.js +2 -0
  258. package/dist/registries/activationTuples.js +106 -0
  259. package/dist/registries/artifactProtocolIds.js +78 -0
  260. package/dist/registries/artifactRegistry.js +224 -63
  261. package/dist/registries/artifactSchemaProjection.js +45 -0
  262. package/dist/registries/capabilityContract.js +141 -13
  263. package/dist/registries/evaluatorHandoffContract.js +170 -0
  264. package/dist/registries/evidenceTierContract.js +371 -0
  265. package/dist/registries/glossaryAdviceContract.js +79 -0
  266. package/dist/registries/glossaryCaveatContract.js +67 -0
  267. package/dist/registries/glossaryConsumerContractValidation.js +787 -0
  268. package/dist/registries/glossaryEntryContract.js +757 -0
  269. package/dist/registries/glossaryTermIdentity.js +17 -0
  270. package/dist/registries/glossaryTermOccurrence.js +20 -0
  271. package/dist/registries/hybridRoute.js +274 -0
  272. package/dist/registries/hybridRouteReceipt.js +221 -0
  273. package/dist/registries/packagePublication.js +229 -0
  274. package/dist/registries/packageRegistry.js +187 -211
  275. package/dist/registries/todoReadinessContract.js +448 -0
  276. package/dist/registries/triggerLoader.js +174 -0
  277. package/dist/registries/verbosityBudgetContract.js +205 -0
  278. package/dist/release/releaseMetadata.js +385 -0
  279. package/dist/runtime/lifecycleAdapterContract.js +457 -0
  280. package/dist/runtime/lifecycleAdapters.js +777 -0
  281. package/dist/runtime/lifecycleAuthority.js +453 -0
  282. package/dist/runtime/lifecycleOperationContract.js +123 -0
  283. package/dist/runtime/lifecycleOperations.js +634 -0
  284. package/dist/runtime/lifecycleOwnershipJournal.js +622 -0
  285. package/dist/runtime/lifecyclePublication.js +415 -0
  286. package/dist/runtime/lifecycleSnapshot.js +438 -0
  287. package/dist/runtime/nativeResourceCleanup.js +502 -0
  288. package/dist/setup/opencode.js +20 -0
  289. package/dist/setup/opencodeConstants.js +1 -0
  290. package/dist/setup/sharedSkill.js +45 -0
  291. package/dist/setup/smokeChecks.js +21 -82
  292. package/dist/state/archiveDiscovery.js +580 -0
  293. package/dist/state/archivePublication.js +225 -0
  294. package/dist/state/archiveRecovery.js +237 -0
  295. package/dist/state/archiveReplay.js +53 -0
  296. package/dist/state/canonicalMigrationRecord.js +36 -0
  297. package/dist/state/changelog.js +221 -0
  298. package/dist/state/decisionEntities.js +367 -0
  299. package/dist/state/decisionLegacyValidation.js +215 -0
  300. package/dist/state/decisionMigrationProvenance.js +199 -0
  301. package/dist/state/decisionOverlay.js +254 -0
  302. package/dist/state/decisionRevision.js +256 -0
  303. package/dist/state/decisionRevisionMigration.js +89 -0
  304. package/dist/state/directRetrieval.js +323 -0
  305. package/dist/state/durability.js +324 -0
  306. package/dist/state/entityCutover.js +459 -0
  307. package/dist/state/entityCutoverGit.js +127 -0
  308. package/dist/state/entityGlossaryAuthority.js +13 -0
  309. package/dist/state/entityListProjection.js +187 -0
  310. package/dist/state/entityListRuntimeRegistry.js +85 -0
  311. package/dist/state/entityMigrationCausality.js +97 -0
  312. package/dist/state/entityMigrationIdentity.js +5 -0
  313. package/dist/state/entityMigrationPreview.js +846 -0
  314. package/dist/state/entityMigrationTodo.js +133 -0
  315. package/dist/state/entityPublicationContext.js +806 -0
  316. package/dist/state/entityRetrievalHelp.js +506 -0
  317. package/dist/state/entityStorage.js +896 -0
  318. package/dist/state/exactReplacementRecovery.js +18 -0
  319. package/dist/state/experimentArchive.js +63 -0
  320. package/dist/state/experimentIdentity.js +202 -0
  321. package/dist/state/healthEntities.js +262 -0
  322. package/dist/state/healthEntityValidation.js +18 -0
  323. package/dist/state/healthRepair.js +69 -0
  324. package/dist/state/installRoot.js +64 -25
  325. package/dist/state/legacyEntityCutoverEvidence.js +65 -0
  326. package/dist/state/legacyIdentity.js +47 -0
  327. package/dist/state/legacySummaryRecord.js +6 -0
  328. package/dist/state/listAccounting.js +54 -0
  329. package/dist/state/listClassification.js +17 -0
  330. package/dist/state/listCursor.js +42 -0
  331. package/dist/state/listRetrieval.js +781 -0
  332. package/dist/state/migrationSourceBinding.js +30 -0
  333. package/dist/state/objectiveExperimentEntities.js +322 -0
  334. package/dist/state/planEntities.js +530 -0
  335. package/dist/state/planIdentity.js +47 -0
  336. package/dist/state/planRetrieval.js +313 -0
  337. package/dist/state/planTaskRetrieval.js +294 -0
  338. package/dist/state/progressEntities.js +512 -0
  339. package/dist/state/progressGlossaryCaveat.js +168 -0
  340. package/dist/state/progressPublicationOrder.js +19 -0
  341. package/dist/state/projectRoot.js +62 -0
  342. package/dist/state/projectionPolicy.js +190 -0
  343. package/dist/state/retrievalAuthority.js +156 -0
  344. package/dist/state/safeProjectFile.js +155 -0
  345. package/dist/state/startupAnalysis/benchmark.js +432 -0
  346. package/dist/state/startupAnalysis/contract.js +160 -0
  347. package/dist/state/startupAnalysis/helpers.js +286 -0
  348. package/dist/state/startupAnalysis/index.js +6 -0
  349. package/dist/state/startupAnalysis/metrics.js +340 -0
  350. package/dist/state/startupAnalysis/records.js +198 -0
  351. package/dist/state/startupAnalysis/report.js +111 -0
  352. package/dist/state/startupAnalysis/threshold.js +512 -0
  353. package/dist/state/startupAnalysis.js +2 -1953
  354. package/dist/state/startupProjection.js +499 -0
  355. package/dist/state/stateMode.js +85 -0
  356. package/dist/state/stateStorageAuthority.js +47 -0
  357. package/dist/state/summaryEntityRead.js +25 -0
  358. package/dist/state/summaryMigrationProvenance.js +66 -0
  359. package/dist/state/summarySourceRowAuthority.js +36 -0
  360. package/dist/state/todoDocsEntities.js +1064 -0
  361. package/dist/state/todoDocsEntityValidation.js +158 -0
  362. package/dist/state/todoMarkdownProjection.js +51 -0
  363. package/dist/state/todoReconciliationActivation.js +132 -0
  364. package/dist/state/todoReconciliationInspection.js +173 -0
  365. package/dist/state/todoReconciliationRepair.js +170 -0
  366. package/dist/state/todoReconciliationTransaction.js +582 -0
  367. package/dist/state/write/assign.js +20 -0
  368. package/dist/state/write/candidateMutation.js +269 -0
  369. package/dist/state/write/errors.js +11 -0
  370. package/dist/state/write/experimentPublication.js +192 -0
  371. package/dist/state/write/explain.js +332 -0
  372. package/dist/state/write/fields.js +61 -0
  373. package/dist/state/write/glossaryPublication.js +263 -0
  374. package/dist/state/write/grammar.js +280 -0
  375. package/dist/state/write/helpers.js +29 -0
  376. package/dist/state/write/index.js +12 -0
  377. package/dist/state/write/input.js +367 -0
  378. package/dist/state/write/lock.js +837 -0
  379. package/dist/state/write/mutation.js +234 -0
  380. package/dist/state/write/operations.js +169 -0
  381. package/dist/state/write/planEvaluation.js +128 -0
  382. package/dist/state/write/planPublication.js +179 -0
  383. package/dist/state/write/runtimeOperations.js +142 -0
  384. package/dist/state/write/serialize.js +1 -0
  385. package/dist/state/write/transaction.js +52 -0
  386. package/dist/state/write/validate.js +7 -0
  387. package/dist/upgrade/appContentRefresh.js +383 -0
  388. package/dist/upgrade/appModel.js +8 -7
  389. package/dist/upgrade/atomicWriter.js +1 -0
  390. package/dist/upgrade/bundleEvidence.js +33 -0
  391. package/dist/upgrade/channels.js +12 -8
  392. package/dist/upgrade/compatibility.js +56 -21
  393. package/dist/upgrade/doctor.js +197 -192
  394. package/dist/upgrade/doctorClassifier.js +187 -0
  395. package/dist/upgrade/installedHooksRetirement.js +196 -0
  396. package/dist/upgrade/legacyAgentCleanup.js +282 -0
  397. package/dist/upgrade/lifecycleUpgrade.js +113 -0
  398. package/dist/upgrade/migrateArtifactsV2ToV3.js +367 -149
  399. package/dist/upgrade/migrationPublication.js +122 -0
  400. package/dist/upgrade/nextMajorDoctor.js +155 -0
  401. package/dist/upgrade/npxPlatformStatus.js +22 -0
  402. package/dist/upgrade/projectIntegration.js +145 -187
  403. package/dist/upgrade/projectIntegrationDecision.js +50 -0
  404. package/dist/upgrade/retiredResourceDiagnostics.js +117 -0
  405. package/dist/upgrade/runtimeMigration.js +278 -352
  406. package/dist/upgrade/upgradeCommands.js +14 -1
  407. package/dist/upgrade/upgradeLock.js +85 -0
  408. package/dist/upgrade/upgradeOrchestrator.js +263 -59
  409. package/dist/upgrade/v3CapabilitySurface.js +14 -0
  410. package/dist/upgrade/versionResolution.js +12 -5
  411. package/dist/validate/activationArtifactEvidence.js +844 -0
  412. package/dist/validate/activationConjunction.js +816 -0
  413. package/dist/validate/activationEvidenceManifest.js +515 -0
  414. package/dist/validate/activationPackageSemantics.js +29 -0
  415. package/dist/validate/appHomeContract.js +5 -11
  416. package/dist/validate/bootstrapAuthority.js +44 -0
  417. package/dist/validate/capability.js +144 -15
  418. package/dist/validate/crossCapability.js +15 -10
  419. package/dist/validate/retainedReferenceAuthority.js +879 -0
  420. package/dist/validate/selfAudit.js +73 -37
  421. package/dist/validate/v1LegacyCruft.js +131 -0
  422. package/dist/validate/vocabularyAuthority.js +303 -0
  423. package/package.json +53 -27
  424. package/bundle/references/adapters/cursor.md +0 -213
  425. package/bundle/references/adapters/opencode.md +0 -530
  426. package/bundle/references/adapters/package-manifest-interface-model.yaml +0 -337
  427. package/bundle/references/adapters/runtime-adapter-characterization.md +0 -79
  428. package/bundle/references/adapters/runtime-adapter-interface-model.yaml +0 -200
  429. package/bundle/references/adapters/runtime-adapter-registry.yaml +0 -548
  430. package/bundle/references/adapters/runtime-feature-parity.md +0 -189
  431. package/bundle/references/analysis/benchmark.md +0 -267
  432. package/bundle/references/analysis/startup-measurement-contract.yaml +0 -424
  433. package/bundle/references/cli/agent-ready-state-contract.yaml +0 -953
  434. package/bundle/references/cli/audience-namespace-cli-migration.yaml +0 -355
  435. package/bundle/references/cli/bundle-skill-vocabulary.yaml +0 -278
  436. package/bundle/references/cli/capability-tool-classification.yaml +0 -53
  437. package/bundle/references/cli/routing-execution-vocabulary.yaml +0 -281
  438. package/bundle/references/meta/documentation-inventory.md +0 -43
  439. package/bundle/references/v1-section-mapping.md +0 -47
  440. package/bundle/skills/agentera/.claude-plugin/plugin.json +0 -27
  441. package/bundle/skills/agentera/agents/dokumentera.toml +0 -6
  442. package/bundle/skills/agentera/agents/hej.toml +0 -6
  443. package/bundle/skills/agentera/agents/inspektera.toml +0 -6
  444. package/bundle/skills/agentera/agents/inspirera.toml +0 -6
  445. package/bundle/skills/agentera/agents/optimera.toml +0 -6
  446. package/bundle/skills/agentera/agents/orkestrera.toml +0 -6
  447. package/bundle/skills/agentera/agents/planera.toml +0 -6
  448. package/bundle/skills/agentera/agents/profilera.toml +0 -6
  449. package/bundle/skills/agentera/agents/realisera.toml +0 -6
  450. package/bundle/skills/agentera/agents/resonera.toml +0 -6
  451. package/bundle/skills/agentera/agents/visionera.toml +0 -6
  452. package/bundle/skills/agentera/agents/visualisera.toml +0 -6
  453. package/bundle/skills/agentera/capabilities/dokumentera/instructions.md +0 -428
  454. package/bundle/skills/agentera/capabilities/dokumentera/schemas/artifacts.yaml +0 -73
  455. package/bundle/skills/agentera/capabilities/dokumentera/schemas/triggers.yaml +0 -35
  456. package/bundle/skills/agentera/capabilities/hej/instructions.md +0 -331
  457. package/bundle/skills/agentera/capabilities/hej/schemas/artifacts.yaml +0 -69
  458. package/bundle/skills/agentera/capabilities/hej/schemas/triggers.yaml +0 -58
  459. package/bundle/skills/agentera/capabilities/inspektera/instructions.md +0 -514
  460. package/bundle/skills/agentera/capabilities/inspektera/schemas/artifacts.yaml +0 -76
  461. package/bundle/skills/agentera/capabilities/inspektera/schemas/triggers.yaml +0 -38
  462. package/bundle/skills/agentera/capabilities/inspirera/instructions.md +0 -280
  463. package/bundle/skills/agentera/capabilities/inspirera/schemas/artifacts.yaml +0 -24
  464. package/bundle/skills/agentera/capabilities/inspirera/schemas/triggers.yaml +0 -34
  465. package/bundle/skills/agentera/capabilities/optimera/instructions.md +0 -437
  466. package/bundle/skills/agentera/capabilities/optimera/schemas/triggers.yaml +0 -39
  467. package/bundle/skills/agentera/capabilities/orkestrera/instructions.md +0 -433
  468. package/bundle/skills/agentera/capabilities/orkestrera/schemas/artifacts.yaml +0 -64
  469. package/bundle/skills/agentera/capabilities/orkestrera/schemas/triggers.yaml +0 -42
  470. package/bundle/skills/agentera/capabilities/orkestrera/schemas/validation.yaml +0 -107
  471. package/bundle/skills/agentera/capabilities/planera/instructions.md +0 -368
  472. package/bundle/skills/agentera/capabilities/planera/schemas/artifacts.yaml +0 -62
  473. package/bundle/skills/agentera/capabilities/planera/schemas/triggers.yaml +0 -34
  474. package/bundle/skills/agentera/capabilities/planera/schemas/validation.yaml +0 -61
  475. package/bundle/skills/agentera/capabilities/profilera/instructions.md +0 -419
  476. package/bundle/skills/agentera/capabilities/profilera/schemas/artifacts.yaml +0 -18
  477. package/bundle/skills/agentera/capabilities/profilera/schemas/triggers.yaml +0 -45
  478. package/bundle/skills/agentera/capabilities/profilera/schemas/validation.yaml +0 -57
  479. package/bundle/skills/agentera/capabilities/realisera/instructions.md +0 -403
  480. package/bundle/skills/agentera/capabilities/realisera/schemas/artifacts.yaml +0 -80
  481. package/bundle/skills/agentera/capabilities/realisera/schemas/triggers.yaml +0 -39
  482. package/bundle/skills/agentera/capabilities/realisera/schemas/validation.yaml +0 -110
  483. package/bundle/skills/agentera/capabilities/resonera/instructions.md +0 -329
  484. package/bundle/skills/agentera/capabilities/resonera/schemas/artifacts.yaml +0 -47
  485. package/bundle/skills/agentera/capabilities/resonera/schemas/triggers.yaml +0 -46
  486. package/bundle/skills/agentera/capabilities/resonera/schemas/validation.yaml +0 -77
  487. package/bundle/skills/agentera/capabilities/visionera/instructions.md +0 -309
  488. package/bundle/skills/agentera/capabilities/visionera/schemas/triggers.yaml +0 -41
  489. package/bundle/skills/agentera/capabilities/visualisera/instructions.md +0 -400
  490. package/bundle/skills/agentera/capabilities/visualisera/schemas/triggers.yaml +0 -33
  491. package/bundle/skills/agentera/references/contract.md +0 -1039
  492. package/bundle/skills/hej/.claude-plugin/plugin.json +0 -6
  493. package/bundle/skills/hej/SKILL.md +0 -69
  494. package/bundle/skills/hej/agents/hej.toml +0 -11
  495. package/bundle/skills/hej/agents/openai.yaml +0 -8
  496. package/dist/analytics/extractCorpus.js.map +0 -1
  497. package/dist/analytics/usageStats.js.map +0 -1
  498. package/dist/bin/agentera.js.map +0 -1
  499. package/dist/cli/appContext.js.map +0 -1
  500. package/dist/cli/argvalidate.js.map +0 -1
  501. package/dist/cli/capabilityContext.js.map +0 -1
  502. package/dist/cli/commands/backfill.js +0 -84
  503. package/dist/cli/commands/backfill.js.map +0 -1
  504. package/dist/cli/commands/capability.js.map +0 -1
  505. package/dist/cli/commands/compact.js.map +0 -1
  506. package/dist/cli/commands/doctor.js.map +0 -1
  507. package/dist/cli/commands/lint.js.map +0 -1
  508. package/dist/cli/commands/prime.js.map +0 -1
  509. package/dist/cli/commands/query.js.map +0 -1
  510. package/dist/cli/commands/report.js.map +0 -1
  511. package/dist/cli/commands/schema.js.map +0 -1
  512. package/dist/cli/commands/state.js +0 -1012
  513. package/dist/cli/commands/state.js.map +0 -1
  514. package/dist/cli/commands/upgrade.js.map +0 -1
  515. package/dist/cli/commands/validate.js.map +0 -1
  516. package/dist/cli/commands/verify.js.map +0 -1
  517. package/dist/cli/dispatch.js.map +0 -1
  518. package/dist/cli/help.js.map +0 -1
  519. package/dist/cli/orientation.js.map +0 -1
  520. package/dist/cli/prime-blob.js.map +0 -1
  521. package/dist/cli/stateQuery.js.map +0 -1
  522. package/dist/cli/structured.js.map +0 -1
  523. package/dist/core/difflib.js.map +0 -1
  524. package/dist/core/git.js +0 -43
  525. package/dist/core/git.js.map +0 -1
  526. package/dist/core/paths.js.map +0 -1
  527. package/dist/core/pyjson.js.map +0 -1
  528. package/dist/core/sourceRoot.js.map +0 -1
  529. package/dist/core/toml.js.map +0 -1
  530. package/dist/core/yaml.js.map +0 -1
  531. package/dist/eval/evalSkills.js.map +0 -1
  532. package/dist/eval/semanticEval.js.map +0 -1
  533. package/dist/eval/semanticFixtures.js.map +0 -1
  534. package/dist/hooks/common.js.map +0 -1
  535. package/dist/hooks/compaction.js +0 -935
  536. package/dist/hooks/compaction.js.map +0 -1
  537. package/dist/hooks/cursorPreToolUse.js +0 -19
  538. package/dist/hooks/cursorPreToolUse.js.map +0 -1
  539. package/dist/hooks/cursorSessionStart.js +0 -71
  540. package/dist/hooks/cursorSessionStart.js.map +0 -1
  541. package/dist/hooks/sessionStart.js +0 -209
  542. package/dist/hooks/sessionStart.js.map +0 -1
  543. package/dist/hooks/sessionStop.js +0 -212
  544. package/dist/hooks/sessionStop.js.map +0 -1
  545. package/dist/hooks/validateArtifact.js +0 -933
  546. package/dist/hooks/validateArtifact.js.map +0 -1
  547. package/dist/registries/artifactRegistry.js.map +0 -1
  548. package/dist/registries/capabilityContract.js.map +0 -1
  549. package/dist/registries/packageRegistry.js.map +0 -1
  550. package/dist/registries/runtimeAdapterRegistry.js +0 -315
  551. package/dist/registries/runtimeAdapterRegistry.js.map +0 -1
  552. package/dist/setup/codex.js +0 -1056
  553. package/dist/setup/codex.js.map +0 -1
  554. package/dist/setup/copilot.js +0 -227
  555. package/dist/setup/copilot.js.map +0 -1
  556. package/dist/setup/cursor.js +0 -127
  557. package/dist/setup/cursor.js.map +0 -1
  558. package/dist/setup/doctor.js +0 -1297
  559. package/dist/setup/doctor.js.map +0 -1
  560. package/dist/setup/smokeChecks.js.map +0 -1
  561. package/dist/state/installRoot.js.map +0 -1
  562. package/dist/state/progressCommit.js +0 -289
  563. package/dist/state/progressCommit.js.map +0 -1
  564. package/dist/state/startupAnalysis.js.map +0 -1
  565. package/dist/upgrade/appModel.js.map +0 -1
  566. package/dist/upgrade/channels.js.map +0 -1
  567. package/dist/upgrade/compatibility.js.map +0 -1
  568. package/dist/upgrade/doctor.js.map +0 -1
  569. package/dist/upgrade/migrateArtifactsV1ToV2.js +0 -571
  570. package/dist/upgrade/migrateArtifactsV1ToV2.js.map +0 -1
  571. package/dist/upgrade/migrateArtifactsV2ToV3.js.map +0 -1
  572. package/dist/upgrade/projectIntegration.js.map +0 -1
  573. package/dist/upgrade/runtimeMigration.js.map +0 -1
  574. package/dist/upgrade/upgradeCommands.js.map +0 -1
  575. package/dist/upgrade/upgradeOrchestrator.js.map +0 -1
  576. package/dist/upgrade/versionResolution.js.map +0 -1
  577. package/dist/validate/appHomeContract.js.map +0 -1
  578. package/dist/validate/capability.js.map +0 -1
  579. package/dist/validate/crossCapability.js.map +0 -1
  580. package/dist/validate/lifecycleAdapters.js +0 -772
  581. package/dist/validate/lifecycleAdapters.js.map +0 -1
  582. package/dist/validate/selfAudit.js.map +0 -1
  583. /package/bundle/skills/agentera/capabilities/{dokumentera → document}/schemas/exit.yaml +0 -0
  584. /package/bundle/skills/agentera/capabilities/{inspirera → research}/schemas/exit.yaml +0 -0
  585. /package/bundle/skills/agentera/capabilities/{hej → status}/schemas/exit.yaml +0 -0
@@ -1,7 +1,7 @@
1
1
  # Objective Artifact Schema
2
2
  #
3
- # Optimization objective maintained by optimera. Each objective lives in its
4
- # own subdirectory under .agentera/optimera/<name>/ and captures the metric,
3
+ # Optimization objective maintained by optimize. Each objective lives in its
4
+ # own subdirectory under .agentera/optimize/<name>/ and captures the metric,
5
5
  # target, baseline, constraints, measurement method, gates, and scope.
6
6
  #
7
7
  # Structural pattern: UPPER_CASE groups with numbered entries and stable IDs,
@@ -47,12 +47,12 @@ meta:
47
47
  name: objective
48
48
  version: "1.0.0"
49
49
  description: >-
50
- Optimization objective. Produced by optimera and resonera. Each objective
51
- lives in its own subdirectory under .agentera/optimera/<name>/.
50
+ Optimization objective. Produced by optimize and discuss. Each objective
51
+ lives in its own subdirectory under .agentera/optimize/<name>/.
52
52
  artifact_type: agent_facing
53
- path: ".agentera/optimera/<name>/objective.yaml"
54
- producer: [optimera, resonera]
55
- consumers: [hej, optimera, resonera]
53
+ path: ".agentera/optimize/<name>/objective.yaml"
54
+ producer: [optimize, discuss]
55
+ consumers: [status, optimize, discuss]
56
56
  format: yaml
57
57
 
58
58
  GROUP_PREFIXES:
@@ -78,6 +78,19 @@ BUDGET:
78
78
  bounded by the measurement description's inherent complexity.
79
79
 
80
80
  HEADER:
81
+ 0:
82
+ id: OB_HDR0
83
+ field: id
84
+ type: string
85
+ required: true
86
+ description: >-
87
+ Stable objective identity in objective:<lowercase RFC 9562 UUID> form.
88
+ It is assigned when a new objective is published and remains unchanged
89
+ when the title or containing directory is renamed. Legacy objectives
90
+ without this field remain read-compatible through a derived identity and
91
+ an explicit compatibility caveat; reads never rewrite legacy bytes.
92
+ validation:
93
+ - "Matches objective:<lowercase-rfc9562-uuid>"
81
94
  1:
82
95
  id: OB_HDR1
83
96
  field: title
@@ -360,10 +373,11 @@ VALIDATION_RULES:
360
373
  rule: required_fields
361
374
  severity: error
362
375
  description: >-
363
- The objective must have: title, status, description, why,
376
+ A newly published objective must have: stable id, title, status, description, why,
364
377
  measurement, metric (description, direction, unit), baseline,
365
378
  and scope (included, excluded).
366
379
  checks:
380
+ - "id is present and matches objective:<lowercase-rfc9562-uuid>"
367
381
  - "title is present and non-empty"
368
382
  - "status is present and is 'open' or 'closed'"
369
383
  - "description is present and non-empty"
@@ -1,19 +1,26 @@
1
1
  # Plan Artifact Schema
2
2
  #
3
- # Active work plan maintained by planera. Each plan captures what will be built,
3
+ # Current work plan maintained by plan. Each plan captures what will be built,
4
4
  # why, constraints, scope boundaries, design approach, tasks with dependencies
5
5
  # and acceptance criteria, overall acceptance, and surprises.
6
6
  #
7
- # Structural pattern: UPPER_CASE groups with numbered entries and stable IDs,
8
- # following capability_schema_contract.yaml and protocol.yaml conventions.
7
+ # The active authority uses one plan or plan_task entity per writer-owned file.
8
+ # The aggregate model below is the complete atomic plan-create input. Its task
9
+ # numbers and numeric/string dependency references are create-local symbols,
10
+ # not persisted identities. Fields explicitly labeled migration-only remain
11
+ # compatibility input and are not ordinary post-cutover entity contracts.
9
12
  #
10
- # ── Field-by-field mapping: v1 PLAN.md → v2 plan.yaml ──
13
+ # ── Legacy migration-input mapping: v1 PLAN.md → v2 plan.yaml ──
14
+ #
15
+ # The ordinal task fields in this mapping are create-local symbolic references.
16
+ # They are valid only inside one atomic `state plan create --input` document and
17
+ # are removed when the writer publishes plan and plan_task entities.
11
18
  #
12
19
  # v1 Field v2 Field v2 ID
13
20
  # ─────────────────────────────────────────────────────────────────────
14
21
  # <!-- Level: light/full --> HEADER.level PL1
15
22
  # <!-- Created: date --> HEADER.created PL2
16
- # <!-- Status: active/completed --> HEADER.status PL3
23
+ # <!-- Status: active/completed --> HEADER.status PL3 (normalized)
17
24
  # <!-- Reviewed: date --> HEADER.reviewed PL4
18
25
  # <!-- Critic issues: N found... --> HEADER.critic_issues PL5
19
26
  # <!-- Revised: description --> HEADER.revised PL6
@@ -25,13 +32,15 @@
25
32
  # ## Scope / **Out**: <list> SCOPE.excluded PL12
26
33
  # ## Scope / **Deferred**: <list> SCOPE.deferred PL13
27
34
  # ## Design PLAN.design PL14
28
- # ### Task N: <name> TASK.number PL15
35
+ # ### Task N: <name> TASK.number PL15 (create-local only)
29
36
  # (task name from heading) TASK.name PL16
30
37
  # **Depends on**: <text> TASK.depends_on PL17
31
38
  # **Status**: <status> TASK.status PL18
32
39
  # **Acceptance**: <criteria list> TASK.acceptance PL19
33
40
  # ## Overall Acceptance PLAN.overall_acceptance PL20
34
41
  # ## Surprises PLAN.surprises PL21
42
+ # ## Unknowns UNKNOWN.entry PU1
43
+ # ## Rejected Review Findings REJECTED.entry PR1
35
44
  #
36
45
  # Protocol references:
37
46
  # status visual tokens: VT1-VT4 (protocol.yaml VISUAL_TOKENS)
@@ -41,20 +50,64 @@ meta:
41
50
  name: plan
42
51
  version: "1.0.0"
43
52
  description: >-
44
- Active work plan. Produced by planera and updated by plan executors.
53
+ Active work plan. Produced by plan and updated by plan executors.
45
54
  Consumed by capabilities that inspect or execute plan state.
46
55
  artifact_type: agent_facing
47
56
  path: ".agentera/plan.yaml"
48
- producer: [orkestrera, planera, realisera]
49
- consumers: [hej, inspektera, orkestrera, planera, realisera]
57
+ authority: legacy_migration_input_only
58
+ producer: [orchestrate, plan, build]
59
+ consumers: [status, audit, orchestrate, plan, build]
50
60
  format: yaml
51
61
 
62
+ ENTITY_AUTHORITY:
63
+ identity_fields: [id, artifact]
64
+ artifact: plan
65
+ boundaries: [plan, plan_task]
66
+ relationship: plan_task.record.plan is a bare plan ID
67
+ retrieval:
68
+ list: npx -y agentera@next state plan list --format json
69
+ get: npx -y agentera@next state plan get --id ID --format json
70
+ tasks_list: npx -y agentera@next state plan tasks list [PLAN_ID] --format json
71
+ task_get: npx -y agentera@next state plan tasks get --id ID --format json
72
+ mutation: npx -y agentera@next state plan explain --format json
73
+ direct_file_edits: forbidden
74
+ aggregate_schema_below: atomic_create_input
75
+ migration_compatibility: explicitly_labeled_fields_only
76
+
77
+ CANONICAL_ENTITY_CONTRACT:
78
+ authority: typed_state_writer
79
+ envelope_identity:
80
+ plan:
81
+ field: id
82
+ format: bare_ten_letter_id
83
+ selector: --id ID
84
+ assignment: writer_assigned_on_create
85
+ plan_task:
86
+ field: id
87
+ format: bare_ten_letter_id
88
+ selector: --id ID
89
+ assignment: writer_assigned_on_append
90
+ create_local_symbols:
91
+ scope: one_atomic_plan_create_input
92
+ task_field: number
93
+ dependency_accepted_forms: [positive_integer, canonical_numeric_string]
94
+ dependency_normalization: canonical_numeric_string_before_resolution
95
+ publication: remove_number_and_resolve_dependencies_to_bare_entity_ids
96
+ migration_compatibility:
97
+ header_id:
98
+ format: composite_plan_identity
99
+ status: migration_only_noncanonical
100
+ public_selector: forbidden
101
+ legacy_task_references: convert_to_bare_entity_ids_during_migration
102
+
52
103
  GROUP_PREFIXES:
53
104
  BUDGET: PB
54
105
  HEADER: PH
55
106
  PLAN: PL
56
107
  SCOPE: PS
57
108
  TASK: PT
109
+ UNKNOWN: PU
110
+ REJECTED: PR
58
111
  VALIDATION: PV
59
112
 
60
113
  BUDGET:
@@ -99,10 +152,11 @@ HEADER:
99
152
  type: string
100
153
  required: true
101
154
  description: >-
102
- Plan lifecycle status. Active plans are being executed; complete
103
- plans are candidates for archival.
155
+ Canonical plan lifecycle. Open plans are active candidates, complete
156
+ plans satisfy every task through completion or valid supersession, and
157
+ archived plans are historical or abandoned.
104
158
  validation:
105
- - "Must be one of: active, complete"
159
+ - "Must be one of: open, complete, archived"
106
160
  4:
107
161
  id: PH4
108
162
  field: reviewed
@@ -134,10 +188,21 @@ HEADER:
134
188
  type: string
135
189
  required: true
136
190
  description: >-
137
- Short plan title. Used in archive naming and plan listing.
191
+ Short plan title. Used in archive naming and active/archived plan listing.
138
192
  Format: 'Plan: <descriptive name>'.
139
193
  validation:
140
194
  - "Non-empty string"
195
+ 8:
196
+ id: PH8
197
+ field: id
198
+ type: string
199
+ required: false
200
+ description: >-
201
+ Migration-only source identity. Canonical plan identity is the bare
202
+ ten-letter envelope `id` assigned by the typed writer; this source
203
+ `header.id` is never a public selector.
204
+ validation:
205
+ - "Composite header.id is accepted only by legacy migration compatibility"
141
206
 
142
207
  PLAN:
143
208
  1:
@@ -191,7 +256,7 @@ PLAN:
191
256
  required: false
192
257
  description: >-
193
258
  Runtime surprises discovered during plan execution. Populated
194
- by realisera when reality diverges from plan. Default: empty.
259
+ by build when reality diverges from plan. Default: empty.
195
260
  7:
196
261
  id: PL22
197
262
  field: previous_plan_archived
@@ -201,6 +266,62 @@ PLAN:
201
266
  Path to the previous active plan archived when this plan was created.
202
267
  Preserves plan lineage without changing lifecycle status.
203
268
 
269
+ UNKNOWN:
270
+ 1:
271
+ id: PU1
272
+ field: entry
273
+ type: map
274
+ required: true
275
+ description: >-
276
+ A planning-time question that can change whether downstream work remains
277
+ necessary as written. Full plans require at least one entry.
278
+ min_count: 1
279
+ 2:
280
+ id: PU2
281
+ field: question
282
+ parent: UNKNOWN.entry
283
+ type: string
284
+ required: true
285
+ description: "The unresolved planning-time question."
286
+ 3:
287
+ id: PU3
288
+ field: affects_task
289
+ parent: UNKNOWN.entry
290
+ type: integer
291
+ required: true
292
+ description: "The task number whose scope depends on the answer."
293
+ 4:
294
+ id: PU4
295
+ field: resolve_by
296
+ parent: UNKNOWN.entry
297
+ type: string
298
+ required: true
299
+ description: "How the affected task will resolve the question."
300
+
301
+ REJECTED:
302
+ 1:
303
+ id: PR1
304
+ field: entry
305
+ type: map
306
+ required: true
307
+ description: >-
308
+ A dismissed adversarial-review finding preserved with its rationale.
309
+ min_count: 1
310
+ 2:
311
+ id: PR2
312
+ field: issue
313
+ parent: REJECTED.entry
314
+ type: string
315
+ required: true
316
+ description: "The critic finding that was dismissed."
317
+ 3:
318
+ id: PR3
319
+ field: rationale
320
+ parent: REJECTED.entry
321
+ type: string
322
+ required: true
323
+ description: "Why the finding was dismissed rather than addressed."
324
+
204
325
  SCOPE:
205
326
  1:
206
327
  id: PS11
@@ -236,11 +357,12 @@ TASK:
236
357
  type: integer
237
358
  required: true
238
359
  description: >-
239
- Task number within the plan. Sequential, starting from 1.
240
- May include a descriptive name (e.g., 'Task 2: Shared Protocol').
360
+ Create-local symbolic task ordinal within one atomic plan input.
361
+ Sequential values start at 1, are removed on publication, and are never
362
+ a canonical entity identity or public selector.
241
363
  validation:
242
- - "Must be a positive integer"
243
- - "Must be unique within the plan"
364
+ - "Must be a positive integer in the create input"
365
+ - "Must be unique within that atomic input"
244
366
  2:
245
367
  id: PT16
246
368
  field: name
@@ -254,11 +376,24 @@ TASK:
254
376
  3:
255
377
  id: PT17
256
378
  field: depends_on
257
- type: list[string]
379
+ path: tasks[].depends_on
380
+ type: list[integer|string]
381
+ write_operations: [create]
382
+ accepted_forms:
383
+ atomic_plan_create: [positive_integer, canonical_numeric_string]
384
+ legacy_migration_only: [legacy_task_reference_string]
385
+ normalization: canonical_numeric_string_before_same_document_resolution
258
386
  required: false
259
387
  description: >-
260
- Task dependencies. References task numbers or names that must
261
- complete before this task can start. Empty for root tasks.
388
+ Numeric or numeric-string dependency references are create-local symbolic
389
+ task ordinals only inside the current complete plan create input. The writer
390
+ resolves them within that atomic document, removes the ordinal references,
391
+ and publishes dependencies as bare ten-letter task envelope IDs. Empty for
392
+ root tasks.
393
+ validation:
394
+ - positive_integer_or_canonical_numeric_string
395
+ - unique_after_normalization_within_task
396
+ - resolves_to_declared_task_ordinal_in_same_atomic_document
262
397
  4:
263
398
  id: PT18
264
399
  field: status
@@ -268,7 +403,7 @@ TASK:
268
403
  Task execution status. Uses visual tokens from protocol.yaml
269
404
  VISUAL_TOKENS (VT1-VT4) for display.
270
405
  validation:
271
- - "Must be one of: complete, in_progress, pending, blocked"
406
+ - "Must be one of: complete, in_progress, pending, blocked, superseded"
272
407
  5:
273
408
  id: PT19
274
409
  field: acceptance
@@ -278,29 +413,61 @@ TASK:
278
413
  Acceptance criteria for this task. Each entry is a GIVEN/WHEN/THEN
279
414
  statement that must hold for the task to be considered complete.
280
415
  Required for full-level plans.
416
+ 6:
417
+ id: PT20
418
+ field: evaluation
419
+ type: mapping
420
+ required: false
421
+ description: >-
422
+ CLI-owned evaluator state written only by `npx -y agentera@next state plan
423
+ record-evaluation`. It records attempt and failure counts, the latest
424
+ verdict, retained failure evidence, and stable attempt provenance. Normal
425
+ workflow records evaluation before completion. As recovery for persisted
426
+ out-of-order replacement state only, the writer accepts the first PASS on
427
+ an unevaluated complete task while its open same-plan superseded predecessor
428
+ names it in superseded_by; every other terminal evaluation remains rejected.
429
+ 7:
430
+ id: PT21
431
+ field: superseded_by
432
+ type: list[string]
433
+ required: false
434
+ description: >-
435
+ CLI-owned replacement task IDs from the same plan. Prospective supersession
436
+ requires every replacement to be complete with evaluation.last_verdict pass.
437
+ Required only when status is superseded; IDs must be distinct.
438
+ 8:
439
+ id: PT22
440
+ field: superseded_reason
441
+ type: string
442
+ required: false
443
+ description: >-
444
+ CLI-owned required explanation, at most 500 characters, for a superseded
445
+ task. Present only with superseded_by when status is superseded.
281
446
 
282
447
  VALIDATION:
283
448
  1:
284
449
  id: PV1
285
- rule: unique_task_numbers
450
+ rule: unique_entity_ids
286
451
  severity: error
287
452
  description: >-
288
- Task numbers must be unique within a plan and sequential.
453
+ Create-local task ordinals must be unique within one atomic plan input and
454
+ sequential; they are not persisted entity identities.
289
455
  checks:
290
- - "All task numbers are unique"
291
- - "Task numbers are sequential starting from 1"
456
+ - "All create-local task ordinals are unique"
457
+ - "Create-local task ordinals are sequential starting from 1"
292
458
  2:
293
459
  id: PV2
294
460
  rule: required_fields
295
461
  severity: error
296
462
  description: >-
297
- The plan must have: level, created, status, title, what, why,
298
- scope.included, scope.excluded, and at least one task. Each task
299
- must have number, name, and status.
463
+ A complete create input must have: level, created, status, title, what,
464
+ why, scope.included, scope.excluded, and at least one task. Each task's
465
+ number is create-local and is removed before identity conversion. Legacy
466
+ source documents use the separate migration compatibility contract.
300
467
  checks:
301
468
  - "level is present and is 'light' or 'full'"
302
469
  - "created is present and matches YYYY-MM-DD"
303
- - "status is present and is 'active' or 'completed'"
470
+ - "status is present and is 'open', 'complete', or 'archived'"
304
471
  - "title is present and non-empty"
305
472
  - "what is present and non-empty"
306
473
  - "why is present and non-empty"
@@ -325,10 +492,14 @@ VALIDATION:
325
492
  rule: dependency_references
326
493
  severity: error
327
494
  description: >-
328
- Task depends_on references must point to valid task numbers
329
- within the same plan.
495
+ Create-local depends_on references must point to valid task ordinals in
496
+ the same atomic input before conversion to bare task IDs. Legacy source
497
+ references use the migration compatibility path, not this public writer
498
+ vocabulary.
330
499
  checks:
331
- - "Each dependency references an existing task number"
500
+ - "Each create-local dependency is a positive integer or canonical numeric string"
501
+ - "Each normalized dependency references an existing task ordinal"
502
+ - "Each task's normalized dependency ordinals are unique"
332
503
  - "No circular dependency chains"
333
504
  5:
334
505
  id: PV5
@@ -340,3 +511,220 @@ VALIDATION:
340
511
  checks:
341
512
  - "Per-task word count <= 100"
342
513
  - "Total file word count <= 2500"
514
+
515
+ LIFECYCLE_CONTRACT:
516
+ authority: this schema
517
+ canonical:
518
+ identity:
519
+ field: id
520
+ format: bare_ten_letter_id
521
+ assignment: The typed entity writer assigns the envelope identity at first publication.
522
+ transition: Active and archived entity positions retain the identical bare identity.
523
+ legacy: Legacy source header.id is migration-only and never a public selector.
524
+ collision: Different canonical entities with one identity are ambiguous and never selected by path or time.
525
+ migration_source_identity:
526
+ field: header.id
527
+ format: 'plan:<lowercase-rfc9562-uuid> or legacy-plan:<sha256>'
528
+ status: migration_only_noncanonical
529
+ assignment: Read-only compatibility derivation or retained legacy source value.
530
+ public_selector: forbidden
531
+ persisted_status:
532
+ field: header.status
533
+ values:
534
+ - open
535
+ - complete
536
+ - archived
537
+ meaning:
538
+ open: Work is active and unfinished.
539
+ complete: Every task is complete or validly superseded.
540
+ archived: Historical or abandoned source; tasks may be incomplete or empty.
541
+ position:
542
+ active: A unique open entity plan supplies the default active selection.
543
+ archived: Archived lifecycle marks historical or abandoned entity plans; legacy archives occupy the sibling archive directory.
544
+ persisted: true
545
+ execution:
546
+ eligible: Only a plan at the current-plan path can supply executable work.
547
+ archived: An archived plan is historical and non-executable regardless of status.
548
+ forced_archive:
549
+ unfinished_status: archived
550
+ effect: Move the plan to immutable history without claiming completion or changing tasks.
551
+ replacement_evidence_transition:
552
+ predicate: A replacement is complete and its latest persisted evaluation.last_verdict is pass.
553
+ supersession: Every superseded_by replacement must satisfy the predicate before a new supersession is published.
554
+ completion: Every replacement named by a superseded task must satisfy the predicate before an open plan becomes complete.
555
+ replay: Exact supersession and plan-completion replays remain idempotent no-ops.
556
+ compatibility:
557
+ historical_replacement_evidence:
558
+ readable: Existing superseded records without replacement PASS evidence remain readable and are not rewritten or invalidated.
559
+ closeout: An affected open plan cannot become complete until every replacement satisfies the current predicate.
560
+ recovery: An unevaluated complete replacement named by an open same-plan superseded predecessor may persist its first PASS, then closeout can retry.
561
+ scope: The first-PASS exception repairs already-persisted out-of-order state only; it does not permit new supersession without PASS evidence.
562
+ legacy_read_window:
563
+ scope: >-
564
+ Read normalization and typed-writer canonicalization of plan-level
565
+ active to open and completed to complete for artifacts produced by
566
+ pre-canonical Agentera versions at the docs-mapped current-plan path
567
+ or its sibling archive directory.
568
+ writers: Ordinary create and status writers emit open or complete; only archive lifecycle and migration emit archived.
569
+ removal_condition: >-
570
+ Remove normalization only after the deterministic migration covers
571
+ current plans, archives, fixtures, and bundled upgrade inputs, and
572
+ regression tests prove no supported producer can emit a legacy value.
573
+ test_boundary:
574
+ - current plan with active normalizes to open and reports legacy input
575
+ - archived plan with active normalizes to open and remains non-executable
576
+ - completed normalizes to complete only at the plan-level compatibility seam
577
+ - canonical writers reject active and completed after migration support lands
578
+ - typed writes canonicalize a legacy current plan before publication
579
+ external_consumers:
580
+ evidence: >-
581
+ No shipped SDK, adapter, or package reads header.status directly;
582
+ supported consumers use the CLI plan discovery and state contracts.
583
+ commitment: No compatibility window is provided for direct YAML consumers.
584
+ inventory:
585
+ method: >-
586
+ Classification is pattern-based and enforced by a bounded repository
587
+ scan. Every file under scan.roots containing a discovery marker must
588
+ match at least one family pattern unless an explicit exclusion applies.
589
+ scan:
590
+ roots:
591
+ - .
592
+ symlinks: Excluded because their targets may leave the repository boundary.
593
+ excluded_directory_names:
594
+ names:
595
+ - .git
596
+ - node_modules
597
+ - .pnpm-store
598
+ - .venv
599
+ - .pytest_cache
600
+ - .ruff_cache
601
+ - .playwright-cli
602
+ - .agentera-generated
603
+ - .cache
604
+ - .snapshots
605
+ - __pycache__
606
+ - dist
607
+ - build
608
+ - coverage
609
+ - bundle
610
+ - .astro
611
+ - .svelte-kit
612
+ - .wrangler
613
+ reason: >-
614
+ Directory-name pruning prevents traversal of VCS metadata, vendor
615
+ dependencies, environments, caches, snapshots, bytecode, and generated
616
+ build or publication outputs at any repository depth.
617
+ markers:
618
+ - planDocumentParts
619
+ - discoverPlanArtifacts
620
+ - resolvePlanTaskEvidence
621
+ - header.status
622
+ - previous_plan_archived
623
+ - plan_archive
624
+ - state plan
625
+ - .agentera/plan.yaml
626
+ - plan.yaml
627
+ - state.plan.
628
+ - artifact: plan
629
+ - artifact: plan
630
+ - active plan
631
+ - archived plan
632
+ - plan lifecycle
633
+ exclusions:
634
+ - patterns: [.git, .git/**]
635
+ reason: Git object and worktree metadata is not a repository contract surface.
636
+ - patterns: [node_modules, node_modules/**, "**/node_modules", "**/node_modules/**"]
637
+ reason: Installed third-party dependencies are vendor content.
638
+ - patterns: [.pnpm-store, .pnpm-store/**, .venv, .venv/**]
639
+ reason: Package and Python environments are external dependency caches.
640
+ - patterns: [.pytest_cache, .pytest_cache/**, .ruff_cache, .ruff_cache/**, .playwright-cli, .playwright-cli/**]
641
+ reason: Tool caches and local browser sessions are generated and carry no product contract.
642
+ - patterns: ["**/.cache", "**/.cache/**", .snapshots, .snapshots/**]
643
+ reason: Caches and filesystem snapshots are generated or external state.
644
+ - patterns: ["**/dist", "**/dist/**", "**/build", "**/build/**", "**/coverage", "**/coverage/**"]
645
+ reason: Compiled, bundled, and coverage outputs are generated from classified sources.
646
+ - patterns: [packages/cli/.agentera-generated, packages/cli/.agentera-generated/**, packages/cli/bundle, packages/cli/bundle/**, "**/.astro", "**/.astro/**", "**/.svelte-kit", "**/.svelte-kit/**"]
647
+ reason: Runtime bundles and framework outputs are generated publication artifacts.
648
+ - patterns: [.wrangler, .wrangler/**, "**/.wrangler", "**/.wrangler/**", "*.tgz", "**/*.tgz"]
649
+ reason: Deployment outputs and package tarballs are generated publication artifacts.
650
+ - patterns: [.env, .env.*, "**/.env", "**/.env.*", "*.pem", "**/*.pem", "*.key", "**/*.key"]
651
+ reason: Local secret files are neither read nor classified by repository contract tests.
652
+ - patterns:
653
+ - references/adapters/runtime-lifecycle-*.yaml
654
+ - packages/cli/src/runtime/lifecycle*.ts
655
+ - packages/cli/src/upgrade/lifecycle*.ts
656
+ - packages/cli/test/runtime/lifecycle*.test.ts
657
+ - packages/cli/test/upgrade/lifecycle*.test.ts
658
+ - packages/cli/test/cli/lifecycle*.test.ts
659
+ - packages/cli/test/validate/lifecycle*.test.ts
660
+ reason: These surfaces govern runtime installation lifecycle, not plan artifact lifecycle.
661
+ readers:
662
+ - src/**
663
+ - hooks/**
664
+ - .opencode/plugins/**/*.js
665
+ - packages/cli/src/cli/plan*.ts
666
+ - packages/cli/src/cli/orientation.ts
667
+ - packages/cli/src/cli/appContext.ts
668
+ - packages/cli/src/cli/commands/state/plan*.ts
669
+ - packages/cli/src/cli/commands/prime.ts
670
+ - packages/cli/src/state/{plan*,entityListRuntimeRegistry}.ts
671
+ - packages/cli/src/state/durability.ts
672
+ - packages/cli/src/cli/commands/prime/*.ts
673
+ - packages/cli/src/cli/capabilityContext/*.ts
674
+ - packages/cli/src/cli/contracts/orientationState.ts
675
+ - packages/cli/src/cli/startupCompletenessContract.ts
676
+ - packages/cli/src/hooks/sessionStart.ts
677
+ - packages/cli/src/eval/evalSkills.ts
678
+ writers:
679
+ - packages/cli/src/state/write/*.ts
680
+ - packages/cli/src/state/entityStorage.ts
681
+ - packages/cli/src/cli/commands/state/write.ts
682
+ migrators:
683
+ - packages/cli/src/upgrade/migrateArtifacts*.ts
684
+ - packages/cli/src/upgrade/upgradeOrchestrator.ts
685
+ - packages/cli/src/upgrade/doctor.ts
686
+ - packages/cli/src/cli/commands/prime/v1Migration.ts
687
+ - packages/cli/src/state/entityMigration*.ts
688
+ - packages/cli/src/state/canonicalMigrationRecord.ts
689
+ schemas:
690
+ - skills/agentera/schemas/artifacts/*.yaml
691
+ - skills/agentera/capabilities/*/schemas/*.yaml
692
+ - skills/agentera/capability_schema_contract.yaml
693
+ adapters:
694
+ - references/**/*.yaml
695
+ - packages/cli/src/registries/*.ts
696
+ - packages/cli/src/state/retrievalAuthority.ts
697
+ - packages/cli/src/state/projectionPolicy.ts
698
+ - packages/cli/src/state/startupAnalysis/*.ts
699
+ - packages/cli/src/cli/commands/schema.ts
700
+ - packages/cli/src/cli/commands/validate.ts
701
+ - packages/cli/src/cli/help.ts
702
+ - packages/cli/src/cli/prime-blob.ts
703
+ - packages/cli/src/hooks/validateArtifact/*.ts
704
+ - packages/cli/src/validate/selfAudit.ts
705
+ - packages/cli/src/hooks/compaction/*.ts
706
+ - packages/cli/src/cli/dispatch/*.ts
707
+ - .agentera/docs.yaml
708
+ - scripts/**
709
+ fixtures:
710
+ - packages/cli/test/**/*.ts
711
+ - packages/cli/test/**/*.md
712
+ - packages/cli/test/fixtures/**
713
+ - packages/cli/test/fixtures/**/.agentera/*
714
+ - packages/cli/test/upgrade/fixtures/**
715
+ - packages/cli/test/upgrade/fixtures/**/.agentera/*
716
+ - packages/cli/test/cli/fixtures/**
717
+ - tests/**
718
+ - fixtures/**
719
+ - .agentera/**
720
+ documented_external_commitments:
721
+ - packages/cli/src/capabilities/*/instructions.ts
722
+ - packages/cli/README.md
723
+ - skills/agentera/SKILL.md
724
+ - skills/agentera/references/*
725
+ - references/**/*.md
726
+ - docs/**
727
+ - "*.md"
728
+ - AGENTS.md
729
+ - README.md
730
+ - UPGRADE.md