agentera 3.0.0-dev.7 → 3.0.0-dev.72

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 (723) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +118 -22
  3. package/bundle/CHANGELOG.md +1361 -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 +252 -0
  8. package/bundle/extract-corpus-parity.json +2 -4
  9. package/bundle/fixtures/routing/hybrid-corpus.yaml +154 -0
  10. package/bundle/references/adapters/package-publication.json +488 -0
  11. package/bundle/references/adapters/package-registry.yaml +435 -188
  12. package/bundle/references/adapters/package-surface-characterization.md +66 -34
  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 +266 -0
  19. package/bundle/references/artifacts/artifact-registry-interface-model.yaml +17 -8
  20. package/bundle/references/artifacts/glossary-entry-contract.yaml +1254 -0
  21. package/bundle/references/artifacts/state-storage-authority.yaml +3061 -0
  22. package/bundle/references/artifacts/verbosity-budget-authority.yaml +42 -0
  23. package/bundle/references/cli/app-lifecycle-vocabulary.yaml +3 -4
  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 +152 -93
  27. package/bundle/references/cli/trigger-schema-enrichment.md +57 -46
  28. package/bundle/references/cli/update-channels.yaml +4 -2
  29. package/bundle/references/cli/vocabulary-index.yaml +5 -7
  30. package/bundle/references/cli/vocabulary.md +51 -93
  31. package/bundle/references/meta/retained-reference-authority.yaml +151 -0
  32. package/bundle/skills/agentera/SKILL.md +183 -63
  33. package/bundle/skills/agentera/capabilities/audit/schemas/artifacts.yaml +27 -19
  34. package/bundle/skills/agentera/capabilities/audit/schemas/exit.yaml +2 -2
  35. package/bundle/skills/agentera/capabilities/audit/schemas/triggers.yaml +13 -35
  36. package/bundle/skills/agentera/capabilities/audit/schemas/validation.yaml +30 -11
  37. package/bundle/skills/agentera/capabilities/build/schemas/artifacts.yaml +44 -21
  38. package/bundle/skills/agentera/capabilities/build/schemas/exit.yaml +8 -6
  39. package/bundle/skills/agentera/capabilities/build/schemas/triggers.yaml +14 -36
  40. package/bundle/skills/agentera/capabilities/build/schemas/validation.yaml +95 -21
  41. package/bundle/skills/agentera/capabilities/design/schemas/artifacts.yaml +6 -6
  42. package/bundle/skills/agentera/capabilities/design/schemas/exit.yaml +5 -5
  43. package/bundle/skills/agentera/capabilities/design/schemas/triggers.yaml +5 -34
  44. package/bundle/skills/agentera/capabilities/design/schemas/validation.yaml +2 -2
  45. package/bundle/skills/agentera/capabilities/discuss/schemas/artifacts.yaml +17 -13
  46. package/bundle/skills/agentera/capabilities/discuss/schemas/exit.yaml +2 -2
  47. package/bundle/skills/agentera/capabilities/discuss/schemas/triggers.yaml +6 -40
  48. package/bundle/skills/agentera/capabilities/discuss/schemas/validation.yaml +72 -5
  49. package/bundle/skills/agentera/capabilities/document/schemas/artifacts.yaml +24 -17
  50. package/bundle/skills/agentera/capabilities/document/schemas/triggers.yaml +5 -35
  51. package/bundle/skills/agentera/capabilities/document/schemas/validation.yaml +13 -13
  52. package/bundle/skills/agentera/capabilities/optimize/schemas/artifacts.yaml +10 -10
  53. package/bundle/skills/agentera/capabilities/optimize/schemas/exit.yaml +2 -2
  54. package/bundle/skills/agentera/capabilities/optimize/schemas/triggers.yaml +4 -35
  55. package/bundle/skills/agentera/capabilities/optimize/schemas/validation.yaml +3 -3
  56. package/bundle/skills/agentera/capabilities/orchestrate/schemas/artifacts.yaml +34 -22
  57. package/bundle/skills/agentera/capabilities/orchestrate/schemas/exit.yaml +9 -7
  58. package/bundle/skills/agentera/capabilities/orchestrate/schemas/triggers.yaml +5 -37
  59. package/bundle/skills/agentera/capabilities/orchestrate/schemas/validation.yaml +38 -37
  60. package/bundle/skills/agentera/capabilities/plan/schemas/artifacts.yaml +20 -16
  61. package/bundle/skills/agentera/capabilities/plan/schemas/triggers.yaml +8 -31
  62. package/bundle/skills/agentera/capabilities/plan/schemas/validation.yaml +66 -6
  63. package/bundle/skills/agentera/capabilities/profile/schemas/artifacts.yaml +9 -4
  64. package/bundle/skills/agentera/capabilities/profile/schemas/exit.yaml +4 -4
  65. package/bundle/skills/agentera/capabilities/profile/schemas/triggers.yaml +8 -37
  66. package/bundle/skills/agentera/capabilities/profile/schemas/validation.yaml +61 -3
  67. package/bundle/skills/agentera/capabilities/research/schemas/artifacts.yaml +6 -6
  68. package/bundle/skills/agentera/capabilities/research/schemas/triggers.yaml +5 -29
  69. package/bundle/skills/agentera/capabilities/status/schemas/artifacts.yaml +13 -12
  70. package/bundle/skills/agentera/capabilities/status/schemas/triggers.yaml +7 -49
  71. package/bundle/skills/agentera/capabilities/vision/schemas/artifacts.yaml +8 -8
  72. package/bundle/skills/agentera/capabilities/vision/schemas/exit.yaml +7 -6
  73. package/bundle/skills/agentera/capabilities/vision/schemas/triggers.yaml +7 -39
  74. package/bundle/skills/agentera/capabilities/vision/schemas/validation.yaml +14 -16
  75. package/bundle/skills/agentera/capability_schema_contract.yaml +32 -32
  76. package/bundle/skills/agentera/protocol.yaml +4 -4
  77. package/bundle/skills/agentera/route-phrases.yaml +81 -0
  78. package/bundle/skills/agentera/schemas/artifacts/changelog.yaml +1 -0
  79. package/bundle/skills/agentera/schemas/artifacts/decisions.yaml +30 -12
  80. package/bundle/skills/agentera/schemas/artifacts/design.yaml +1 -0
  81. package/bundle/skills/agentera/schemas/artifacts/docs.yaml +7 -12
  82. package/bundle/skills/agentera/schemas/artifacts/experiments.yaml +140 -9
  83. package/bundle/skills/agentera/schemas/artifacts/glossary.yaml +82 -0
  84. package/bundle/skills/agentera/schemas/artifacts/health.yaml +56 -19
  85. package/bundle/skills/agentera/schemas/artifacts/objective.yaml +18 -4
  86. package/bundle/skills/agentera/schemas/artifacts/plan.yaml +457 -32
  87. package/bundle/skills/agentera/schemas/artifacts/progress.yaml +131 -18
  88. package/bundle/skills/agentera/schemas/artifacts/todo.yaml +302 -7
  89. package/dist/analytics/extractCorpus/cli.js +52 -11
  90. package/dist/analytics/extractCorpus/copilotSessions.js +6 -4
  91. package/dist/analytics/extractCorpus/core.js +40 -12
  92. package/dist/analytics/extractCorpus/corpus.js +39 -17
  93. package/dist/analytics/extractCorpus/coverageAudit.js +44 -45
  94. package/dist/analytics/extractCorpus/cursorSessions.js +6 -4
  95. package/dist/analytics/extractCorpus/evidenceTiers.js +603 -0
  96. package/dist/analytics/extractCorpus/extractCorpusParity.js +4 -4
  97. package/dist/analytics/extractCorpus/filesystemSources.js +1 -5
  98. package/dist/analytics/extractCorpus/index.js +3 -1
  99. package/dist/analytics/extractCorpus/jsonlSessions.js +24 -5
  100. package/dist/analytics/extractCorpus/sqliteCaps.js +0 -1
  101. package/dist/analytics/extractCorpus/sqliteSessions.js +0 -1
  102. package/dist/analytics/extractCorpus/tierReader.js +108 -0
  103. package/dist/analytics/extractCorpus.js +0 -1
  104. package/dist/analytics/glossaryAdviceResolution.js +166 -0
  105. package/dist/analytics/glossaryInputAcquisition.js +319 -0
  106. package/dist/analytics/personalGlossaryAdmission.js +133 -0
  107. package/dist/analytics/personalGlossaryProfile.js +219 -0
  108. package/dist/analytics/profileSignals.js +211 -0
  109. package/dist/analytics/usageStats.js +150 -23
  110. package/dist/audit/terminologyDrift.js +281 -0
  111. package/dist/bin/agentera.js +3 -2
  112. package/dist/capabilities/audit/instructions.js +16 -6
  113. package/dist/capabilities/build/instructions.js +59 -6
  114. package/dist/capabilities/design/instructions.js +3 -4
  115. package/dist/capabilities/discuss/instructions.js +29 -6
  116. package/dist/capabilities/document/instructions.js +11 -6
  117. package/dist/capabilities/index.js +16 -14
  118. package/dist/capabilities/optimize/instructions.js +14 -6
  119. package/dist/capabilities/orchestrate/instructions.js +42 -6
  120. package/dist/capabilities/plan/instructions.js +30 -3
  121. package/dist/capabilities/profile/instructions.js +70 -6
  122. package/dist/capabilities/research/instructions.js +4 -5
  123. package/dist/capabilities/status/instructions.js +15 -6
  124. package/dist/capabilities/status/startupInstructions.js +34 -0
  125. package/dist/capabilities/vision/instructions.js +3 -5
  126. package/dist/cli/appContext.js +14 -7
  127. package/dist/cli/argvalidate.js +0 -1
  128. package/dist/cli/capabilityContext/benchmark.js +5 -4
  129. package/dist/cli/capabilityContext/bespoke.js +14 -6
  130. package/dist/cli/capabilityContext/build.js +116 -42
  131. package/dist/cli/capabilityContext/closeout.js +30 -27
  132. package/dist/cli/capabilityContext/contract.js +18 -27
  133. package/dist/cli/capabilityContext/evidence.js +84 -77
  134. package/dist/cli/capabilityContext/index.js +0 -1
  135. package/dist/cli/capabilityContext/orchestration.js +42 -18
  136. package/dist/cli/capabilityContext/planState.js +89 -96
  137. package/dist/cli/capabilityContext/progress.js +51 -12
  138. package/dist/cli/capabilityContext/projectVerification.js +409 -0
  139. package/dist/cli/capabilityContext/shared.js +9 -20
  140. package/dist/cli/capabilityContext/slim.js +52 -8
  141. package/dist/cli/capabilityContext/startup.js +51 -114
  142. package/dist/cli/capabilityContext/startupAggregation.js +68 -0
  143. package/dist/cli/capabilityContext/types.js +26 -10
  144. package/dist/cli/capabilityContext.js +0 -1
  145. package/dist/cli/commands/appHome.js +0 -1
  146. package/dist/cli/commands/capability.js +2 -2
  147. package/dist/cli/commands/compact.js +163 -13
  148. package/dist/cli/commands/doctor.js +117 -11
  149. package/dist/cli/commands/durability.js +81 -0
  150. package/dist/cli/commands/glossaryAdvice.js +138 -0
  151. package/dist/cli/commands/lint.js +22 -8
  152. package/dist/cli/commands/personalGlossary.js +176 -0
  153. package/dist/cli/commands/prime/briefOrientation.js +746 -0
  154. package/dist/cli/commands/prime/buildExecutionRequest.js +165 -0
  155. package/dist/cli/commands/prime/bundleStatus.js +54 -4
  156. package/dist/cli/commands/prime/collectEntityOrientation.js +326 -0
  157. package/dist/cli/commands/prime/collectOrientationState.js +126 -63
  158. package/dist/cli/commands/prime/orientationOutput.js +267 -56
  159. package/dist/cli/commands/prime/types.js +0 -1
  160. package/dist/cli/commands/prime/v1Migration.js +0 -1
  161. package/dist/cli/commands/prime.js +76 -11
  162. package/dist/cli/commands/profileGrounding.js +55 -0
  163. package/dist/cli/commands/query.js +74 -52
  164. package/dist/cli/commands/report.js +73 -19
  165. package/dist/cli/commands/route.js +142 -0
  166. package/dist/cli/commands/schema.js +257 -138
  167. package/dist/cli/commands/state/decisions.js +40 -56
  168. package/dist/cli/commands/state/docs.js +58 -85
  169. package/dist/cli/commands/state/experimentRecords.js +151 -0
  170. package/dist/cli/commands/state/experiments.js +11 -65
  171. package/dist/cli/commands/state/get.js +129 -0
  172. package/dist/cli/commands/state/health.js +11 -113
  173. package/dist/cli/commands/state/index.js +6 -41
  174. package/dist/cli/commands/state/list.js +194 -0
  175. package/dist/cli/commands/state/objective.js +21 -65
  176. package/dist/cli/commands/state/plan.js +11 -170
  177. package/dist/cli/commands/state/planTasks.js +154 -0
  178. package/dist/cli/commands/state/plans.js +154 -0
  179. package/dist/cli/commands/state/progress.js +11 -45
  180. package/dist/cli/commands/state/shared.js +0 -1
  181. package/dist/cli/commands/state/todo.js +28 -107
  182. package/dist/cli/commands/state/write.js +433 -0
  183. package/dist/cli/commands/upgrade.js +146 -5
  184. package/dist/cli/commands/upgradeVerify.js +118 -0
  185. package/dist/cli/commands/validate.js +235 -136
  186. package/dist/cli/commands/verify.js +23 -8
  187. package/dist/cli/contracts/bundleStatus.js +0 -1
  188. package/dist/cli/contracts/orientationState.js +0 -1
  189. package/dist/cli/dispatch/argvParser.js +0 -1
  190. package/dist/cli/dispatch/check.js +84 -40
  191. package/dist/cli/dispatch/commands.js +3 -3
  192. package/dist/cli/dispatch/index.js +77 -52
  193. package/dist/cli/dispatch/lifecycle.js +117 -62
  194. package/dist/cli/dispatch/prime.js +37 -2
  195. package/dist/cli/dispatch/projections.js +17 -0
  196. package/dist/cli/dispatch/shared.js +1 -2
  197. package/dist/cli/dispatch/state.js +62 -66
  198. package/dist/cli/dispatch.js +0 -1
  199. package/dist/cli/errors.js +16 -17
  200. package/dist/cli/help.js +358 -39
  201. package/dist/cli/migrationRequired.js +122 -0
  202. package/dist/cli/orientation/attention.js +19 -19
  203. package/dist/cli/orientation/corpusCoverage.js +32 -1
  204. package/dist/cli/orientation.js +346 -129
  205. package/dist/cli/planArtifacts.js +350 -0
  206. package/dist/cli/planEvidence.js +157 -0
  207. package/dist/cli/planLifecycleState.js +36 -0
  208. package/dist/cli/planTaskIndex.js +11 -0
  209. package/dist/cli/preCutoverCommand.js +32 -0
  210. package/dist/cli/prime-blob.js +71 -3
  211. package/dist/cli/profileAcquisition.js +167 -0
  212. package/dist/cli/startupCompletenessContract.js +11 -8
  213. package/dist/cli/stateQuery.js +47 -12
  214. package/dist/cli/structured.js +0 -1
  215. package/dist/cli/todoMarkdown.js +25 -12
  216. package/dist/cli/todoReadinessSelection.js +192 -0
  217. package/dist/cli/todoSeverity.js +0 -1
  218. package/dist/core/atomicWriter.js +20 -0
  219. package/dist/core/developmentChannel.js +1 -0
  220. package/dist/core/developmentInvocation.js +374 -0
  221. package/dist/core/difflib.js +0 -1
  222. package/dist/core/envPaths.js +0 -1
  223. package/dist/core/jsonValue.js +0 -1
  224. package/dist/core/paths.js +0 -1
  225. package/dist/core/pyjson.js +0 -1
  226. package/dist/core/shell.js +4 -0
  227. package/dist/core/skillIdentity.js +23 -0
  228. package/dist/core/sourceRoot.js +9 -12
  229. package/dist/core/text.js +10 -0
  230. package/dist/core/toml.js +0 -1
  231. package/dist/core/yaml.js +8 -1
  232. package/dist/eval/evalSkills.js +13 -14
  233. package/dist/eval/hybridRouteEvaluation.js +155 -0
  234. package/dist/eval/semanticEval.js +0 -1
  235. package/dist/eval/semanticFixtures.js +0 -1
  236. package/dist/hooks/common.js +3 -56
  237. package/dist/hooks/compaction/apply.js +224 -47
  238. package/dist/hooks/compaction/dryRun.js +2 -1
  239. package/dist/hooks/compaction/index.js +5 -6
  240. package/dist/hooks/compaction/parse.js +73 -6
  241. package/dist/hooks/compaction/retention.js +28 -25
  242. package/dist/hooks/compaction/status.js +145 -26
  243. package/dist/hooks/compaction/types.js +0 -1
  244. package/dist/hooks/validateArtifact/agentFacing.js +0 -1
  245. package/dist/hooks/validateArtifact/index.js +6 -65
  246. package/dist/hooks/validateArtifact/markdown.js +9 -10
  247. package/dist/hooks/validateArtifact/schema.js +96 -9
  248. package/dist/hooks/validateArtifact/traversal.js +12 -11
  249. package/dist/hooks/validateArtifact/violations.js +5 -3
  250. package/dist/migrate/v2HandoffManifest.js +8 -3
  251. package/dist/registries/activationContract.js +2 -0
  252. package/dist/registries/activationTuples.js +108 -0
  253. package/dist/registries/artifactProtocolIds.js +2 -1
  254. package/dist/registries/artifactRegistry.js +207 -60
  255. package/dist/registries/artifactSchemaProjection.js +45 -0
  256. package/dist/registries/capabilityContract.js +5 -21
  257. package/dist/registries/evaluatorHandoffContract.js +0 -1
  258. package/dist/registries/evidenceTierContract.js +371 -0
  259. package/dist/registries/glossaryAdviceContract.js +79 -0
  260. package/dist/registries/glossaryCaveatContract.js +67 -0
  261. package/dist/registries/glossaryConsumerContractValidation.js +787 -0
  262. package/dist/registries/glossaryEntryContract.js +757 -0
  263. package/dist/registries/glossaryTermIdentity.js +17 -0
  264. package/dist/registries/glossaryTermOccurrence.js +20 -0
  265. package/dist/registries/hybridRoute.js +274 -0
  266. package/dist/registries/hybridRouteReceipt.js +221 -0
  267. package/dist/registries/packagePublication.js +273 -0
  268. package/dist/registries/packageRegistry.js +184 -209
  269. package/dist/registries/todoReadinessContract.js +448 -0
  270. package/dist/registries/triggerLoader.js +7 -44
  271. package/dist/registries/verbosityBudgetContract.js +205 -0
  272. package/dist/release/releaseMetadata.js +155 -5
  273. package/dist/runtime/lifecycleAdapterContract.js +457 -0
  274. package/dist/runtime/lifecycleAdapters.js +777 -0
  275. package/dist/runtime/lifecycleAuthority.js +453 -0
  276. package/dist/runtime/lifecycleOperationContract.js +123 -0
  277. package/dist/runtime/lifecycleOperations.js +634 -0
  278. package/dist/runtime/lifecycleOwnershipJournal.js +622 -0
  279. package/dist/runtime/lifecyclePublication.js +415 -0
  280. package/dist/runtime/lifecycleSnapshot.js +438 -0
  281. package/dist/runtime/nativeResourceCleanup.js +502 -0
  282. package/dist/setup/opencode.js +20 -13
  283. package/dist/setup/opencodeConstants.js +1 -0
  284. package/dist/setup/sharedSkill.js +45 -0
  285. package/dist/setup/smokeChecks.js +14 -75
  286. package/dist/state/archiveDiscovery.js +580 -0
  287. package/dist/state/archivePublication.js +225 -0
  288. package/dist/state/archiveRecovery.js +237 -0
  289. package/dist/state/archiveReplay.js +53 -0
  290. package/dist/state/canonicalMigrationRecord.js +36 -0
  291. package/dist/state/changelog.js +221 -0
  292. package/dist/state/decisionEntities.js +367 -0
  293. package/dist/state/decisionLegacyValidation.js +215 -0
  294. package/dist/state/decisionMigrationProvenance.js +199 -0
  295. package/dist/state/decisionOverlay.js +254 -0
  296. package/dist/state/decisionRevision.js +256 -0
  297. package/dist/state/decisionRevisionMigration.js +89 -0
  298. package/dist/state/directRetrieval.js +323 -0
  299. package/dist/state/durability.js +324 -0
  300. package/dist/state/entityCutover.js +459 -0
  301. package/dist/state/entityCutoverGit.js +127 -0
  302. package/dist/state/entityGlossaryAuthority.js +13 -0
  303. package/dist/state/entityListProjection.js +187 -0
  304. package/dist/state/entityListRuntimeRegistry.js +85 -0
  305. package/dist/state/entityMigrationCausality.js +97 -0
  306. package/dist/state/entityMigrationIdentity.js +5 -0
  307. package/dist/state/entityMigrationPreview.js +840 -0
  308. package/dist/state/entityMigrationTodo.js +133 -0
  309. package/dist/state/entityPublicationContext.js +859 -0
  310. package/dist/state/entityRetrievalHelp.js +506 -0
  311. package/dist/state/entityStorage.js +899 -0
  312. package/dist/state/exactReplacementRecovery.js +18 -0
  313. package/dist/state/experimentArchive.js +63 -0
  314. package/dist/state/experimentIdentity.js +202 -0
  315. package/dist/state/healthEntities.js +262 -0
  316. package/dist/state/healthEntityValidation.js +18 -0
  317. package/dist/state/healthRepair.js +69 -0
  318. package/dist/state/installRoot.js +15 -7
  319. package/dist/state/legacyEntityCutoverEvidence.js +65 -0
  320. package/dist/state/legacyIdentity.js +47 -0
  321. package/dist/state/legacySummaryRecord.js +6 -0
  322. package/dist/state/listAccounting.js +54 -0
  323. package/dist/state/listClassification.js +17 -0
  324. package/dist/state/listCursor.js +42 -0
  325. package/dist/state/listRetrieval.js +781 -0
  326. package/dist/state/migrationSourceBinding.js +30 -0
  327. package/dist/state/objectiveExperimentEntities.js +322 -0
  328. package/dist/state/planEntities.js +1027 -0
  329. package/dist/state/planIdentity.js +47 -0
  330. package/dist/state/planLineageValidation.js +52 -0
  331. package/dist/state/planReplacementTransaction.js +475 -0
  332. package/dist/state/planRetrieval.js +313 -0
  333. package/dist/state/planTaskRetrieval.js +294 -0
  334. package/dist/state/progressEntities.js +512 -0
  335. package/dist/state/progressGlossaryCaveat.js +168 -0
  336. package/dist/state/progressPublicationOrder.js +19 -0
  337. package/dist/state/progressWritePolicy.js +33 -0
  338. package/dist/state/projectRoot.js +62 -0
  339. package/dist/state/projectionPolicy.js +190 -0
  340. package/dist/state/retrievalAuthority.js +156 -0
  341. package/dist/state/safeProjectFile.js +155 -0
  342. package/dist/state/startupAnalysis/benchmark.js +70 -9
  343. package/dist/state/startupAnalysis/contract.js +44 -10
  344. package/dist/state/startupAnalysis/helpers.js +1 -2
  345. package/dist/state/startupAnalysis/index.js +0 -1
  346. package/dist/state/startupAnalysis/metrics.js +0 -1
  347. package/dist/state/startupAnalysis/records.js +0 -1
  348. package/dist/state/startupAnalysis/report.js +0 -1
  349. package/dist/state/startupAnalysis/threshold.js +13 -1
  350. package/dist/state/startupAnalysis.js +0 -1
  351. package/dist/state/startupProjection.js +499 -0
  352. package/dist/state/stateMode.js +222 -0
  353. package/dist/state/stateStorageAuthority.js +47 -0
  354. package/dist/state/summaryEntityRead.js +25 -0
  355. package/dist/state/summaryMigrationProvenance.js +66 -0
  356. package/dist/state/summarySourceRowAuthority.js +36 -0
  357. package/dist/state/todoActivationSafety.js +58 -0
  358. package/dist/state/todoDocsEntities.js +1124 -0
  359. package/dist/state/todoDocsEntityValidation.js +158 -0
  360. package/dist/state/todoMarkdownProjection.js +51 -0
  361. package/dist/state/todoReconciliationActivation.js +182 -0
  362. package/dist/state/todoReconciliationInspection.js +171 -0
  363. package/dist/state/todoReconciliationRepair.js +318 -0
  364. package/dist/state/todoReconciliationTransaction.js +595 -0
  365. package/dist/state/write/assign.js +20 -0
  366. package/dist/state/write/candidateMutation.js +269 -0
  367. package/dist/state/write/errors.js +11 -0
  368. package/dist/state/write/experimentPublication.js +192 -0
  369. package/dist/state/write/explain.js +377 -0
  370. package/dist/state/write/fields.js +61 -0
  371. package/dist/state/write/glossaryPublication.js +263 -0
  372. package/dist/state/write/grammar.js +285 -0
  373. package/dist/state/write/helpers.js +29 -0
  374. package/dist/state/write/index.js +12 -0
  375. package/dist/state/write/input.js +391 -0
  376. package/dist/state/write/lock.js +837 -0
  377. package/dist/state/write/mutation.js +234 -0
  378. package/dist/state/write/operations.js +170 -0
  379. package/dist/state/write/planEvaluation.js +128 -0
  380. package/dist/state/write/planPublication.js +179 -0
  381. package/dist/state/write/runtimeOperations.js +146 -0
  382. package/dist/state/write/serialize.js +1 -0
  383. package/dist/state/write/transaction.js +57 -0
  384. package/dist/state/write/validate.js +7 -0
  385. package/dist/upgrade/appContentRefresh.js +77 -36
  386. package/dist/upgrade/appModel.js +0 -1
  387. package/dist/upgrade/atomicWriter.js +1 -0
  388. package/dist/upgrade/bundleEvidence.js +0 -1
  389. package/dist/upgrade/channels.js +6 -9
  390. package/dist/upgrade/compatibility.js +43 -17
  391. package/dist/upgrade/doctor.js +55 -32
  392. package/dist/upgrade/doctorClassifier.js +11 -1
  393. package/dist/upgrade/installedHooksRetirement.js +46 -40
  394. package/dist/upgrade/legacyAgentCleanup.js +187 -21
  395. package/dist/upgrade/lifecycleUpgrade.js +113 -0
  396. package/dist/upgrade/migrateArtifactsV2ToV3.js +334 -64
  397. package/dist/upgrade/migrationPublication.js +122 -0
  398. package/dist/upgrade/nextMajorDoctor.js +0 -1
  399. package/dist/upgrade/npxPlatformStatus.js +0 -1
  400. package/dist/upgrade/projectIntegration.js +121 -159
  401. package/dist/upgrade/projectIntegrationDecision.js +42 -85
  402. package/dist/upgrade/retiredResourceDiagnostics.js +117 -0
  403. package/dist/upgrade/runtimeMigration.js +262 -453
  404. package/dist/upgrade/upgradeCommands.js +14 -1
  405. package/dist/upgrade/upgradeLock.js +85 -0
  406. package/dist/upgrade/upgradeOrchestrator.js +263 -59
  407. package/dist/upgrade/v3CapabilitySurface.js +2 -3
  408. package/dist/upgrade/versionResolution.js +0 -1
  409. package/dist/validate/activationArtifactEvidence.js +852 -0
  410. package/dist/validate/activationArtifactEvidenceTypes.js +12 -0
  411. package/dist/validate/activationConjunction.js +816 -0
  412. package/dist/validate/activationEvidenceManifest.js +531 -0
  413. package/dist/validate/activationPackageSemantics.js +29 -0
  414. package/dist/validate/appHomeContract.js +1 -7
  415. package/dist/validate/bootstrapAuthority.js +44 -0
  416. package/dist/validate/capability.js +11 -3
  417. package/dist/validate/crossCapability.js +14 -9
  418. package/dist/validate/retainedReferenceAuthority.js +879 -0
  419. package/dist/validate/selfAudit.js +39 -45
  420. package/dist/validate/v1LegacyCruft.js +131 -0
  421. package/dist/validate/vocabularyAuthority.js +8 -8
  422. package/package.json +41 -13
  423. package/bundle/references/adapters/cursor.md +0 -214
  424. package/bundle/references/adapters/opencode.md +0 -530
  425. package/bundle/references/adapters/package-manifest-interface-model.yaml +0 -337
  426. package/bundle/references/adapters/runtime-adapter-characterization.md +0 -79
  427. package/bundle/references/adapters/runtime-adapter-interface-model.yaml +0 -200
  428. package/bundle/references/adapters/runtime-adapter-registry.yaml +0 -554
  429. package/bundle/references/adapters/runtime-feature-parity.md +0 -189
  430. package/bundle/references/analysis/benchmark.md +0 -267
  431. package/bundle/references/analysis/startup-measurement-contract.yaml +0 -424
  432. package/bundle/references/cli/agent-ready-state-contract.yaml +0 -953
  433. package/bundle/references/cli/audience-namespace-cli-migration.yaml +0 -369
  434. package/bundle/references/cli/bundle-skill-vocabulary.yaml +0 -250
  435. package/bundle/references/cli/capability-tool-classification.yaml +0 -53
  436. package/bundle/references/cli/coexistence-probe.yaml +0 -13
  437. package/bundle/references/cli/parity-expected-actual-template.md +0 -30
  438. package/bundle/references/cli/routing-execution-vocabulary.yaml +0 -281
  439. package/bundle/references/cli/single-name-protocol.yaml +0 -42
  440. package/bundle/references/cli/upgrade-repair-wording.md +0 -45
  441. package/bundle/references/cli/v3-handoff-manifest.schema.yaml +0 -98
  442. package/bundle/references/meta/documentation-inventory.md +0 -49
  443. package/bundle/skills/agentera/.claude-plugin/plugin.json +0 -27
  444. package/bundle/skills/agentera/agents/audit.toml +0 -6
  445. package/bundle/skills/agentera/agents/build.toml +0 -6
  446. package/bundle/skills/agentera/agents/design.toml +0 -6
  447. package/bundle/skills/agentera/agents/discuss.toml +0 -6
  448. package/bundle/skills/agentera/agents/document.toml +0 -6
  449. package/bundle/skills/agentera/agents/optimize.toml +0 -6
  450. package/bundle/skills/agentera/agents/orchestrate.toml +0 -6
  451. package/bundle/skills/agentera/agents/plan.toml +0 -6
  452. package/bundle/skills/agentera/agents/profile.toml +0 -6
  453. package/bundle/skills/agentera/agents/research.toml +0 -6
  454. package/bundle/skills/agentera/agents/status.toml +0 -6
  455. package/bundle/skills/agentera/agents/vision.toml +0 -6
  456. package/bundle/skills/agentera/references/contract.md +0 -1048
  457. package/dist/analytics/extractCorpus/cli.js.map +0 -1
  458. package/dist/analytics/extractCorpus/copilotSessions.js.map +0 -1
  459. package/dist/analytics/extractCorpus/core.js.map +0 -1
  460. package/dist/analytics/extractCorpus/corpus.js.map +0 -1
  461. package/dist/analytics/extractCorpus/coverageAudit.js.map +0 -1
  462. package/dist/analytics/extractCorpus/cursorSessions.js.map +0 -1
  463. package/dist/analytics/extractCorpus/extractCorpusParity.js.map +0 -1
  464. package/dist/analytics/extractCorpus/filesystemSources.js.map +0 -1
  465. package/dist/analytics/extractCorpus/index.js.map +0 -1
  466. package/dist/analytics/extractCorpus/jsonlSessions.js.map +0 -1
  467. package/dist/analytics/extractCorpus/sqliteCaps.js.map +0 -1
  468. package/dist/analytics/extractCorpus/sqliteSessions.js.map +0 -1
  469. package/dist/analytics/extractCorpus.js.map +0 -1
  470. package/dist/analytics/usageStats.js.map +0 -1
  471. package/dist/bin/agentera.js.map +0 -1
  472. package/dist/capabilities/audit/instructions.js.map +0 -1
  473. package/dist/capabilities/build/instructions.js.map +0 -1
  474. package/dist/capabilities/design/instructions.js.map +0 -1
  475. package/dist/capabilities/discuss/instructions.js.map +0 -1
  476. package/dist/capabilities/document/instructions.js.map +0 -1
  477. package/dist/capabilities/dokumentera/instructions.js +0 -6
  478. package/dist/capabilities/dokumentera/instructions.js.map +0 -1
  479. package/dist/capabilities/hej/instructions.js +0 -6
  480. package/dist/capabilities/hej/instructions.js.map +0 -1
  481. package/dist/capabilities/index.js.map +0 -1
  482. package/dist/capabilities/inspektera/instructions.js +0 -6
  483. package/dist/capabilities/inspektera/instructions.js.map +0 -1
  484. package/dist/capabilities/inspirera/instructions.js +0 -6
  485. package/dist/capabilities/inspirera/instructions.js.map +0 -1
  486. package/dist/capabilities/optimera/instructions.js +0 -6
  487. package/dist/capabilities/optimera/instructions.js.map +0 -1
  488. package/dist/capabilities/optimize/instructions.js.map +0 -1
  489. package/dist/capabilities/orchestrate/instructions.js.map +0 -1
  490. package/dist/capabilities/orkestrera/instructions.js +0 -6
  491. package/dist/capabilities/orkestrera/instructions.js.map +0 -1
  492. package/dist/capabilities/plan/instructions.js.map +0 -1
  493. package/dist/capabilities/planera/instructions.js +0 -6
  494. package/dist/capabilities/planera/instructions.js.map +0 -1
  495. package/dist/capabilities/profile/instructions.js.map +0 -1
  496. package/dist/capabilities/profilera/instructions.js +0 -6
  497. package/dist/capabilities/profilera/instructions.js.map +0 -1
  498. package/dist/capabilities/realisera/instructions.js +0 -6
  499. package/dist/capabilities/realisera/instructions.js.map +0 -1
  500. package/dist/capabilities/research/instructions.js.map +0 -1
  501. package/dist/capabilities/resonera/instructions.js +0 -6
  502. package/dist/capabilities/resonera/instructions.js.map +0 -1
  503. package/dist/capabilities/status/instructions.js.map +0 -1
  504. package/dist/capabilities/vision/instructions.js.map +0 -1
  505. package/dist/capabilities/visionera/instructions.js +0 -6
  506. package/dist/capabilities/visionera/instructions.js.map +0 -1
  507. package/dist/capabilities/visualisera/instructions.js +0 -5
  508. package/dist/capabilities/visualisera/instructions.js.map +0 -1
  509. package/dist/cli/appContext.js.map +0 -1
  510. package/dist/cli/argvalidate.js.map +0 -1
  511. package/dist/cli/capabilityContext/benchmark.js.map +0 -1
  512. package/dist/cli/capabilityContext/bespoke.js.map +0 -1
  513. package/dist/cli/capabilityContext/build.js.map +0 -1
  514. package/dist/cli/capabilityContext/closeout.js.map +0 -1
  515. package/dist/cli/capabilityContext/contract.js.map +0 -1
  516. package/dist/cli/capabilityContext/evidence.js.map +0 -1
  517. package/dist/cli/capabilityContext/index.js.map +0 -1
  518. package/dist/cli/capabilityContext/orchestration.js.map +0 -1
  519. package/dist/cli/capabilityContext/planState.js.map +0 -1
  520. package/dist/cli/capabilityContext/progress.js.map +0 -1
  521. package/dist/cli/capabilityContext/realisera.js +0 -174
  522. package/dist/cli/capabilityContext/realisera.js.map +0 -1
  523. package/dist/cli/capabilityContext/shared.js.map +0 -1
  524. package/dist/cli/capabilityContext/slim.js.map +0 -1
  525. package/dist/cli/capabilityContext/startup.js.map +0 -1
  526. package/dist/cli/capabilityContext/types.js.map +0 -1
  527. package/dist/cli/capabilityContext.js.map +0 -1
  528. package/dist/cli/commands/appHome.js.map +0 -1
  529. package/dist/cli/commands/backfill.js +0 -84
  530. package/dist/cli/commands/backfill.js.map +0 -1
  531. package/dist/cli/commands/capability.js.map +0 -1
  532. package/dist/cli/commands/compact.js.map +0 -1
  533. package/dist/cli/commands/doctor.js.map +0 -1
  534. package/dist/cli/commands/lint.js.map +0 -1
  535. package/dist/cli/commands/prime/bundleStatus.js.map +0 -1
  536. package/dist/cli/commands/prime/collectOrientationState.js.map +0 -1
  537. package/dist/cli/commands/prime/orientationOutput.js.map +0 -1
  538. package/dist/cli/commands/prime/routeOutput.js +0 -50
  539. package/dist/cli/commands/prime/routeOutput.js.map +0 -1
  540. package/dist/cli/commands/prime/types.js.map +0 -1
  541. package/dist/cli/commands/prime/v1Migration.js.map +0 -1
  542. package/dist/cli/commands/prime.js.map +0 -1
  543. package/dist/cli/commands/query.js.map +0 -1
  544. package/dist/cli/commands/report.js.map +0 -1
  545. package/dist/cli/commands/schema.js.map +0 -1
  546. package/dist/cli/commands/state/decisions.js.map +0 -1
  547. package/dist/cli/commands/state/docs.js.map +0 -1
  548. package/dist/cli/commands/state/experiments.js.map +0 -1
  549. package/dist/cli/commands/state/health.js.map +0 -1
  550. package/dist/cli/commands/state/index.js.map +0 -1
  551. package/dist/cli/commands/state/objective.js.map +0 -1
  552. package/dist/cli/commands/state/plan.js.map +0 -1
  553. package/dist/cli/commands/state/progress.js.map +0 -1
  554. package/dist/cli/commands/state/shared.js.map +0 -1
  555. package/dist/cli/commands/state/todo.js.map +0 -1
  556. package/dist/cli/commands/state.js +0 -1023
  557. package/dist/cli/commands/state.js.map +0 -1
  558. package/dist/cli/commands/upgrade.js.map +0 -1
  559. package/dist/cli/commands/validate.js.map +0 -1
  560. package/dist/cli/commands/verify.js.map +0 -1
  561. package/dist/cli/contracts/bundleStatus.js.map +0 -1
  562. package/dist/cli/contracts/orientationState.js.map +0 -1
  563. package/dist/cli/dispatch/argvParser.js.map +0 -1
  564. package/dist/cli/dispatch/check.js.map +0 -1
  565. package/dist/cli/dispatch/commands.js.map +0 -1
  566. package/dist/cli/dispatch/index.js.map +0 -1
  567. package/dist/cli/dispatch/lifecycle.js.map +0 -1
  568. package/dist/cli/dispatch/prime.js.map +0 -1
  569. package/dist/cli/dispatch/shared.js.map +0 -1
  570. package/dist/cli/dispatch/state.js.map +0 -1
  571. package/dist/cli/dispatch.js.map +0 -1
  572. package/dist/cli/errors.js.map +0 -1
  573. package/dist/cli/help.js.map +0 -1
  574. package/dist/cli/orientation/attention.js.map +0 -1
  575. package/dist/cli/orientation/corpusCoverage.js.map +0 -1
  576. package/dist/cli/orientation.js.map +0 -1
  577. package/dist/cli/prime-blob.js.map +0 -1
  578. package/dist/cli/startupCompletenessContract.js.map +0 -1
  579. package/dist/cli/stateQuery.js.map +0 -1
  580. package/dist/cli/structured.js.map +0 -1
  581. package/dist/cli/todoMarkdown.js.map +0 -1
  582. package/dist/cli/todoSeverity.js.map +0 -1
  583. package/dist/core/difflib.js.map +0 -1
  584. package/dist/core/envPaths.js.map +0 -1
  585. package/dist/core/git.js +0 -43
  586. package/dist/core/git.js.map +0 -1
  587. package/dist/core/jsonValue.js.map +0 -1
  588. package/dist/core/paths.js.map +0 -1
  589. package/dist/core/pyjson.js.map +0 -1
  590. package/dist/core/sourceRoot.js.map +0 -1
  591. package/dist/core/toml.js.map +0 -1
  592. package/dist/core/yaml.js.map +0 -1
  593. package/dist/eval/evalSkills.js.map +0 -1
  594. package/dist/eval/semanticEval.js.map +0 -1
  595. package/dist/eval/semanticFixtures.js.map +0 -1
  596. package/dist/hooks/common.js.map +0 -1
  597. package/dist/hooks/compaction/apply.js.map +0 -1
  598. package/dist/hooks/compaction/dryRun.js.map +0 -1
  599. package/dist/hooks/compaction/index.js.map +0 -1
  600. package/dist/hooks/compaction/parse.js.map +0 -1
  601. package/dist/hooks/compaction/retention.js.map +0 -1
  602. package/dist/hooks/compaction/status.js.map +0 -1
  603. package/dist/hooks/compaction/todoResolved.js +0 -137
  604. package/dist/hooks/compaction/todoResolved.js.map +0 -1
  605. package/dist/hooks/compaction/types.js.map +0 -1
  606. package/dist/hooks/compaction.js +0 -935
  607. package/dist/hooks/compaction.js.map +0 -1
  608. package/dist/hooks/cursorPreToolUse.js +0 -19
  609. package/dist/hooks/cursorPreToolUse.js.map +0 -1
  610. package/dist/hooks/cursorSessionStart.js +0 -79
  611. package/dist/hooks/cursorSessionStart.js.map +0 -1
  612. package/dist/hooks/sessionStart.js +0 -216
  613. package/dist/hooks/sessionStart.js.map +0 -1
  614. package/dist/hooks/sessionStop.js +0 -206
  615. package/dist/hooks/sessionStop.js.map +0 -1
  616. package/dist/hooks/todoLayout.js +0 -177
  617. package/dist/hooks/todoLayout.js.map +0 -1
  618. package/dist/hooks/validateArtifact/agentFacing.js.map +0 -1
  619. package/dist/hooks/validateArtifact/index.js.map +0 -1
  620. package/dist/hooks/validateArtifact/markdown.js.map +0 -1
  621. package/dist/hooks/validateArtifact/runtime.js +0 -86
  622. package/dist/hooks/validateArtifact/runtime.js.map +0 -1
  623. package/dist/hooks/validateArtifact/schema.js.map +0 -1
  624. package/dist/hooks/validateArtifact/traversal.js.map +0 -1
  625. package/dist/hooks/validateArtifact/violations.js.map +0 -1
  626. package/dist/hooks/validateArtifact.js +0 -924
  627. package/dist/hooks/validateArtifact.js.map +0 -1
  628. package/dist/migrate/v2HandoffManifest.js.map +0 -1
  629. package/dist/registries/artifactProtocolIds.js.map +0 -1
  630. package/dist/registries/artifactRegistry.js.map +0 -1
  631. package/dist/registries/capabilityContract.js.map +0 -1
  632. package/dist/registries/evaluatorHandoffContract.js.map +0 -1
  633. package/dist/registries/packageRegistry.js.map +0 -1
  634. package/dist/registries/runtimeAdapterRegistry.js +0 -316
  635. package/dist/registries/runtimeAdapterRegistry.js.map +0 -1
  636. package/dist/registries/triggerLoader.js.map +0 -1
  637. package/dist/release/releaseMetadata.js.map +0 -1
  638. package/dist/routing/index.js +0 -2
  639. package/dist/routing/index.js.map +0 -1
  640. package/dist/routing/routeEngine.js +0 -189
  641. package/dist/routing/routeEngine.js.map +0 -1
  642. package/dist/setup/codex/agents.js +0 -96
  643. package/dist/setup/codex/agents.js.map +0 -1
  644. package/dist/setup/codex/cli.js +0 -161
  645. package/dist/setup/codex/cli.js.map +0 -1
  646. package/dist/setup/codex/configToml.js +0 -639
  647. package/dist/setup/codex/configToml.js.map +0 -1
  648. package/dist/setup/codex/constants.js +0 -29
  649. package/dist/setup/codex/constants.js.map +0 -1
  650. package/dist/setup/codex/installRoot.js +0 -64
  651. package/dist/setup/codex/installRoot.js.map +0 -1
  652. package/dist/setup/codex/state.js +0 -270
  653. package/dist/setup/codex/state.js.map +0 -1
  654. package/dist/setup/codex.js +0 -12
  655. package/dist/setup/codex.js.map +0 -1
  656. package/dist/setup/copilot.js +0 -227
  657. package/dist/setup/copilot.js.map +0 -1
  658. package/dist/setup/cursor.js +0 -129
  659. package/dist/setup/cursor.js.map +0 -1
  660. package/dist/setup/cursorSurfaces.js +0 -67
  661. package/dist/setup/cursorSurfaces.js.map +0 -1
  662. package/dist/setup/doctor/core.js +0 -300
  663. package/dist/setup/doctor/core.js.map +0 -1
  664. package/dist/setup/doctor/diagnostics.js +0 -240
  665. package/dist/setup/doctor/diagnostics.js.map +0 -1
  666. package/dist/setup/doctor/opencode.js +0 -313
  667. package/dist/setup/doctor/opencode.js.map +0 -1
  668. package/dist/setup/doctor/report.js +0 -425
  669. package/dist/setup/doctor/report.js.map +0 -1
  670. package/dist/setup/doctor.js +0 -10
  671. package/dist/setup/doctor.js.map +0 -1
  672. package/dist/setup/opencode.js.map +0 -1
  673. package/dist/setup/smokeChecks.js.map +0 -1
  674. package/dist/state/installRoot.js.map +0 -1
  675. package/dist/state/progressCommit.js +0 -289
  676. package/dist/state/progressCommit.js.map +0 -1
  677. package/dist/state/startupAnalysis/benchmark.js.map +0 -1
  678. package/dist/state/startupAnalysis/contract.js.map +0 -1
  679. package/dist/state/startupAnalysis/helpers.js.map +0 -1
  680. package/dist/state/startupAnalysis/index.js.map +0 -1
  681. package/dist/state/startupAnalysis/metrics.js.map +0 -1
  682. package/dist/state/startupAnalysis/records.js.map +0 -1
  683. package/dist/state/startupAnalysis/report.js.map +0 -1
  684. package/dist/state/startupAnalysis/threshold.js.map +0 -1
  685. package/dist/state/startupAnalysis.js.map +0 -1
  686. package/dist/upgrade/appContentRefresh.js.map +0 -1
  687. package/dist/upgrade/appModel.js.map +0 -1
  688. package/dist/upgrade/bundleEvidence.js.map +0 -1
  689. package/dist/upgrade/channels.js.map +0 -1
  690. package/dist/upgrade/cliProbe.js +0 -22
  691. package/dist/upgrade/cliProbe.js.map +0 -1
  692. package/dist/upgrade/coexistenceProbe.js +0 -107
  693. package/dist/upgrade/coexistenceProbe.js.map +0 -1
  694. package/dist/upgrade/compatibility.js.map +0 -1
  695. package/dist/upgrade/doctor.js.map +0 -1
  696. package/dist/upgrade/doctorClassifier.js.map +0 -1
  697. package/dist/upgrade/installedHooksRetirement.js.map +0 -1
  698. package/dist/upgrade/legacyAgentCleanup.js.map +0 -1
  699. package/dist/upgrade/migrateArtifactsV1ToV2.js +0 -570
  700. package/dist/upgrade/migrateArtifactsV1ToV2.js.map +0 -1
  701. package/dist/upgrade/migrateArtifactsV2ToV3.js.map +0 -1
  702. package/dist/upgrade/nextMajorDoctor.js.map +0 -1
  703. package/dist/upgrade/npxPlatformStatus.js.map +0 -1
  704. package/dist/upgrade/projectIntegration.js.map +0 -1
  705. package/dist/upgrade/projectIntegrationDecision.js.map +0 -1
  706. package/dist/upgrade/runtimeMigration.js.map +0 -1
  707. package/dist/upgrade/upgradeCommands.js.map +0 -1
  708. package/dist/upgrade/upgradeOrchestrator.js.map +0 -1
  709. package/dist/upgrade/v3CapabilitySurface.js.map +0 -1
  710. package/dist/upgrade/versionResolution.js.map +0 -1
  711. package/dist/validate/appHomeContract.js.map +0 -1
  712. package/dist/validate/capability.js.map +0 -1
  713. package/dist/validate/crossCapability.js.map +0 -1
  714. package/dist/validate/lifecycleAdapters/legacyPythonParity.js +0 -93
  715. package/dist/validate/lifecycleAdapters/legacyPythonParity.js.map +0 -1
  716. package/dist/validate/lifecycleAdapters/nodeFormChecks.js +0 -488
  717. package/dist/validate/lifecycleAdapters/nodeFormChecks.js.map +0 -1
  718. package/dist/validate/lifecycleAdapters/shared.js +0 -198
  719. package/dist/validate/lifecycleAdapters/shared.js.map +0 -1
  720. package/dist/validate/lifecycleAdapters.js +0 -62
  721. package/dist/validate/lifecycleAdapters.js.map +0 -1
  722. package/dist/validate/selfAudit.js.map +0 -1
  723. package/dist/validate/vocabularyAuthority.js.map +0 -1
@@ -1,13 +1,30 @@
1
1
  import { publicDoctorStatus } from "../../../upgrade/doctor.js";
2
2
  import { projectInstallTrack } from "../../../upgrade/compatibility.js";
3
- import { formatNextAction } from "../../orientation.js";
4
- import { requestedFields, REQUIRED_SPARSE_CONTEXT_FIELDS } from "../../stateQuery.js";
3
+ import { formatNextAction, startupPlanSummary } from "../../orientation.js";
4
+ import { requestedFields, REQUIRED_SPARSE_CONTEXT_FIELDS, PRIME_STRUCTURED_FIELDS, RETIRED_PRIME_FIELD_CORRECTIONS, availablePrimeFields, } from "../../stateQuery.js";
5
5
  import { emitStructured } from "../../structured.js";
6
- import { startupCompletenessContract } from "../../startupCompletenessContract.js";
7
- export { startupCompletenessContract } from "../../startupCompletenessContract.js";
6
+ import { emitInvalidInput } from "../../errors.js";
7
+ import { preCutoverCommand } from "../../preCutoverCommand.js";
8
+ import { truncateCodePoints } from "../../../core/text.js";
9
+ import { briefOrientationPayload, briefUtf8Bytes } from "./briefOrientation.js";
10
+ import { capabilityContext } from "../../capabilityContext/contract.js";
11
+ import { startupAggregation } from "../../capabilityContext/startupAggregation.js";
12
+ export { briefOrientationPayload, PRIME_BRIEF_MAX_UTF8_BYTES } from "./briefOrientation.js";
13
+ /** Authority for the complete status startup capsule, including instructions. */
14
+ export const PRIME_STATUS_CONTEXT_MAX_UTF8_BYTES = 22500;
8
15
  /** Project a single {@link NextAction} to its JSON record shape. */
9
16
  function nextActionEntry(action) {
10
- return { object: action.object, capability: action.capability, reason: action.reason, phase: action.phase };
17
+ return {
18
+ object: action.object,
19
+ capability: action.capability,
20
+ reason: action.reason,
21
+ phase: action.phase,
22
+ ...(action.id ? { id: action.id } : {}),
23
+ ...(action.artifact ? { artifact: action.artifact } : {}),
24
+ ...(action.outcome ? { outcome: action.outcome } : {}),
25
+ ...(typeof action.eligible === "boolean" ? { eligible: action.eligible } : {}),
26
+ ...(action.retrieval ? { retrieval: action.retrieval } : {}),
27
+ };
11
28
  }
12
29
  /** Ranked state-readiness hint for the prime JSON `next_action` field (D76).
13
30
  * The recommended entry is flattened to top-level `object`/`capability`/
@@ -15,33 +32,75 @@ function nextActionEntry(action) {
15
32
  * and `alternatives` carries the cascade branches the early-return model
16
33
  * would have skipped, each with the same `{object, capability, reason, phase}`
17
34
  * shape. */
18
- function nextActionPayload(state) {
19
- const { recommended, alternatives } = state.next_action;
35
+ function nextActionPayload({ recommended, alternatives }) {
20
36
  return {
21
37
  ...nextActionEntry(recommended),
22
38
  alternatives: alternatives.map(nextActionEntry),
23
39
  };
24
40
  }
25
- const STATUS_STRUCTURED_FIELDS = [
26
- "command", "status", "app_home", "app", "mode", "profile", "v1_migration", "health",
27
- "todo", "plan", "docs", "progress", "objective", "state_presence", "project_integration", "attention",
28
- "decision_attention", "next_action", "orchestration_context", "closeout_context",
29
- "evidence_context", "benchmark_context", "execution_context", "source", "source_contract",
41
+ const STATUS_STRUCTURED_FIELDS = PRIME_STRUCTURED_FIELDS;
42
+ const DEFAULT_PUBLIC_ATTENTION_LIMIT = 6;
43
+ export function projectPublicOrientationAttention(state) {
44
+ const glossary = state.glossary_caveat_attention;
45
+ const policy = state.glossary_caveat_attention_policy;
46
+ if (!glossary || !policy)
47
+ return state.attention.slice(0, DEFAULT_PUBLIC_ATTENTION_LIMIT);
48
+ const unrelated = state.attention.filter((item) => item !== glossary);
49
+ const unrelatedLimit = Math.max(0, policy.public_limit - policy.reserved_slots);
50
+ return [...unrelated.slice(0, unrelatedLimit), glossary].slice(0, policy.public_limit);
51
+ }
52
+ /** Top-level conditional fields whose default/inactive payload is omitted from
53
+ * the default bare briefing so startup does not carry default-only adjective
54
+ * noise. They remain declared in PRIME_STRUCTURED_FIELDS (selectable via
55
+ * `--fields` and advertised in `source_contract.fields`) and are recovered
56
+ * through `state_presence` (missing-vs-empty semantics) plus a named
57
+ * authoritative command. The full payload kept by `buildOrientationJsonPayload`
58
+ * still populates them, so explicit `--fields <name>` selection, the text
59
+ * briefing, and downstream state consumers are unaffected. */
60
+ const OMITTABLE_DEFAULT_CONDITIONAL_TOP_FIELDS = [
61
+ "v1_migration",
62
+ "docs",
63
+ "objective",
30
64
  ];
31
- /** Deprecated JSON field selectors kept for pre-3.0.0 consumers; not listed in source_contract.fields. */
32
- const DEPRECATED_PRIME_FIELD_ALIASES = ["issues"];
33
- const ISSUES_FIELD_DEPRECATION_MESSAGE = "Deprecation: prime JSON field 'issues' is deprecated; use 'todo'. The 'issues' field will be removed at the 3.0.0 stable cut.\n";
34
- function shouldEmitIssuesDeprecation(requested, payload) {
35
- if (!("issues" in payload))
65
+ /** Whether a conditional top-level field carries present/active payload (not the
66
+ * default-only state that should be omitted from the default briefing). The
67
+ * activity predicate mirrors each summary's "default" branch so absence stays
68
+ * non-ambiguous: a survivor key is present exactly when the field is active. */
69
+ function isConditionalFieldPresent(field, payload) {
70
+ const value = payload[field];
71
+ if (value === null || value === undefined)
36
72
  return false;
37
- if (requested.length === 0)
73
+ if (typeof value !== "object" || Array.isArray(value))
38
74
  return true;
39
- return requested.includes("issues");
75
+ const obj = value;
76
+ // v1_migration: present when v1 artifacts are detected (detected !== true is
77
+ // the default state; recover via `agentera upgrade --dry-run`).
78
+ if (field === "v1_migration")
79
+ return obj.detected === true;
80
+ // docs: present when a docs mapping artifact exists (exists !== true is the
81
+ // absent state; recover via the canonical docs list command).
82
+ if (field === "docs")
83
+ return obj.exists === true;
84
+ // objective: present when an objective is active (active !== true is the
85
+ // none-active state; state_presence.active.objective disambiguates).
86
+ if (field === "objective")
87
+ return obj.active === true;
88
+ return true;
40
89
  }
41
- function emitIssuesFieldDeprecationWarning(requested, payload, err) {
42
- if (shouldEmitIssuesDeprecation(requested, payload)) {
43
- err(ISSUES_FIELD_DEPRECATION_MESSAGE);
90
+ /** Return a default-briefing copy of `payload` with inactive conditional
91
+ * top-level fields removed. Required fields and `state_presence` (the
92
+ * missing-vs-empty authority) are always retained. Used only by the default
93
+ * bare emission path; explicit `--fields` selection keeps the full payload. */
94
+ function omitInactiveConditionalDefaults(payload) {
95
+ const out = {};
96
+ for (const [key, value] of Object.entries(payload)) {
97
+ if (OMITTABLE_DEFAULT_CONDITIONAL_TOP_FIELDS.includes(key) &&
98
+ !isConditionalFieldPresent(key, payload)) {
99
+ continue;
100
+ }
101
+ out[key] = value;
44
102
  }
103
+ return out;
45
104
  }
46
105
  function orientationAppHome(bundle) {
47
106
  return {
@@ -53,11 +112,23 @@ function orientationAppHome(bundle) {
53
112
  user_data_root: bundle.userDataRoot,
54
113
  };
55
114
  }
56
- export function buildOrientationJsonPayload(state, command) {
115
+ function capabilityContextPointer(requiredBeforeRendering = true) {
116
+ return {
117
+ capability: "status",
118
+ fetch_command: preCutoverCommand("prime --context status --format json"),
119
+ required_before_rendering: requiredBeforeRendering,
120
+ note: requiredBeforeRendering
121
+ ? "Dashboard rendering instructions (template, field rules, exit marker) are owned by the status capability. Run the fetch_command before rendering."
122
+ : "Includes dashboard instructions and bounded state; no second prime call.",
123
+ };
124
+ }
125
+ export function buildOrientationJsonPayload(state, command, options = {}) {
57
126
  const bundle = state.app;
58
127
  const schemasDir = state.schemas_dir;
59
128
  const bundlePublic = publicDoctorStatus(bundle);
60
129
  const appHome = orientationAppHome(bundle);
130
+ const todoReconciliation = state.todo_reconciliation ?? null;
131
+ const startup = startupAggregation(capabilityContext("status") ?? {}, state.health, state.state_cutover, todoReconciliation);
61
132
  const bespoke = {
62
133
  orchestration_context: null,
63
134
  closeout_context: null,
@@ -73,24 +144,26 @@ export function buildOrientationJsonPayload(state, command) {
73
144
  : "single installed CLI call; app/v1/profile safety included; no preflight glob/read/import/doctor calls during normal prime";
74
145
  return {
75
146
  command,
76
- status: "ok",
147
+ outcome: startup.outcome,
77
148
  app_home: appHome,
78
149
  app: bundlePublic,
79
150
  mode: state.mode,
80
- profile: state.profile_dict,
81
151
  v1_migration: state.v1_migration,
152
+ shared_skill: state.shared_skill,
82
153
  project_integration: state.project_integration,
154
+ ...(state.todo_reconciliation?.status === "action_required" ? { todo_reconciliation: state.todo_reconciliation } : {}),
83
155
  health: state.health,
84
- todo: state.counts,
85
- issues: state.counts,
86
- plan: state.plan,
156
+ todo: { ...state.counts, detail: state.todo_detail },
157
+ plan: startupPlanSummary(state.plan),
87
158
  docs: state.docs,
88
159
  progress: state.progress,
89
160
  objective: state.objective,
90
161
  state_presence: state.state_presence,
91
- attention: state.attention.slice(0, 6),
162
+ attention: projectPublicOrientationAttention(state).map((item) => truncateCodePoints(item, 200, "…")),
92
163
  decision_attention: state.decision_attention,
93
- next_action: nextActionPayload(state),
164
+ history: state.history,
165
+ next_action: nextActionPayload(state.next_action),
166
+ startup,
94
167
  orchestration_context: bespoke.orchestration_context,
95
168
  closeout_context: bespoke.closeout_context,
96
169
  evidence_context: bespoke.evidence_context,
@@ -102,24 +175,113 @@ export function buildOrientationJsonPayload(state, command) {
102
175
  artifacts_present: state.mode === "returning",
103
176
  },
104
177
  source_contract: {
105
- fields: STATUS_STRUCTURED_FIELDS,
178
+ fields: state.todo_reconciliation?.status === "action_required" ? [...STATUS_STRUCTURED_FIELDS, "todo_reconciliation"] : STATUS_STRUCTURED_FIELDS,
106
179
  render,
107
180
  access,
108
- empty_state: "fresh mode with missing artifact summaries and zero issue counts",
109
- capability_startup: startupCompletenessContract({ profileStatus: state.profile_status }),
110
- capability_context: null,
181
+ empty_state: "fresh: summaries absent; zero TODO items",
182
+ capability_context: capabilityContextPointer(options.capabilityContextRequiredBeforeRendering ?? true),
111
183
  },
112
184
  };
113
185
  }
114
- function availablePrimeFields(command) {
115
- const base = command === "prime" ? [...STATUS_STRUCTURED_FIELDS, "capability_context"] : STATUS_STRUCTURED_FIELDS;
116
- return [...base, ...DEPRECATED_PRIME_FIELD_ALIASES];
186
+ /** The status dashboard consumes a compact view of the one startup aggregation. */
187
+ export function buildStatusContextState(state, _command = "prime", _options = {}) {
188
+ const todoReconciliation = state.todo_reconciliation ?? null;
189
+ const startup = startupAggregation(capabilityContext("status") ?? {}, state.health, state.state_cutover, todoReconciliation);
190
+ const plan = state.plan;
191
+ const firstPending = plan.first_pending && typeof plan.first_pending === "object" && !Array.isArray(plan.first_pending)
192
+ ? plan.first_pending
193
+ : null;
194
+ const risks = todoReconciliation?.risks;
195
+ const unsafeDetailOmitted = todoReconciliation?.state === "unsafe_inactive"
196
+ && Boolean(risks && typeof risks === "object" && !Array.isArray(risks) && Number(risks.omitted_count) > 0);
197
+ const recovery = unsafeDetailOmitted && typeof todoReconciliation.recovery_command === "string"
198
+ ? todoReconciliation.recovery_command
199
+ : null;
200
+ const todoAttention = unsafeDetailOmitted
201
+ ? new Set(state.todo_items.map((item) => `${String(item.severity)}: TODO: ${String(item.text)}`))
202
+ : new Set();
203
+ const attention = projectPublicOrientationAttention(state)
204
+ .flatMap((item) => item === `action-required: TODO reconciliation is unsafe inactive; ${recovery}`
205
+ ? ["action-required: TODO reconciliation is unsafe inactive; see capability_context.startup.todo_reconciliation"]
206
+ : todoAttention.has(item) ? [] : [item])
207
+ .map((item) => truncateCodePoints(item, 200, "…"));
208
+ const redactRecovery = (action) => recovery !== null && action.reason === recovery
209
+ ? { ...action, reason: "See capability_context.startup.todo_reconciliation for recovery." }
210
+ : action;
211
+ const nextAction = {
212
+ recommended: redactRecovery(state.next_action.recommended),
213
+ alternatives: state.next_action.alternatives
214
+ .filter((action) => !unsafeDetailOmitted || action.artifact !== "todo")
215
+ .map(redactRecovery),
216
+ };
217
+ return {
218
+ outcome: startup.outcome,
219
+ mode: state.mode,
220
+ project_integration: {
221
+ recommendation: state.project_integration.recommendation,
222
+ ...(state.project_integration.message ? { message: state.project_integration.message } : {}),
223
+ ...(state.project_integration.dry_run_command ? { dry_run_command: state.project_integration.dry_run_command } : {}),
224
+ ...(state.project_integration.apply_command ? { apply_command: state.project_integration.apply_command } : {}),
225
+ },
226
+ health: {
227
+ exists: state.health.exists,
228
+ status: state.health.status ?? null,
229
+ id: state.health.id ?? null,
230
+ grade: state.health.grade ?? null,
231
+ worst: state.health.worst ?? null,
232
+ trajectory: state.health.trajectory ?? null,
233
+ degrading: Boolean(state.health.degrading),
234
+ },
235
+ todo: { ...state.counts, detail: state.todo_detail },
236
+ plan: {
237
+ exists: plan.exists,
238
+ active: plan.active ?? false,
239
+ id: plan.id ?? null,
240
+ artifact: plan.exists ? plan.artifact ?? "plan" : null,
241
+ status: plan.status,
242
+ title: plan.title ?? null,
243
+ complete: plan.complete ?? 0,
244
+ total: plan.total ?? 0,
245
+ complete_plan: plan.complete_plan ?? false,
246
+ first_pending: firstPending ? {
247
+ id: firstPending.id ?? null,
248
+ artifact: firstPending.artifact ?? "plan",
249
+ name: firstPending.name ?? firstPending.title ?? null,
250
+ status: firstPending.status ?? null,
251
+ } : null,
252
+ },
253
+ progress: { exists: state.progress.exists, status: state.progress.status ?? null, latest: state.progress.latest ?? null },
254
+ objective: { exists: state.objective.exists, active: state.objective.active ?? false, title: state.objective.title ?? null },
255
+ state_presence: state.state_presence,
256
+ attention,
257
+ next_action: nextActionPayload(nextAction),
258
+ };
117
259
  }
118
- export function emitPrime(command, payload, format, fieldsArg, out, err) {
260
+ export function emitPrime(command, payload, format, fieldsArg, out, err, options = {}) {
261
+ const retiredRejection = rejectRetiredPrimeFields(command, format, fieldsArg, out, err);
262
+ if (retiredRejection !== null)
263
+ return retiredRejection;
119
264
  const requested = requestedFields(fieldsArg);
120
- emitIssuesFieldDeprecationWarning(requested, payload, err);
265
+ // The default bare briefing first omits inactive conditional top-level fields
266
+ // (v1_migration/docs/objective when default) so startup does not carry
267
+ // default-only payload, then — for the bare default only — projects the full
268
+ // payload to a bounded decision brief (Plan Task 3). Explicit `--fields`
269
+ // selection and `--context` use their governed payloads. Dashboard history is
270
+ // already projected at collection time so ordinary list detail is not copied
271
+ // into startup (see default_emission_omission_contract + brief_omission_contract).
272
+ const conditional = requested.length === 0 && options.bareBrief ? omitInactiveConditionalDefaults(payload) : payload;
273
+ const effectivePayload = requested.length === 0 && options.bareBrief
274
+ ? briefOrientationPayload(conditional, { budgetBytes: options.briefBudgetBytes })
275
+ : conditional;
121
276
  if (requested.length === 0) {
122
- emitStructured(payload, format, out);
277
+ if (format === "json" && options.maxUtf8Bytes !== undefined) {
278
+ const bytes = briefUtf8Bytes(effectivePayload);
279
+ if (bytes > options.maxUtf8Bytes) {
280
+ err(`Error: ${command} JSON output is ${bytes} UTF-8 bytes, over the ${options.maxUtf8Bytes}-byte startup budget; use the named recovery commands in the projected output contract.\n`);
281
+ return 1;
282
+ }
283
+ }
284
+ emitStructured(effectivePayload, format, out);
123
285
  return 0;
124
286
  }
125
287
  const available = availablePrimeFields(command);
@@ -133,14 +295,40 @@ export function emitPrime(command, payload, format, fieldsArg, out, err) {
133
295
  if (field in payload && !(field in selected))
134
296
  selected[field] = payload[field];
135
297
  }
298
+ if (format === "json" && options.maxUtf8Bytes !== undefined) {
299
+ const bytes = briefUtf8Bytes(selected);
300
+ if (bytes > options.maxUtf8Bytes) {
301
+ err(`Error: ${command} JSON output is ${bytes} UTF-8 bytes, over the ${options.maxUtf8Bytes}-byte startup budget; use the named recovery commands in the projected output contract.\n`);
302
+ return 1;
303
+ }
304
+ }
136
305
  emitStructured(selected, format, out);
137
306
  return 0;
138
307
  }
308
+ /** Reject a retired selector before state collection or output projection. Text
309
+ * mode uses JSON because a retired-field request is an automation-shaped
310
+ * selector and must return one machine-readable correction, not a briefing. */
311
+ export function rejectRetiredPrimeFields(command, format, fieldsArg, out, err) {
312
+ const requested = requestedFields(fieldsArg);
313
+ const retired = requested.find((field) => field in RETIRED_PRIME_FIELD_CORRECTIONS);
314
+ if (retired === undefined)
315
+ return null;
316
+ const replacement = RETIRED_PRIME_FIELD_CORRECTIONS[retired];
317
+ return emitInvalidInput({ out, err }, {
318
+ format: format === "yaml" ? "yaml" : "json",
319
+ body: {
320
+ class: "invalid_choice",
321
+ message: `prime field '${retired}' is retired; use '${replacement}'`,
322
+ valid_values: [replacement],
323
+ syntax: preCutoverCommand(`${command} --fields ${replacement} --format json`),
324
+ example: preCutoverCommand(`${command} --fields ${replacement} --format json`),
325
+ recovery: `Replace '${retired}' with '${replacement}' and retry; no state was changed.`,
326
+ },
327
+ });
328
+ }
139
329
  export function printOrientationTextBriefing(state, command, out) {
140
330
  const bundle = state.app;
141
331
  const mode = state.mode;
142
- const profileStatus = state.profile_status;
143
- const profile = state.profile;
144
332
  const health = state.health;
145
333
  const counts = state.counts;
146
334
  const plan = state.plan;
@@ -149,24 +337,47 @@ export function printOrientationTextBriefing(state, command, out) {
149
337
  const attention = state.attention;
150
338
  const nextAction = state.next_action;
151
339
  const dashboardLabel = command === "prime" ? "prime orientation dashboard" : "prime orientation dashboard";
152
- out(`agentera ${command}\n`);
340
+ out(`${preCutoverCommand(command)}\n`);
153
341
  out(`app_home: install_track=${projectInstallTrack(bundle.installKind)} | status=${bundle.status} | home=${bundle.appHome} | ` +
154
342
  `source=${bundle.appHomeSource} | managed_app=${bundle.managedAppRoot} | user_data=${bundle.userDataRoot} | expected=${bundle.expectedVersion} | ` +
155
343
  `expected_source=${bundle.expectedVersionSource ?? "-"} | current=${bundle.markerVersion || "-"}\n`);
156
344
  out(`mode: ${mode}\n`);
157
345
  const projectIntegration = state.project_integration;
158
346
  out(`project_integration: recommendation=${projectIntegration.recommendation} | ` +
159
- `channel=${projectIntegration.update_channel} | pending_runtime=${projectIntegration.pending_runtime}\n`);
347
+ `channel=${projectIntegration.update_channel} | pending_artifacts=${projectIntegration.pending_artifacts}\n`);
160
348
  if (projectIntegration.recommendation === "upgrade" && projectIntegration.message) {
161
349
  out(`project_integration_message: ${projectIntegration.message}\n`);
162
350
  }
163
- out(`profile: ${profileStatus} | path=${profile}\n`);
164
- if (health.exists) {
351
+ out(`shared_skill: status=${String(state.shared_skill.status)} | path=${String(state.shared_skill.path)}\n`);
352
+ const todoReconciliation = state.todo_reconciliation ?? null;
353
+ const startup = startupAggregation(capabilityContext("status") ?? {}, state.health, state.state_cutover, todoReconciliation);
354
+ out(`outcome: ${String(startup.outcome)}\n`);
355
+ if (health.exists && health.id) {
165
356
  const worst = health.worst;
166
357
  const worstText = worst ? `${worst[0]}:${worst[1]}` : "none";
167
- out(`health: audit=${health.number} | grade=${health.grade || "unknown"} | ` +
358
+ out(`health: id=${health.id} | artifact=${health.artifact ?? "health"} | grade=${health.grade || "unknown"} | ` +
168
359
  `trajectory=${health.trajectory || "unknown"} | worst=${worstText}\n`);
169
360
  }
361
+ if (health.degraded_history) {
362
+ const degraded = health.degraded_history;
363
+ out(`health: degraded_history | summaries=${String(degraded.summary_count ?? 0)} | returned=${String(degraded.returned_count ?? 0)} | omitted=${String(degraded.omitted_count ?? 0)} | ` +
364
+ `detail=summary-only | recovery=${preCutoverCommand("state health list --limit 20 --format json")}\n`);
365
+ }
366
+ const latestProgress = state.progress.latest;
367
+ if (latestProgress) {
368
+ out(`progress: id=${String(latestProgress.id ?? "unknown")} | artifact=${String(latestProgress.artifact ?? "progress")} | ` +
369
+ `what=${String(latestProgress.what ?? "unknown")}\n`);
370
+ }
371
+ if (state.progress.degraded_history) {
372
+ const degraded = state.progress.degraded_history;
373
+ out(`progress: degraded_history | summaries=${String(degraded.summary_count ?? 0)} | returned=${String(degraded.returned_count ?? 0)} | omitted=${String(degraded.omitted_count ?? 0)} | ` +
374
+ `detail=summary-only | recovery=${preCutoverCommand("state progress list --limit 20 --format json")}\n`);
375
+ }
376
+ const decisionHistory = state.history.decisions?.degraded_history;
377
+ if (decisionHistory) {
378
+ out(`decisions: degraded_history | summaries=${String(decisionHistory.summary_count ?? 0)} | returned=${String(decisionHistory.returned_count ?? 0)} | omitted=${String(decisionHistory.omitted_count ?? 0)} | ` +
379
+ `detail=summary-only | recovery=${preCutoverCommand("state decisions list --limit 20 --format json")}\n`);
380
+ }
170
381
  out(`todo: critical=${counts.critical} | degraded=${counts.degraded} | normal=${counts.normal} | annoying=${counts.annoying}\n`);
171
382
  if (!presence.any_active) {
172
383
  const missing = Object.keys(presence.absence).sort().join(", ") || "none";
@@ -187,7 +398,7 @@ export function printOrientationTextBriefing(state, command, out) {
187
398
  }
188
399
  if (attention.length > 0) {
189
400
  out("attention:\n");
190
- for (const item of attention.slice(0, 6))
401
+ for (const item of projectPublicOrientationAttention(state))
191
402
  out(`- ${item}\n`);
192
403
  }
193
404
  out("next_action:\n");
@@ -196,15 +407,15 @@ export function printOrientationTextBriefing(state, command, out) {
196
407
  out(`- alt: ${formatNextAction(alt)}\n`);
197
408
  }
198
409
  out("source_contract:\n");
199
- out("- fields=app_home,mode,profile,v1_migration,project_integration,health,todo,plan,docs,progress,objective,state_presence,attention,decision_attention,next_action,orchestration_context,closeout_context,evidence_context,benchmark_context,execution_context\n");
410
+ out(`- fields=${PRIME_STRUCTURED_FIELDS.join(", ")}\n`);
200
411
  out(`- render=caller-owned README-style ${dashboardLabel}\n`);
201
412
  out("- access=single installed CLI call; app/v1/profile safety included; no preflight glob/read/import/doctor calls\n");
202
- const startup = startupCompletenessContract({ profileStatus: state.profile_status });
203
- out(`- capability_startup_complete=${String(startup.complete_for_capability_startup).toLowerCase()}\n`);
413
+ out(`- startup_outcome=${String(startup.outcome)}\n`);
414
+ out(`- capability_context: fetch rendering instructions via \`${preCutoverCommand("prime --context status --format json")}\`\n`);
415
+ out(`- detail_discovery=${String(startup.detail_discovery.schema)}\n`);
204
416
  out(`- raw_artifact_reads_required=${String(startup.raw_artifact_reads_required).toLowerCase()}; policy=${startup.raw_artifact_read_policy}\n`);
205
- const missingState = startup.missing_state.join("; ") || "none";
206
- out(`- missing_state=${missingState}\n`);
207
- out(`- confidence_caveats=${startup.confidence_caveats.join("; ")}\n`);
208
- out(`- cli_fallback=${startup.cli_fallback.join("; ")}\n`);
417
+ const deferred = startup.availability
418
+ .filter((entry) => entry.availability === "deferred")
419
+ .map((entry) => String(entry.family));
420
+ out(`- deferred_detail=${deferred.join(", ") || "none"}\n`);
209
421
  }
210
- //# sourceMappingURL=orientationOutput.js.map
@@ -1,2 +1 @@
1
1
  export {};
2
- //# sourceMappingURL=types.js.map
@@ -36,4 +36,3 @@ export function v1MigrationSummary(v1Artifacts, opts) {
36
36
  }
37
37
  return summary;
38
38
  }
39
- //# sourceMappingURL=v1Migration.js.map
@@ -1,12 +1,33 @@
1
1
  import { PRIME_BLOB } from "../prime-blob.js";
2
2
  import { buildPrimeCapabilityContextPayload, validatePrimeCapability } from "../capabilityContext.js";
3
3
  import { collectOrientationState } from "./prime/collectOrientationState.js";
4
- import { buildOrientationJsonPayload, emitPrime, printOrientationTextBriefing } from "./prime/orientationOutput.js";
4
+ import { buildOrientationJsonPayload, buildStatusContextState, emitPrime, rejectRetiredPrimeFields, PRIME_BRIEF_MAX_UTF8_BYTES, PRIME_STATUS_CONTEXT_MAX_UTF8_BYTES, printOrientationTextBriefing, } from "./prime/orientationOutput.js";
5
+ import { emitInvalidInput } from "../errors.js";
6
+ import { BuildExecutionRequestError, loadBuildExecutionRequest, } from "./prime/buildExecutionRequest.js";
7
+ import { preCutoverCommand } from "../preCutoverCommand.js";
5
8
  export { collectOrientationState } from "./prime/collectOrientationState.js";
9
+ export function buildStatusCapabilityContextPayload(state, command = "prime") {
10
+ const payload = buildPrimeCapabilityContextPayload(state, "status", command);
11
+ return finalizeStatusCapabilityContextPayload(payload, state, command);
12
+ }
13
+ export function finalizeStatusCapabilityContextPayload(payload, state, command = "prime") {
14
+ const capabilityContext = payload.capability_context;
15
+ const context = capabilityContext.context;
16
+ // status_context carries the dashboard state. Startup availability remains
17
+ // singular on capability_context.startup.
18
+ delete capabilityContext.app;
19
+ // status_context already carries the canonical bounded plan projection.
20
+ delete context.plan;
21
+ context.status_context = buildStatusContextState(state, command, {
22
+ budgetBytes: PRIME_BRIEF_MAX_UTF8_BYTES,
23
+ degradedMode: "status_routing",
24
+ });
25
+ return payload;
26
+ }
6
27
  /**
7
28
  * prime orientation command. Port of scripts/agentera cmd_prime / cmd_status.
8
- * The text briefing (default), --guidance, --dashboard, --context, and
9
- * --format json paths are all wired.
29
+ * The text briefing (default), --guidance, deprecated --dashboard, --context,
30
+ * and --format json paths are all wired.
10
31
  */
11
32
  export function cmdPrime(args, io = {}) {
12
33
  const out = io.out ?? ((t) => process.stdout.write(t));
@@ -15,6 +36,17 @@ export function cmdPrime(args, io = {}) {
15
36
  const capability = args.context ?? null;
16
37
  const dashboard = Boolean(args.dashboard || args.orientation);
17
38
  const guidance = Boolean(args.guidance);
39
+ const input = args.input ?? null;
40
+ const format = args.format ?? "text";
41
+ const inputErrorFormat = args.format === "json" || args.format === "yaml" ? args.format : "text";
42
+ const rejectInput = (body) => emitInvalidInput(io, { format: inputErrorFormat, body });
43
+ if (input !== null && (capability !== "build" || dashboard || guidance)) {
44
+ return rejectInput({
45
+ class: "unsupported_target",
46
+ message: "--input is valid only with prime --context build",
47
+ syntax: preCutoverCommand("prime --context build --input <file|-> --format json"),
48
+ });
49
+ }
18
50
  if (capability !== null && dashboard) {
19
51
  err("Error: prime --context and prime --dashboard/--orientation are mutually exclusive\n");
20
52
  return 2;
@@ -27,12 +59,19 @@ export function cmdPrime(args, io = {}) {
27
59
  err("Error: prime --dashboard/--orientation and prime --guidance are mutually exclusive\n");
28
60
  return 2;
29
61
  }
62
+ const retiredFieldRejection = rejectRetiredPrimeFields(command, format, args.fields, out, err);
63
+ if (retiredFieldRejection !== null)
64
+ return retiredFieldRejection;
30
65
  if (guidance) {
31
66
  out(PRIME_BLOB);
32
67
  return 0;
33
68
  }
34
- const format = args.format ?? "text";
35
- const collectOpts = { home: args.home, installRoot: args.installRoot, expectedVersion: args.expectedVersion };
69
+ const collectOpts = {
70
+ projectRoot: args.projectRoot,
71
+ home: args.home,
72
+ installRoot: args.installRoot,
73
+ expectedVersion: args.expectedVersion,
74
+ };
36
75
  if (capability !== null) {
37
76
  try {
38
77
  validatePrimeCapability(capability);
@@ -45,25 +84,51 @@ export function cmdPrime(args, io = {}) {
45
84
  err("Error: prime --context requires --format json\n");
46
85
  return 2;
47
86
  }
87
+ let buildRequest = null;
88
+ if (input !== null) {
89
+ try {
90
+ buildRequest = loadBuildExecutionRequest(input, io.stdin);
91
+ }
92
+ catch (error) {
93
+ if (error instanceof BuildExecutionRequestError)
94
+ return rejectInput(error.body);
95
+ return rejectInput({ class: "invalid_format", message: "Build execution request input could not be read" });
96
+ }
97
+ }
48
98
  const state = collectOrientationState(collectOpts);
49
- const payload = buildPrimeCapabilityContextPayload(state, capability, command);
50
- return emitPrime(command, payload, format, args.fields, out, err);
99
+ if (buildRequest !== null && state.plan.active === true) {
100
+ return rejectInput({
101
+ class: "conflict",
102
+ message: "Transient no-plan Build input conflicts with the current plan-owned execution context",
103
+ recovery: "Run Build without --input for the current plan, or close/archive that plan before retrying; no state was changed.",
104
+ });
105
+ }
106
+ const payload = capability === "status"
107
+ ? buildStatusCapabilityContextPayload(state, command)
108
+ : buildPrimeCapabilityContextPayload(state, capability, command, buildRequest);
109
+ return emitPrime(command, payload, format, args.fields, out, err, {
110
+ maxUtf8Bytes: capability === "status" ? PRIME_STATUS_CONTEXT_MAX_UTF8_BYTES : undefined,
111
+ });
51
112
  }
52
113
  if (dashboard) {
53
114
  if (format === "text") {
54
115
  err("Error: prime --dashboard requires --format json\n");
55
116
  return 2;
56
117
  }
118
+ err("Deprecation: prime --dashboard is retained as an alias for `prime --context status --format json`; use the status startup capsule directly.\n");
57
119
  const state = collectOrientationState(collectOpts);
58
- const payload = buildOrientationJsonPayload(state, command);
59
- return emitPrime(command, payload, format, args.fields, out, err);
120
+ const payload = buildStatusCapabilityContextPayload(state, command);
121
+ return emitPrime(command, payload, format, args.fields, out, err, {
122
+ maxUtf8Bytes: PRIME_STATUS_CONTEXT_MAX_UTF8_BYTES,
123
+ });
60
124
  }
61
125
  const state = collectOrientationState(collectOpts);
62
126
  if (format !== "text") {
63
127
  const payload = buildOrientationJsonPayload(state, command);
64
- return emitPrime(command, payload, format, args.fields, out, err);
128
+ // Bare default: project to the bounded decision brief (prime-briefing,
129
+ // 12000-byte budget). Explicit `--fields` selection keeps full payload.
130
+ return emitPrime(command, payload, format, args.fields, out, err, { bareBrief: true });
65
131
  }
66
132
  printOrientationTextBriefing(state, command, out);
67
133
  return 0;
68
134
  }
69
- //# sourceMappingURL=prime.js.map
@@ -0,0 +1,55 @@
1
+ import { personalProfileGroundingContract } from "../../registries/glossaryEntryContract.js";
2
+ import { emitInvalidInput } from "../errors.js";
3
+ import { acquireProfile } from "../profileAcquisition.js";
4
+ import { emitStructured } from "../structured.js";
5
+ const COMMAND = "agentera report profile-grounding --format json";
6
+ const REQUEST_RECOVERY = `Run ${COMMAND}; no profile bytes were changed.`;
7
+ const INVALID_PROFILE_MESSAGE = "PROFILE.md is unavailable for bounded profile grounding.";
8
+ function invalid(io, body, recovery) {
9
+ return emitInvalidInput(io, { format: "json", body: { ...body, recovery } });
10
+ }
11
+ export function runProfileGroundingCommand(argv, io) {
12
+ for (let index = 0; index < argv.length; index += 1) {
13
+ const argument = argv[index];
14
+ const [name, inline] = argument.split("=", 2);
15
+ if (name !== "--format") {
16
+ return invalid(io, { class: "unrecognized_argument", message: "profile-grounding accepts only --format json", syntax: COMMAND }, REQUEST_RECOVERY);
17
+ }
18
+ const value = inline ?? argv[++index];
19
+ if (value !== "json") {
20
+ return invalid(io, { class: "invalid_choice", message: "profile-grounding requires --format json", valid_values: ["json"] }, REQUEST_RECOVERY);
21
+ }
22
+ }
23
+ const contract = personalProfileGroundingContract();
24
+ const acquired = acquireProfile();
25
+ const output = io.out ?? ((text) => process.stdout.write(text));
26
+ if (acquired.validity.status !== "valid" || acquired.groundingContent === null) {
27
+ emitStructured({
28
+ schemaVersion: contract.schemaVersion,
29
+ command: "report profile-grounding",
30
+ status: acquired.validity.status,
31
+ validity: acquired.validity,
32
+ freshness: acquired.freshness,
33
+ content: null,
34
+ recovery: acquired.validity.recovery,
35
+ error: {
36
+ class: "profile_unavailable",
37
+ message: INVALID_PROFILE_MESSAGE,
38
+ recovery: acquired.validity.recovery,
39
+ },
40
+ }, "json", output);
41
+ return 2;
42
+ }
43
+ emitStructured({
44
+ schemaVersion: contract.schemaVersion,
45
+ command: "report profile-grounding",
46
+ status: "ok",
47
+ validity: acquired.validity,
48
+ freshness: acquired.freshness,
49
+ content: acquired.groundingContent,
50
+ content_utf8_bytes: Buffer.byteLength(acquired.groundingContent),
51
+ excluded: "owned_personal_glossary_section",
52
+ recovery: null,
53
+ }, "json", output);
54
+ return 0;
55
+ }