agentera 3.0.0-dev.23 → 3.0.0-dev.25

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 (237) hide show
  1. package/README.md +2 -2
  2. package/bundle/CHANGELOG.md +13 -5
  3. package/bundle/README.md +9 -8
  4. package/bundle/UPGRADE.md +10 -24
  5. package/bundle/agents/openai.yaml +1 -1
  6. package/bundle/references/adapters/package-manifest-interface-model.yaml +2 -0
  7. package/bundle/references/adapters/package-registry.yaml +9 -0
  8. package/bundle/references/artifacts/state-storage-authority.yaml +733 -12
  9. package/bundle/references/cli/agent-ready-state-contract.yaml +3 -3
  10. package/bundle/references/cli/prime-consumer-compatibility.yaml +2 -2
  11. package/bundle/references/cli/update-channels.yaml +4 -2
  12. package/bundle/references/cli/vocabulary.md +4 -4
  13. package/bundle/skills/agentera/SKILL.md +28 -14
  14. package/bundle/skills/agentera/capabilities/audit/schemas/artifacts.yaml +12 -12
  15. package/bundle/skills/agentera/capabilities/audit/schemas/validation.yaml +2 -2
  16. package/bundle/skills/agentera/capabilities/build/schemas/artifacts.yaml +12 -12
  17. package/bundle/skills/agentera/capabilities/build/schemas/validation.yaml +8 -8
  18. package/bundle/skills/agentera/capabilities/design/schemas/artifacts.yaml +6 -6
  19. package/bundle/skills/agentera/capabilities/discuss/schemas/artifacts.yaml +7 -7
  20. package/bundle/skills/agentera/capabilities/document/schemas/artifacts.yaml +12 -12
  21. package/bundle/skills/agentera/capabilities/optimize/schemas/artifacts.yaml +9 -9
  22. package/bundle/skills/agentera/capabilities/orchestrate/schemas/artifacts.yaml +11 -11
  23. package/bundle/skills/agentera/capabilities/plan/schemas/artifacts.yaml +9 -9
  24. package/bundle/skills/agentera/capabilities/profile/schemas/artifacts.yaml +2 -2
  25. package/bundle/skills/agentera/capabilities/research/schemas/artifacts.yaml +3 -3
  26. package/bundle/skills/agentera/capabilities/status/schemas/artifacts.yaml +11 -11
  27. package/bundle/skills/agentera/capabilities/vision/schemas/artifacts.yaml +8 -8
  28. package/bundle/skills/agentera/schemas/artifacts/decisions.yaml +15 -2
  29. package/bundle/skills/agentera/schemas/artifacts/docs.yaml +4 -1
  30. package/bundle/skills/agentera/schemas/artifacts/experiments.yaml +21 -21
  31. package/bundle/skills/agentera/schemas/artifacts/health.yaml +15 -2
  32. package/bundle/skills/agentera/schemas/artifacts/plan.yaml +36 -15
  33. package/bundle/skills/agentera/schemas/artifacts/progress.yaml +15 -2
  34. package/bundle/skills/agentera/schemas/artifacts/todo.yaml +4 -4
  35. package/dist/capabilities/audit/instructions.js +13 -1
  36. package/dist/capabilities/audit/instructions.js.map +1 -1
  37. package/dist/capabilities/build/instructions.js +14 -1
  38. package/dist/capabilities/build/instructions.js.map +1 -1
  39. package/dist/capabilities/discuss/instructions.js +11 -1
  40. package/dist/capabilities/discuss/instructions.js.map +1 -1
  41. package/dist/capabilities/document/instructions.js +9 -1
  42. package/dist/capabilities/document/instructions.js.map +1 -1
  43. package/dist/capabilities/index.js +7 -7
  44. package/dist/capabilities/index.js.map +1 -1
  45. package/dist/capabilities/optimize/instructions.js +10 -1
  46. package/dist/capabilities/optimize/instructions.js.map +1 -1
  47. package/dist/capabilities/orchestrate/instructions.js +13 -2
  48. package/dist/capabilities/orchestrate/instructions.js.map +1 -1
  49. package/dist/capabilities/plan/instructions.js +10 -1
  50. package/dist/capabilities/plan/instructions.js.map +1 -1
  51. package/dist/cli/capabilityContext/contract.js +10 -15
  52. package/dist/cli/capabilityContext/contract.js.map +1 -1
  53. package/dist/cli/capabilityContext/evidence.js +3 -3
  54. package/dist/cli/capabilityContext/evidence.js.map +1 -1
  55. package/dist/cli/capabilityContext/planState.js +5 -5
  56. package/dist/cli/capabilityContext/planState.js.map +1 -1
  57. package/dist/cli/capabilityContext/progress.js +1 -1
  58. package/dist/cli/capabilityContext/progress.js.map +1 -1
  59. package/dist/cli/capabilityContext/shared.js +8 -2
  60. package/dist/cli/capabilityContext/shared.js.map +1 -1
  61. package/dist/cli/capabilityContext/slim.js +2 -1
  62. package/dist/cli/capabilityContext/slim.js.map +1 -1
  63. package/dist/cli/capabilityContext/startup.js +18 -7
  64. package/dist/cli/capabilityContext/startup.js.map +1 -1
  65. package/dist/cli/capabilityContext/types.js +4 -4
  66. package/dist/cli/capabilityContext/types.js.map +1 -1
  67. package/dist/cli/commands/backfill.js +39 -2
  68. package/dist/cli/commands/backfill.js.map +1 -1
  69. package/dist/cli/commands/durability.js +34 -1
  70. package/dist/cli/commands/durability.js.map +1 -1
  71. package/dist/cli/commands/entityMigrate.js +128 -0
  72. package/dist/cli/commands/entityMigrate.js.map +1 -0
  73. package/dist/cli/commands/migrate.js +4 -0
  74. package/dist/cli/commands/migrate.js.map +1 -1
  75. package/dist/cli/commands/prime/briefOrientation.js +5 -3
  76. package/dist/cli/commands/prime/briefOrientation.js.map +1 -1
  77. package/dist/cli/commands/prime/collectEntityOrientation.js +148 -0
  78. package/dist/cli/commands/prime/collectEntityOrientation.js.map +1 -0
  79. package/dist/cli/commands/prime/collectOrientationState.js +21 -27
  80. package/dist/cli/commands/prime/collectOrientationState.js.map +1 -1
  81. package/dist/cli/commands/prime/orientationOutput.js +1 -1
  82. package/dist/cli/commands/prime/orientationOutput.js.map +1 -1
  83. package/dist/cli/commands/prime.js +2 -0
  84. package/dist/cli/commands/prime.js.map +1 -1
  85. package/dist/cli/commands/query.js +41 -15
  86. package/dist/cli/commands/query.js.map +1 -1
  87. package/dist/cli/commands/schema.js +7 -5
  88. package/dist/cli/commands/schema.js.map +1 -1
  89. package/dist/cli/commands/state/decisions.js +13 -0
  90. package/dist/cli/commands/state/decisions.js.map +1 -1
  91. package/dist/cli/commands/state/docs.js +38 -0
  92. package/dist/cli/commands/state/docs.js.map +1 -1
  93. package/dist/cli/commands/state/experimentRecords.js +82 -0
  94. package/dist/cli/commands/state/experimentRecords.js.map +1 -1
  95. package/dist/cli/commands/state/experiments.js +13 -0
  96. package/dist/cli/commands/state/experiments.js.map +1 -1
  97. package/dist/cli/commands/state/get.js +69 -2
  98. package/dist/cli/commands/state/get.js.map +1 -1
  99. package/dist/cli/commands/state/health.js +13 -0
  100. package/dist/cli/commands/state/health.js.map +1 -1
  101. package/dist/cli/commands/state/index.js +9 -0
  102. package/dist/cli/commands/state/index.js.map +1 -1
  103. package/dist/cli/commands/state/list.js +40 -7
  104. package/dist/cli/commands/state/list.js.map +1 -1
  105. package/dist/cli/commands/state/objective.js +24 -0
  106. package/dist/cli/commands/state/objective.js.map +1 -1
  107. package/dist/cli/commands/state/plan.js +14 -0
  108. package/dist/cli/commands/state/plan.js.map +1 -1
  109. package/dist/cli/commands/state/planTasks.js +38 -25
  110. package/dist/cli/commands/state/planTasks.js.map +1 -1
  111. package/dist/cli/commands/state/plans.js +32 -16
  112. package/dist/cli/commands/state/plans.js.map +1 -1
  113. package/dist/cli/commands/state/progress.js +12 -0
  114. package/dist/cli/commands/state/progress.js.map +1 -1
  115. package/dist/cli/commands/state/shared.js.map +1 -1
  116. package/dist/cli/commands/state/todo.js +30 -0
  117. package/dist/cli/commands/state/todo.js.map +1 -1
  118. package/dist/cli/commands/state/write.js +79 -4
  119. package/dist/cli/commands/state/write.js.map +1 -1
  120. package/dist/cli/commands/upgrade.js +65 -31
  121. package/dist/cli/commands/upgrade.js.map +1 -1
  122. package/dist/cli/commands/upgradeVerify.js +46 -14
  123. package/dist/cli/commands/upgradeVerify.js.map +1 -1
  124. package/dist/cli/commands/validate.js +65 -0
  125. package/dist/cli/commands/validate.js.map +1 -1
  126. package/dist/cli/dispatch/check.js +8 -1
  127. package/dist/cli/dispatch/check.js.map +1 -1
  128. package/dist/cli/dispatch/index.js +6 -0
  129. package/dist/cli/dispatch/index.js.map +1 -1
  130. package/dist/cli/dispatch/lifecycle.js +2 -5
  131. package/dist/cli/dispatch/lifecycle.js.map +1 -1
  132. package/dist/cli/dispatch/prime.js +15 -0
  133. package/dist/cli/dispatch/prime.js.map +1 -1
  134. package/dist/cli/dispatch/state.js +7 -1
  135. package/dist/cli/dispatch/state.js.map +1 -1
  136. package/dist/cli/help.js +78 -20
  137. package/dist/cli/help.js.map +1 -1
  138. package/dist/cli/migrationRequired.js +84 -0
  139. package/dist/cli/migrationRequired.js.map +1 -0
  140. package/dist/cli/orientation/attention.js +2 -2
  141. package/dist/cli/orientation/attention.js.map +1 -1
  142. package/dist/cli/orientation.js +10 -7
  143. package/dist/cli/orientation.js.map +1 -1
  144. package/dist/cli/planArtifacts.js +192 -42
  145. package/dist/cli/planArtifacts.js.map +1 -1
  146. package/dist/cli/prime-blob.js +5 -5
  147. package/dist/cli/prime-blob.js.map +1 -1
  148. package/dist/cli/stateQuery.js +5 -5
  149. package/dist/cli/stateQuery.js.map +1 -1
  150. package/dist/hooks/compaction/status.js +25 -1
  151. package/dist/hooks/compaction/status.js.map +1 -1
  152. package/dist/hooks/cursorSessionStart.js +6 -0
  153. package/dist/hooks/cursorSessionStart.js.map +1 -1
  154. package/dist/hooks/sessionStart.js +62 -0
  155. package/dist/hooks/sessionStart.js.map +1 -1
  156. package/dist/registries/artifactRegistry.js +23 -14
  157. package/dist/registries/artifactRegistry.js.map +1 -1
  158. package/dist/registries/packageRegistry.js +1 -1
  159. package/dist/registries/packageRegistry.js.map +1 -1
  160. package/dist/state/archivePublication.js +3 -2
  161. package/dist/state/archivePublication.js.map +1 -1
  162. package/dist/state/decisionEntities.js +279 -0
  163. package/dist/state/decisionEntities.js.map +1 -0
  164. package/dist/state/decisionOverlay.js +2 -2
  165. package/dist/state/decisionOverlay.js.map +1 -1
  166. package/dist/state/decisionRevision.js +44 -34
  167. package/dist/state/decisionRevision.js.map +1 -1
  168. package/dist/state/directRetrieval.js.map +1 -1
  169. package/dist/state/durability.js +92 -1
  170. package/dist/state/durability.js.map +1 -1
  171. package/dist/state/entityCutover.js +390 -0
  172. package/dist/state/entityCutover.js.map +1 -0
  173. package/dist/state/entityCutoverGit.js +128 -0
  174. package/dist/state/entityCutoverGit.js.map +1 -0
  175. package/dist/state/entityMigrationPreview.js +803 -0
  176. package/dist/state/entityMigrationPreview.js.map +1 -0
  177. package/dist/state/entityPublicationContext.js +612 -0
  178. package/dist/state/entityPublicationContext.js.map +1 -0
  179. package/dist/state/entityStorage.js +807 -0
  180. package/dist/state/entityStorage.js.map +1 -0
  181. package/dist/state/experimentIdentity.js +23 -11
  182. package/dist/state/experimentIdentity.js.map +1 -1
  183. package/dist/state/gitBackfill.js.map +1 -1
  184. package/dist/state/healthEntities.js +227 -0
  185. package/dist/state/healthEntities.js.map +1 -0
  186. package/dist/state/healthEntityValidation.js +6 -0
  187. package/dist/state/healthEntityValidation.js.map +1 -0
  188. package/dist/state/legacyEntityCutoverEvidence.js +66 -0
  189. package/dist/state/legacyEntityCutoverEvidence.js.map +1 -0
  190. package/dist/state/listRetrieval.js.map +1 -1
  191. package/dist/state/objectiveExperimentEntities.js +321 -0
  192. package/dist/state/objectiveExperimentEntities.js.map +1 -0
  193. package/dist/state/planEntities.js +358 -0
  194. package/dist/state/planEntities.js.map +1 -0
  195. package/dist/state/progressEntities.js +382 -0
  196. package/dist/state/progressEntities.js.map +1 -0
  197. package/dist/state/projectRoot.js +63 -0
  198. package/dist/state/projectRoot.js.map +1 -0
  199. package/dist/state/projectionRecovery.js +458 -0
  200. package/dist/state/projectionRecovery.js.map +1 -0
  201. package/dist/state/retrievalAuthority.js +13 -6
  202. package/dist/state/retrievalAuthority.js.map +1 -1
  203. package/dist/state/safeProjectFile.js +153 -0
  204. package/dist/state/safeProjectFile.js.map +1 -0
  205. package/dist/state/stateMode.js +76 -0
  206. package/dist/state/stateMode.js.map +1 -0
  207. package/dist/state/todoDocsEntities.js +223 -0
  208. package/dist/state/todoDocsEntities.js.map +1 -0
  209. package/dist/state/todoDocsEntityValidation.js +26 -0
  210. package/dist/state/todoDocsEntityValidation.js.map +1 -0
  211. package/dist/state/write/candidateMutation.js +5 -55
  212. package/dist/state/write/candidateMutation.js.map +1 -1
  213. package/dist/state/write/explain.js +127 -28
  214. package/dist/state/write/explain.js.map +1 -1
  215. package/dist/state/write/lock.js +794 -87
  216. package/dist/state/write/lock.js.map +1 -1
  217. package/dist/state/write/mutation.js +5 -2
  218. package/dist/state/write/mutation.js.map +1 -1
  219. package/dist/state/write/operations.js +52 -7
  220. package/dist/state/write/operations.js.map +1 -1
  221. package/dist/state/write/planEvaluation.js +107 -0
  222. package/dist/state/write/planEvaluation.js.map +1 -0
  223. package/dist/state/write/planPublication.js +11 -55
  224. package/dist/state/write/planPublication.js.map +1 -1
  225. package/dist/state/write/transaction.js +88 -1
  226. package/dist/state/write/transaction.js.map +1 -1
  227. package/dist/upgrade/compatibility.js +4 -4
  228. package/dist/upgrade/compatibility.js.map +1 -1
  229. package/dist/upgrade/migrateArtifactsV2ToV3.js +13 -14
  230. package/dist/upgrade/migrateArtifactsV2ToV3.js.map +1 -1
  231. package/dist/upgrade/upgradeOrchestrator.js +126 -23
  232. package/dist/upgrade/upgradeOrchestrator.js.map +1 -1
  233. package/dist/validate/crossCapability.js +2 -2
  234. package/dist/validate/crossCapability.js.map +1 -1
  235. package/package.json +3 -3
  236. package/dist/upgrade/upgradeSnapshot.js +0 -93
  237. package/dist/upgrade/upgradeSnapshot.js.map +0 -1
@@ -4,6 +4,7 @@ import { repairHealthDuplicates } from "../healthRepair.js";
4
4
  import { localDate, localTimestamp, nextEntryNumber, nextTaskNumber } from "./assign.js";
5
5
  import { reject } from "./errors.js";
6
6
  import { array, findByNumber, mapping, mappingPath } from "./helpers.js";
7
+ import { mutatePlanTaskEvaluation } from "./planEvaluation.js";
7
8
  function buildProgress(doc, values) {
8
9
  const entry = {
9
10
  number: nextEntryNumber(doc, "cycles"),
@@ -262,67 +263,16 @@ export function mutateCandidate(req, doc, recovered) {
262
263
  const entry = findByNumber(tasks, taskNumber);
263
264
  if (!entry)
264
265
  reject({ class: "unsupported_target", message: `no plan task with number ${taskNumber}` });
265
- const evaluationInput = mapping(req.values.evaluation);
266
- const attemptId = String(evaluationInput.attempt_id ?? "").trim();
267
- const verdict = String(evaluationInput.verdict ?? "");
268
- const provenance = String(evaluationInput.provenance ?? "").trim();
269
- const failureEvidence = String(evaluationInput.failure_evidence ?? "").trim();
270
- if (!attemptId || !provenance)
271
- reject({ class: "schema_violation", message: "evaluation requires non-empty --attempt-id and --provenance" });
272
- if (verdict === "fail" && !failureEvidence)
273
- reject({ class: "schema_violation", message: "a failed evaluation requires non-empty --failure-evidence" });
274
- if (verdict === "pass" && failureEvidence)
275
- reject({ class: "schema_violation", message: "--failure-evidence applies only to a failed evaluation" });
276
- const prior = mapping(entry.evaluation);
277
- const priorProvenance = mapping(prior.provenance);
278
- if (priorProvenance.attempt_id === attemptId) {
279
- const replay = prior.last_verdict === verdict &&
280
- priorProvenance.source === provenance &&
281
- (verdict !== "fail" || prior.last_failure_evidence === failureEvidence);
282
- if (!replay)
283
- reject({
284
- class: "conflict",
285
- message: `evaluation attempt '${attemptId}' already exists with different result data`,
286
- });
287
- return {
288
- candidate,
289
- written: entry,
290
- assigned: { number: taskNumber, attempt_count: prior.attempt_count ?? 0 },
291
- replay: true,
292
- };
293
- }
294
- if (["complete", "blocked"].includes(String(entry.status ?? "")))
295
- reject({ class: "conflict", message: `plan task ${taskNumber} is ${entry.status} and cannot accept another evaluation` });
296
- const attemptCount = Number(prior.attempt_count ?? 0);
297
- const failureCount = Number(prior.failure_count ?? 0);
298
- if (!Number.isInteger(attemptCount) || attemptCount < 0 || !Number.isInteger(failureCount) || failureCount < 0)
299
- reject({ class: "schema_violation", message: `plan task ${taskNumber} has malformed evaluation state` });
300
- if (verdict === "fail" && failureCount >= 2)
301
- reject({ class: "conflict", message: `plan task ${taskNumber} has exhausted its evaluation retry budget` });
302
- const nextFailureCount = failureCount + (verdict === "fail" ? 1 : 0);
303
- entry.evaluation = {
304
- attempt_count: attemptCount + 1,
305
- failure_count: nextFailureCount,
306
- last_verdict: verdict,
307
- last_failure_evidence: verdict === "fail" ? failureEvidence : prior.last_failure_evidence ?? null,
308
- provenance: {
309
- attempt_id: attemptId,
310
- source: provenance,
311
- recorded_at: localTimestamp(),
312
- writer_command: "agentera state plan record-evaluation",
313
- },
314
- };
315
- if (nextFailureCount >= 2)
316
- entry.status = "blocked";
266
+ const mutation = mutatePlanTaskEvaluation(entry, req.values.evaluation, `plan task ${taskNumber}`);
317
267
  return {
318
268
  candidate,
319
269
  written: entry,
320
270
  assigned: {
321
271
  number: taskNumber,
322
- attempt_count: attemptCount + 1,
323
- failure_count: nextFailureCount,
272
+ attempt_count: mutation.attemptCount,
273
+ failure_count: mutation.failureCount,
324
274
  },
325
- replay: false,
275
+ replay: mutation.replay,
326
276
  };
327
277
  }
328
278
  throw new Error(`unsupported transaction ${req.artifact} ${req.spec.verb}`);
@@ -1 +1 @@
1
- {"version":3,"file":"candidateMutation.js","sourceRoot":"","sources":["../../../src/state/write/candidateMutation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"candidateMutation.js","sourceRoot":"","sources":["../../../src/state/write/candidateMutation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C,OAAO,EACL,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACzF,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,SAAS,aAAa,CACpB,GAA4B,EAC5B,MAA+B;IAE/B,MAAM,KAAK,GAA4B;QACrC,MAAM,EAAE,eAAe,CAAC,GAAG,EAAE,QAAQ,CAAC;QACtC,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,cAAc,EAAE;QAC/C,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,IAAI,EAAE,MAAM,CAAC,IAAI;KAClB,CAAC;IACF,KAAK,MAAM,KAAK,IAAI,CAAC,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,CAAC;QACnE,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,SAAS;YAAE,KAAK,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAChE,MAAM,OAAO,GAA4B,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,EAAE,CAAC;IAC3F,KAAK,MAAM,KAAK,IAAI,CAAC,aAAa,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,CAAC;QACzD,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,EAAE,WAAW,KAAK,EAAE,CAAC,CAAC;QACtD,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;IAClD,CAAC;IACD,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;IACxB,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CACpB,GAA4B,EAC5B,MAA+B;IAE/B,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IACnF,MAAM,KAAK,GAA4B;QACrC,MAAM,EAAE,eAAe,CAAC,GAAG,EAAE,WAAW,CAAC;QACzC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,SAAS,EAAE;QAChC,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,YAAY,EAAE;YACZ,EAAE,IAAI,EAAE,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE;YAC/C,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;SAC1D;QACD,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,UAAU,EAAE,MAAM,CAAC,UAAU;KAC9B,CAAC;IACF,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS;QAAE,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IAC1E,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,yBAAyB,CAAC,MAA+B;IAChE,MAAM,OAAO,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;IAC9B,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAClD,OAAO,CAAC,YAAY,GAAG;QACrB,EAAE,IAAI,EAAE,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE;QAC/C,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACpF,IAAI;YACJ,MAAM,EAAE,UAAU;SACnB,CAAC,CAAC;KACJ,CAAC;IACF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,GAAsB,EACtB,GAA4B,EAC5B,SAAmC;IAOnC,MAAM,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IACvC,IAAI,GAAG,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,GAAG,CAAC,aAAa,CAAC;QAClC,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;QAC7E,IAAI,MAAM;YACR,OAAO;gBACL,SAAS;gBACT,OAAO,EAAE,MAAM;gBACf,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE;gBAChE,MAAM,EAAE,IAAI;aACb,CAAC;QACJ,IAAI,SAAS,EAAE,CAAC;YACd,oBAAoB,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YACpE,OAAO;gBACL,SAAS;gBACT,OAAO,EAAE,SAAS;gBAClB,QAAQ,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE;gBACtE,MAAM,EAAE,IAAI;aACb,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,aAAa,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACnD,SAAS,CAAC,MAAM,GAAG,CAAC,KAAK,EAAE,GAAG,OAAO,CAAC,CAAC;QACvC,OAAO;YACL,SAAS;YACT,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE;YAC9D,MAAM,EAAE,KAAK;SACd,CAAC;IACJ,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,KAAK,WAAW,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC/D,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,yBAAyB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC7D,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;QAC7E,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,KAAK,GAAG,MAAM,CAAC;YACrB,OAAO;gBACL,SAAS;gBACT,OAAO,EAAE,KAAK;gBACd,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE;gBACpD,MAAM,EAAE,IAAI;aACb,CAAC;QACJ,CAAC;QACD,IAAI,SAAS,EAAE,CAAC;YACd,oBAAoB,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YACxE,OAAO;gBACL,SAAS;gBACT,OAAO,EAAE,SAAS;gBAClB,QAAQ,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE;gBAC5D,MAAM,EAAE,IAAI;aACb,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,aAAa,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACnD,SAAS,CAAC,SAAS,GAAG,CAAC,GAAG,OAAO,EAAE,KAAK,CAAC,CAAC;QAC1C,OAAO;YACL,SAAS;YACT,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE;YACpD,MAAM,EAAE,KAAK;SACd,CAAC;IACJ,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,GAAG,CAAC,KAAK;gBAAE,MAAM,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,mEAAmE,EAAE,CAAC,CAAC;YAC5H,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACzC,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;YAC3D,MAAM,QAAQ,GAAG,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;YACjE,IAAI,QAAQ,CAAC,OAAO,KAAK,CAAC;gBAAE,MAAM,CAAC,EAAE,KAAK,EAAE,oBAAoB,EAAE,OAAO,EAAE,gBAAgB,MAAM,kDAAkD,EAAE,CAAC,CAAC;YACvJ,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QACrL,CAAC;QACD,IAAI,GAAG,CAAC,KAAK,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAC,KAAK,IAAI,SAAS,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACnE,MAAM,CAAC;gBACL,KAAK,EAAE,kBAAkB;gBACzB,OAAO,EAAE,0EAA0E;gBACnF,UAAU,EAAE,CAAC,sCAAsC,CAAC;aACrD,CAAC,CAAC;QACL,CAAC;QACD,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,GAAG,CAAC,aAAa,CAAC;QAClC,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;QAC7E,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,KAAK,GAAG,MAAM,CAAC;YACrB,OAAO;gBACL,SAAS;gBACT,OAAO,EAAE,KAAK;gBACd,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE;gBACpD,MAAM,EAAE,IAAI;aACb,CAAC;QACJ,CAAC;QACD,IAAI,SAAS,EAAE,CAAC;YACd,oBAAoB,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YACrE,OAAO;gBACL,SAAS;gBACT,OAAO,EAAE,SAAS;gBAClB,QAAQ,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE;gBAC5D,MAAM,EAAE,IAAI;aACb,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG;YACZ,MAAM,EAAE,eAAe,CAAC,SAAS,EAAE,QAAQ,CAAC;YAC5C,IAAI,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,IAAI,SAAS,EAAE;YACpC,GAAG,GAAG,CAAC,KAAK;SACb,CAAC;QACF,SAAS,CAAC,MAAM,GAAG,CAAC,GAAG,OAAO,EAAE,KAAK,CAAC,CAAC;QACvC,OAAO;YACL,SAAS;YACT,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE;YACpD,MAAM,EAAE,KAAK;SACd,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACxC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACrE,MAAM,OAAO,GAAG,GAAG,CAAC,aAAa,CAAC;QAClC,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,oBAAoB,CAAC,QAAQ,EAAE,OAAO,CAAC;gBACzC,OAAO;oBACL,SAAS;oBACT,OAAO,EAAE,QAAQ;oBACjB,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE;oBACrC,MAAM,EAAE,IAAI;iBACb,CAAC;YACJ,MAAM,CAAC;gBACL,KAAK,EAAE,UAAU;gBACjB,OAAO,EAAE,cAAc,GAAG,CAAC,MAAM,CAAC,IAAI,iEAAiE,QAAQ,CAAC,MAAM,gBAAgB;aACvI,CAAC,CAAC;QACL,CAAC;QACD,MAAM,KAAK,GAA4B;YACrC,MAAM,EAAE,cAAc,CAAC,SAAS,CAAC;YACjC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI;YACrB,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,SAAS;SACvC,CAAC;QACF,KAAK,MAAM,KAAK,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC;YAC9C,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,SAAS;gBAAE,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxE,SAAS,CAAC,KAAK,GAAG,CAAC,GAAG,KAAK,EAAE,KAAK,CAAC,CAAC;QACpC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAC1F,CAAC;IACD,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK;YACR,MAAM,CAAC,EAAE,KAAK,EAAE,oBAAoB,EAAE,OAAO,EAAE,4BAA4B,MAAM,EAAE,EAAE,CAAC,CAAC;QACzF,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,KAAK,MAAM,KAAK,IAAI;YAClB,MAAM;YACN,YAAY;YACZ,YAAY;YACZ,QAAQ;YACR,UAAU;YACV,gBAAgB;SACjB,EAAE,CAAC;YACF,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,SAAS,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC3F,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACjC,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;QACH,CAAC;QACD,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACtC,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACzD,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC7C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5C,SAAS,CAAC,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,KAAK,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;gBACrE,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;QACH,CAAC;QACD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC;IAC/E,CAAC;IACD,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,MAAM,KAAK,UAAU,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC,EAAE,CAAC;YAC9E,MAAM,CAAC;gBACL,KAAK,EAAE,UAAU;gBACjB,OAAO,EAAE,8DAA8D;aACxE,CAAC,CAAC;QACL,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACzC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC;QACxC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;QACvB,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC;QAC1B,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;IAC9D,CAAC;IACD,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QACnC,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,CAAC,CAAC,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;YACrE,MAAM,CAAC;gBACL,KAAK,EAAE,gBAAgB;gBACvB,OAAO,EAAE,uCAAuC,MAAM,GAAG;gBACzD,YAAY,EAAE,CAAC,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,CAAC;aAChE,CAAC,CAAC;QACL,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAC9C,IAAI,CAAC,KAAK;YACR,MAAM,CAAC,EAAE,KAAK,EAAE,oBAAoB,EAAE,OAAO,EAAE,4BAA4B,UAAU,EAAE,EAAE,CAAC,CAAC;QAC7F,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC;QACvC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QACtB,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,CAAC;IACjF,CAAC;IACD,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;QAC1C,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAC9C,IAAI,CAAC,KAAK;YACR,MAAM,CAAC,EAAE,KAAK,EAAE,oBAAoB,EAAE,OAAO,EAAE,4BAA4B,UAAU,EAAE,EAAE,CAAC,CAAC;QAC7F,MAAM,QAAQ,GAAG,wBAAwB,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,aAAa,UAAU,EAAE,CAAC,CAAC;QACnG,OAAO;YACL,SAAS;YACT,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE;gBACR,MAAM,EAAE,UAAU;gBAClB,aAAa,EAAE,QAAQ,CAAC,YAAY;gBACpC,aAAa,EAAE,QAAQ,CAAC,YAAY;aACrC;YACD,MAAM,EAAE,QAAQ,CAAC,MAAM;SACxB,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AAC9E,CAAC;AAED,OAAO,EAAE,yBAAyB,EAAE,CAAC"}
@@ -7,15 +7,17 @@ import { nextEntryNumber, nextTaskNumber } from "./assign.js";
7
7
  import { schemaBudget, projectedFields } from "./fields.js";
8
8
  import { operationSpec, verbsForArtifact, } from "./operations.js";
9
9
  import { reject } from "./errors.js";
10
+ import { detectStateMode } from "../stateMode.js";
10
11
  function liveDoc(p) {
11
12
  if (!fs.existsSync(p))
12
13
  return {};
13
14
  return loadYamlMapping(fs.readFileSync(p, "utf8"));
14
15
  }
15
16
  function defaultVerb(artifact) {
16
- return artifact === "experiments" ? "publish" : "append";
17
+ return artifact === "experiments" ? "publish" : ["objective", "todo", "docs"].includes(artifact) ? "create" : "append";
17
18
  }
18
19
  export function buildExplain(artifact, projectRoot, requestedVerb) {
20
+ const stateMode = detectStateMode(projectRoot);
19
21
  const verb = (requestedVerb ?? defaultVerb(artifact));
20
22
  const spec = operationSpec(artifact, verb);
21
23
  if (!spec) {
@@ -28,11 +30,15 @@ export function buildExplain(artifact, projectRoot, requestedVerb) {
28
30
  const record = loadArtifactRegistry().get(artifact);
29
31
  if (!record)
30
32
  reject({ class: "unsupported_target", message: `artifact "${artifact}" is not registered` });
31
- const resolved = artifact === "experiments"
32
- ? path.join(projectRoot, ".agentera", "optimize", "<objective>", "experiments.yaml")
33
- : resolveArtifactPath(record, projectRoot, { strictWrite: true });
34
- const doc = artifact === "experiments" ? {} : liveDoc(resolved);
35
- const next = artifact === "experiments"
33
+ const legacyEvidence = stateMode === "legacy" && ["progress", "decisions", "health", "plan"].includes(artifact);
34
+ const entityArtifact = !legacyEvidence && ["progress", "decisions", "health", "plan", "objective", "experiments", "todo", "docs"].includes(artifact);
35
+ const resolved = entityArtifact
36
+ ? path.join(projectRoot, ".agentera", "entities", artifact, artifact === "progress" ? "progress_cycle" : artifact === "health" ? "health_audit" : artifact === "plan" ? ["append", "update", "set-status", "record-evaluation"].includes(verb) ? "plan_task" : "plan" : artifact === "objective" ? "objective" : artifact === "experiments" ? "experiment" : artifact === "todo" ? "todo_item" : artifact === "docs" ? "documentation_inventory_entry" : verb === "append" ? "decision" : verb === "update" ? "decision_satisfaction" : "decision_revision", "<id>.yaml")
37
+ : artifact === "experiments"
38
+ ? path.join(projectRoot, ".agentera", "optimize", "<objective>", "experiments.yaml")
39
+ : resolveArtifactPath(record, projectRoot, { strictWrite: true });
40
+ const doc = artifact === "experiments" || entityArtifact ? {} : liveDoc(resolved);
41
+ const next = artifact === "experiments" || entityArtifact
36
42
  ? {}
37
43
  : artifact === "plan"
38
44
  ? { task_number: nextTaskNumber(doc) }
@@ -40,14 +46,24 @@ export function buildExplain(artifact, projectRoot, requestedVerb) {
40
46
  number: nextEntryNumber(doc, artifact === "progress" ? "cycles" : artifact === "decisions" ? "decisions" : "audits"),
41
47
  };
42
48
  const validator = new ArtifactSchemaValidator();
43
- const fields = projectedFields(spec, validator).map((field) => ({
44
- flag: field.flag,
45
- field: field.field,
46
- required: Boolean(field.required),
47
- type: field.kind,
49
+ const fields = projectedFields(spec, validator)
50
+ .filter(() => !(entityArtifact && artifact === "health" && verb === "repair"))
51
+ .filter((field) => artifact !== "decisions" || !["update", "amend"].includes(verb) || (entityArtifact ? field.flag !== "--number" : !["--id", "--base-sha256"].includes(field.flag)))
52
+ .filter((field) => !(entityArtifact && artifact === "experiments" && field.flag === "--number"))
53
+ .map((field) => ({
54
+ flag: entityArtifact && artifact === "plan" && field.flag === "--task" ? "--id" : field.flag,
55
+ field: entityArtifact && artifact === "plan" && field.flag === "--task" ? "id" : field.field,
56
+ required: Boolean(field.required || (artifact === "decisions" && ["update", "amend"].includes(verb) && (entityArtifact ? field.flag === "--id" || (verb === "amend" && field.flag === "--base-sha256") : field.flag === "--number"))),
57
+ type: entityArtifact && artifact === "plan" && field.flag === "--task" ? "string" : field.kind,
48
58
  ...(field.validValues ? { valid_values: field.validValues } : {}),
49
59
  ...(field.repeatable ? { repeatable: true } : {}),
50
- ...(field.description ? { description: field.description } : {}),
60
+ ...(field.description ? { description: entityArtifact && artifact === "objective" && field.flag === "--id"
61
+ ? "Bare ten-letter objective ID returned by objective create or list."
62
+ : entityArtifact && artifact === "experiments" && field.flag === "--objective"
63
+ ? "Bare ten-letter objective ID owning the experiment."
64
+ : entityArtifact && artifact === "experiments" && field.flag === "--id"
65
+ ? "Existing bare ten-letter experiment ID for exact immutable replay."
66
+ : field.description } : {}),
51
67
  ...(field.kind === "date" ? { format: "YYYY-MM-DD" } : {}),
52
68
  ...(field.kind === "datetime" ? { format: "YYYY-MM-DD HH:MM" } : {}),
53
69
  ...(field.flag === "--timestamp" ? { default: "now" } : {}),
@@ -58,6 +74,11 @@ export function buildExplain(artifact, projectRoot, requestedVerb) {
58
74
  command: `state ${artifact} explain`,
59
75
  requested_verb: verb,
60
76
  artifact,
77
+ ...(legacyEvidence ? {
78
+ classification: "legacy_migration_evidence",
79
+ recovery_only: true,
80
+ recovery: `Complete the entity cutover with agentera state migrate entities --project ${projectRoot} --dry-run --format json; this writer remains aggregate-only and creates no entity state.`,
81
+ } : {}),
61
82
  path: path.relative(projectRoot, resolved) || resolved,
62
83
  verbs: verbsForArtifact(artifact),
63
84
  next,
@@ -65,9 +86,11 @@ export function buildExplain(artifact, projectRoot, requestedVerb) {
65
86
  fields,
66
87
  };
67
88
  if (spec.compacts) {
68
- result.compaction = artifact === "experiments"
69
- ? "uniform_10_40_50 (10 active full-detail and 40 one-line archive entries); runs automatically on publication; durable archival is deferred"
70
- : "uniform_10_40_50 (bounded active/archive projections: 10 active full-detail and 40 archive entries; verified numbered archives remain authoritative; no destructive deletion; recovery refuses to omit entries when archive evidence is missing); runs automatically on append";
89
+ result.compaction = entityArtifact
90
+ ? `not applicable; each canonical ${artifact} entity is authority and no aggregate projection or numbered archive is written`
91
+ : artifact === "experiments"
92
+ ? "uniform_10_40_50 (10 active full-detail and 40 one-line archive entries); runs automatically on publication; durable archival is deferred"
93
+ : "uniform_10_40_50 (bounded active/archive projections: 10 active full-detail and 40 archive entries; verified numbered archives remain authoritative; no destructive deletion; recovery refuses to omit entries when archive evidence is missing); runs automatically on append";
71
94
  }
72
95
  if (spec.inputRoot) {
73
96
  result.input_schema = {
@@ -76,7 +99,11 @@ export function buildExplain(artifact, projectRoot, requestedVerb) {
76
99
  parser: "yaml",
77
100
  accepts_json: true,
78
101
  root: spec.inputRoot,
79
- cli_owned_fields: spec.cliOwnedFields ?? [],
102
+ cli_owned_fields: entityArtifact && artifact === "experiments"
103
+ ? ["id", "artifact", "objective"]
104
+ : entityArtifact && artifact === "objective"
105
+ ? ["id", "artifact"]
106
+ : entityArtifact && ["health", "docs", "plan"].includes(artifact) ? ["id", "artifact"] : spec.cliOwnedFields ?? [],
80
107
  defaulted_fields: artifact === "health" ? { date: "today" } : {},
81
108
  groups: artifact === "health"
82
109
  ? ["AUDIT", "DIMENSION", "FINDING", "TRENDS"]
@@ -85,15 +112,28 @@ export function buildExplain(artifact, projectRoot, requestedVerb) {
85
112
  : ["HEADER", "PLAN", "SCOPE", "TASK"],
86
113
  };
87
114
  }
88
- result.guidance = decisionsGuidance(artifact, verb);
89
- result.example = exampleFor(artifact, verb);
115
+ result.guidance = decisionsGuidance(artifact, verb, entityArtifact && artifact === "decisions", entityArtifact && artifact === "health", entityArtifact);
116
+ result.example = entityArtifact && artifact === "health" && verb === "repair"
117
+ ? "agentera check validate state --format json"
118
+ : exampleFor(artifact, verb, entityArtifact && artifact === "decisions", entityArtifact);
90
119
  return result;
91
120
  }
92
- function decisionsGuidance(artifact, verb) {
121
+ function decisionsGuidance(artifact, verb, entityDecisions = false, entityHealth = false, entityArtifact = false) {
93
122
  const base = [
94
123
  "do not embed commit hashes; evidence belongs in the commit message (Decision 66)",
95
124
  "fold the artifact write into the implementation commit per AGENTS.md",
96
125
  ];
126
+ if (entityArtifact && artifact === "plan" && verb === "create")
127
+ return [
128
+ "the CLI assigns bare IDs to the plan and each task and publishes one canonical file per entity",
129
+ ...base,
130
+ ];
131
+ if (entityArtifact && artifact === "plan" && ["update", "set-status", "record-evaluation"].includes(verb))
132
+ return ["select one task entity with its bare ten-letter --id; ordinal selectors are unavailable", ...base];
133
+ if (entityArtifact && artifact === "plan" && verb === "append")
134
+ return ["the CLI assigns a bare ten-letter ID to the new task entity", ...base];
135
+ if (entityArtifact && artifact === "plan")
136
+ return ["the active plan entity is selected by lifecycle state", ...base];
97
137
  if (artifact === "plan" && verb === "create")
98
138
  return [
99
139
  "supply sequential task numbers and valid dependencies; previous_plan_archived is assigned by the CLI",
@@ -101,19 +141,52 @@ function decisionsGuidance(artifact, verb) {
101
141
  ];
102
142
  if (artifact === "plan")
103
143
  return ["task numbers are assigned by the CLI for append", ...base];
144
+ if (entityHealth && verb === "repair")
145
+ return ["canonical health audit entities are immutable; validate malformed or duplicate ownership with agentera check validate state", ...base];
104
146
  if (artifact === "health" && verb === "repair")
105
147
  return ["repair is a destructive projection edit; select an existing duplicate audit and pass --force", ...base];
148
+ if (entityArtifact && artifact === "experiments")
149
+ return ["select the owner with its bare ten-letter --objective ID; numeric and composite selectors are unavailable", "omit --id for a new immutable experiment; pass an existing bare --id only for exact replay", ...base];
106
150
  if (artifact === "experiments")
107
151
  return ["pass the intended non-negative --number; the CLI validates and assigns it to the entry", ...base];
152
+ if (entityArtifact && artifact === "objective" && verb === "update")
153
+ return ["select one objective with its bare ten-letter --id; numeric and composite selectors are unavailable", "the CLI preserves that ID while replacing the validated objective record", ...base];
154
+ if (entityArtifact && artifact === "objective")
155
+ return ["a bare ten-letter objective ID is assigned by the CLI; do not pass an identity", ...base];
156
+ if (entityArtifact && artifact === "todo" && verb !== "create")
157
+ return ["select one TODO item with its bare ten-letter --id; numeric, prefixed, composite, alias, and path identities are unavailable", ...base];
158
+ if (entityArtifact && artifact === "todo")
159
+ return ["a bare ten-letter TODO item ID is assigned by the CLI; status starts open", ...base];
160
+ if (entityArtifact && artifact === "docs" && verb === "update")
161
+ return ["select one documentation inventory entry with its bare ten-letter --id; path remains record data, not identity", ...base];
162
+ if (entityArtifact && artifact === "docs")
163
+ return ["a bare ten-letter documentation inventory ID is assigned by the CLI; path remains record data", ...base];
164
+ if (entityDecisions && verb === "update")
165
+ return [
166
+ "select one base decision with its bare --id; numeric selectors are unavailable",
167
+ "update replaces only that decision's authority-owned satisfaction entity after transition validation",
168
+ ...base,
169
+ ];
170
+ if (entityDecisions && verb === "amend")
171
+ return [
172
+ "select one base decision with its bare --id and current --base-sha256",
173
+ "supply at least one amendable content field; satisfaction remains a separate mutation",
174
+ "apply publishes one immutable revision entity; identical retries converge and same-base divergence conflicts",
175
+ ...base,
176
+ ];
108
177
  if (artifact === "decisions" && verb === "update")
109
178
  return [
110
- "select an existing decision number with --number; it is caller-supplied and never assigned by the CLI",
179
+ entityDecisions
180
+ ? "select an existing decision by bare ID with --id; it is caller-supplied and never assigned by the CLI"
181
+ : "select an existing decision number with --number; it is caller-supplied and never assigned by the CLI",
111
182
  "update writes only satisfaction overlay fields; decision content is amended, not updated",
112
183
  ...base,
113
184
  ];
114
185
  if (artifact === "decisions" && verb === "amend")
115
186
  return [
116
- "select an existing decision number with --number; it is caller-supplied and never assigned by the CLI",
187
+ entityDecisions
188
+ ? "select an existing decision by bare ID with --id; it is caller-supplied and never assigned by the CLI"
189
+ : "select an existing decision number with --number; it is caller-supplied and never assigned by the CLI",
117
190
  "supply at least one amendable content field (--question, --context, --alternative-chosen, --alternative-rejected, --choice, --reasoning, --confidence, --feeds-into)",
118
191
  "--alternative-rejected is repeatable and appends one rejected alternative each time it is supplied",
119
192
  "confidence must be current vocabulary (firm, provisional, exploratory); unsupported inherited labels on untouched records stay legacy",
@@ -121,33 +194,59 @@ function decisionsGuidance(artifact, verb) {
121
194
  "apply publishes a record-local revision document override with recovery; the decisions projection stays byte-stable and reads compose base→revisions→overlay",
122
195
  "an identical re-submission is an idempotent replay; retry converges on a stable revision identity without duplicates or mixed state",
123
196
  ];
124
- return ["number is assigned by the CLI; do not pass --number", ...base];
197
+ return [entityArtifact ? "a bare ten-letter ID is assigned by the CLI; do not pass an identity" : "number is assigned by the CLI; do not pass --number", ...base];
125
198
  }
126
- export function exampleFor(artifact, verb) {
199
+ export function exampleFor(artifact, verb, entityDecisions = false, entityArtifact = false) {
127
200
  if (artifact === "progress")
128
201
  return 'agentera state progress append --type fix --phase build --what "..." --intent "..." --format json';
129
202
  if (artifact === "decisions" && verb === "update")
130
- return 'agentera state decisions update --number 1 --satisfaction-state provisionally_satisfied --satisfaction-evidence "..."';
203
+ return entityDecisions
204
+ ? 'agentera state decisions update --id qjtrmnpvka --satisfaction-state provisionally_satisfied --satisfaction-evidence "..."'
205
+ : 'agentera state decisions update --number 1 --satisfaction-state provisionally_satisfied --satisfaction-evidence "..."';
131
206
  if (artifact === "decisions" && verb === "amend")
132
- return 'agentera state decisions amend --number 53 --choice "..." --reasoning "..." --confidence firm --dry-run --format json';
207
+ return entityDecisions
208
+ ? 'agentera state decisions amend --id qjtrmnpvka --base-sha256 HASH --choice "..." --dry-run --format json'
209
+ : 'agentera state decisions amend --number 53 --choice "..." --reasoning "..." --confidence firm --dry-run --format json';
133
210
  if (artifact === "decisions")
134
211
  return 'agentera state decisions append --question "..." --context "..." --alternative-chosen "..." --choice "..." --reasoning "..." --confidence firm';
135
212
  if (artifact === "health" && verb === "repair")
136
213
  return "agentera state health repair --number 14 --keep first --force --format json";
137
214
  if (artifact === "health")
138
215
  return "agentera state health append --input audit.yaml --format json";
216
+ if (entityArtifact && artifact === "objective" && verb === "create")
217
+ return "agentera state objective create --input objective.yaml --format json";
218
+ if (entityArtifact && artifact === "objective" && verb === "update")
219
+ return "agentera state objective update --id qjtrmnpvka --input objective.yaml --format json";
220
+ if (entityArtifact && artifact === "todo" && verb === "create")
221
+ return 'agentera state todo create --severity normal --description "..." --format json';
222
+ if (entityArtifact && artifact === "todo" && verb === "resolve")
223
+ return "agentera state todo resolve --id qjtrmnpvka --format json";
224
+ if (entityArtifact && artifact === "todo" && verb === "update")
225
+ return 'agentera state todo update --id qjtrmnpvka --description "..." --format json';
226
+ if (entityArtifact && artifact === "docs" && verb === "create")
227
+ return "agentera state docs create --input documentation.yaml --format json";
228
+ if (entityArtifact && artifact === "docs" && verb === "update")
229
+ return "agentera state docs update --id qjtrmnpvka --input documentation.yaml --format json";
139
230
  if (verb === "create")
140
231
  return "agentera state plan create --input plan.yaml --format json";
141
232
  if (verb === "archive")
142
233
  return "agentera state plan archive --dry-run";
143
234
  if (verb === "update")
144
- return 'agentera state plan update --task 1 --name "..." --format json';
235
+ return entityArtifact
236
+ ? 'agentera state plan update --id qjtrmnpvka --name "..." --format json'
237
+ : 'agentera state plan update --task 1 --name "..." --format json';
145
238
  if (verb === "set-status")
146
- return "agentera state plan set-status --task 1 --status complete --format json";
239
+ return entityArtifact
240
+ ? "agentera state plan set-status --id qjtrmnpvka --status complete --format json"
241
+ : "agentera state plan set-status --task 1 --status complete --format json";
147
242
  if (verb === "set-plan-status")
148
243
  return "agentera state plan set-plan-status --status complete --format json";
149
244
  if (verb === "record-evaluation")
150
- return 'agentera state plan record-evaluation --task 1 --attempt-id audit-1 --verdict pass --provenance "audit report" --format json';
245
+ return entityArtifact
246
+ ? 'agentera state plan record-evaluation --id qjtrmnpvka --attempt-id audit-1 --verdict pass --provenance "audit report" --format json'
247
+ : 'agentera state plan record-evaluation --task 1 --attempt-id audit-1 --verdict pass --provenance "audit report" --format json';
248
+ if (entityArtifact && verb === "publish")
249
+ return "agentera state experiments publish --objective qjtrmnpvka --input experiment.yaml --format json";
151
250
  if (verb === "publish")
152
251
  return "agentera state experiments publish --objective OBJECTIVE_ID --number 0 --input experiment.yaml --format json";
153
252
  return `agentera state plan ${verb} --name "..."`;
@@ -1 +1 @@
1
- {"version":3,"file":"explain.js","sourceRoot":"","sources":["../../../src/state/write/explain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"explain.js","sourceRoot":"","sources":["../../../src/state/write/explain.ts"],"names":[],"mappings":"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"}