agentera 3.0.0-dev.5 → 3.0.0-next.1

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 (336) hide show
  1. package/README.md +4 -3
  2. package/bundle/extract-corpus-parity.json +23 -0
  3. package/bundle/references/adapters/cursor.md +9 -8
  4. package/bundle/references/adapters/opencode.md +1 -1
  5. package/bundle/references/adapters/package-registry.yaml +0 -1
  6. package/bundle/references/adapters/package-surface-characterization.md +1 -2
  7. package/bundle/references/analysis/startup-measurement-contract.yaml +15 -15
  8. package/bundle/references/cli/audience-namespace-cli-migration.yaml +40 -26
  9. package/bundle/references/cli/bundle-skill-vocabulary.yaml +1 -29
  10. package/bundle/references/cli/coexistence-probe.yaml +9 -0
  11. package/bundle/references/cli/parity-expected-actual-template.md +30 -0
  12. package/bundle/references/cli/single-name-protocol.yaml +42 -0
  13. package/bundle/references/cli/update-channels.yaml +16 -0
  14. package/bundle/references/cli/upgrade-repair-wording.md +31 -0
  15. package/bundle/references/cli/v3-handoff-manifest.schema.yaml +98 -0
  16. package/bundle/references/cli/vocabulary-index.yaml +6 -4
  17. package/bundle/references/cli/vocabulary.md +307 -301
  18. package/bundle/references/meta/documentation-inventory.md +9 -3
  19. package/bundle/skills/agentera/SKILL.md +49 -41
  20. package/bundle/skills/agentera/capabilities/hej/schemas/artifacts.yaml +4 -1
  21. package/bundle/skills/agentera/capabilities/profilera/schemas/exit.yaml +2 -1
  22. package/bundle/skills/agentera/capability_schema_contract.yaml +28 -0
  23. package/bundle/skills/agentera/references/contract.md +324 -315
  24. package/bundle/skills/agentera/schemas/artifacts/todo.yaml +38 -33
  25. package/dist/analytics/extractCorpus/cli.js +149 -0
  26. package/dist/analytics/extractCorpus/cli.js.map +1 -0
  27. package/dist/analytics/extractCorpus/copilotSessions.js +273 -0
  28. package/dist/analytics/extractCorpus/copilotSessions.js.map +1 -0
  29. package/dist/analytics/extractCorpus/core.js +363 -0
  30. package/dist/analytics/extractCorpus/core.js.map +1 -0
  31. package/dist/analytics/extractCorpus/corpus.js +145 -0
  32. package/dist/analytics/extractCorpus/corpus.js.map +1 -0
  33. package/dist/analytics/extractCorpus/coverageAudit.js +261 -0
  34. package/dist/analytics/extractCorpus/coverageAudit.js.map +1 -0
  35. package/dist/analytics/extractCorpus/cursorSessions.js +423 -0
  36. package/dist/analytics/extractCorpus/cursorSessions.js.map +1 -0
  37. package/dist/analytics/extractCorpus/extractCorpusParity.js +105 -0
  38. package/dist/analytics/extractCorpus/extractCorpusParity.js.map +1 -0
  39. package/dist/analytics/extractCorpus/filesystemSources.js +122 -0
  40. package/dist/analytics/extractCorpus/filesystemSources.js.map +1 -0
  41. package/dist/analytics/extractCorpus/index.js +12 -0
  42. package/dist/analytics/extractCorpus/index.js.map +1 -0
  43. package/dist/analytics/extractCorpus/jsonlSessions.js +185 -0
  44. package/dist/analytics/extractCorpus/jsonlSessions.js.map +1 -0
  45. package/dist/analytics/extractCorpus/sqliteCaps.js +44 -0
  46. package/dist/analytics/extractCorpus/sqliteCaps.js.map +1 -0
  47. package/dist/analytics/extractCorpus/sqliteSessions.js +368 -0
  48. package/dist/analytics/extractCorpus/sqliteSessions.js.map +1 -0
  49. package/dist/analytics/extractCorpus.js +2 -1790
  50. package/dist/analytics/extractCorpus.js.map +1 -1
  51. package/dist/analytics/usageStats.js +1 -1
  52. package/dist/analytics/usageStats.js.map +1 -1
  53. package/dist/capabilities/inspirera/instructions.js +1 -1
  54. package/dist/capabilities/inspirera/instructions.js.map +1 -1
  55. package/dist/capabilities/planera/instructions.js +1 -1
  56. package/dist/capabilities/planera/instructions.js.map +1 -1
  57. package/dist/capabilities/profilera/instructions.js +1 -1
  58. package/dist/capabilities/profilera/instructions.js.map +1 -1
  59. package/dist/capabilities/realisera/instructions.js +1 -1
  60. package/dist/capabilities/realisera/instructions.js.map +1 -1
  61. package/dist/capabilities/resonera/instructions.js +1 -1
  62. package/dist/capabilities/resonera/instructions.js.map +1 -1
  63. package/dist/capabilities/visionera/instructions.js +1 -1
  64. package/dist/capabilities/visionera/instructions.js.map +1 -1
  65. package/dist/capabilities/visualisera/instructions.js +3 -4
  66. package/dist/capabilities/visualisera/instructions.js.map +1 -1
  67. package/dist/cli/appContext.js +2 -14
  68. package/dist/cli/appContext.js.map +1 -1
  69. package/dist/cli/capabilityContext/benchmark.js +557 -0
  70. package/dist/cli/capabilityContext/benchmark.js.map +1 -0
  71. package/dist/cli/capabilityContext/bespoke.js +25 -0
  72. package/dist/cli/capabilityContext/bespoke.js.map +1 -0
  73. package/dist/cli/capabilityContext/closeout.js +230 -0
  74. package/dist/cli/capabilityContext/closeout.js.map +1 -0
  75. package/dist/cli/capabilityContext/contract.js +186 -0
  76. package/dist/cli/capabilityContext/contract.js.map +1 -0
  77. package/dist/cli/capabilityContext/evidence.js +446 -0
  78. package/dist/cli/capabilityContext/evidence.js.map +1 -0
  79. package/dist/cli/capabilityContext/index.js +4 -0
  80. package/dist/cli/capabilityContext/index.js.map +1 -0
  81. package/dist/cli/capabilityContext/orchestration.js +107 -0
  82. package/dist/cli/capabilityContext/orchestration.js.map +1 -0
  83. package/dist/cli/capabilityContext/planState.js +271 -0
  84. package/dist/cli/capabilityContext/planState.js.map +1 -0
  85. package/dist/cli/capabilityContext/progress.js +96 -0
  86. package/dist/cli/capabilityContext/progress.js.map +1 -0
  87. package/dist/cli/capabilityContext/realisera.js +174 -0
  88. package/dist/cli/capabilityContext/realisera.js.map +1 -0
  89. package/dist/cli/capabilityContext/shared.js +94 -0
  90. package/dist/cli/capabilityContext/shared.js.map +1 -0
  91. package/dist/cli/capabilityContext/slim.js +106 -0
  92. package/dist/cli/capabilityContext/slim.js.map +1 -0
  93. package/dist/cli/capabilityContext/startup.js +208 -0
  94. package/dist/cli/capabilityContext/startup.js.map +1 -0
  95. package/dist/cli/capabilityContext/types.js +43 -0
  96. package/dist/cli/capabilityContext/types.js.map +1 -0
  97. package/dist/cli/capabilityContext.js +1 -2486
  98. package/dist/cli/capabilityContext.js.map +1 -1
  99. package/dist/cli/commands/appHome.js +23 -0
  100. package/dist/cli/commands/appHome.js.map +1 -0
  101. package/dist/cli/commands/compact.js +1 -1
  102. package/dist/cli/commands/compact.js.map +1 -1
  103. package/dist/cli/commands/doctor.js +18 -96
  104. package/dist/cli/commands/doctor.js.map +1 -1
  105. package/dist/cli/commands/lint.js +4 -36
  106. package/dist/cli/commands/lint.js.map +1 -1
  107. package/dist/cli/commands/prime/bundleStatus.js +126 -0
  108. package/dist/cli/commands/prime/bundleStatus.js.map +1 -0
  109. package/dist/cli/commands/prime/collectOrientationState.js +143 -0
  110. package/dist/cli/commands/prime/collectOrientationState.js.map +1 -0
  111. package/dist/cli/commands/prime/orientationOutput.js +172 -0
  112. package/dist/cli/commands/prime/orientationOutput.js.map +1 -0
  113. package/dist/cli/commands/prime/types.js +2 -0
  114. package/dist/cli/commands/prime/types.js.map +1 -0
  115. package/dist/cli/commands/prime/v1Migration.js +39 -0
  116. package/dist/cli/commands/prime/v1Migration.js.map +1 -0
  117. package/dist/cli/commands/prime.js +10 -549
  118. package/dist/cli/commands/prime.js.map +1 -1
  119. package/dist/cli/commands/query.js +1 -1
  120. package/dist/cli/commands/query.js.map +1 -1
  121. package/dist/cli/commands/report.js +19 -4
  122. package/dist/cli/commands/report.js.map +1 -1
  123. package/dist/cli/commands/schema.js +1 -2
  124. package/dist/cli/commands/schema.js.map +1 -1
  125. package/dist/cli/commands/state/decisions.js +397 -0
  126. package/dist/cli/commands/state/decisions.js.map +1 -0
  127. package/dist/cli/commands/state/docs.js +93 -0
  128. package/dist/cli/commands/state/docs.js.map +1 -0
  129. package/dist/cli/commands/state/experiments.js +67 -0
  130. package/dist/cli/commands/state/experiments.js.map +1 -0
  131. package/dist/cli/commands/state/health.js +114 -0
  132. package/dist/cli/commands/state/health.js.map +1 -0
  133. package/dist/cli/commands/state/index.js +51 -0
  134. package/dist/cli/commands/state/index.js.map +1 -0
  135. package/dist/cli/commands/state/objective.js +68 -0
  136. package/dist/cli/commands/state/objective.js.map +1 -0
  137. package/dist/cli/commands/state/plan.js +172 -0
  138. package/dist/cli/commands/state/plan.js.map +1 -0
  139. package/dist/cli/commands/state/progress.js +47 -0
  140. package/dist/cli/commands/state/progress.js.map +1 -0
  141. package/dist/cli/commands/state/shared.js +15 -0
  142. package/dist/cli/commands/state/shared.js.map +1 -0
  143. package/dist/cli/commands/state/todo.js +121 -0
  144. package/dist/cli/commands/state/todo.js.map +1 -0
  145. package/dist/cli/commands/validate.js +38 -24
  146. package/dist/cli/commands/validate.js.map +1 -1
  147. package/dist/cli/contracts/bundleStatus.js +2 -0
  148. package/dist/cli/contracts/bundleStatus.js.map +1 -0
  149. package/dist/cli/contracts/orientationState.js +2 -0
  150. package/dist/cli/contracts/orientationState.js.map +1 -0
  151. package/dist/cli/dispatch/argvParser.js +33 -0
  152. package/dist/cli/dispatch/argvParser.js.map +1 -0
  153. package/dist/cli/dispatch/check.js +328 -0
  154. package/dist/cli/dispatch/check.js.map +1 -0
  155. package/dist/cli/dispatch/commands.js +27 -0
  156. package/dist/cli/dispatch/commands.js.map +1 -0
  157. package/dist/cli/dispatch/index.js +179 -0
  158. package/dist/cli/dispatch/index.js.map +1 -0
  159. package/dist/cli/dispatch/lifecycle.js +537 -0
  160. package/dist/cli/dispatch/lifecycle.js.map +1 -0
  161. package/dist/cli/dispatch/prime.js +104 -0
  162. package/dist/cli/dispatch/prime.js.map +1 -0
  163. package/dist/cli/dispatch/shared.js +64 -0
  164. package/dist/cli/dispatch/shared.js.map +1 -0
  165. package/dist/cli/dispatch/state.js +144 -0
  166. package/dist/cli/dispatch/state.js.map +1 -0
  167. package/dist/cli/dispatch.js +1 -1293
  168. package/dist/cli/dispatch.js.map +1 -1
  169. package/dist/cli/help.js +30 -2
  170. package/dist/cli/help.js.map +1 -1
  171. package/dist/cli/orientation/attention.js +57 -0
  172. package/dist/cli/orientation/attention.js.map +1 -0
  173. package/dist/cli/orientation/corpusCoverage.js +71 -0
  174. package/dist/cli/orientation/corpusCoverage.js.map +1 -0
  175. package/dist/cli/orientation.js +41 -28
  176. package/dist/cli/orientation.js.map +1 -1
  177. package/dist/cli/startupCompletenessContract.js +49 -0
  178. package/dist/cli/startupCompletenessContract.js.map +1 -0
  179. package/dist/cli/todoSeverity.js +19 -0
  180. package/dist/cli/todoSeverity.js.map +1 -0
  181. package/dist/core/jsonValue.js +6 -0
  182. package/dist/core/jsonValue.js.map +1 -0
  183. package/dist/core/pyjson.js +67 -2
  184. package/dist/core/pyjson.js.map +1 -1
  185. package/dist/hooks/common.js +8 -23
  186. package/dist/hooks/common.js.map +1 -1
  187. package/dist/hooks/compaction/apply.js +263 -0
  188. package/dist/hooks/compaction/apply.js.map +1 -0
  189. package/dist/hooks/compaction/dryRun.js +181 -0
  190. package/dist/hooks/compaction/dryRun.js.map +1 -0
  191. package/dist/hooks/compaction/index.js +23 -0
  192. package/dist/hooks/compaction/index.js.map +1 -0
  193. package/dist/hooks/compaction/parse.js +258 -0
  194. package/dist/hooks/compaction/parse.js.map +1 -0
  195. package/dist/hooks/compaction/retention.js +197 -0
  196. package/dist/hooks/compaction/retention.js.map +1 -0
  197. package/dist/hooks/compaction/status.js +241 -0
  198. package/dist/hooks/compaction/status.js.map +1 -0
  199. package/dist/hooks/compaction/types.js +6 -0
  200. package/dist/hooks/compaction/types.js.map +1 -0
  201. package/dist/hooks/cursorPreToolUse.js +1 -1
  202. package/dist/hooks/cursorPreToolUse.js.map +1 -1
  203. package/dist/hooks/cursorSessionStart.js +10 -2
  204. package/dist/hooks/cursorSessionStart.js.map +1 -1
  205. package/dist/hooks/sessionStart.js +4 -4
  206. package/dist/hooks/sessionStart.js.map +1 -1
  207. package/dist/hooks/sessionStop.js +3 -12
  208. package/dist/hooks/sessionStop.js.map +1 -1
  209. package/dist/hooks/validateArtifact/agentFacing.js +10 -0
  210. package/dist/hooks/validateArtifact/agentFacing.js.map +1 -0
  211. package/dist/hooks/validateArtifact/index.js +149 -0
  212. package/dist/hooks/validateArtifact/index.js.map +1 -0
  213. package/dist/hooks/validateArtifact/markdown.js +146 -0
  214. package/dist/hooks/validateArtifact/markdown.js.map +1 -0
  215. package/dist/hooks/validateArtifact/runtime.js +83 -0
  216. package/dist/hooks/validateArtifact/runtime.js.map +1 -0
  217. package/dist/hooks/validateArtifact/schema.js +455 -0
  218. package/dist/hooks/validateArtifact/schema.js.map +1 -0
  219. package/dist/hooks/validateArtifact/traversal.js +105 -0
  220. package/dist/hooks/validateArtifact/traversal.js.map +1 -0
  221. package/dist/hooks/validateArtifact/violations.js +105 -0
  222. package/dist/hooks/validateArtifact/violations.js.map +1 -0
  223. package/dist/migrate/v2HandoffManifest.js +333 -0
  224. package/dist/migrate/v2HandoffManifest.js.map +1 -0
  225. package/dist/registries/artifactProtocolIds.js +77 -0
  226. package/dist/registries/artifactProtocolIds.js.map +1 -0
  227. package/dist/release/releaseMetadata.js +235 -0
  228. package/dist/release/releaseMetadata.js.map +1 -0
  229. package/dist/setup/codex/agents.js +96 -0
  230. package/dist/setup/codex/agents.js.map +1 -0
  231. package/dist/setup/codex/cli.js +161 -0
  232. package/dist/setup/codex/cli.js.map +1 -0
  233. package/dist/setup/codex/configToml.js +644 -0
  234. package/dist/setup/codex/configToml.js.map +1 -0
  235. package/dist/setup/codex/constants.js +29 -0
  236. package/dist/setup/codex/constants.js.map +1 -0
  237. package/dist/setup/codex/installRoot.js +64 -0
  238. package/dist/setup/codex/installRoot.js.map +1 -0
  239. package/dist/setup/codex/state.js +270 -0
  240. package/dist/setup/codex/state.js.map +1 -0
  241. package/dist/setup/codex.js +11 -1196
  242. package/dist/setup/codex.js.map +1 -1
  243. package/dist/setup/cursor.js +1 -1
  244. package/dist/setup/cursor.js.map +1 -1
  245. package/dist/setup/doctor/core.js +300 -0
  246. package/dist/setup/doctor/core.js.map +1 -0
  247. package/dist/setup/doctor/diagnostics.js +247 -0
  248. package/dist/setup/doctor/diagnostics.js.map +1 -0
  249. package/dist/setup/doctor/opencode.js +281 -0
  250. package/dist/setup/doctor/opencode.js.map +1 -0
  251. package/dist/setup/doctor/report.js +418 -0
  252. package/dist/setup/doctor/report.js.map +1 -0
  253. package/dist/setup/doctor.js +9 -1296
  254. package/dist/setup/doctor.js.map +1 -1
  255. package/dist/setup/opencode.js +13 -0
  256. package/dist/setup/opencode.js.map +1 -0
  257. package/dist/setup/smokeChecks.js +1 -1
  258. package/dist/setup/smokeChecks.js.map +1 -1
  259. package/dist/state/installRoot.js +49 -18
  260. package/dist/state/installRoot.js.map +1 -1
  261. package/dist/state/startupAnalysis/benchmark.js +367 -0
  262. package/dist/state/startupAnalysis/benchmark.js.map +1 -0
  263. package/dist/state/startupAnalysis/contract.js +122 -0
  264. package/dist/state/startupAnalysis/contract.js.map +1 -0
  265. package/dist/state/startupAnalysis/helpers.js +287 -0
  266. package/dist/state/startupAnalysis/helpers.js.map +1 -0
  267. package/dist/state/startupAnalysis/index.js +7 -0
  268. package/dist/state/startupAnalysis/index.js.map +1 -0
  269. package/dist/state/startupAnalysis/metrics.js +334 -0
  270. package/dist/state/startupAnalysis/metrics.js.map +1 -0
  271. package/dist/state/startupAnalysis/records.js +195 -0
  272. package/dist/state/startupAnalysis/records.js.map +1 -0
  273. package/dist/state/startupAnalysis/report.js +101 -0
  274. package/dist/state/startupAnalysis/report.js.map +1 -0
  275. package/dist/state/startupAnalysis/threshold.js +500 -0
  276. package/dist/state/startupAnalysis/threshold.js.map +1 -0
  277. package/dist/state/startupAnalysis.js +2 -1952
  278. package/dist/state/startupAnalysis.js.map +1 -1
  279. package/dist/upgrade/appModel.js +1 -4
  280. package/dist/upgrade/appModel.js.map +1 -1
  281. package/dist/upgrade/bundleEvidence.js +34 -0
  282. package/dist/upgrade/bundleEvidence.js.map +1 -0
  283. package/dist/upgrade/channels.js +8 -1
  284. package/dist/upgrade/channels.js.map +1 -1
  285. package/dist/upgrade/cliProbe.js +22 -0
  286. package/dist/upgrade/cliProbe.js.map +1 -0
  287. package/dist/upgrade/coexistenceProbe.js +80 -0
  288. package/dist/upgrade/coexistenceProbe.js.map +1 -0
  289. package/dist/upgrade/compatibility.js +1 -4
  290. package/dist/upgrade/compatibility.js.map +1 -1
  291. package/dist/upgrade/doctor.js +204 -170
  292. package/dist/upgrade/doctor.js.map +1 -1
  293. package/dist/upgrade/doctorClassifier.js +208 -0
  294. package/dist/upgrade/doctorClassifier.js.map +1 -0
  295. package/dist/upgrade/migrateArtifactsV2ToV3.js +6 -84
  296. package/dist/upgrade/migrateArtifactsV2ToV3.js.map +1 -1
  297. package/dist/upgrade/nextMajorDoctor.js +20 -1
  298. package/dist/upgrade/nextMajorDoctor.js.map +1 -1
  299. package/dist/upgrade/npxPlatformStatus.js +24 -0
  300. package/dist/upgrade/npxPlatformStatus.js.map +1 -0
  301. package/dist/upgrade/projectIntegration.js +55 -70
  302. package/dist/upgrade/projectIntegration.js.map +1 -1
  303. package/dist/upgrade/projectIntegrationDecision.js +93 -0
  304. package/dist/upgrade/projectIntegrationDecision.js.map +1 -0
  305. package/dist/upgrade/runtimeMigration.js +13 -2
  306. package/dist/upgrade/runtimeMigration.js.map +1 -1
  307. package/dist/upgrade/v3CapabilitySurface.js +15 -0
  308. package/dist/upgrade/v3CapabilitySurface.js.map +1 -0
  309. package/dist/upgrade/versionResolution.js +8 -0
  310. package/dist/upgrade/versionResolution.js.map +1 -1
  311. package/dist/validate/appHomeContract.js +3 -3
  312. package/dist/validate/appHomeContract.js.map +1 -1
  313. package/dist/validate/lifecycleAdapters/legacyPythonParity.js +93 -0
  314. package/dist/validate/lifecycleAdapters/legacyPythonParity.js.map +1 -0
  315. package/dist/validate/lifecycleAdapters/nodeFormChecks.js +488 -0
  316. package/dist/validate/lifecycleAdapters/nodeFormChecks.js.map +1 -0
  317. package/dist/validate/lifecycleAdapters/shared.js +198 -0
  318. package/dist/validate/lifecycleAdapters/shared.js.map +1 -0
  319. package/dist/validate/lifecycleAdapters.js +12 -722
  320. package/dist/validate/lifecycleAdapters.js.map +1 -1
  321. package/dist/validate/selfAudit.js +62 -20
  322. package/dist/validate/selfAudit.js.map +1 -1
  323. package/dist/validate/vocabularyAuthority.js +298 -0
  324. package/dist/validate/vocabularyAuthority.js.map +1 -0
  325. package/package.json +3 -3
  326. package/bundle/references/v1-section-mapping.md +0 -47
  327. package/bundle/skills/hej/.claude-plugin/plugin.json +0 -6
  328. package/bundle/skills/hej/SKILL.md +0 -69
  329. package/bundle/skills/hej/agents/hej.toml +0 -11
  330. package/bundle/skills/hej/agents/openai.yaml +0 -8
  331. package/dist/cli/commands/state.js +0 -1023
  332. package/dist/cli/commands/state.js.map +0 -1
  333. package/dist/hooks/compaction.js +0 -935
  334. package/dist/hooks/compaction.js.map +0 -1
  335. package/dist/hooks/validateArtifact.js +0 -935
  336. package/dist/hooks/validateArtifact.js.map +0 -1
@@ -0,0 +1,557 @@
1
+ import fs from "node:fs";
2
+ import path from "node:path";
3
+ import os from "node:os";
4
+ import { sourceProvenance, uniqueList } from "./shared.js";
5
+ export const BENCHMARK_CONTEXT_CMD = "agentera prime --context optimera --format json";
6
+ export const BENCHMARK_LATEST_REPORT_LABEL = "startup_benchmark_latest_report";
7
+ export const BENCHMARK_HISTORY_LABEL = "startup_benchmark_history";
8
+ export const BENCHMARK_CONTEXT_SOURCE_LABELS = [BENCHMARK_LATEST_REPORT_LABEL, BENCHMARK_HISTORY_LABEL];
9
+ export const BENCHMARK_TOKEN_NULL_REASONS = [
10
+ "previous_row_missing", "previous_missing_token_estimates", "estimator_version_mismatch",
11
+ "runtime_scope_mismatch", "benchmark_mode_mismatch", "contract_version_mismatch",
12
+ ];
13
+ export const BENCHMARK_RECOMMENDATION_ACTIONS = new Set([
14
+ "plan_cli_startup_envelope", "targeted_capability_guidance_fixes", "close_without_implementation",
15
+ ]);
16
+ export const BENCHMARK_CAVEATED_RUNTIME_STATUSES = new Set(["degraded", "missing", "skipped", "locked", "unreadable"]);
17
+ export const BENCHMARK_FORBIDDEN_OUTPUTS = [
18
+ "raw_transcripts", "raw_corpus_files", "raw_intermediates", "raw_runtime_store_paths", "raw_session_ids",
19
+ "private_salts", "generated_salted_hashes", "raw_benchmark_report_bodies", "full_local_benchmark_paths",
20
+ ];
21
+ export const BENCHMARK_SAFE_LABEL_RE = /^[A-Za-z0-9][A-Za-z0-9 .:_-]{0,79}$/;
22
+ export const BENCHMARK_SAFE_SCALAR_RE = /^[A-Za-z0-9][A-Za-z0-9 .:_+@-]{0,119}$/;
23
+ export const HEX16_RE = /^[0-9a-fA-F]{16,}$/;
24
+ export function agenteraDataHome(env = process.env) {
25
+ const override = env.AGENTERA_HOME;
26
+ if (override)
27
+ return override.startsWith("~") ? path.join(os.homedir(), override.slice(1)) : override;
28
+ if (process.platform === "darwin")
29
+ return path.join(os.homedir(), "Library", "Application Support", "agentera");
30
+ if (process.platform === "win32")
31
+ return path.join(env.APPDATA ?? path.join(os.homedir(), "AppData", "Roaming"), "agentera");
32
+ return path.join(env.XDG_DATA_HOME ?? path.join(os.homedir(), ".local", "share"), "agentera");
33
+ }
34
+ export function startupBenchmarkDir() {
35
+ return path.join(agenteraDataHome(), "benchmarks", "startup-state");
36
+ }
37
+ export function safeBenchmarkNumber(value) {
38
+ if (typeof value === "boolean")
39
+ return null;
40
+ if (typeof value === "number")
41
+ return value;
42
+ return null;
43
+ }
44
+ export function safeBenchmarkLabel(value) {
45
+ if (typeof value !== "string")
46
+ return null;
47
+ const label = value.trim();
48
+ if (!label || label.includes("/") || label.includes("\\"))
49
+ return null;
50
+ if (HEX16_RE.test(label))
51
+ return null;
52
+ if (!BENCHMARK_SAFE_LABEL_RE.test(label))
53
+ return null;
54
+ return label;
55
+ }
56
+ export function safeBenchmarkScalar(value, field, allowed = null) {
57
+ if (value === null || value === undefined)
58
+ return [null, []];
59
+ if (typeof value !== "string")
60
+ return [null, [`${field} was omitted because it is not a bounded string value.`]];
61
+ const text = value.trim();
62
+ if (allowed !== null && !allowed.has(text))
63
+ return [null, [`${field} was omitted because it is not a supported bounded value.`]];
64
+ if (!text || text.includes("/") || text.includes("\\") || HEX16_RE.test(text))
65
+ return [null, [`${field} was omitted at the benchmark privacy boundary.`]];
66
+ if (!BENCHMARK_SAFE_SCALAR_RE.test(text))
67
+ return [null, [`${field} was omitted because it is outside the bounded scalar contract.`]];
68
+ return [text, []];
69
+ }
70
+ export function safeBenchmarkLabelCounts(value, family) {
71
+ if (!value || typeof value !== "object" || Array.isArray(value))
72
+ return [{}, []];
73
+ const counts = {};
74
+ let dropped = 0;
75
+ for (const [key, rawCount] of Object.entries(value)) {
76
+ const label = safeBenchmarkLabel(key);
77
+ const count = safeBenchmarkNumber(rawCount);
78
+ if (label === null || count === null) {
79
+ dropped += 1;
80
+ continue;
81
+ }
82
+ counts[label] = count;
83
+ }
84
+ const caveats = [];
85
+ if (dropped)
86
+ caveats.push(`${family} omitted ${dropped} unsafe label(s) at the benchmark privacy boundary.`);
87
+ const sorted = {};
88
+ for (const k of Object.keys(counts).sort())
89
+ sorted[k] = counts[k];
90
+ return [sorted, caveats];
91
+ }
92
+ export function readBenchmarkJson(p, label) {
93
+ let text;
94
+ try {
95
+ text = fs.readFileSync(p, "utf8");
96
+ }
97
+ catch (exc) {
98
+ if (exc.code === "ENOENT")
99
+ return ["missing", null, [`${label} is missing from retained startup benchmark evidence.`]];
100
+ return ["unreadable", null, [`${label} could not be read by the CLI.`]];
101
+ }
102
+ if (!text.trim())
103
+ return ["empty", null, [`${label} is empty.`]];
104
+ let data;
105
+ try {
106
+ data = JSON.parse(text);
107
+ }
108
+ catch {
109
+ return ["malformed", null, [`${label} is malformed JSON.`]];
110
+ }
111
+ if (!data || typeof data !== "object" || Array.isArray(data) || Object.keys(data).length === 0) {
112
+ return ["empty", null, [`${label} did not contain a non-empty JSON object.`]];
113
+ }
114
+ return ["available", data, []];
115
+ }
116
+ export function readBenchmarkHistory(p) {
117
+ let text;
118
+ try {
119
+ text = fs.readFileSync(p, "utf8");
120
+ }
121
+ catch (exc) {
122
+ if (exc.code === "ENOENT")
123
+ return ["missing", [], [`${BENCHMARK_HISTORY_LABEL} is missing from retained startup benchmark evidence.`]];
124
+ return ["unreadable", [], [`${BENCHMARK_HISTORY_LABEL} could not be read by the CLI.`]];
125
+ }
126
+ const lines = text.split(/\r\n|\r|\n/).filter((line) => line.trim());
127
+ if (lines.length === 0)
128
+ return ["empty", [], ["Startup benchmark aggregate history exists but has no rows."]];
129
+ const rows = [];
130
+ let malformed = 0;
131
+ for (const line of lines) {
132
+ let row;
133
+ try {
134
+ row = JSON.parse(line);
135
+ }
136
+ catch {
137
+ malformed += 1;
138
+ continue;
139
+ }
140
+ if (row && typeof row === "object" && !Array.isArray(row))
141
+ rows.push(row);
142
+ else
143
+ malformed += 1;
144
+ }
145
+ if (malformed)
146
+ return ["malformed", rows, [`Startup benchmark aggregate history has ${malformed} malformed row(s).`]];
147
+ if (rows.length === 0)
148
+ return ["empty", [], ["Startup benchmark aggregate history has no usable rows."]];
149
+ return ["available", rows, []];
150
+ }
151
+ export function latestBenchmarkSummary(status, report, caveats) {
152
+ const source = sourceProvenance("benchmark_context", BENCHMARK_CONTEXT_CMD, "latest_report");
153
+ if (status !== "available" || report === null) {
154
+ return {
155
+ status, source_label: BENCHMARK_LATEST_REPORT_LABEL, source_provenance: source,
156
+ non_empty_evidence_present: false, contract_version: null, generated_at: null, benchmark_mode: null,
157
+ benchmark_window: {}, total_records: null, total_state_sequences: null, caveats,
158
+ };
159
+ }
160
+ const sc = [...caveats];
161
+ const scalar = (key) => {
162
+ const [v, c] = safeBenchmarkScalar(report[key], `latest_report.${key}`);
163
+ sc.push(...c);
164
+ return v;
165
+ };
166
+ const contractVersion = scalar("contract_version");
167
+ const generatedAt = scalar("generated_at");
168
+ const benchmarkMode = scalar("benchmark_mode");
169
+ const previousWatermark = scalar("benchmark_previous_watermark_at");
170
+ const windowStarted = scalar("benchmark_window_started_after");
171
+ const watermarkAt = scalar("benchmark_watermark_at");
172
+ const totalStateSequences = safeBenchmarkNumber(report.total_state_sequences);
173
+ if (totalStateSequences === null)
174
+ sc.push("Latest startup benchmark report is missing total_state_sequences.");
175
+ return {
176
+ status: "available", source_label: BENCHMARK_LATEST_REPORT_LABEL, source_provenance: source,
177
+ non_empty_evidence_present: true, contract_version: contractVersion, generated_at: generatedAt,
178
+ benchmark_mode: benchmarkMode,
179
+ benchmark_window: { previous_watermark_at: previousWatermark, window_started_after: windowStarted, watermark_at: watermarkAt },
180
+ total_records: safeBenchmarkNumber(report.total_records), total_state_sequences: totalStateSequences, caveats: sc,
181
+ };
182
+ }
183
+ export function historyBenchmarkSummary(status, rows, caveats) {
184
+ const latest = rows.length > 0 ? rows[rows.length - 1] : null;
185
+ let latestSummary = null;
186
+ const sc = [...caveats];
187
+ if (latest) {
188
+ const runtimeScope = Array.isArray(latest.runtime_scope) ? latest.runtime_scope : [];
189
+ const safeScope = runtimeScope.map((v) => safeBenchmarkLabel(v)).filter((l) => l !== null);
190
+ if (safeScope.length !== runtimeScope.length)
191
+ sc.push("Startup benchmark history omitted unsafe runtime-scope label(s).");
192
+ const scalar = (key, allowed = null) => {
193
+ const [v, c] = safeBenchmarkScalar(latest[key], `history_summary.latest_row.${key}`, allowed);
194
+ sc.push(...c);
195
+ return v;
196
+ };
197
+ const generatedAt = scalar("generated_at");
198
+ const agenteraVersion = scalar("agentera_version");
199
+ const benchmarkMode = scalar("benchmark_mode");
200
+ const recommendationAction = scalar("startup_recommendation_action", BENCHMARK_RECOMMENDATION_ACTIONS);
201
+ latestSummary = {
202
+ generated_at: generatedAt, agentera_version: agenteraVersion, runtime_scope: safeScope,
203
+ benchmark_mode: benchmarkMode, total_state_sequences: safeBenchmarkNumber(latest.total_state_sequences),
204
+ raw_after_cli_rate: safeBenchmarkNumber(latest.raw_after_cli_rate),
205
+ redundant_raw_access_rate: safeBenchmarkNumber(latest.redundant_raw_access_rate),
206
+ startup_recommendation_action: recommendationAction,
207
+ };
208
+ }
209
+ return {
210
+ status, source_label: BENCHMARK_HISTORY_LABEL,
211
+ source_provenance: sourceProvenance("benchmark_context", BENCHMARK_CONTEXT_CMD, "history_summary"),
212
+ non_empty_evidence_present: rows.length > 0, row_count: rows.length, latest_row: latestSummary, caveats: sc,
213
+ };
214
+ }
215
+ export function runtimeBenchmarkCoverage(reportStatus, report) {
216
+ const source = sourceProvenance("benchmark_context", BENCHMARK_CONTEXT_CMD, "runtime_coverage");
217
+ const miss = (caveat) => ({
218
+ status: "missing", source_label: BENCHMARK_LATEST_REPORT_LABEL, source_provenance: source,
219
+ non_empty_evidence_present: false, items: [], status_counts: {}, caveats: [caveat],
220
+ });
221
+ if (reportStatus !== "available" || report === null)
222
+ return miss("Runtime coverage is unavailable without a valid latest startup benchmark report.");
223
+ const rawItems = report.runtime_coverage;
224
+ if (!Array.isArray(rawItems))
225
+ return miss("Latest startup benchmark report has no runtime_coverage list.");
226
+ const items = [];
227
+ let caveats = [];
228
+ const statusCounts = {};
229
+ for (const raw of rawItems.slice(0, 12)) {
230
+ if (!raw || typeof raw !== "object" || Array.isArray(raw)) {
231
+ caveats.push("Runtime coverage omitted a non-object item.");
232
+ continue;
233
+ }
234
+ const runtime = safeBenchmarkLabel(raw.runtime);
235
+ let status = safeBenchmarkLabel(raw.status);
236
+ const reason = safeBenchmarkLabel(raw.reason);
237
+ if (runtime === null) {
238
+ caveats.push("Runtime coverage omitted an unsafe runtime label.");
239
+ continue;
240
+ }
241
+ status = status || "unknown";
242
+ statusCounts[status] = (statusCounts[status] ?? 0) + 1;
243
+ const item = { runtime, status };
244
+ if (reason)
245
+ item.reason = reason;
246
+ for (const key of ["record_count", "file_count", "error_count"]) {
247
+ const number = safeBenchmarkNumber(raw[key]);
248
+ if (number !== null)
249
+ item[key] = number;
250
+ }
251
+ items.push(item);
252
+ }
253
+ if (rawItems.length > items.length)
254
+ caveats.push("Runtime coverage summary is bounded and may omit invalid or excess rows.");
255
+ const caveatedStatuses = [...new Set(items.map((i) => String(i.status)).filter((s) => BENCHMARK_CAVEATED_RUNTIME_STATUSES.has(s)))].sort();
256
+ let statusValue;
257
+ if (caveatedStatuses.length > 0) {
258
+ statusValue = "degraded";
259
+ caveats.push("One or more runtime stores are missing, skipped, locked, unreadable, or degraded; " +
260
+ "treat this as benchmark evidence caveat, not successful product behavior.");
261
+ }
262
+ else if (items.some((i) => i.status === "sparse")) {
263
+ statusValue = "sparse";
264
+ caveats.push("One or more runtime stores are sparse; benchmark coverage is caveated.");
265
+ }
266
+ else if (items.length > 0) {
267
+ statusValue = "available";
268
+ }
269
+ else {
270
+ statusValue = "missing";
271
+ caveats.push("Runtime coverage has no usable bounded rows.");
272
+ }
273
+ const sortedCounts = {};
274
+ for (const k of Object.keys(statusCounts).sort())
275
+ sortedCounts[k] = statusCounts[k];
276
+ return {
277
+ status: statusValue, source_label: BENCHMARK_LATEST_REPORT_LABEL, source_provenance: source,
278
+ non_empty_evidence_present: items.length > 0, items, status_counts: sortedCounts, caveats: uniqueList(caveats),
279
+ };
280
+ }
281
+ export function stateAccessBenchmarkMetrics(reportStatus, report) {
282
+ const source = sourceProvenance("benchmark_context", BENCHMARK_CONTEXT_CMD, "state_access_metrics");
283
+ if (reportStatus !== "available" || report === null) {
284
+ return {
285
+ status: "missing", source_label: BENCHMARK_LATEST_REPORT_LABEL, source_provenance: source,
286
+ non_empty_evidence_present: false,
287
+ caveats: ["State-access metrics are unavailable without a valid latest startup benchmark report."],
288
+ };
289
+ }
290
+ const caveats = [];
291
+ const [cliCounts, c1] = safeBenchmarkLabelCounts(report.cli_state_command_counts, "cli_state_command_counts");
292
+ const [rawCounts, c2] = safeBenchmarkLabelCounts(report.raw_artifact_access_after_cli_counts, "raw_artifact_access_after_cli_counts");
293
+ const [redundantCounts, c3] = safeBenchmarkLabelCounts(report.redundant_raw_artifact_access_counts, "redundant_raw_artifact_access_counts");
294
+ const [capabilityCounts, c4] = safeBenchmarkLabelCounts(report.per_capability_state_counts, "per_capability_state_counts");
295
+ caveats.push(...c1, ...c2, ...c3, ...c4);
296
+ const required = {
297
+ total_state_sequences: safeBenchmarkNumber(report.total_state_sequences),
298
+ state_sequences_with_raw_after_cli: safeBenchmarkNumber(report.state_sequences_with_raw_after_cli),
299
+ state_sequences_with_redundant_raw_access: safeBenchmarkNumber(report.state_sequences_with_redundant_raw_access),
300
+ raw_after_cli_sequence_rate: safeBenchmarkNumber(report.raw_after_cli_sequence_rate),
301
+ redundant_raw_sequence_rate: safeBenchmarkNumber(report.redundant_raw_sequence_rate),
302
+ };
303
+ const missing = Object.entries(required).filter(([, v]) => v === null).map(([k]) => k);
304
+ if (missing.length > 0)
305
+ caveats.push(`Latest startup benchmark report is missing state-access metric fields: ${missing.join(", ")}.`);
306
+ if (required.total_state_sequences === 0)
307
+ caveats.push("Startup benchmark observed zero state-gathering sequences; optimization conclusions are weak.");
308
+ return {
309
+ status: missing.length > 0 ? "incomplete" : "available",
310
+ source_label: BENCHMARK_LATEST_REPORT_LABEL, source_provenance: source,
311
+ non_empty_evidence_present: missing.length === 0,
312
+ ...required,
313
+ total_cli_state_calls: safeBenchmarkNumber(report.total_cli_state_calls),
314
+ total_raw_artifact_access_after_cli: safeBenchmarkNumber(report.total_raw_artifact_access_after_cli),
315
+ total_redundant_raw_artifact_accesses: safeBenchmarkNumber(report.total_redundant_raw_artifact_accesses),
316
+ cli_state_command_counts: cliCounts,
317
+ raw_artifact_access_after_cli_counts: rawCounts,
318
+ redundant_raw_artifact_access_counts: redundantCounts,
319
+ per_capability_state_counts: capabilityCounts,
320
+ caveats: uniqueList(caveats),
321
+ };
322
+ }
323
+ export function tokenBenchmarkImpact(reportStatus, report) {
324
+ const source = sourceProvenance("benchmark_context", BENCHMARK_CONTEXT_CMD, "token_impact");
325
+ if (reportStatus !== "available" || report === null) {
326
+ return {
327
+ status: "missing", source_label: BENCHMARK_LATEST_REPORT_LABEL, source_provenance: source,
328
+ non_empty_evidence_present: false,
329
+ caveats: ["Token-impact estimates are unavailable without a valid latest startup benchmark report."],
330
+ };
331
+ }
332
+ const [rawByArtifact, rawCaveats] = safeBenchmarkLabelCounts(report.estimated_raw_after_cli_tokens_by_artifact, "estimated_raw_after_cli_tokens_by_artifact");
333
+ const [redundantByArtifact, redundantCaveats] = safeBenchmarkLabelCounts(report.estimated_redundant_raw_tokens_by_artifact, "estimated_redundant_raw_tokens_by_artifact");
334
+ const [estimatorVersion, estimatorCaveats] = safeBenchmarkScalar(report.token_estimator_version, "token_impact.token_estimator_version");
335
+ const required = {
336
+ token_estimator_version: estimatorVersion,
337
+ estimated_raw_after_cli_tokens: safeBenchmarkNumber(report.estimated_raw_after_cli_tokens),
338
+ estimated_redundant_raw_tokens: safeBenchmarkNumber(report.estimated_redundant_raw_tokens),
339
+ };
340
+ const missing = Object.entries(required).filter(([, v]) => v === null || v === undefined || v === "").map(([k]) => k);
341
+ const caveats = [...rawCaveats, ...redundantCaveats, ...estimatorCaveats];
342
+ if (missing.length > 0)
343
+ caveats.push(`Latest startup benchmark report is missing token-impact fields: ${missing.join(", ")}.`);
344
+ return {
345
+ status: missing.length > 0 ? "missing" : "available",
346
+ source_label: BENCHMARK_LATEST_REPORT_LABEL, source_provenance: source,
347
+ non_empty_evidence_present: missing.length === 0,
348
+ ...required,
349
+ estimated_raw_after_cli_tokens_by_artifact: rawByArtifact,
350
+ estimated_redundant_raw_tokens_by_artifact: redundantByArtifact,
351
+ caveats: uniqueList(caveats),
352
+ };
353
+ }
354
+ export function benchmarkComparison(reportStatus, report) {
355
+ const source = sourceProvenance("benchmark_context", BENCHMARK_CONTEXT_CMD, "comparison");
356
+ if (reportStatus !== "available" || report === null) {
357
+ return {
358
+ status: "missing", source_label: BENCHMARK_LATEST_REPORT_LABEL, source_provenance: source,
359
+ estimated_tokens_saved_vs_previous: null, null_reason: null, allowed_null_reasons: BENCHMARK_TOKEN_NULL_REASONS,
360
+ caveats: ["Benchmark comparison is unavailable without a valid latest startup benchmark report."],
361
+ };
362
+ }
363
+ const saved = report.estimated_tokens_saved_vs_previous;
364
+ const reason = report.estimated_tokens_saved_vs_previous_null_reason;
365
+ let status;
366
+ let caveats;
367
+ if (safeBenchmarkNumber(saved) !== null) {
368
+ status = "comparable";
369
+ caveats = [];
370
+ }
371
+ else if (BENCHMARK_TOKEN_NULL_REASONS.includes(reason)) {
372
+ status = "not_comparable";
373
+ caveats = [`Benchmark comparison is not comparable: ${reason}.`];
374
+ }
375
+ else {
376
+ status = "missing";
377
+ caveats = ["Benchmark comparison status is missing from latest startup benchmark report."];
378
+ }
379
+ return {
380
+ status, source_label: BENCHMARK_LATEST_REPORT_LABEL, source_provenance: source,
381
+ estimated_tokens_saved_vs_previous: safeBenchmarkNumber(saved),
382
+ null_reason: BENCHMARK_TOKEN_NULL_REASONS.includes(reason) ? reason : null,
383
+ allowed_null_reasons: BENCHMARK_TOKEN_NULL_REASONS, caveats,
384
+ };
385
+ }
386
+ export function benchmarkRecommendation(reportStatus, report) {
387
+ const source = sourceProvenance("benchmark_context", BENCHMARK_CONTEXT_CMD, "recommendation");
388
+ const miss = (caveat) => ({
389
+ status: "missing", source_label: BENCHMARK_LATEST_REPORT_LABEL, source_provenance: source,
390
+ action: null, measured_trigger: null, rationale: null, rationale_present: false,
391
+ rationale_boundary: "not_emitted_from_retained_report", implementation_recommended: false, caveats: [caveat],
392
+ });
393
+ if (reportStatus !== "available" || report === null)
394
+ return miss("Startup benchmark recommendation is unavailable without a valid latest report.");
395
+ const recommendation = report.startup_recommendation;
396
+ if (!recommendation || typeof recommendation !== "object" || Array.isArray(recommendation)) {
397
+ return miss("Latest startup benchmark report has no startup_recommendation object.");
398
+ }
399
+ const rec = recommendation;
400
+ const caveats = [];
401
+ let action = rec.action;
402
+ if (!BENCHMARK_RECOMMENDATION_ACTIONS.has(action)) {
403
+ action = "omitted_by_privacy_boundary";
404
+ caveats.push("Startup benchmark recommendation action was omitted because it is not a supported bounded value.");
405
+ }
406
+ let trigger = rec.measured_trigger;
407
+ if (typeof trigger === "string" && safeBenchmarkLabel(trigger) === null) {
408
+ trigger = "omitted_by_privacy_boundary";
409
+ caveats.push("Startup benchmark recommendation trigger was omitted at the privacy boundary.");
410
+ }
411
+ else if (typeof trigger !== "string") {
412
+ trigger = null;
413
+ }
414
+ const rationalePresent = typeof rec.rationale === "string" && rec.rationale.trim().length > 0;
415
+ if (rationalePresent)
416
+ caveats.push("Startup benchmark recommendation rationale is present but not emitted from retained benchmark JSON.");
417
+ return {
418
+ status: "available", source_label: BENCHMARK_LATEST_REPORT_LABEL, source_provenance: source,
419
+ action, measured_trigger: trigger, rationale: null, rationale_present: rationalePresent,
420
+ rationale_boundary: "not_emitted_from_retained_report",
421
+ implementation_recommended: Boolean(report.implementation_recommended), caveats,
422
+ };
423
+ }
424
+ export function benchmarkManualRefresh(complete, latestReport, stateMetrics) {
425
+ const caveats = ["The CLI did not run `mage bench:startupState`; benchmark refresh is manual-only by design."];
426
+ let status;
427
+ if (["missing", "empty", "malformed", "unreadable"].includes(latestReport.status)) {
428
+ status = "requires_manual_run";
429
+ caveats.push("Retained startup benchmark evidence is absent or invalid; run the manual benchmark before using it for optimization decisions.");
430
+ }
431
+ else if (stateMetrics.total_state_sequences === 0) {
432
+ status = "requires_manual_run";
433
+ caveats.push("Retained startup benchmark evidence has zero state-gathering sequences; refresh or gather better evidence before optimizing from it.");
434
+ }
435
+ else if (complete) {
436
+ status = "available";
437
+ }
438
+ else {
439
+ status = "requires_manual_run";
440
+ }
441
+ return { status, command: "mage bench:startupState", execution_status: "not_run_by_design", auto_run: false, caveats: uniqueList(caveats) };
442
+ }
443
+ export function benchmarkPrivacyBoundary() {
444
+ return {
445
+ status: "enforced",
446
+ source_provenance: sourceProvenance("benchmark_context", BENCHMARK_CONTEXT_CMD, "privacy_boundary"),
447
+ user_local_benchmark_reads: "cli_internal_summary_only",
448
+ normal_agent_file_reads: "last_resort_diagnostics_only",
449
+ raw_paths_emitted: false, raw_report_bodies_emitted: false, forbidden_outputs: BENCHMARK_FORBIDDEN_OUTPUTS,
450
+ allowed_outputs: [
451
+ "canonical source labels", "canonical runtime labels", "canonical artifact labels",
452
+ "bounded counts and rates", "token estimate aggregates", "comparison null reasons", "manual refresh command",
453
+ ],
454
+ };
455
+ }
456
+ export function optimeraBenchmarkContext(capability) {
457
+ if (capability !== "optimera")
458
+ return null;
459
+ const benchmarkDir = startupBenchmarkDir();
460
+ const [latestStatus, latestData, latestCaveats] = readBenchmarkJson(path.join(benchmarkDir, "latest-report.json"), BENCHMARK_LATEST_REPORT_LABEL);
461
+ const [historyStatus, historyRows, historyCaveats] = readBenchmarkHistory(path.join(benchmarkDir, "runs.jsonl"));
462
+ const latestReport = latestBenchmarkSummary(latestStatus, latestData, latestCaveats);
463
+ const historySummary = historyBenchmarkSummary(historyStatus, historyRows, historyCaveats);
464
+ const runtimeCoverage = runtimeBenchmarkCoverage(latestStatus, latestData);
465
+ const stateMetrics = stateAccessBenchmarkMetrics(latestStatus, latestData);
466
+ const tokenImpact = tokenBenchmarkImpact(latestStatus, latestData);
467
+ const comparison = benchmarkComparison(latestStatus, latestData);
468
+ const recommendation = benchmarkRecommendation(latestStatus, latestData);
469
+ const privacyBoundary = benchmarkPrivacyBoundary();
470
+ const requiredState = {
471
+ latest_report: latestReport.status === "available" && Boolean(latestReport.non_empty_evidence_present),
472
+ history_summary: ["available", "empty"].includes(historySummary.status),
473
+ runtime_coverage: runtimeCoverage.status !== "missing",
474
+ state_access_metrics: stateMetrics.status === "available",
475
+ token_impact_status: ["available", "missing"].includes(tokenImpact.status),
476
+ recommendation_status: ["available", "missing"].includes(recommendation.status),
477
+ source_contract: true,
478
+ };
479
+ const missingRequired = Object.entries(requiredState).filter(([, present]) => !present).map(([k]) => k);
480
+ const complete = missingRequired.length === 0;
481
+ const manualRefresh = benchmarkManualRefresh(complete, latestReport, stateMetrics);
482
+ const benchmarkSourceCaveats = [...latestCaveats, ...historyCaveats];
483
+ const retainedOutputs = [
484
+ { source_label: BENCHMARK_LATEST_REPORT_LABEL, filename: "latest-report.json", status: latestStatus },
485
+ { source_label: BENCHMARK_HISTORY_LABEL, filename: "runs.jsonl", status: historyStatus },
486
+ { source_label: "startup_benchmark_latest_markdown", filename: "latest-report.md", status: "not_read_by_context" },
487
+ ];
488
+ const caveats = uniqueList([
489
+ ...benchmarkSourceCaveats,
490
+ ...(latestReport.caveats ?? []),
491
+ ...(historySummary.caveats ?? []),
492
+ ...(runtimeCoverage.caveats ?? []),
493
+ ...(stateMetrics.caveats ?? []),
494
+ ...(tokenImpact.caveats ?? []),
495
+ ...(comparison.caveats ?? []),
496
+ ...(recommendation.caveats ?? []),
497
+ ...(manualRefresh.caveats ?? []),
498
+ ]);
499
+ const fallbackCommands = ["agentera state docs --format json", "agentera state query --list-artifacts --format json"];
500
+ return {
501
+ capability: "optimera",
502
+ benchmark_source: {
503
+ status: latestStatus === "available" && ["available", "empty"].includes(historyStatus) ? "available" : "incomplete",
504
+ source_provenance: sourceProvenance("benchmark_context", BENCHMARK_CONTEXT_CMD, "benchmark_source"),
505
+ retained_outputs: retainedOutputs,
506
+ non_empty_evidence_present: Boolean(latestReport.non_empty_evidence_present) || Boolean(historySummary.non_empty_evidence_present),
507
+ normal_read_policy: "Agents consume this CLI summary first; direct retained benchmark file reads are last-resort diagnostics.",
508
+ caveats: benchmarkSourceCaveats,
509
+ },
510
+ latest_report: latestReport,
511
+ history_summary: historySummary,
512
+ runtime_coverage: runtimeCoverage,
513
+ state_access_metrics: stateMetrics,
514
+ token_impact: tokenImpact,
515
+ comparison,
516
+ recommendation,
517
+ manual_refresh: manualRefresh,
518
+ privacy_boundary: privacyBoundary,
519
+ state_family_caveats: caveats,
520
+ fallback_commands: fallbackCommands,
521
+ source_contract: {
522
+ complete_for_benchmark_context: complete,
523
+ caveated: caveats.length > 0,
524
+ raw_artifact_reads_required: false,
525
+ raw_artifact_read_policy: "Use this benchmark_context from `agentera prime --context optimera --format json` first. " +
526
+ "If incomplete, follow fallback_commands and manual_refresh before any last-resort direct latest-report.json, " +
527
+ "latest-report.md, or runs.jsonl diagnostic read.",
528
+ benchmark_state_families: [
529
+ "latest_report", "history_summary", "runtime_coverage", "state_access_metrics", "token_impact",
530
+ "comparison", "recommendation", "manual_refresh", "privacy_boundary",
531
+ ],
532
+ required_benchmark_state: requiredState,
533
+ missing_required_benchmark_state: missingRequired,
534
+ source_labels: BENCHMARK_CONTEXT_SOURCE_LABELS,
535
+ fallback_commands: fallbackCommands,
536
+ manual_refresh_status: manualRefresh.status,
537
+ privacy_boundary: { raw_paths_emitted: false, raw_report_bodies_emitted: false, forbidden_outputs: BENCHMARK_FORBIDDEN_OUTPUTS },
538
+ caveats,
539
+ owns: [
540
+ "retained startup benchmark source status",
541
+ "latest report summary",
542
+ "aggregate history summary",
543
+ "runtime coverage caveats",
544
+ "state-access rates and counts",
545
+ "token-impact estimates",
546
+ "comparison null reasons",
547
+ "startup recommendation action",
548
+ "manual refresh guidance",
549
+ "privacy boundary",
550
+ "raw-read-last-resort policy",
551
+ "truthful completeness metadata",
552
+ ],
553
+ deferred: ["2.3.12 Realisera execution-context state"],
554
+ },
555
+ };
556
+ }
557
+ //# sourceMappingURL=benchmark.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"benchmark.js","sourceRoot":"","sources":["../../../src/cli/capabilityContext/benchmark.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { orchestrationContext } from "./orchestration.js";
2
+ import { dokumenteraCloseoutContext } from "./closeout.js";
3
+ import { inspekteraEvidenceContext } from "./evidence.js";
4
+ import { optimeraBenchmarkContext } from "./benchmark.js";
5
+ import { realiseraExecutionContext } from "./realisera.js";
6
+ import { slimOrchestrationContext, slimEvidenceContext, slimCloseoutContext } from "./slim.js";
7
+ export function slimBespokeContext(name, value) {
8
+ if (name === "orchestration_context")
9
+ return slimOrchestrationContext(value);
10
+ if (name === "evidence_context")
11
+ return slimEvidenceContext(value);
12
+ if (name === "closeout_context")
13
+ return slimCloseoutContext(value);
14
+ return value;
15
+ }
16
+ export function bespokeCapabilityContexts(capabilityName, state) {
17
+ return {
18
+ orchestration_context: orchestrationContext(capabilityName, state.plan, state.progress, state.health, state.todo_items, state.docs, state.profile_dict, state.next_action),
19
+ closeout_context: dokumenteraCloseoutContext(capabilityName, state.schemas, state.plan, state.progress, state.todo_items, state.docs, state.profile_dict, state.bundle),
20
+ evidence_context: inspekteraEvidenceContext(capabilityName, state.schemas, state.plan, state.progress, state.health, state.todo_items, state.docs, state.profile_dict, state.bundle),
21
+ benchmark_context: optimeraBenchmarkContext(capabilityName),
22
+ execution_context: realiseraExecutionContext(capabilityName, state.schemas, state.plan, state.progress, state.health, state.todo_items, state.docs, state.profile_dict, state.bundle),
23
+ };
24
+ }
25
+ //# sourceMappingURL=bespoke.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bespoke.js","sourceRoot":"","sources":["../../../src/cli/capabilityContext/bespoke.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAE/F,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,KAAW;IAC1D,IAAI,IAAI,KAAK,uBAAuB;QAAE,OAAO,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAC7E,IAAI,IAAI,KAAK,kBAAkB;QAAE,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;IACnE,IAAI,IAAI,KAAK,kBAAkB;QAAE,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;IACnE,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,cAA6B,EAAE,KAAW;IAClF,OAAO;QACL,qBAAqB,EAAE,oBAAoB,CACzC,cAAc,EACd,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,WAAW,CAClB;QACD,gBAAgB,EAAE,0BAA0B,CAC1C,cAAc,EACd,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,MAAM,CACb;QACD,gBAAgB,EAAE,yBAAyB,CACzC,cAAc,EACd,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,MAAM,CACb;QACD,iBAAiB,EAAE,wBAAwB,CAAC,cAAc,CAAC;QAC3D,iBAAiB,EAAE,yBAAyB,CAC1C,cAAc,EACd,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,MAAM,CACb;KACF,CAAC;AACJ,CAAC"}