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
@@ -0,0 +1,518 @@
1
+ schema_version: agentera.evidenceTierAuthority.v1
2
+ status: active_authority
3
+ purpose: >-
4
+ Define the authoritative tier model for local agent-history evidence so that
5
+ bounded consumers receive useful analysis at realistic corpus scale instead
6
+ of degrading solely because complete local evidence exceeds a single-reader
7
+ limit. The contract fixes the tiers, supported source families, the consumer
8
+ map, the required signal semantics, and the deterministic compatibility
9
+ outcomes for oversized, legacy, missing, corrupt, and incomplete state. It is
10
+ the single source of truth for what every bounded input contract must supply.
11
+
12
+ authority:
13
+ source: references/analysis/evidence-tier-authority.yaml
14
+ single_source_rule: >-
15
+ Extraction, readers, validators, tests, help, and capability source
16
+ contracts may project this authority but must not create a second map of
17
+ tiers, source families, consumer required fields, signal semantics,
18
+ compatibility outcomes, or evidence bounds. A consumer that needs a field
19
+ declares it here; a field declared here is the only name a consumer may
20
+ require from a bounded tier.
21
+ implementation_boundary: >-
22
+ This contract defines and verifies the tier model, source coverage, signal
23
+ semantics, consumer field supply, and compatibility outcomes. It does not
24
+ implement the complete extraction writer, migrate consumers to bounded
25
+ tiers, change profile levels, generate a glossary, or alter suite version
26
+ metadata. Tasks 2 through 4 of the approved plan implement publication,
27
+ consumer migration, and bounded profile synthesis against this contract.
28
+
29
+ decision_55_reconciliation:
30
+ decision_number: 55
31
+ date: 2026-05-17
32
+ preserved_intent: >-
33
+ Decision 55 established `agentera stats` as the user-facing analytics
34
+ workflow, forbade a top-level `agentera corpus` command, bound local
35
+ history to explicit consent, and wrote the internal corpus to a single
36
+ `$AGENTERA_PROFILE_DIR/intermediate/corpus.json` envelope. The intent
37
+ survives: analytics remain behind `agentera stats`/`agentera usage`, no
38
+ `agentera corpus` namespace is introduced, and local-history extraction
39
+ remains consent-bound and read-only.
40
+ superseded_surface: >-
41
+ The single monolithic `corpus.json` envelope is superseded by the tier
42
+ model below. Complete local evidence is retained as independently bounded
43
+ shards; a derived bounded signal view replaces the monolithic record array
44
+ as the analytic input. Decision history itself is not rewritten: the
45
+ decision record stands as adopted, and this reconciliation is recorded in
46
+ the tier authority rather than by editing the decision.
47
+ non_goal: >-
48
+ Do not rewrite, renumber, or restate Decision 55's adopted text. Do not
49
+ introduce `agentera corpus` or any new top-level analytics command.
50
+
51
+ tiers:
52
+ full_evidence:
53
+ tier_id: full_evidence
54
+ rank: 1
55
+ definition: >-
56
+ Complete local evidence retained as independently bounded shards. Every
57
+ record ever extracted from a supported source is addressable here; nothing
58
+ is dropped to fit a reader limit. Each shard is independently bounded so a
59
+ single oversized shard cannot poison the whole tier.
60
+ stored_fields:
61
+ required:
62
+ - source_id
63
+ - source_kind
64
+ - timestamp
65
+ - project_id
66
+ - runtime
67
+ - source_class
68
+ - source_product
69
+ - active_runtime
70
+ - adapter_version
71
+ - data
72
+ optional:
73
+ - project_path
74
+ - session_id
75
+ - conversation_key
76
+ source_identity_rule: >-
77
+ `source_id` is the stable, content-addressable identity of one full
78
+ record. It is derived deterministically from source kind and source parts
79
+ and must resolve to exactly one retained full-evidence shard. No other
80
+ tier may invent identities that do not resolve here.
81
+ completeness_rule: >-
82
+ The union of full-evidence shards is the lossless local history for the
83
+ selected source scope. Consumers that need an entire record read it here;
84
+ consumers that need only a derived view read the signal tier instead.
85
+ signal:
86
+ tier_id: signal
87
+ rank: 2
88
+ definition: >-
89
+ A reproducible, bounded, derived view of the full-evidence tier. It
90
+ carries only the fields each declared consumer needs plus a resolvable
91
+ evidence anchor back to full evidence. It is small enough to load under
92
+ the reader bound even when the full-evidence tier is hundreds of
93
+ megabytes.
94
+ stored_fields:
95
+ required:
96
+ - source_id
97
+ - source_kind
98
+ - signal_type
99
+ - timestamp
100
+ - project_id
101
+ - runtime
102
+ - source_product
103
+ - evidence_anchor
104
+ optional:
105
+ - conversation_key
106
+ - session_id
107
+ derivation_rule: >-
108
+ The signal tier is a pure function of the full-evidence tier: identical
109
+ inputs produce identical signal membership and ordering. It never stores
110
+ transcript text, raw tool arguments, raw store paths, or raw session ids
111
+ beyond what a declared consumer requires with provenance visible.
112
+ evidence_anchor_rule: >-
113
+ Every signal record carries `evidence_anchor` resolving to the
114
+ `source_id` of exactly one retained full-evidence shard. A bounded
115
+ consumer that needs the full record follows the anchor; it must not
116
+ re-scan unbounded history.
117
+
118
+ source_families:
119
+ coverage_rule: >-
120
+ The supported source families are fixed. A source family is either supplied
121
+ by an active runtime or imported as historical Claude history. No supported
122
+ family may be silently omitted from the contract, the coverage audit, or
123
+ the compatibility evaluation. An unavailable family reports a deterministic
124
+ discovery status; it is never absent from the map.
125
+ families:
126
+ codex:
127
+ source_class: active_runtime
128
+ source_product: codex
129
+ active_runtime: true
130
+ accepted_input: JSONL session/turn/response_item and tool_call records
131
+ store_glob: "*.jsonl"
132
+ cursor:
133
+ source_class: active_runtime
134
+ source_products:
135
+ - cursor
136
+ - cursor-agent
137
+ active_runtime: true
138
+ accepted_input: >-
139
+ Cursor project JSONL sessions and Cursor Agent CLI store.db SQLite
140
+ conversations. cursor-agent is a Cursor source product, never a
141
+ separate runtime identity.
142
+ store_glob: "*.jsonl"
143
+ opencode:
144
+ source_class: active_runtime
145
+ source_product: opencode
146
+ active_runtime: true
147
+ accepted_input: SQLite opencode.db with session, message, and part tables
148
+ store_glob: opencode.db
149
+ copilot:
150
+ source_class: active_runtime
151
+ source_product: github-copilot
152
+ active_runtime: true
153
+ accepted_input: SQLite session-store.db with conversation message rows
154
+ store_glob: session-store.db
155
+ claude-code:
156
+ source_class: historical_import
157
+ source_product: claude-code
158
+ active_runtime: false
159
+ inclusion_rule: >-
160
+ Explicit `--import-source claude` only. Excluded from default
161
+ active-runtime metrics and never described as runtime health, Claude
162
+ support, or active-runtime coverage.
163
+ accepted_input: JSONL project session files with user/assistant and tool_use events
164
+ store_glob: "*.jsonl"
165
+ filesystem_substrate:
166
+ note: >-
167
+ instruction_document and project_config_signal records are extracted
168
+ from the project filesystem (AGENTS.md, package manifests, config files).
169
+ They are source kinds, not runtime families, and follow source identity
170
+ and bounds rules like any other record.
171
+
172
+ signal_semantics:
173
+ fixed_taxonomy_rule: >-
174
+ The signal semantics below are fixed. Current profile and personal-glossary
175
+ consumers depend on their meaning. A semantic kind present here must remain
176
+ derivable from a bounded signal record without restoring unbounded
177
+ transcript content.
178
+ kinds:
179
+ correction:
180
+ meaning: >-
181
+ A user signal that revises a prior position ("no", "not quite",
182
+ "actually", "instead"). Used to detect decision drift and overrides.
183
+ derivable_from: history_prompt and conversation_turn records
184
+ consumer: glossary
185
+ decision:
186
+ meaning: >-
187
+ A decision-bearing signal (decide, prefer, trade-off, scope, approve,
188
+ reject). The primary profile-synthesis input.
189
+ derivable_from: history_prompt and conversation_turn records
190
+ consumer: glossary
191
+ current_consumer: profile_synthesis
192
+ question:
193
+ meaning: >-
194
+ An interrogative signal ("why", "how", "should", or a "?"). Surfaces
195
+ uncertainty and information-gathering intent.
196
+ derivable_from: history_prompt and conversation_turn records
197
+ consumer: glossary
198
+ instruction:
199
+ meaning: >-
200
+ Explicit user-authored instructions (AGENTS.md and project memory
201
+ documents). The highest-signal, most durable evidence.
202
+ derivable_from: instruction_document records
203
+ consumer: glossary
204
+ current_consumer: profile_synthesis
205
+ configuration:
206
+ meaning: >-
207
+ Recurring config patterns across projects (manifest names, scripts,
208
+ dependencies, build/tool config). Objective evidence of what shipped.
209
+ derivable_from: project_config_signal records
210
+ consumer: glossary
211
+ current_consumer: profile_synthesis
212
+ record_identity:
213
+ meaning: >-
214
+ The stable, addressable identity (`source_id`) of one full record. Lets
215
+ any consumer cite evidence without retaining its content.
216
+ derivable_from: every record's source_id
217
+ consumer: glossary
218
+ date:
219
+ meaning: >-
220
+ The record timestamp anchoring evidence in time. Drives decay,
221
+ recency, and watermark windows.
222
+ derivable_from: every record's timestamp field
223
+ consumer: glossary
224
+ evidence_anchor:
225
+ meaning: >-
226
+ The resolvable link from a bounded signal record back to exactly one
227
+ retained full-evidence shard. Guarantees that bounded analysis never
228
+ severs the citation chain.
229
+ derivable_from: signal record evidence_anchor -> full_evidence source_id
230
+ consumer: glossary
231
+ preservation_rule: >-
232
+ Fixing the contract must not remove the required meaning of any kind above
233
+ from current consumers. Personal glossary synthesis is named here because it
234
+ actively consumes these bounded-history fields and semantics.
235
+
236
+ consumer_map:
237
+ supply_rule: >-
238
+ Each supported consumer maps to exactly one bounded input contract that
239
+ supplies every required field with source identity. The input tier is the
240
+ smallest sufficient tier; consumers that need full records read
241
+ full_evidence, others read signal. No consumer may require a field not
242
+ declared in its input contract.
243
+ consumers:
244
+ usage_stats:
245
+ tier: signal
246
+ purpose: Skill-invocation analytics and USAGE.md reporting
247
+ required_fields:
248
+ - source_kind
249
+ - timestamp
250
+ - project_id
251
+ - runtime
252
+ - source_product
253
+ source_identity: source_id with source_product provenance
254
+ input_contract: signal tier conversation_turn projection
255
+ report_status:
256
+ tier: signal
257
+ purpose: Truthful corpus/coverage status (missing, stale, available)
258
+ required_fields:
259
+ - source_kind
260
+ - source_product
261
+ source_identity: tier presence and discovery status per source family
262
+ input_contract: signal tier metadata projection
263
+ prime_coverage:
264
+ tier: signal
265
+ purpose: Prime startup coverage of supported sources and selected scope
266
+ required_fields:
267
+ - runtime
268
+ - source_product
269
+ - source_class
270
+ - active_runtime
271
+ source_identity: available/selected/skipped per source family
272
+ input_contract: signal tier coverage projection
273
+ startup_analysis:
274
+ tier: signal
275
+ purpose: >-
276
+ Latent startup-analysis reader measuring state-gathering overhead. Reads
277
+ conversation_turn and tool_call signals; full tool arguments stay in
278
+ full_evidence.
279
+ required_fields:
280
+ - source_kind
281
+ - timestamp
282
+ - runtime
283
+ - source_class
284
+ - source_product
285
+ - evidence_anchor
286
+ source_identity: source_id and evidence_anchor to full evidence
287
+ input_contract: signal tier conversation_turn + tool_call projection
288
+ profile_synthesis:
289
+ tier: signal
290
+ purpose: Current profile synthesis (PROFILE.md) from bounded signals
291
+ required_fields:
292
+ - source_kind
293
+ - signal_type
294
+ - timestamp
295
+ - project_id
296
+ - runtime
297
+ - source_product
298
+ - evidence_anchor
299
+ source_identity: source_id and evidence_anchor for every synthesized claim
300
+ input_contract: signal tier instruction/decision/question/config projection
301
+ semantic_consumers:
302
+ glossary:
303
+ tier: signal
304
+ status: active
305
+ input_scope: bounded_personal_history
306
+ excluded_evidence_classes: [project_file]
307
+ required_semantics:
308
+ - correction
309
+ - decision
310
+ - question
311
+ - instruction
312
+ - configuration
313
+ - record_identity
314
+ - date
315
+ - evidence_anchor
316
+ rule: >-
317
+ Personal glossary synthesis actively consumes bounded personal-history
318
+ signals. Project-file provenance remains repository evidence under the
319
+ shared glossary ownership contract and is never represented as retained-
320
+ history evidence. Implementations must not drop a required semantic or
321
+ remove the field that carries it.
322
+
323
+ profile_sufficiency:
324
+ question: >-
325
+ Does bounded profile synthesis preserve useful evidence distribution
326
+ compared with the current full-corpus intent? (planning Unknown 2)
327
+ profile_signal_types:
328
+ - decision
329
+ - question
330
+ - correction
331
+ - instruction
332
+ - configuration
333
+ prior_intended_distribution: >-
334
+ The prior intended distribution is the complete set of profile-relevant
335
+ signals (the profile_signal_types above) across all supported source
336
+ families, mirroring what a full-corpus read would have surfaced before
337
+ tiering. The signal tier's derivation is total when no cap is applied:
338
+ every full-evidence record yields exactly one signal, so the bounded and
339
+ intended distributions are identical. The comparison below is the safety
340
+ net that detects when signal selection reduces a family below a useful
341
+ threshold.
342
+ threshold_rule: >-
343
+ Profile synthesis is sufficient when the signal tier is uncapped (retained
344
+ == total) or every profile-relevant source family retains at least the
345
+ minimum representative fraction of its intended decision-bearing signals.
346
+ A family with zero intended signals is not a sufficiency violation; a
347
+ family with intended signals that retains none is.
348
+ minimum_family_retention: 0.5
349
+ minimum_family_retention_note: >-
350
+ The minimum per-family retention is 0.5 (half of the family's intended
351
+ profile-relevant signals). Below this, a family is underrepresented and
352
+ profile synthesis must surface the limitation rather than silently reduce
353
+ confidence for that family's contributions. The threshold is deliberately
354
+ lenient because proportional-per-family selection already preserves the
355
+ relative distribution; the check exists to catch a cap severe enough to
356
+ distort a family's evidence below a useful floor.
357
+ insufficiency_rule: >-
358
+ When insufficient, profile synthesis surfaces the underrepresented families
359
+ with their retained and intended counts, caps confidence for affected
360
+ categories to the single-signal band (CS4, 30-49) or below, and never
361
+ fabricates high-confidence claims from sparse or missing evidence. The
362
+ limitation is reported in the profile output and exit signal, not silently
363
+ absorbed.
364
+ derivation: >-
365
+ Resolves planning Unknown 2. The comparison is reproducible: identical
366
+ full evidence yields an identical sufficiency assessment because signal
367
+ derivation and selection are deterministic (Unknown 1). The prior
368
+ intended distribution is reconstructed from the signal tier's selection
369
+ report (total per family) and the retained distribution from the published
370
+ signal records (retained per family), so the comparison needs no separate
371
+ full-corpus read.
372
+
373
+ bounds:
374
+ reader_byte_cap: 67108864
375
+ reader_byte_cap_note: >-
376
+ 64 MiB. Existing bounded readers cap monolithic reads at this size and
377
+ safely degrade. The tier model replaces "safely degrade" with "useful
378
+ analysis" by feeding consumers bounded tiers that fit under this cap even
379
+ when complete local evidence is hundreds of megabytes.
380
+ shard_bound_rule: >-
381
+ Each full-evidence shard is independently bounded. A single oversized shard
382
+ is reported and recoverable; it cannot make the whole tier unloadable.
383
+ shard_byte_cap: 67108864
384
+ shard_byte_cap_note: >-
385
+ A full-evidence shard encodes no more than `reader_byte_cap` bytes. Shards
386
+ are grouped by source family; when a family's encoded records exceed the
387
+ cap the family is split into numbered sub-shards so no shard exceeds it and
388
+ no record is dropped. This is the measured bound a bounded reader loads.
389
+ signal_bound_rule: >-
390
+ The signal tier is bounded to fit under the reader cap. Selection must
391
+ preserve representative evidence across all supported sources rather than
392
+ silently truncating one source.
393
+ signal_byte_cap: 67108864
394
+ signal_byte_cap_note: >-
395
+ The whole signal tier encodes no more than `reader_byte_cap` bytes. A signal
396
+ record carries only the contract's required fields plus `evidence_anchor` and
397
+ no transcript text, raw tool arguments, or raw store paths; measured
398
+ per-record size is far below the cap for realistic corpora, so the natural
399
+ outcome is to retain every derived signal. The selection below is the
400
+ deterministic safety net that keeps the bound when a real-scale corpus would
401
+ otherwise exceed it.
402
+ signal_selection:
403
+ rule: >-
404
+ Applied only when the derived signal tier exceeds `signal_byte_cap`. The
405
+ derivation is otherwise total: identical full evidence yields identical
406
+ signal membership and ordering.
407
+ algorithm: >-
408
+ Group derived signal records by source family. Allocate a per-family record
409
+ quota proportional to that family's share of the total record count, with a
410
+ minimum of one record per family so no supported source is silently
411
+ truncated to zero. Within each family, keep the most recent records first
412
+ (timestamp descending, then `source_id` ascending as the deterministic
413
+ tie-break). Reassemble the kept records in the stable tier order
414
+ (timestamp ascending, then `source_id` ascending). The generation identity
415
+ is derived from the retained membership so identical input reproduces an
416
+ identical selected tier.
417
+ derivation: >-
418
+ Resolves planning Unknown 1. The bound is the existing reader cap reused as
419
+ the signal cap because a bounded consumer must load the whole signal tier in
420
+ one read. Proportional-per-family selection preserves the relative evidence
421
+ distribution across all supported sources; recency-within-family preserves
422
+ the most decision-relevant signals; the fixed `(timestamp, source_id)`
423
+ ordering makes membership and ordering reproducible.
424
+ real_scale_acknowledgement: >-
425
+ Real corpora exceed 500 MB. The goal is useful analysis, not merely
426
+ graceful failure; bounded tiers exist so consumers analyze real scale
427
+ rather than reporting unavailable or stale results.
428
+
429
+ compatibility_states:
430
+ determinism_rule: >-
431
+ Every compatibility state has a fixed status, reason, recovery action, and
432
+ outcome. Recovery is actionable: it names the command or correction that
433
+ restores useful analysis. outcomes are limited to `recover` and `degrade`;
434
+ a `degrade` outcome must keep provenance visible and never fabricate
435
+ coverage. These outcomes are covered by passing and failing checks.
436
+ states:
437
+ oversized:
438
+ trigger: A full-evidence shard or legacy monolithic corpus exceeds the reader cap.
439
+ status: stale
440
+ reason: oversized
441
+ outcome: degrade
442
+ recovery: >-
443
+ Refresh bounded tiers with `npx -y agentera@next stats refresh --consent
444
+ local-history` or read the signal tier, which is bounded to fit. Do not
445
+ attempt to load the oversized artifact whole.
446
+ determinism: >-
447
+ Size is computed before read; the artifact is never partially loaded.
448
+ The signal tier remains usable.
449
+ legacy:
450
+ trigger: >-
451
+ A pre-tiering monolithic corpus.json exists but no bounded tiers have
452
+ been published.
453
+ status: stale
454
+ reason: legacy_monolithic_state
455
+ outcome: degrade
456
+ recovery: >-
457
+ Emit deterministic refresh guidance: run `npx -y agentera@next stats refresh
458
+ --consent local-history` to publish bounded tiers. Legacy monolithic
459
+ state receives refresh guidance rather than indefinite read
460
+ compatibility.
461
+ determinism: >-
462
+ Legacy state is detected by envelope shape and missing tier markers; it
463
+ is never silently treated as current.
464
+ missing:
465
+ trigger: No evidence artifact or tier exists at the resolved path.
466
+ status: missing
467
+ reason: no_evidence
468
+ outcome: degrade
469
+ recovery: >-
470
+ Report `npx -y agentera@next stats refresh --consent local-history` and the
471
+ `--corpus PATH` override. Must not auto-build, scan home directories, or
472
+ run live extraction without consent.
473
+ determinism: >-
474
+ Missing is reported as a concrete status with a path, never as an empty
475
+ success.
476
+ corrupt:
477
+ trigger: An artifact exists but is not readable JSON or fails schema validation.
478
+ status: stale
479
+ reason: unreadable_or_schema_divergent
480
+ outcome: degrade
481
+ recovery: >-
482
+ Refresh from source history. If a single shard is corrupt, the other
483
+ shards and the signal tier remain usable; only the corrupt shard is
484
+ flagged.
485
+ determinism: >-
486
+ Parse errors are caught per artifact/shard and reported with the
487
+ failing reason; one corrupt shard cannot crash tier reads.
488
+ incomplete:
489
+ trigger: >-
490
+ Tiers exist but a supported source family is unavailable, skipped
491
+ without acceptance, or extracted zero records.
492
+ status: flagged
493
+ reason: coverage_gap_or_sparse
494
+ outcome: degrade
495
+ recovery: >-
496
+ Surface the skipped/sparse family with its reason. Available skipped
497
+ sources require explicit `--accept-coverage-gap`; sparse (zero-record)
498
+ extraction is distinct from schema divergence.
499
+ determinism: >-
500
+ Coverage gaps and sparse extraction are reported per family with
501
+ discovery status; none is silently omitted.
502
+
503
+ scope:
504
+ in_scope:
505
+ - Tier contract definition, source coverage, consumer field supply.
506
+ - Signal semantics reservation for current and deferred consumers.
507
+ - Compatibility state definitions and deterministic recovery outcomes.
508
+ - Small contract-model code and focused tests making invariants executable.
509
+ out_of_scope:
510
+ - Complete extraction writer implementation.
511
+ - Migration of all consumers to bounded tiers.
512
+ - Bounded profile synthesis runtime.
513
+ - Glossary implementation.
514
+ - Profile level selection.
515
+ - Suite version bump, release, or publish.
516
+ version_constraint: >-
517
+ Suite and version metadata remain at 3.0.0. This contract does not bump,
518
+ release, or publish anything.