agentera 3.0.0-dev.5 → 3.0.0-dev.51

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 (598) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +119 -22
  3. package/bundle/CHANGELOG.md +1351 -0
  4. package/bundle/DESIGN.md +229 -0
  5. package/bundle/LICENSE +201 -0
  6. package/bundle/README.md +143 -0
  7. package/bundle/UPGRADE.md +236 -0
  8. package/bundle/extract-corpus-parity.json +21 -0
  9. package/bundle/fixtures/routing/hybrid-corpus.yaml +154 -0
  10. package/bundle/references/adapters/package-publication.json +437 -0
  11. package/bundle/references/adapters/package-registry.yaml +435 -189
  12. package/bundle/references/adapters/package-surface-characterization.md +66 -35
  13. package/bundle/references/adapters/runtime-lifecycle-adapters.yaml +74 -0
  14. package/bundle/references/adapters/runtime-lifecycle-authority.yaml +62 -0
  15. package/bundle/references/adapters/runtime-lifecycle-operation-contract.yaml +84 -0
  16. package/bundle/references/adapters/runtime-retired-resources.yaml +333 -0
  17. package/bundle/references/analysis/evidence-tier-authority.yaml +518 -0
  18. package/bundle/references/analysis/verification-policy.yaml +191 -0
  19. package/bundle/references/artifacts/artifact-registry-interface-model.yaml +20 -10
  20. package/bundle/references/artifacts/glossary-entry-contract.yaml +1254 -0
  21. package/bundle/references/artifacts/state-storage-authority.yaml +3022 -0
  22. package/bundle/references/artifacts/verbosity-budget-authority.yaml +42 -0
  23. package/bundle/references/cli/app-lifecycle-vocabulary.yaml +7 -8
  24. package/bundle/references/cli/capability-instruction-contract.yaml +11 -14
  25. package/bundle/references/cli/hybrid-route-contract.yaml +438 -0
  26. package/bundle/references/cli/routing-model.md +155 -0
  27. package/bundle/references/cli/trigger-schema-enrichment.md +147 -0
  28. package/bundle/references/cli/update-channels.yaml +19 -1
  29. package/bundle/references/cli/vocabulary-index.yaml +20 -17
  30. package/bundle/references/cli/vocabulary.md +326 -361
  31. package/bundle/references/meta/retained-reference-authority.yaml +151 -0
  32. package/bundle/registry.json +13 -13
  33. package/bundle/skills/agentera/SKILL.md +224 -422
  34. package/bundle/skills/agentera/capabilities/audit/schemas/artifacts.yaml +84 -0
  35. package/bundle/skills/agentera/capabilities/{inspektera → audit}/schemas/exit.yaml +2 -2
  36. package/bundle/skills/agentera/capabilities/audit/schemas/triggers.yaml +25 -0
  37. package/bundle/skills/agentera/capabilities/{inspektera → audit}/schemas/validation.yaml +37 -18
  38. package/bundle/skills/agentera/capabilities/build/schemas/artifacts.yaml +102 -0
  39. package/bundle/skills/agentera/capabilities/{realisera → build}/schemas/exit.yaml +6 -5
  40. package/bundle/skills/agentera/capabilities/build/schemas/triggers.yaml +27 -0
  41. package/bundle/skills/agentera/capabilities/build/schemas/validation.yaml +176 -0
  42. package/bundle/skills/agentera/capabilities/{visualisera → design}/schemas/artifacts.yaml +12 -12
  43. package/bundle/skills/agentera/capabilities/{visualisera → design}/schemas/exit.yaml +5 -5
  44. package/bundle/skills/agentera/capabilities/design/schemas/triggers.yaml +16 -0
  45. package/bundle/skills/agentera/capabilities/{visualisera → design}/schemas/validation.yaml +7 -7
  46. package/bundle/skills/agentera/capabilities/discuss/schemas/artifacts.yaml +51 -0
  47. package/bundle/skills/agentera/capabilities/{resonera → discuss}/schemas/exit.yaml +2 -2
  48. package/bundle/skills/agentera/capabilities/discuss/schemas/triggers.yaml +20 -0
  49. package/bundle/skills/agentera/capabilities/discuss/schemas/validation.yaml +144 -0
  50. package/bundle/skills/agentera/capabilities/document/schemas/artifacts.yaml +80 -0
  51. package/bundle/skills/agentera/capabilities/document/schemas/triggers.yaml +16 -0
  52. package/bundle/skills/agentera/capabilities/{dokumentera → document}/schemas/validation.yaml +18 -18
  53. package/bundle/skills/agentera/capabilities/{optimera → optimize}/schemas/artifacts.yaml +18 -18
  54. package/bundle/skills/agentera/capabilities/{optimera → optimize}/schemas/exit.yaml +2 -2
  55. package/bundle/skills/agentera/capabilities/optimize/schemas/triggers.yaml +16 -0
  56. package/bundle/skills/agentera/capabilities/{optimera → optimize}/schemas/validation.yaml +9 -9
  57. package/bundle/skills/agentera/capabilities/orchestrate/schemas/artifacts.yaml +76 -0
  58. package/bundle/skills/agentera/capabilities/{orkestrera → orchestrate}/schemas/exit.yaml +9 -7
  59. package/bundle/skills/agentera/capabilities/orchestrate/schemas/triggers.yaml +23 -0
  60. package/bundle/skills/agentera/capabilities/orchestrate/schemas/validation.yaml +121 -0
  61. package/bundle/skills/agentera/capabilities/plan/schemas/artifacts.yaml +66 -0
  62. package/bundle/skills/agentera/capabilities/{planera → plan}/schemas/exit.yaml +2 -2
  63. package/bundle/skills/agentera/capabilities/plan/schemas/triggers.yaml +23 -0
  64. package/bundle/skills/agentera/capabilities/plan/schemas/validation.yaml +121 -0
  65. package/bundle/skills/agentera/capabilities/profile/schemas/artifacts.yaml +23 -0
  66. package/bundle/skills/agentera/capabilities/{profilera → profile}/schemas/exit.yaml +6 -5
  67. package/bundle/skills/agentera/capabilities/profile/schemas/triggers.yaml +20 -0
  68. package/bundle/skills/agentera/capabilities/profile/schemas/validation.yaml +115 -0
  69. package/bundle/skills/agentera/capabilities/research/schemas/artifacts.yaml +24 -0
  70. package/bundle/skills/agentera/capabilities/research/schemas/triggers.yaml +16 -0
  71. package/bundle/skills/agentera/capabilities/{inspirera → research}/schemas/validation.yaml +2 -2
  72. package/bundle/skills/agentera/capabilities/status/schemas/artifacts.yaml +73 -0
  73. package/bundle/skills/agentera/capabilities/status/schemas/triggers.yaml +22 -0
  74. package/bundle/skills/agentera/capabilities/{hej → status}/schemas/validation.yaml +5 -5
  75. package/bundle/skills/agentera/capabilities/{visionera → vision}/schemas/artifacts.yaml +16 -16
  76. package/bundle/skills/agentera/capabilities/{visionera → vision}/schemas/exit.yaml +7 -6
  77. package/bundle/skills/agentera/capabilities/vision/schemas/triggers.yaml +23 -0
  78. package/bundle/skills/agentera/capabilities/{visionera → vision}/schemas/validation.yaml +18 -20
  79. package/bundle/skills/agentera/capability_schema_contract.yaml +178 -34
  80. package/bundle/skills/agentera/protocol.yaml +31 -31
  81. package/bundle/skills/agentera/route-phrases.yaml +81 -0
  82. package/bundle/skills/agentera/schemas/artifacts/changelog.yaml +5 -4
  83. package/bundle/skills/agentera/schemas/artifacts/decisions.yaml +39 -21
  84. package/bundle/skills/agentera/schemas/artifacts/design.yaml +5 -4
  85. package/bundle/skills/agentera/schemas/artifacts/docs.yaml +15 -19
  86. package/bundle/skills/agentera/schemas/artifacts/experiments.yaml +145 -14
  87. package/bundle/skills/agentera/schemas/artifacts/glossary.yaml +82 -0
  88. package/bundle/skills/agentera/schemas/artifacts/health.yaml +58 -21
  89. package/bundle/skills/agentera/schemas/artifacts/objective.yaml +22 -8
  90. package/bundle/skills/agentera/schemas/artifacts/plan.yaml +458 -36
  91. package/bundle/skills/agentera/schemas/artifacts/progress.yaml +128 -17
  92. package/bundle/skills/agentera/schemas/artifacts/todo.yaml +342 -42
  93. package/bundle/skills/agentera/schemas/artifacts/vision.yaml +3 -3
  94. package/dist/analytics/extractCorpus/cli.js +190 -0
  95. package/dist/analytics/extractCorpus/copilotSessions.js +275 -0
  96. package/dist/analytics/extractCorpus/core.js +392 -0
  97. package/dist/analytics/extractCorpus/corpus.js +167 -0
  98. package/dist/analytics/extractCorpus/coverageAudit.js +260 -0
  99. package/dist/analytics/extractCorpus/cursorSessions.js +425 -0
  100. package/dist/analytics/extractCorpus/evidenceTiers.js +603 -0
  101. package/dist/analytics/extractCorpus/extractCorpusParity.js +105 -0
  102. package/dist/analytics/extractCorpus/filesystemSources.js +118 -0
  103. package/dist/analytics/extractCorpus/index.js +14 -0
  104. package/dist/analytics/extractCorpus/jsonlSessions.js +204 -0
  105. package/dist/analytics/extractCorpus/sqliteCaps.js +43 -0
  106. package/dist/analytics/extractCorpus/sqliteSessions.js +367 -0
  107. package/dist/analytics/extractCorpus/tierReader.js +108 -0
  108. package/dist/analytics/extractCorpus.js +2 -1791
  109. package/dist/analytics/glossaryAdviceResolution.js +166 -0
  110. package/dist/analytics/glossaryInputAcquisition.js +319 -0
  111. package/dist/analytics/personalGlossaryAdmission.js +133 -0
  112. package/dist/analytics/personalGlossaryProfile.js +219 -0
  113. package/dist/analytics/profileSignals.js +211 -0
  114. package/dist/analytics/usageStats.js +169 -42
  115. package/dist/audit/terminologyDrift.js +281 -0
  116. package/dist/bin/agentera.js +3 -2
  117. package/dist/capabilities/audit/instructions.js +16 -0
  118. package/dist/capabilities/build/instructions.js +56 -0
  119. package/dist/capabilities/design/instructions.js +4 -0
  120. package/dist/capabilities/discuss/instructions.js +29 -0
  121. package/dist/capabilities/document/instructions.js +11 -0
  122. package/dist/capabilities/index.js +29 -27
  123. package/dist/capabilities/optimize/instructions.js +14 -0
  124. package/dist/capabilities/orchestrate/instructions.js +42 -0
  125. package/dist/capabilities/plan/instructions.js +33 -0
  126. package/dist/capabilities/profile/instructions.js +70 -0
  127. package/dist/capabilities/research/instructions.js +5 -0
  128. package/dist/capabilities/status/instructions.js +15 -0
  129. package/dist/capabilities/status/startupInstructions.js +34 -0
  130. package/dist/capabilities/vision/instructions.js +4 -0
  131. package/dist/cli/appContext.js +30 -24
  132. package/dist/cli/argvalidate.js +0 -1
  133. package/dist/cli/capabilityContext/benchmark.js +565 -0
  134. package/dist/cli/capabilityContext/bespoke.js +44 -0
  135. package/dist/cli/capabilityContext/build.js +242 -0
  136. package/dist/cli/capabilityContext/closeout.js +233 -0
  137. package/dist/cli/capabilityContext/contract.js +179 -0
  138. package/dist/cli/capabilityContext/evidence.js +463 -0
  139. package/dist/cli/capabilityContext/index.js +3 -0
  140. package/dist/cli/capabilityContext/orchestration.js +131 -0
  141. package/dist/cli/capabilityContext/planState.js +260 -0
  142. package/dist/cli/capabilityContext/progress.js +142 -0
  143. package/dist/cli/capabilityContext/projectVerification.js +409 -0
  144. package/dist/cli/capabilityContext/shared.js +83 -0
  145. package/dist/cli/capabilityContext/slim.js +152 -0
  146. package/dist/cli/capabilityContext/startup.js +150 -0
  147. package/dist/cli/capabilityContext/startupAggregation.js +68 -0
  148. package/dist/cli/capabilityContext/types.js +56 -0
  149. package/dist/cli/capabilityContext.js +1 -2487
  150. package/dist/cli/commands/appHome.js +22 -0
  151. package/dist/cli/commands/capability.js +4 -4
  152. package/dist/cli/commands/compact.js +164 -14
  153. package/dist/cli/commands/doctor.js +122 -97
  154. package/dist/cli/commands/durability.js +81 -0
  155. package/dist/cli/commands/glossaryAdvice.js +138 -0
  156. package/dist/cli/commands/lint.js +26 -44
  157. package/dist/cli/commands/personalGlossary.js +176 -0
  158. package/dist/cli/commands/prime/briefOrientation.js +747 -0
  159. package/dist/cli/commands/prime/buildExecutionRequest.js +165 -0
  160. package/dist/cli/commands/prime/bundleStatus.js +190 -0
  161. package/dist/cli/commands/prime/collectEntityOrientation.js +326 -0
  162. package/dist/cli/commands/prime/collectOrientationState.js +212 -0
  163. package/dist/cli/commands/prime/orientationOutput.js +399 -0
  164. package/dist/cli/commands/prime/types.js +1 -0
  165. package/dist/cli/commands/prime/v1Migration.js +38 -0
  166. package/dist/cli/commands/prime.js +80 -558
  167. package/dist/cli/commands/profileGrounding.js +55 -0
  168. package/dist/cli/commands/query.js +78 -53
  169. package/dist/cli/commands/report.js +96 -25
  170. package/dist/cli/commands/route.js +142 -0
  171. package/dist/cli/commands/schema.js +266 -143
  172. package/dist/cli/commands/state/decisions.js +387 -0
  173. package/dist/cli/commands/state/docs.js +70 -0
  174. package/dist/cli/commands/state/experimentRecords.js +151 -0
  175. package/dist/cli/commands/state/experiments.js +14 -0
  176. package/dist/cli/commands/state/get.js +129 -0
  177. package/dist/cli/commands/state/health.js +14 -0
  178. package/dist/cli/commands/state/index.js +16 -0
  179. package/dist/cli/commands/state/list.js +194 -0
  180. package/dist/cli/commands/state/objective.js +25 -0
  181. package/dist/cli/commands/state/plan.js +14 -0
  182. package/dist/cli/commands/state/planTasks.js +154 -0
  183. package/dist/cli/commands/state/plans.js +154 -0
  184. package/dist/cli/commands/state/progress.js +13 -0
  185. package/dist/cli/commands/state/shared.js +14 -0
  186. package/dist/cli/commands/state/todo.js +42 -0
  187. package/dist/cli/commands/state/write.js +430 -0
  188. package/dist/cli/commands/upgrade.js +146 -5
  189. package/dist/cli/commands/upgradeVerify.js +118 -0
  190. package/dist/cli/commands/validate.js +272 -223
  191. package/dist/cli/commands/verify.js +24 -9
  192. package/dist/cli/contracts/bundleStatus.js +1 -0
  193. package/dist/cli/contracts/orientationState.js +1 -0
  194. package/dist/cli/dispatch/argvParser.js +32 -0
  195. package/dist/cli/dispatch/check.js +372 -0
  196. package/dist/cli/dispatch/commands.js +27 -0
  197. package/dist/cli/dispatch/index.js +207 -0
  198. package/dist/cli/dispatch/lifecycle.js +652 -0
  199. package/dist/cli/dispatch/prime.js +139 -0
  200. package/dist/cli/dispatch/projections.js +17 -0
  201. package/dist/cli/dispatch/shared.js +63 -0
  202. package/dist/cli/dispatch/state.js +140 -0
  203. package/dist/cli/dispatch.js +1 -1294
  204. package/dist/cli/errors.js +16 -17
  205. package/dist/cli/help.js +394 -43
  206. package/dist/cli/migrationRequired.js +87 -0
  207. package/dist/cli/orientation/attention.js +61 -0
  208. package/dist/cli/orientation/corpusCoverage.js +102 -0
  209. package/dist/cli/orientation.js +438 -170
  210. package/dist/cli/planArtifacts.js +350 -0
  211. package/dist/cli/planEvidence.js +157 -0
  212. package/dist/cli/planLifecycleState.js +36 -0
  213. package/dist/cli/planTaskIndex.js +11 -0
  214. package/dist/cli/preCutoverCommand.js +32 -0
  215. package/dist/cli/prime-blob.js +71 -3
  216. package/dist/cli/profileAcquisition.js +167 -0
  217. package/dist/cli/startupCompletenessContract.js +59 -0
  218. package/dist/cli/stateQuery.js +56 -14
  219. package/dist/cli/structured.js +0 -1
  220. package/dist/cli/todoMarkdown.js +25 -12
  221. package/dist/cli/todoReadinessSelection.js +192 -0
  222. package/dist/cli/todoSeverity.js +18 -0
  223. package/dist/core/atomicWriter.js +20 -0
  224. package/dist/core/developmentChannel.js +1 -0
  225. package/dist/core/developmentInvocation.js +374 -0
  226. package/dist/core/difflib.js +0 -1
  227. package/dist/core/envPaths.js +20 -0
  228. package/dist/core/jsonValue.js +5 -0
  229. package/dist/core/paths.js +0 -1
  230. package/dist/core/pyjson.js +67 -3
  231. package/dist/core/shell.js +4 -0
  232. package/dist/core/skillIdentity.js +23 -0
  233. package/dist/core/sourceRoot.js +9 -12
  234. package/dist/core/text.js +10 -0
  235. package/dist/core/toml.js +0 -1
  236. package/dist/core/yaml.js +8 -1
  237. package/dist/eval/evalSkills.js +30 -26
  238. package/dist/eval/hybridRouteEvaluation.js +155 -0
  239. package/dist/eval/semanticEval.js +43 -20
  240. package/dist/eval/semanticFixtures.js +16 -5
  241. package/dist/hooks/common.js +11 -79
  242. package/dist/hooks/compaction/apply.js +446 -0
  243. package/dist/hooks/compaction/dryRun.js +184 -0
  244. package/dist/hooks/compaction/index.js +22 -0
  245. package/dist/hooks/compaction/parse.js +325 -0
  246. package/dist/hooks/compaction/retention.js +202 -0
  247. package/dist/hooks/compaction/status.js +360 -0
  248. package/dist/hooks/compaction/types.js +5 -0
  249. package/dist/hooks/validateArtifact/agentFacing.js +9 -0
  250. package/dist/hooks/validateArtifact/index.js +92 -0
  251. package/dist/hooks/validateArtifact/markdown.js +145 -0
  252. package/dist/hooks/validateArtifact/schema.js +546 -0
  253. package/dist/hooks/validateArtifact/traversal.js +107 -0
  254. package/dist/hooks/validateArtifact/violations.js +107 -0
  255. package/dist/migrate/v2HandoffManifest.js +452 -0
  256. package/dist/registries/activationContract.js +2 -0
  257. package/dist/registries/activationTuples.js +107 -0
  258. package/dist/registries/artifactProtocolIds.js +78 -0
  259. package/dist/registries/artifactRegistry.js +224 -63
  260. package/dist/registries/artifactSchemaProjection.js +45 -0
  261. package/dist/registries/capabilityContract.js +129 -2
  262. package/dist/registries/evaluatorHandoffContract.js +2 -3
  263. package/dist/registries/evidenceTierContract.js +371 -0
  264. package/dist/registries/glossaryAdviceContract.js +79 -0
  265. package/dist/registries/glossaryCaveatContract.js +67 -0
  266. package/dist/registries/glossaryConsumerContractValidation.js +787 -0
  267. package/dist/registries/glossaryEntryContract.js +757 -0
  268. package/dist/registries/glossaryTermIdentity.js +17 -0
  269. package/dist/registries/glossaryTermOccurrence.js +20 -0
  270. package/dist/registries/hybridRoute.js +274 -0
  271. package/dist/registries/hybridRouteReceipt.js +221 -0
  272. package/dist/registries/packagePublication.js +229 -0
  273. package/dist/registries/packageRegistry.js +187 -211
  274. package/dist/registries/todoReadinessContract.js +448 -0
  275. package/dist/registries/triggerLoader.js +174 -0
  276. package/dist/registries/verbosityBudgetContract.js +205 -0
  277. package/dist/release/releaseMetadata.js +385 -0
  278. package/dist/runtime/lifecycleAdapterContract.js +457 -0
  279. package/dist/runtime/lifecycleAdapters.js +777 -0
  280. package/dist/runtime/lifecycleAuthority.js +453 -0
  281. package/dist/runtime/lifecycleOperationContract.js +123 -0
  282. package/dist/runtime/lifecycleOperations.js +634 -0
  283. package/dist/runtime/lifecycleOwnershipJournal.js +622 -0
  284. package/dist/runtime/lifecyclePublication.js +415 -0
  285. package/dist/runtime/lifecycleSnapshot.js +438 -0
  286. package/dist/runtime/nativeResourceCleanup.js +502 -0
  287. package/dist/setup/opencode.js +20 -0
  288. package/dist/setup/opencodeConstants.js +1 -0
  289. package/dist/setup/sharedSkill.js +45 -0
  290. package/dist/setup/smokeChecks.js +21 -82
  291. package/dist/state/archiveDiscovery.js +580 -0
  292. package/dist/state/archivePublication.js +225 -0
  293. package/dist/state/archiveRecovery.js +237 -0
  294. package/dist/state/archiveReplay.js +53 -0
  295. package/dist/state/canonicalMigrationRecord.js +36 -0
  296. package/dist/state/changelog.js +221 -0
  297. package/dist/state/decisionEntities.js +367 -0
  298. package/dist/state/decisionLegacyValidation.js +215 -0
  299. package/dist/state/decisionMigrationProvenance.js +199 -0
  300. package/dist/state/decisionOverlay.js +254 -0
  301. package/dist/state/decisionRevision.js +256 -0
  302. package/dist/state/decisionRevisionMigration.js +89 -0
  303. package/dist/state/directRetrieval.js +323 -0
  304. package/dist/state/durability.js +324 -0
  305. package/dist/state/entityCutover.js +459 -0
  306. package/dist/state/entityCutoverGit.js +127 -0
  307. package/dist/state/entityGlossaryAuthority.js +13 -0
  308. package/dist/state/entityListProjection.js +187 -0
  309. package/dist/state/entityListRuntimeRegistry.js +85 -0
  310. package/dist/state/entityMigrationCausality.js +97 -0
  311. package/dist/state/entityMigrationIdentity.js +5 -0
  312. package/dist/state/entityMigrationPreview.js +846 -0
  313. package/dist/state/entityMigrationTodo.js +133 -0
  314. package/dist/state/entityPublicationContext.js +806 -0
  315. package/dist/state/entityRetrievalHelp.js +506 -0
  316. package/dist/state/entityStorage.js +899 -0
  317. package/dist/state/exactReplacementRecovery.js +18 -0
  318. package/dist/state/experimentArchive.js +63 -0
  319. package/dist/state/experimentIdentity.js +202 -0
  320. package/dist/state/healthEntities.js +262 -0
  321. package/dist/state/healthEntityValidation.js +18 -0
  322. package/dist/state/healthRepair.js +69 -0
  323. package/dist/state/installRoot.js +64 -25
  324. package/dist/state/legacyEntityCutoverEvidence.js +65 -0
  325. package/dist/state/legacyIdentity.js +47 -0
  326. package/dist/state/legacySummaryRecord.js +6 -0
  327. package/dist/state/listAccounting.js +54 -0
  328. package/dist/state/listClassification.js +17 -0
  329. package/dist/state/listCursor.js +42 -0
  330. package/dist/state/listRetrieval.js +781 -0
  331. package/dist/state/migrationSourceBinding.js +30 -0
  332. package/dist/state/objectiveExperimentEntities.js +322 -0
  333. package/dist/state/planEntities.js +982 -0
  334. package/dist/state/planIdentity.js +47 -0
  335. package/dist/state/planLineageValidation.js +52 -0
  336. package/dist/state/planReplacementTransaction.js +475 -0
  337. package/dist/state/planRetrieval.js +313 -0
  338. package/dist/state/planTaskRetrieval.js +294 -0
  339. package/dist/state/progressEntities.js +512 -0
  340. package/dist/state/progressGlossaryCaveat.js +168 -0
  341. package/dist/state/progressPublicationOrder.js +19 -0
  342. package/dist/state/projectRoot.js +62 -0
  343. package/dist/state/projectionPolicy.js +190 -0
  344. package/dist/state/retrievalAuthority.js +156 -0
  345. package/dist/state/safeProjectFile.js +155 -0
  346. package/dist/state/startupAnalysis/benchmark.js +432 -0
  347. package/dist/state/startupAnalysis/contract.js +160 -0
  348. package/dist/state/startupAnalysis/helpers.js +286 -0
  349. package/dist/state/startupAnalysis/index.js +6 -0
  350. package/dist/state/startupAnalysis/metrics.js +340 -0
  351. package/dist/state/startupAnalysis/records.js +198 -0
  352. package/dist/state/startupAnalysis/report.js +111 -0
  353. package/dist/state/startupAnalysis/threshold.js +512 -0
  354. package/dist/state/startupAnalysis.js +2 -1953
  355. package/dist/state/startupProjection.js +499 -0
  356. package/dist/state/stateMode.js +85 -0
  357. package/dist/state/stateStorageAuthority.js +47 -0
  358. package/dist/state/summaryEntityRead.js +25 -0
  359. package/dist/state/summaryMigrationProvenance.js +66 -0
  360. package/dist/state/summarySourceRowAuthority.js +36 -0
  361. package/dist/state/todoActivationSafety.js +58 -0
  362. package/dist/state/todoDocsEntities.js +1069 -0
  363. package/dist/state/todoDocsEntityValidation.js +158 -0
  364. package/dist/state/todoMarkdownProjection.js +51 -0
  365. package/dist/state/todoReconciliationActivation.js +140 -0
  366. package/dist/state/todoReconciliationInspection.js +169 -0
  367. package/dist/state/todoReconciliationRepair.js +170 -0
  368. package/dist/state/todoReconciliationTransaction.js +582 -0
  369. package/dist/state/write/assign.js +20 -0
  370. package/dist/state/write/candidateMutation.js +269 -0
  371. package/dist/state/write/errors.js +11 -0
  372. package/dist/state/write/experimentPublication.js +192 -0
  373. package/dist/state/write/explain.js +363 -0
  374. package/dist/state/write/fields.js +61 -0
  375. package/dist/state/write/glossaryPublication.js +263 -0
  376. package/dist/state/write/grammar.js +285 -0
  377. package/dist/state/write/helpers.js +29 -0
  378. package/dist/state/write/index.js +12 -0
  379. package/dist/state/write/input.js +367 -0
  380. package/dist/state/write/lock.js +837 -0
  381. package/dist/state/write/mutation.js +234 -0
  382. package/dist/state/write/operations.js +170 -0
  383. package/dist/state/write/planEvaluation.js +128 -0
  384. package/dist/state/write/planPublication.js +179 -0
  385. package/dist/state/write/runtimeOperations.js +144 -0
  386. package/dist/state/write/serialize.js +1 -0
  387. package/dist/state/write/transaction.js +52 -0
  388. package/dist/state/write/validate.js +7 -0
  389. package/dist/upgrade/appContentRefresh.js +383 -0
  390. package/dist/upgrade/appModel.js +8 -7
  391. package/dist/upgrade/atomicWriter.js +1 -0
  392. package/dist/upgrade/bundleEvidence.js +33 -0
  393. package/dist/upgrade/channels.js +12 -8
  394. package/dist/upgrade/compatibility.js +56 -21
  395. package/dist/upgrade/doctor.js +197 -192
  396. package/dist/upgrade/doctorClassifier.js +187 -0
  397. package/dist/upgrade/installedHooksRetirement.js +196 -0
  398. package/dist/upgrade/legacyAgentCleanup.js +282 -0
  399. package/dist/upgrade/lifecycleUpgrade.js +113 -0
  400. package/dist/upgrade/migrateArtifactsV2ToV3.js +367 -149
  401. package/dist/upgrade/migrationPublication.js +122 -0
  402. package/dist/upgrade/nextMajorDoctor.js +42 -8
  403. package/dist/upgrade/npxPlatformStatus.js +22 -0
  404. package/dist/upgrade/projectIntegration.js +145 -187
  405. package/dist/upgrade/projectIntegrationDecision.js +50 -0
  406. package/dist/upgrade/retiredResourceDiagnostics.js +117 -0
  407. package/dist/upgrade/runtimeMigration.js +273 -363
  408. package/dist/upgrade/upgradeCommands.js +14 -1
  409. package/dist/upgrade/upgradeLock.js +85 -0
  410. package/dist/upgrade/upgradeOrchestrator.js +263 -59
  411. package/dist/upgrade/v3CapabilitySurface.js +14 -0
  412. package/dist/upgrade/versionResolution.js +8 -1
  413. package/dist/validate/activationArtifactEvidence.js +844 -0
  414. package/dist/validate/activationConjunction.js +816 -0
  415. package/dist/validate/activationEvidenceManifest.js +515 -0
  416. package/dist/validate/activationPackageSemantics.js +29 -0
  417. package/dist/validate/appHomeContract.js +5 -11
  418. package/dist/validate/bootstrapAuthority.js +44 -0
  419. package/dist/validate/capability.js +133 -12
  420. package/dist/validate/crossCapability.js +15 -10
  421. package/dist/validate/retainedReferenceAuthority.js +879 -0
  422. package/dist/validate/selfAudit.js +73 -37
  423. package/dist/validate/v1LegacyCruft.js +131 -0
  424. package/dist/validate/vocabularyAuthority.js +303 -0
  425. package/package.json +53 -27
  426. package/bundle/references/adapters/cursor.md +0 -213
  427. package/bundle/references/adapters/opencode.md +0 -530
  428. package/bundle/references/adapters/package-manifest-interface-model.yaml +0 -337
  429. package/bundle/references/adapters/runtime-adapter-characterization.md +0 -79
  430. package/bundle/references/adapters/runtime-adapter-interface-model.yaml +0 -200
  431. package/bundle/references/adapters/runtime-adapter-registry.yaml +0 -548
  432. package/bundle/references/adapters/runtime-feature-parity.md +0 -189
  433. package/bundle/references/analysis/benchmark.md +0 -267
  434. package/bundle/references/analysis/startup-measurement-contract.yaml +0 -424
  435. package/bundle/references/cli/agent-ready-state-contract.yaml +0 -953
  436. package/bundle/references/cli/audience-namespace-cli-migration.yaml +0 -355
  437. package/bundle/references/cli/bundle-skill-vocabulary.yaml +0 -278
  438. package/bundle/references/cli/capability-tool-classification.yaml +0 -53
  439. package/bundle/references/cli/routing-execution-vocabulary.yaml +0 -281
  440. package/bundle/references/meta/documentation-inventory.md +0 -43
  441. package/bundle/references/v1-section-mapping.md +0 -47
  442. package/bundle/skills/agentera/.claude-plugin/plugin.json +0 -27
  443. package/bundle/skills/agentera/agents/dokumentera.toml +0 -6
  444. package/bundle/skills/agentera/agents/hej.toml +0 -6
  445. package/bundle/skills/agentera/agents/inspektera.toml +0 -6
  446. package/bundle/skills/agentera/agents/inspirera.toml +0 -6
  447. package/bundle/skills/agentera/agents/optimera.toml +0 -6
  448. package/bundle/skills/agentera/agents/orkestrera.toml +0 -6
  449. package/bundle/skills/agentera/agents/planera.toml +0 -6
  450. package/bundle/skills/agentera/agents/profilera.toml +0 -6
  451. package/bundle/skills/agentera/agents/realisera.toml +0 -6
  452. package/bundle/skills/agentera/agents/resonera.toml +0 -6
  453. package/bundle/skills/agentera/agents/visionera.toml +0 -6
  454. package/bundle/skills/agentera/agents/visualisera.toml +0 -6
  455. package/bundle/skills/agentera/capabilities/dokumentera/schemas/artifacts.yaml +0 -73
  456. package/bundle/skills/agentera/capabilities/dokumentera/schemas/triggers.yaml +0 -35
  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/schemas/artifacts.yaml +0 -76
  460. package/bundle/skills/agentera/capabilities/inspektera/schemas/triggers.yaml +0 -38
  461. package/bundle/skills/agentera/capabilities/inspirera/schemas/artifacts.yaml +0 -24
  462. package/bundle/skills/agentera/capabilities/inspirera/schemas/triggers.yaml +0 -34
  463. package/bundle/skills/agentera/capabilities/optimera/schemas/triggers.yaml +0 -39
  464. package/bundle/skills/agentera/capabilities/orkestrera/schemas/artifacts.yaml +0 -64
  465. package/bundle/skills/agentera/capabilities/orkestrera/schemas/triggers.yaml +0 -42
  466. package/bundle/skills/agentera/capabilities/orkestrera/schemas/validation.yaml +0 -120
  467. package/bundle/skills/agentera/capabilities/planera/schemas/artifacts.yaml +0 -62
  468. package/bundle/skills/agentera/capabilities/planera/schemas/triggers.yaml +0 -34
  469. package/bundle/skills/agentera/capabilities/planera/schemas/validation.yaml +0 -61
  470. package/bundle/skills/agentera/capabilities/profilera/schemas/artifacts.yaml +0 -18
  471. package/bundle/skills/agentera/capabilities/profilera/schemas/triggers.yaml +0 -45
  472. package/bundle/skills/agentera/capabilities/profilera/schemas/validation.yaml +0 -57
  473. package/bundle/skills/agentera/capabilities/realisera/schemas/artifacts.yaml +0 -80
  474. package/bundle/skills/agentera/capabilities/realisera/schemas/triggers.yaml +0 -39
  475. package/bundle/skills/agentera/capabilities/realisera/schemas/validation.yaml +0 -110
  476. package/bundle/skills/agentera/capabilities/resonera/schemas/artifacts.yaml +0 -47
  477. package/bundle/skills/agentera/capabilities/resonera/schemas/triggers.yaml +0 -46
  478. package/bundle/skills/agentera/capabilities/resonera/schemas/validation.yaml +0 -77
  479. package/bundle/skills/agentera/capabilities/visionera/schemas/triggers.yaml +0 -41
  480. package/bundle/skills/agentera/capabilities/visualisera/schemas/triggers.yaml +0 -33
  481. package/bundle/skills/agentera/references/contract.md +0 -1039
  482. package/bundle/skills/hej/.claude-plugin/plugin.json +0 -6
  483. package/bundle/skills/hej/SKILL.md +0 -69
  484. package/bundle/skills/hej/agents/hej.toml +0 -11
  485. package/bundle/skills/hej/agents/openai.yaml +0 -8
  486. package/dist/analytics/extractCorpus.js.map +0 -1
  487. package/dist/analytics/usageStats.js.map +0 -1
  488. package/dist/bin/agentera.js.map +0 -1
  489. package/dist/capabilities/dokumentera/instructions.js +0 -6
  490. package/dist/capabilities/dokumentera/instructions.js.map +0 -1
  491. package/dist/capabilities/hej/instructions.js +0 -6
  492. package/dist/capabilities/hej/instructions.js.map +0 -1
  493. package/dist/capabilities/index.js.map +0 -1
  494. package/dist/capabilities/inspektera/instructions.js +0 -6
  495. package/dist/capabilities/inspektera/instructions.js.map +0 -1
  496. package/dist/capabilities/inspirera/instructions.js +0 -6
  497. package/dist/capabilities/inspirera/instructions.js.map +0 -1
  498. package/dist/capabilities/optimera/instructions.js +0 -6
  499. package/dist/capabilities/optimera/instructions.js.map +0 -1
  500. package/dist/capabilities/orkestrera/instructions.js +0 -6
  501. package/dist/capabilities/orkestrera/instructions.js.map +0 -1
  502. package/dist/capabilities/planera/instructions.js +0 -6
  503. package/dist/capabilities/planera/instructions.js.map +0 -1
  504. package/dist/capabilities/profilera/instructions.js +0 -6
  505. package/dist/capabilities/profilera/instructions.js.map +0 -1
  506. package/dist/capabilities/realisera/instructions.js +0 -6
  507. package/dist/capabilities/realisera/instructions.js.map +0 -1
  508. package/dist/capabilities/resonera/instructions.js +0 -6
  509. package/dist/capabilities/resonera/instructions.js.map +0 -1
  510. package/dist/capabilities/visionera/instructions.js +0 -6
  511. package/dist/capabilities/visionera/instructions.js.map +0 -1
  512. package/dist/capabilities/visualisera/instructions.js +0 -6
  513. package/dist/capabilities/visualisera/instructions.js.map +0 -1
  514. package/dist/cli/appContext.js.map +0 -1
  515. package/dist/cli/argvalidate.js.map +0 -1
  516. package/dist/cli/capabilityContext.js.map +0 -1
  517. package/dist/cli/commands/capability.js.map +0 -1
  518. package/dist/cli/commands/compact.js.map +0 -1
  519. package/dist/cli/commands/doctor.js.map +0 -1
  520. package/dist/cli/commands/lint.js.map +0 -1
  521. package/dist/cli/commands/prime.js.map +0 -1
  522. package/dist/cli/commands/query.js.map +0 -1
  523. package/dist/cli/commands/report.js.map +0 -1
  524. package/dist/cli/commands/schema.js.map +0 -1
  525. package/dist/cli/commands/state.js +0 -1023
  526. package/dist/cli/commands/state.js.map +0 -1
  527. package/dist/cli/commands/upgrade.js.map +0 -1
  528. package/dist/cli/commands/validate.js.map +0 -1
  529. package/dist/cli/commands/verify.js.map +0 -1
  530. package/dist/cli/dispatch.js.map +0 -1
  531. package/dist/cli/errors.js.map +0 -1
  532. package/dist/cli/help.js.map +0 -1
  533. package/dist/cli/orientation.js.map +0 -1
  534. package/dist/cli/prime-blob.js.map +0 -1
  535. package/dist/cli/stateQuery.js.map +0 -1
  536. package/dist/cli/structured.js.map +0 -1
  537. package/dist/cli/todoMarkdown.js.map +0 -1
  538. package/dist/core/difflib.js.map +0 -1
  539. package/dist/core/paths.js.map +0 -1
  540. package/dist/core/pyjson.js.map +0 -1
  541. package/dist/core/sourceRoot.js.map +0 -1
  542. package/dist/core/toml.js.map +0 -1
  543. package/dist/core/yaml.js.map +0 -1
  544. package/dist/eval/evalSkills.js.map +0 -1
  545. package/dist/eval/semanticEval.js.map +0 -1
  546. package/dist/eval/semanticFixtures.js.map +0 -1
  547. package/dist/hooks/common.js.map +0 -1
  548. package/dist/hooks/compaction.js +0 -935
  549. package/dist/hooks/compaction.js.map +0 -1
  550. package/dist/hooks/cursorPreToolUse.js +0 -19
  551. package/dist/hooks/cursorPreToolUse.js.map +0 -1
  552. package/dist/hooks/cursorSessionStart.js +0 -71
  553. package/dist/hooks/cursorSessionStart.js.map +0 -1
  554. package/dist/hooks/sessionStart.js +0 -209
  555. package/dist/hooks/sessionStart.js.map +0 -1
  556. package/dist/hooks/sessionStop.js +0 -212
  557. package/dist/hooks/sessionStop.js.map +0 -1
  558. package/dist/hooks/validateArtifact.js +0 -935
  559. package/dist/hooks/validateArtifact.js.map +0 -1
  560. package/dist/registries/artifactRegistry.js.map +0 -1
  561. package/dist/registries/capabilityContract.js.map +0 -1
  562. package/dist/registries/evaluatorHandoffContract.js.map +0 -1
  563. package/dist/registries/packageRegistry.js.map +0 -1
  564. package/dist/registries/runtimeAdapterRegistry.js +0 -315
  565. package/dist/registries/runtimeAdapterRegistry.js.map +0 -1
  566. package/dist/setup/codex.js +0 -1197
  567. package/dist/setup/codex.js.map +0 -1
  568. package/dist/setup/copilot.js +0 -227
  569. package/dist/setup/copilot.js.map +0 -1
  570. package/dist/setup/cursor.js +0 -127
  571. package/dist/setup/cursor.js.map +0 -1
  572. package/dist/setup/doctor.js +0 -1297
  573. package/dist/setup/doctor.js.map +0 -1
  574. package/dist/setup/smokeChecks.js.map +0 -1
  575. package/dist/state/installRoot.js.map +0 -1
  576. package/dist/state/startupAnalysis.js.map +0 -1
  577. package/dist/upgrade/appModel.js.map +0 -1
  578. package/dist/upgrade/channels.js.map +0 -1
  579. package/dist/upgrade/compatibility.js.map +0 -1
  580. package/dist/upgrade/doctor.js.map +0 -1
  581. package/dist/upgrade/migrateArtifactsV1ToV2.js +0 -570
  582. package/dist/upgrade/migrateArtifactsV1ToV2.js.map +0 -1
  583. package/dist/upgrade/migrateArtifactsV2ToV3.js.map +0 -1
  584. package/dist/upgrade/nextMajorDoctor.js.map +0 -1
  585. package/dist/upgrade/projectIntegration.js.map +0 -1
  586. package/dist/upgrade/runtimeMigration.js.map +0 -1
  587. package/dist/upgrade/upgradeCommands.js.map +0 -1
  588. package/dist/upgrade/upgradeOrchestrator.js.map +0 -1
  589. package/dist/upgrade/versionResolution.js.map +0 -1
  590. package/dist/validate/appHomeContract.js.map +0 -1
  591. package/dist/validate/capability.js.map +0 -1
  592. package/dist/validate/crossCapability.js.map +0 -1
  593. package/dist/validate/lifecycleAdapters.js +0 -772
  594. package/dist/validate/lifecycleAdapters.js.map +0 -1
  595. package/dist/validate/selfAudit.js.map +0 -1
  596. /package/bundle/skills/agentera/capabilities/{dokumentera → document}/schemas/exit.yaml +0 -0
  597. /package/bundle/skills/agentera/capabilities/{inspirera → research}/schemas/exit.yaml +0 -0
  598. /package/bundle/skills/agentera/capabilities/{hej → status}/schemas/exit.yaml +0 -0
@@ -1,11 +1,17 @@
1
1
  # Progress Artifact Schema
2
2
  #
3
- # Cycle-by-cycle operational log for realisera. Each entry records what happened
3
+ # Cycle-by-cycle operational log for build. Each entry records what happened
4
4
  # in one development cycle: phase, work done, discoveries, verification,
5
5
  # next steps, and context envelope.
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 optional glossary_caveat envelope, Build writer, and bounded prime reader
8
+ # are active. Build remains the sole progress producer; Plan may only emit the
9
+ # bounded current writer intent for Build and never delivers or persists it in
10
+ # plan state. Prime projects generic review attention without lifecycle details.
11
+ #
12
+ # The active authority is one progress_cycle entity per writer-owned file. The
13
+ # numbered projection model below is retained only as an exact legacy migration
14
+ # input schema; it is not an ordinary read or write contract after cutover.
9
15
  #
10
16
  # ── Field-by-field mapping: v1 PROGRESS.md → v2 progress.yaml ──
11
17
  #
@@ -36,19 +42,46 @@ meta:
36
42
  name: progress
37
43
  version: "1.0.0"
38
44
  description: >-
39
- Cycle-by-cycle operational log. Produced by realisera. Consumed by
45
+ Cycle-by-cycle operational log. Produced by build. Consumed by
40
46
  capabilities that need recent work history and verification evidence.
41
47
  artifact_type: agent_facing
42
48
  path: ".agentera/progress.yaml"
43
- producer: realisera
44
- consumers: [dokumentera, hej, inspektera, optimera, orkestrera, planera, realisera, visionera, visualisera]
49
+ authority: legacy_migration_input_only
50
+ producer: build
51
+ consumers: [document, status, audit, optimize, orchestrate, plan, build, vision, design]
45
52
  format: yaml
46
53
 
54
+ ENTITY_AUTHORITY:
55
+ identity_fields: [id, artifact]
56
+ artifact: progress
57
+ boundary: progress_cycle
58
+ retrieval:
59
+ list: npx -y agentera@next state progress list --format json
60
+ get: npx -y agentera@next state progress get --id ID --format json
61
+ mutation: npx -y agentera@next state progress explain --verb append --format json
62
+ direct_file_edits: forbidden
63
+ legacy_schema_below: migration_input_only
64
+ semantic_recency:
65
+ primary: timestamp_desc
66
+ same_minute: publication_order_desc
67
+ final_fallback: opaque_id_asc_for_missing_or_duplicate_publication_order
68
+ latest: first_full_progress_cycle_in_canonical_list_order
69
+ publication_order:
70
+ type: positive_safe_integer
71
+ presence: optional_for_legacy_required_for_new_publications
72
+ visibility: public_record_metadata
73
+ owner: progress_writer
74
+ assignment: max_valid_existing_plus_one_under_publication_lock
75
+ caller_input: forbidden
76
+ dry_run: omitted
77
+ copy_and_restart: persisted_with_entity
78
+
47
79
  GROUP_PREFIXES:
48
80
  BUDGET: PB
49
81
  COMPACTION: PX
50
82
  CYCLE: PR
51
83
  CONTEXT: PT
84
+ GLOSSARY_CAVEAT: GC
52
85
  ARCHIVE: PA
53
86
  VALIDATION: PV
54
87
 
@@ -72,10 +105,10 @@ BUDGET:
72
105
  COMPACTION:
73
106
  1:
74
107
  id: PX1
75
- rule: uniform_10_40_50
108
+ rule: lossless_projection
76
109
  description: >-
77
- Growing artifacts follow a uniform 10/40/50 rule: 10 full-detail
78
- entries, 40 one-line archive entries, drop beyond 50 total.
110
+ The 10/40/50 values are current projection defaults, not deletion limits.
111
+ Numbered archive records remain complete and unlimited.
79
112
  2:
80
113
  id: PX2
81
114
  full_detail:
@@ -94,21 +127,27 @@ COMPACTION:
94
127
  description: >-
95
128
  Cycles 11 through 50 are collapsed to one-line format under the
96
129
  archive section. One-line summaries preserve cycle number, date,
97
- and work-type, enough for trend analysis by consuming skills.
130
+ and work-type, enough for trend analysis by consuming skills. Entries
131
+ beyond the summary default are represented by omission metadata while
132
+ their numbered archive records remain available.
98
133
  4:
99
134
  id: PX4
100
- dropped:
101
- threshold: 50
102
- action: "Removed entirely"
135
+ omission:
136
+ fields: [omitted, omitted_count, omission_reason, retrieval]
137
+ reason: projection_capacity_or_byte_budget
103
138
  description: >-
104
- Cycles older than 50 are dropped entirely.
139
+ Omitted projection detail is never silently deleted or truncated. The
140
+ numbered archive is the complete historical source and retrieval points
141
+ use the direct state get contract.
105
142
  5:
106
143
  id: PX5
107
- trigger: "When realisera writes a new cycle entry"
144
+ trigger: "When build writes a new cycle entry"
108
145
  description: >-
109
146
  Compaction runs when the producing skill writes a new entry.
110
- If >10 full-detail entries exist, collapse the oldest to one-line.
111
- If >40 one-line entries exist, drop the oldest.
147
+ If >10 full-detail entries exist and their numbered archives verify,
148
+ collapse the oldest to one-line. If >40 summary entries exist, omit the
149
+ oldest from this bounded projection with metadata; never delete its
150
+ numbered archive record. Unverified entries remain full for recovery.
112
151
  6:
113
152
  id: PX6
114
153
  archive_section:
@@ -209,6 +248,78 @@ CYCLE:
209
248
  description: >-
210
249
  Context envelope capturing intent, constraints, unknowns, and
211
250
  scope for this cycle. Contains sub-fields defined in CONTEXT group.
251
+ 11:
252
+ id: PR11
253
+ field: glossary_caveat
254
+ type: mapping
255
+ required: false
256
+ implementation_status: active_build
257
+ authority: references/artifacts/glossary-entry-contract.yaml#consumer_boundary.autonomous_caveat
258
+ description: >-
259
+ Privacy-safe autonomous glossary-review lifecycle evidence. Build alone
260
+ appends it through the typed progress writer. It is never glossary
261
+ publication, decision approval, plan state, or a container for meanings,
262
+ definitions, anchors, paths, raw sections, unrelated entries, or provenance.
263
+ 12:
264
+ id: PR12
265
+ field: publication_order
266
+ type: integer
267
+ required: false
268
+ cli_owned: true
269
+ description: >-
270
+ Positive safe integer assigned by the progress writer under the publication
271
+ lock. New full records use it to resolve equal-minute semantic recency.
272
+ Legacy records may omit it; callers cannot supply or override it.
273
+ validation:
274
+ - "When present, must be a positive safe integer"
275
+ - "Must be omitted from caller input and assigned by the CLI writer"
276
+
277
+ GLOSSARY_CAVEAT:
278
+ schema_version: agentera.glossaryConsumerCaveat.v1
279
+ implementation_status: active_build
280
+ reader_status:
281
+ prime: active
282
+ envelope_validator: packages/cli/src/state/progressGlossaryCaveat.ts#validateProgressGlossaryCaveat
283
+ lifecycle_validator: packages/cli/src/state/progressGlossaryCaveat.ts#glossaryCaveatLifecycleInvalidEntities
284
+ allowed_current_pairs: references/artifacts/glossary-entry-contract.yaml#consumer_boundary.autonomous_caveat.allowed_current_pairs
285
+ current_append:
286
+ caller_fields: [event, reason, ownership_state]
287
+ caller_fixed_values:
288
+ event: current
289
+ writer_fields: [caveat_id, capability, transition_id]
290
+ writer_fixed_values:
291
+ capability: build
292
+ transition_id: null
293
+ rule: >-
294
+ The caller must submit event=current, reason, and ownership_state. The
295
+ writer creates caveat_id, capability=build, and transition_id=null; it does
296
+ not default the caller-owned event.
297
+ fields:
298
+ caveat_id:
299
+ type: opaque_non_content_id
300
+ required: true
301
+ event:
302
+ type: enum
303
+ values: [current, resolved, superseded]
304
+ required: true
305
+ capability:
306
+ type: enum
307
+ values: [build]
308
+ required: true
309
+ reason:
310
+ type: enum
311
+ values: [inferred_equivalence, authority_unavailable, personal_input_unavailable]
312
+ required: true
313
+ ownership_state:
314
+ type: enum
315
+ values: [project_governs_exact, review_required, authority_unavailable]
316
+ required: true
317
+ transition_id:
318
+ type: [opaque_non_content_id, "null"]
319
+ required: true
320
+ lifecycle: references/artifacts/glossary-entry-contract.yaml#consumer_boundary.autonomous_caveat.lifecycle
321
+ prime_projection: references/artifacts/glossary-entry-contract.yaml#consumer_boundary.autonomous_caveat.prime_projection
322
+ privacy: references/artifacts/glossary-entry-contract.yaml#consumer_boundary.disclosure.durable_surfaces
212
323
 
213
324
  CONTEXT:
214
325
  1:
@@ -1,32 +1,25 @@
1
1
  # Todo Artifact Schema
2
2
  #
3
- # Open issues and tasks maintained by realisera and inspektera. Severity-ranked
4
- # checklist of work to be done, resolved items, and deferred work.
3
+ # Open issues and tasks maintained by build and audit. Severity-ranked
4
+ # checklist of work to be done, resolved items, and deferred work. New writes
5
+ # use the typed record below; the legacy description form remains readable only
6
+ # through the explicit compatibility boundary used by entity migration.
5
7
  #
6
- # Note: TODO.md is a human-facing Markdown artifact. It remains at the
7
- # project root and is not migrated to YAML. This schema exists for validation
8
- # and CLI discovery consistency.
8
+ # Marker-absent projects retain TODO.md as legacy authority. After durable
9
+ # entity cutover, each item is authoritative in one shared-contract entity
10
+ # file and `agentera state todo list` renders the bounded human-facing view.
9
11
 
10
12
  meta:
11
13
  name: todo
12
14
  version: "1.0.0"
13
15
  description: >-
14
16
  Open issues and tasks. Produced by capabilities that file work or findings.
15
- Human-facing: remains Markdown at project root.
17
+ Human-facing legacy aggregate before cutover; bounded entity view after cutover.
16
18
  artifact_type: human_facing
17
19
  path: "TODO.md"
18
20
  producer:
19
- [
20
- dokumentera,
21
- inspektera,
22
- inspirera,
23
- optimera,
24
- orkestrera,
25
- realisera,
26
- resonera,
27
- visualisera,
28
- ]
29
- consumers: [hej, all_skills]
21
+ [document, audit, research, optimize, orchestrate, build, discuss, design]
22
+ consumers: [status, all_skills]
30
23
  format: markdown
31
24
 
32
25
  GROUP_PREFIXES:
@@ -38,6 +31,7 @@ GROUP_PREFIXES:
38
31
  BUDGET:
39
32
  1:
40
33
  id: TB1
34
+ scope: full_file
41
35
  token_budget: 5000
42
36
  description: >-
43
37
  Maximum tokens for TODO.md content. Exceeding triggers compaction.
@@ -55,13 +49,58 @@ ITEM:
55
49
  - "Must be one of: critical, degraded, normal, annoying"
56
50
  2:
57
51
  id: TI2
58
- field: description
52
+ field: kind
59
53
  type: string
60
54
  required: true
61
55
  description: >-
62
- Brief description of the task or issue.
56
+ Work kind rendered as the public `[kind:target]` marker. It is not
57
+ severity; severity describes immediate impact.
63
58
  3:
64
59
  id: TI3
60
+ field: target_version
61
+ type: string_or_null
62
+ required: true
63
+ clearable: true
64
+ description: >-
65
+ Release target used with release_blocker; stable-cut dependencies need
66
+ not be critical.
67
+ 4:
68
+ id: TI4
69
+ field: title
70
+ type: string
71
+ required: true
72
+ description: Short public TODO title, owned by TODO.md.
73
+ 5:
74
+ id: TI5
75
+ field: requirements
76
+ type: string_list
77
+ required: true
78
+ clearable: true
79
+ description: Typed public requirements; an empty list is an explicit clear.
80
+ 6:
81
+ id: TI6
82
+ field: acceptance
83
+ type: string_list
84
+ required: true
85
+ clearable: true
86
+ description: Typed public acceptance criteria; an empty list is an explicit clear.
87
+ 7:
88
+ id: TI7
89
+ field: release_blocker
90
+ type: boolean
91
+ required: true
92
+ description: Release-gate state. Do not infer it from severity.
93
+ 8:
94
+ id: TI8
95
+ field: description
96
+ type: string
97
+ required: false
98
+ compatibility: legacy_only
99
+ description: >-
100
+ Legacy public prose retained for existing entities. New typed records
101
+ use title and never store the `[kind:target]` marker in prose.
102
+ 9:
103
+ id: TI9
65
104
  field: status
66
105
  type: string
67
106
  required: true
@@ -69,6 +108,219 @@ ITEM:
69
108
  Current status: open or resolved.
70
109
  validation:
71
110
  - "Must be one of: open, resolved"
111
+ 10:
112
+ id: TI10
113
+ field: readiness
114
+ type: mapping
115
+ required: false
116
+ description: >-
117
+ Reviewer-declared state readiness. Absence means needs-triage and MUST
118
+ NOT be interpreted from description prose. When present, the complete
119
+ nested shape is owned by READINESS below.
120
+
121
+ PUBLIC_OWNERSHIP:
122
+ description: >-
123
+ TODO.md owns public kind, target version, title, requirements, acceptance,
124
+ release blocker, severity, checkbox status, and within-severity order.
125
+ Agentera owns readiness, dependencies, gates, evidence, and lifecycle
126
+ transition metadata. A public disagreement is a conflict, never a silent
127
+ winner.
128
+ render: "[kind:target] title"
129
+ severity: >-
130
+ Immediate impact only. Release gating is release_blocker plus target_version;
131
+ a stable-cut dependency does not need critical severity.
132
+
133
+ LIFECYCLE:
134
+ description: >-
135
+ activate is a flag-only reconciliation transition that requires the
136
+ preview effect SHA-256 and explicit confirmation. Item lifecycle transitions
137
+ set-severity, supersede, resolve, and reopen require a reason and date;
138
+ supersede additionally requires a distinct existing replacement ID. These
139
+ operations never accept structured record content or use Markdown
140
+ strikethrough.
141
+ clearable_patch_fields: [target_version, requirements, acceptance, readiness]
142
+ cli_owned_fields: [id, artifact, status, public_order, lifecycle]
143
+ transition_fields: [reason, date, replacement]
144
+
145
+ READINESS:
146
+ schema_version: agentera.todoReadiness.v1
147
+ description: >-
148
+ Single authority for a TODO item's intended destination, eligibility,
149
+ attention, recovery, and ordering semantics. Request routing remains
150
+ separate and open-ended language remains host-owned.
151
+ destination:
152
+ phase_authority: protocol.yaml#PHASES[*].capabilities
153
+ description: >-
154
+ The exact allowed destination set is the union of capabilities in the
155
+ canonical PHASES entries. A capability's containing PHASES entry is its
156
+ phase; TODO does not repeat either list or mapping.
157
+ excluded_capabilities:
158
+ status: >-
159
+ Orientation consumes readiness but is not work a TODO can request.
160
+ orchestrate: >-
161
+ Execution mode selects plan tasks but is not a TODO's work intent.
162
+ fields:
163
+ capability:
164
+ type: string
165
+ required: true
166
+ enum_source: protocol.yaml#PHASES[*].capabilities
167
+ description: Reviewer-approved capability that owns the next action.
168
+ reason:
169
+ type: string
170
+ required: true
171
+ non_empty: true
172
+ description: Durable intent explaining why the destination is correct.
173
+ dependencies:
174
+ type: list
175
+ required: true
176
+ description: >-
177
+ Zero or more TODO prerequisites. Only canonical TODO entity IDs are
178
+ valid; artifact-qualified references make cross-artifact mistakes
179
+ explicit instead of guessing identity.
180
+ entries:
181
+ artifact:
182
+ type: string
183
+ required: true
184
+ const: todo
185
+ id:
186
+ type: string
187
+ required: true
188
+ pattern: "^[a-z]{10}$"
189
+ blocked:
190
+ type: [mapping, "null"]
191
+ required: true
192
+ description: Explicit blocker, or null when no blocker is declared.
193
+ fields:
194
+ reason: {type: string, required: true, non_empty: true}
195
+ recovery: {type: string, required: true, non_empty: true}
196
+ gate:
197
+ type: [mapping, "null"]
198
+ required: true
199
+ description: Explicit external or approval gate, or null when ungated.
200
+ fields:
201
+ state: {type: string, required: true, enum: [pending, satisfied]}
202
+ reason: {type: string, required: true, non_empty: true}
203
+ recovery: {type: string, required: true, non_empty: true}
204
+ queue_rank:
205
+ type: integer
206
+ required: true
207
+ minimum: 1
208
+ description: >-
209
+ Reviewer-assigned durable intent order for nonprojected queues and for
210
+ projected entities intentionally absent from managed Markdown. Managed
211
+ projected rows use Markdown order instead. Lower values run first when
212
+ queue rank applies; the number is priority, not time.
213
+ order_reason:
214
+ type: string
215
+ required: true
216
+ non_empty: true
217
+ description: Durable reason for the queue_rank assignment.
218
+ evaluation:
219
+ precedence:
220
+ - todo_resolved
221
+ - readiness_absent
222
+ - blocked
223
+ - gate_pending
224
+ - dependency_cross_artifact
225
+ - dependency_missing
226
+ - dependency_cycle
227
+ - dependency_open
228
+ - ordering_conflict
229
+ - actionable
230
+ description: >-
231
+ Evaluate once in this order against complete entity state. The first
232
+ matching item result is final; bounded output projection happens afterward.
233
+ ordering_conflict applies only in nonprojected ordering mode.
234
+ outcomes:
235
+ todo_resolved:
236
+ result: resolved
237
+ eligible: false
238
+ attention: none
239
+ recovery: null
240
+ readiness_absent:
241
+ result: needs-triage
242
+ eligible: false
243
+ attention: item
244
+ recovery: Review the item and declare readiness through the typed TODO writer.
245
+ blocked:
246
+ result: blocked
247
+ eligible: false
248
+ attention: item
249
+ recovery: Emit only the declared bounded blocked.recovery action.
250
+ gate_pending:
251
+ result: gated
252
+ eligible: false
253
+ attention: none
254
+ recovery: Emit only the declared bounded gate.recovery action; re-evaluate after the gate is satisfied.
255
+ dependency_cross_artifact:
256
+ result: needs-triage
257
+ eligible: false
258
+ attention: item
259
+ recovery: Replace the reference with a canonical TODO dependency or remove it after review.
260
+ dependency_missing:
261
+ result: needs-triage
262
+ eligible: false
263
+ attention: item
264
+ recovery: Restore the referenced TODO or remove the stale dependency after review.
265
+ dependency_cycle:
266
+ result: needs-triage
267
+ eligible: false
268
+ attention: item
269
+ recovery: Break the cycle by reviewing and updating at least one TODO dependency.
270
+ dependency_open:
271
+ result: waiting
272
+ eligible: false
273
+ attention: none
274
+ recovery: Resolve the canonical TODO dependency, then re-evaluate this item.
275
+ dependency_resolved:
276
+ result: satisfied
277
+ eligible: null
278
+ attention: none
279
+ recovery: null
280
+ ordering_conflict:
281
+ result: needs-triage
282
+ eligible: false
283
+ attention: item
284
+ recovery: Assign distinct queue_rank values to same-severity actionable items after review.
285
+ actionable:
286
+ result: actionable
287
+ eligible: true
288
+ attention: none
289
+ recovery: null
290
+ queue_outcomes:
291
+ mixed_actionable_and_triage:
292
+ selection: highest_ordered_actionable
293
+ attention: bounded_triage_summary
294
+ recovery: Review unannotated or invalid items separately; do not displace actionable work.
295
+ all_non_actionable:
296
+ selection: abstain
297
+ attention: bounded_highest_severity_summary
298
+ recovery: Emit the first matching contract-owned item recovery; never infer plan or build from prose.
299
+ ordering:
300
+ primary: protocol.yaml#SEVERITY_ISSUE
301
+ modes:
302
+ nonprojected:
303
+ within_severity: queue_rank_ascending
304
+ duplicate_rank: ordering_conflict
305
+ prohibited_tiebreakers:
306
+ - entity_id
307
+ - file_order
308
+ - filesystem_time
309
+ - created_or_modified_time
310
+ - description_text
311
+ projected_startup:
312
+ entity_annotation: required_for_every_entity
313
+ eligibility: before_order
314
+ managed_before_absent: true
315
+ managed_within_severity: markdown_order_ascending
316
+ managed_duplicate_rank: ignored
317
+ absent_within_severity: queue_rank_then_id
318
+ absent_duplicate_rank: entity_id_ascending
319
+ description: >-
320
+ Severity remains primary. Nonprojected callers retain reviewed queue-rank
321
+ conflict behavior. Projected startup declares one order annotation for
322
+ every entity, filters operationally ineligible items first, then orders
323
+ managed rows by Markdown and absent rows by queue rank and ID.
72
324
 
73
325
  CONVENTION:
74
326
  1:
@@ -76,16 +328,17 @@ CONVENTION:
76
328
  field: type_tag
77
329
  level: advisory
78
330
  description: >-
79
- Each item should carry a type tag such as [fix], [feat], [chore],
80
- [test], [perf], or [docs] for commit-scope alignment and scan
81
- discoverability.
331
+ Each item should carry a type tag such as [fix], [feat], [refactor],
332
+ [chore], [test], [perf], or [docs] for commit-scope alignment and
333
+ scan discoverability.
82
334
  2:
83
335
  id: TC2
84
336
  field: version_suffix
85
337
  level: advisory
86
338
  description: >-
87
- Feature and fix items should include a version scope like [fix:2.4.x]
88
- or [feat:2.3.x] when the work targets a specific release train.
339
+ Optional train scope in `[type:train]` form, e.g. `[fix:train]`, when
340
+ the work targets a specific release train; most common on feat and fix
341
+ items. Omit the train suffix when the item is not train-scoped.
89
342
  3:
90
343
  id: TC3
91
344
  field: title_format
@@ -95,30 +348,77 @@ CONVENTION:
95
348
  either all plain prose or all "**BoldTitle**: description".
96
349
  4:
97
350
  id: TC4
98
- field: resolved_summary
351
+ field: resolved_checkbox
99
352
  level: advisory
100
353
  description: >-
101
- Resolved items should end with resolved by ..." to distinguish
102
- completed work from open or deferred items at a glance.
354
+ Resolved items should use a checked GitHub task-list checkbox
355
+ (`- [x]`) before the task text. Open items use `- [ ]`. The
356
+ checkbox state is the canonical completion marker; do not wrap
357
+ resolved text in Markdown strikethrough.
103
358
  5:
104
359
  id: TC5
105
- field: resolved_strikethrough
106
- level: advisory
360
+ field: severity_band_policy
361
+ level: required
107
362
  description: >-
108
- Resolved items should wrap the original task text in Markdown
109
- strikethrough (~~text~~) before the resolution summary, keeping
110
- the original intent readable while visually marking it closed.
363
+ Severity band policy: all four severity bands (⇶ Critical,
364
+ Degraded, → Normal, ⇢ Annoying) may be header-only when they
365
+ have no open work. Open items use `- [ ]` only. Resolved items
366
+ must not appear in severity bands (see TC6). Executable checks
367
+ live in packages/cli/src/hooks/validateArtifact/markdown.ts
368
+ `validateMdItems` and packages/cli/src/hooks/compaction/parse.ts.
111
369
  6:
112
370
  id: TC6
113
- field: severity_band_policy
371
+ field: resolved_section_placement
372
+ level: required
373
+ description: >-
374
+ Resolved ledger policy: completed items live only under
375
+ `## ✓ Resolved` as `- [x] [type:train]` checkboxes. Severity
376
+ bands must not contain `- [x]` or legacy `~~` strikethrough
377
+ resolved rows. The compaction gate counts every resolved row
378
+ (including mis-placed rows until migrated) against the uniform
379
+ 10/40/50 retention cap. `compact --mode fix` migrates mis-placed
380
+ rows into `## ✓ Resolved` before applying retention.
381
+ 7:
382
+ id: TC7
383
+ field: resolved_line_provenance
384
+ level: advisory
385
+ description: >-
386
+ Resolved provenance uses `resolved YYYY-MM-DD` or `resolved @
387
+ <semver>` after the item description. Do not use `resolved on
388
+ feat/v3 @ <hash>` or dual-branch hash reconciliation; git history
389
+ is the archaeology source. Fold the Resolved move into the
390
+ implementation commit — no follow-up hash-backfill commit.
391
+ 8:
392
+ id: TC8
393
+ field: single_resolved_section
394
+ level: required
395
+ description: >-
396
+ Exactly one `## ✓ Resolved` section is permitted. Two or more
397
+ `## ✓ Resolved` sections hide the trailing entries from parsing
398
+ (which processes only the first) and from the compaction budget
399
+ gate. Validation (`validateTodoResolvedPlacement`) and compaction
400
+ (status + apply) refuse with an actionable diagnostic when more
401
+ than one is present; merge the duplicates into a single section
402
+ before compacting. See TC6 for placement and TC9 for recovery.
403
+ 9:
404
+ id: TC9
405
+ field: bounded_queue_not_lossless_archive
114
406
  level: required
115
407
  description: >-
116
- Severity band policy: Critical (⇶) is enforced by the validator
117
- (level: required) and must contain at least one `- [type]` item;
118
- Degraded (⇉), Normal (→), and Annoying (⇢) are advisory and may
119
- be header-only (no list entries, no Placeholder sentinel). The
120
- asymmetry reflects the fact that Critical is the only band whose
121
- absence is user-visible routing damage; the other three bands
122
- may be honestly empty. This rule lives in
123
- packages/cli/src/hooks/validateArtifact.ts `validateMdItems` as
124
- the single executable source of truth.
408
+ TODO.md is a bounded human-facing queue, not a lossless numbered
409
+ archive. It is excluded from the lossless numbered-archive model
410
+ that governs progress, decisions, and health (those preserve
411
+ verified numbered archives; TODO does not). Older resolved
412
+ entries and their detail bodies may be summarized to one-line or
413
+ removed entirely to stay within the 10/40/50 retention cap;
414
+ removal is destructive in the working tree. The first ten
415
+ resolved rows are the recent/full-detail tier even when they have
416
+ no indented body; rows 11 through 50 are the summary tier; rows
417
+ beyond 50 are dropped. Git history is the designated archaeology
418
+ source for dropped resolved entries, and only for previously
419
+ committed content: inspect prior versions with
420
+ `git log -p -- :/TODO.md` (the `:/` pathspec is project-root-safe
421
+ regardless of the current working directory). Non-Git projects
422
+ have no historical recovery for dropped entries. Compaction
423
+ diagnostics MUST report removed entries as `dropped` and MUST NOT
424
+ describe TODO compaction as a lossless projection.
@@ -35,13 +35,13 @@ meta:
35
35
  name: vision
36
36
  version: "1.0.0"
37
37
  description: >-
38
- Project vision. Produced by visionera and direction-shaping capabilities.
38
+ Project vision. Produced by vision and direction-shaping capabilities.
39
39
  Consumed by capabilities that need strategic alignment. No compaction:
40
40
  vision is not a growing artifact.
41
41
  artifact_type: agent_facing
42
42
  path: ".agentera/vision.yaml"
43
- producer: [inspirera, realisera, resonera, visionera]
44
- consumers: [dokumentera, hej, inspektera, orkestrera, planera, realisera, resonera, visionera, visualisera]
43
+ producer: [research, build, discuss, vision]
44
+ consumers: [document, status, audit, orchestrate, plan, build, discuss, vision, design]
45
45
  format: yaml
46
46
 
47
47
  GROUP_PREFIXES: