agentera 3.0.0-dev.31 → 3.0.0-dev.38

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 (133) hide show
  1. package/bundle/CHANGELOG.md +46 -1
  2. package/bundle/references/adapters/package-publication.json +43 -0
  3. package/bundle/references/adapters/package-surface-characterization.md +12 -0
  4. package/bundle/references/analysis/evidence-tier-authority.yaml +23 -21
  5. package/bundle/references/analysis/verification-policy.yaml +1 -0
  6. package/bundle/references/artifacts/artifact-registry-interface-model.yaml +11 -2
  7. package/bundle/references/artifacts/glossary-entry-contract.yaml +1241 -0
  8. package/bundle/references/artifacts/state-storage-authority.yaml +31 -3
  9. package/bundle/references/cli/audience-namespace-cli-migration.yaml +12 -1
  10. package/bundle/references/cli/prime-consumer-compatibility.yaml +17 -7
  11. package/bundle/skills/agentera/capabilities/audit/schemas/validation.yaml +26 -8
  12. package/bundle/skills/agentera/capabilities/build/schemas/artifacts.yaml +21 -4
  13. package/bundle/skills/agentera/capabilities/build/schemas/validation.yaml +50 -0
  14. package/bundle/skills/agentera/capabilities/discuss/schemas/artifacts.yaml +3 -2
  15. package/bundle/skills/agentera/capabilities/discuss/schemas/validation.yaml +64 -0
  16. package/bundle/skills/agentera/capabilities/plan/schemas/artifacts.yaml +4 -1
  17. package/bundle/skills/agentera/capabilities/plan/schemas/validation.yaml +30 -0
  18. package/bundle/skills/agentera/capabilities/profile/schemas/artifacts.yaml +5 -2
  19. package/bundle/skills/agentera/capabilities/profile/schemas/exit.yaml +3 -2
  20. package/bundle/skills/agentera/capabilities/profile/schemas/validation.yaml +30 -0
  21. package/bundle/skills/agentera/schemas/artifacts/glossary.yaml +82 -0
  22. package/bundle/skills/agentera/schemas/artifacts/plan.yaml +5 -1
  23. package/bundle/skills/agentera/schemas/artifacts/progress.yaml +92 -0
  24. package/dist/analytics/extractCorpus/evidenceTiers.js +46 -3
  25. package/dist/analytics/extractCorpus/evidenceTiers.js.map +1 -1
  26. package/dist/analytics/extractCorpus/tierReader.js +1 -1
  27. package/dist/analytics/extractCorpus/tierReader.js.map +1 -1
  28. package/dist/analytics/glossaryAdviceResolution.js +167 -0
  29. package/dist/analytics/glossaryAdviceResolution.js.map +1 -0
  30. package/dist/analytics/glossaryInputAcquisition.js +320 -0
  31. package/dist/analytics/glossaryInputAcquisition.js.map +1 -0
  32. package/dist/analytics/personalGlossaryAdmission.js +134 -0
  33. package/dist/analytics/personalGlossaryAdmission.js.map +1 -0
  34. package/dist/analytics/personalGlossaryProfile.js +219 -0
  35. package/dist/analytics/personalGlossaryProfile.js.map +1 -0
  36. package/dist/audit/terminologyDrift.js +282 -0
  37. package/dist/audit/terminologyDrift.js.map +1 -0
  38. package/dist/capabilities/audit/instructions.js +2 -1
  39. package/dist/capabilities/audit/instructions.js.map +1 -1
  40. package/dist/capabilities/build/instructions.js +15 -1
  41. package/dist/capabilities/build/instructions.js.map +1 -1
  42. package/dist/capabilities/discuss/instructions.js +14 -1
  43. package/dist/capabilities/discuss/instructions.js.map +1 -1
  44. package/dist/capabilities/index.js +1 -1
  45. package/dist/capabilities/index.js.map +1 -1
  46. package/dist/capabilities/orchestrate/instructions.js +1 -1
  47. package/dist/capabilities/plan/instructions.js +19 -2
  48. package/dist/capabilities/plan/instructions.js.map +1 -1
  49. package/dist/capabilities/profile/instructions.js +67 -1
  50. package/dist/capabilities/profile/instructions.js.map +1 -1
  51. package/dist/cli/capabilityContext/startup.js +19 -2
  52. package/dist/cli/capabilityContext/startup.js.map +1 -1
  53. package/dist/cli/commands/glossaryAdvice.js +139 -0
  54. package/dist/cli/commands/glossaryAdvice.js.map +1 -0
  55. package/dist/cli/commands/personalGlossary.js +177 -0
  56. package/dist/cli/commands/personalGlossary.js.map +1 -0
  57. package/dist/cli/commands/prime/collectEntityOrientation.js +16 -1
  58. package/dist/cli/commands/prime/collectEntityOrientation.js.map +1 -1
  59. package/dist/cli/commands/prime/collectOrientationState.js +4 -0
  60. package/dist/cli/commands/prime/collectOrientationState.js.map +1 -1
  61. package/dist/cli/commands/prime/orientationOutput.js +24 -6
  62. package/dist/cli/commands/prime/orientationOutput.js.map +1 -1
  63. package/dist/cli/commands/profileGrounding.js +77 -0
  64. package/dist/cli/commands/profileGrounding.js.map +1 -0
  65. package/dist/cli/commands/query.js +10 -4
  66. package/dist/cli/commands/query.js.map +1 -1
  67. package/dist/cli/commands/schema.js +10 -0
  68. package/dist/cli/commands/schema.js.map +1 -1
  69. package/dist/cli/commands/state/write.js +4 -1
  70. package/dist/cli/commands/state/write.js.map +1 -1
  71. package/dist/cli/dispatch/lifecycle.js +45 -0
  72. package/dist/cli/dispatch/lifecycle.js.map +1 -1
  73. package/dist/cli/help.js +21 -0
  74. package/dist/cli/help.js.map +1 -1
  75. package/dist/cli/migrationRequired.js +2 -0
  76. package/dist/cli/migrationRequired.js.map +1 -1
  77. package/dist/cli/orientation/attention.js +3 -1
  78. package/dist/cli/orientation/attention.js.map +1 -1
  79. package/dist/registries/artifactProtocolIds.js +2 -0
  80. package/dist/registries/artifactProtocolIds.js.map +1 -1
  81. package/dist/registries/artifactRegistry.js +2 -0
  82. package/dist/registries/artifactRegistry.js.map +1 -1
  83. package/dist/registries/evidenceTierContract.js +26 -16
  84. package/dist/registries/evidenceTierContract.js.map +1 -1
  85. package/dist/registries/glossaryAdviceContract.js +79 -0
  86. package/dist/registries/glossaryAdviceContract.js.map +1 -0
  87. package/dist/registries/glossaryCaveatContract.js +66 -0
  88. package/dist/registries/glossaryCaveatContract.js.map +1 -0
  89. package/dist/registries/glossaryConsumerContractValidation.js +792 -0
  90. package/dist/registries/glossaryConsumerContractValidation.js.map +1 -0
  91. package/dist/registries/glossaryEntryContract.js +747 -0
  92. package/dist/registries/glossaryEntryContract.js.map +1 -0
  93. package/dist/registries/glossaryTermIdentity.js +18 -0
  94. package/dist/registries/glossaryTermIdentity.js.map +1 -0
  95. package/dist/registries/glossaryTermOccurrence.js +21 -0
  96. package/dist/registries/glossaryTermOccurrence.js.map +1 -0
  97. package/dist/state/decisionEntities.js +2 -2
  98. package/dist/state/decisionEntities.js.map +1 -1
  99. package/dist/state/entityPublicationContext.js +374 -71
  100. package/dist/state/entityPublicationContext.js.map +1 -1
  101. package/dist/state/entityStorage.js +29 -14
  102. package/dist/state/entityStorage.js.map +1 -1
  103. package/dist/state/objectiveExperimentEntities.js +6 -6
  104. package/dist/state/objectiveExperimentEntities.js.map +1 -1
  105. package/dist/state/planEntities.js +17 -9
  106. package/dist/state/planEntities.js.map +1 -1
  107. package/dist/state/progressEntities.js +175 -35
  108. package/dist/state/progressEntities.js.map +1 -1
  109. package/dist/state/progressGlossaryCaveat.js +169 -0
  110. package/dist/state/progressGlossaryCaveat.js.map +1 -0
  111. package/dist/state/progressPublicationOrder.js +20 -0
  112. package/dist/state/progressPublicationOrder.js.map +1 -0
  113. package/dist/state/todoDocsEntities.js +6 -6
  114. package/dist/state/todoDocsEntities.js.map +1 -1
  115. package/dist/state/write/explain.js +64 -34
  116. package/dist/state/write/explain.js.map +1 -1
  117. package/dist/state/write/glossaryPublication.js +264 -0
  118. package/dist/state/write/glossaryPublication.js.map +1 -0
  119. package/dist/state/write/index.js +1 -0
  120. package/dist/state/write/index.js.map +1 -1
  121. package/dist/state/write/operations.js +23 -1
  122. package/dist/state/write/operations.js.map +1 -1
  123. package/dist/state/write/planEvaluation.js +6 -2
  124. package/dist/state/write/planEvaluation.js.map +1 -1
  125. package/dist/state/write/transaction.js +4 -1
  126. package/dist/state/write/transaction.js.map +1 -1
  127. package/dist/validate/crossCapability.js +3 -0
  128. package/dist/validate/crossCapability.js.map +1 -1
  129. package/dist/validate/v1LegacyCruft.js +141 -0
  130. package/dist/validate/v1LegacyCruft.js.map +1 -0
  131. package/dist/validate/vocabularyAuthority.js +2 -0
  132. package/dist/validate/vocabularyAuthority.js.map +1 -1
  133. package/package.json +4 -3
@@ -1,22 +1,91 @@
1
1
  import fs from "node:fs";
2
2
  import path from "node:path";
3
+ import { randomInt } from "node:crypto";
3
4
  import YAML from "yaml";
4
5
  import { resolveSourceRoot } from "../core/sourceRoot.js";
5
6
  import { loadYamlMapping } from "../core/yaml.js";
6
7
  import { canonicalRecordJson } from "./archiveDiscovery.js";
7
8
  import { StateRetrievalFailure } from "./directRetrieval.js";
8
- import { allocateAndPublishEntity, allocateEntityId, assertEntityDiscoveryOrigin, discoverEntities, publishEntity, } from "./entityStorage.js";
9
+ import { allocateAndPublishEntity, allocateEntityId, assertEntityDiscoveryOrigin, discoverEntities, publishEntity, publishEntityUnderLock, withEntityWriterLock, } from "./entityStorage.js";
9
10
  import { detailMetadata, detailProvenance, isSummaryEntity } from "./summaryEntityRead.js";
10
11
  import { decodeListCursor, encodeListCursor, projectedListSnapshot } from "./listCursor.js";
11
12
  import { localTimestamp } from "./write/assign.js";
13
+ import { glossaryCaveatPairAllowed, glossaryCaveatContract, } from "../registries/glossaryCaveatContract.js";
14
+ import { validateProgressGlossaryCaveat, } from "./progressGlossaryCaveat.js";
15
+ import { nextProgressPublicationOrder, progressPublicationOrder, PROGRESS_PUBLICATION_ORDER_FIELD, } from "./progressPublicationOrder.js";
16
+ import { detectStateModeBinding } from "./stateMode.js";
12
17
  const ARTIFACT = "progress";
13
18
  const BOUNDARY = "progress_cycle";
14
19
  const SUMMARY = "progress_summary";
15
- const ORDER = "timestamp_desc_then_id_asc";
16
- const CURSOR_VERSION = 1;
20
+ const ORDER = "timestamp_desc_then_publication_order_desc_then_id_asc";
21
+ const CURSOR_VERSION = 2;
17
22
  function mapping(value) {
18
23
  return value !== null && typeof value === "object" && !Array.isArray(value);
19
24
  }
25
+ function opaqueCaveatId(existing, contract) {
26
+ const alphabet = contract.idAlphabet;
27
+ for (;;) {
28
+ let id = "";
29
+ for (let index = 0; index < contract.idLength; index += 1)
30
+ id += alphabet[randomInt(alphabet.length)];
31
+ if (!existing.has(id))
32
+ return id;
33
+ }
34
+ }
35
+ function prepareGlossaryCaveat(values, discovery, contract) {
36
+ if (!Object.prototype.hasOwnProperty.call(values, "glossary_caveat"))
37
+ return {};
38
+ if (!mapping(values.glossary_caveat))
39
+ throw new Error("glossary caveat mutation must be one privacy-safe mapping");
40
+ const requested = values.glossary_caveat;
41
+ const mutationFields = contract.fields.filter((field) => field !== "capability");
42
+ if (Object.keys(requested).some((field) => !mutationFields.includes(field)))
43
+ throw new Error("glossary caveat mutation contains a non-contract field");
44
+ const event = String(requested.event ?? "");
45
+ const reason = String(requested.reason ?? "");
46
+ const ownership = String(requested.ownership_state ?? "");
47
+ if (!contract.events.includes(event) ||
48
+ !contract.reasons.includes(reason) ||
49
+ !contract.ownershipStates.includes(ownership) ||
50
+ !glossaryCaveatPairAllowed(contract, reason, ownership))
51
+ throw new Error("glossary caveat requires one contract-declared reason and ownership state pair");
52
+ const entities = discovery.entities.filter((entity) => entity.classification === "valid" && entity.artifact === ARTIFACT && entity.boundary === BOUNDARY);
53
+ const rows = entities.flatMap((entity) => {
54
+ const parsed = validateProgressGlossaryCaveat(entity.record, contract);
55
+ return parsed.status === "valid" ? [{ entity, caveat: parsed.caveat }] : [];
56
+ });
57
+ const terminalIds = new Set(rows.filter(({ caveat }) => caveat.event !== "current").map(({ caveat }) => caveat.caveat_id));
58
+ const open = rows.filter(({ caveat }) => caveat.event === "current" && !terminalIds.has(caveat.caveat_id));
59
+ if (event === "current") {
60
+ if (requested.caveat_id !== undefined || requested.transition_id !== undefined)
61
+ throw new Error("current glossary caveat identity is CLI-assigned and has no transition identity");
62
+ const replay = open.find(({ caveat }) => caveat.reason === reason && caveat.ownership_state === ownership);
63
+ if (replay)
64
+ return { replay: replay.entity };
65
+ const caveat_id = opaqueCaveatId(new Set(rows.flatMap(({ caveat }) => [caveat.caveat_id, caveat.transition_id].filter((id) => id !== null))), contract);
66
+ return { caveat: { ...requested, caveat_id, event, capability: "build", reason, ownership_state: ownership, transition_id: null } };
67
+ }
68
+ const caveatId = String(requested.caveat_id ?? "");
69
+ if (!contract.idPattern.test(caveatId))
70
+ throw new Error("terminal glossary caveat requires one opaque caveat ID");
71
+ const existingTerminal = rows.find(({ caveat }) => caveat.caveat_id === caveatId && caveat.event === event && caveat.reason === reason && caveat.ownership_state === ownership && caveat.transition_id === (requested.transition_id ?? null));
72
+ if (existingTerminal)
73
+ return { replay: existingTerminal.entity };
74
+ const current = open.find(({ caveat }) => caveat.caveat_id === caveatId);
75
+ if (!current || current.caveat.reason !== reason || current.caveat.ownership_state !== ownership)
76
+ throw new Error("terminal glossary caveat must match one current caveat identity and vocabulary");
77
+ if (event === "resolved") {
78
+ if (requested.transition_id !== undefined)
79
+ throw new Error("resolved glossary caveat cannot have a transition identity");
80
+ return { caveat: { ...requested, ...current.caveat, event, transition_id: null } };
81
+ }
82
+ if (event !== "superseded")
83
+ throw new Error("glossary caveat event is invalid");
84
+ const transitionId = String(requested.transition_id ?? "");
85
+ if (!contract.idPattern.test(transitionId) || transitionId === caveatId || !open.some(({ caveat }) => caveat.caveat_id === transitionId))
86
+ throw new Error("superseded glossary caveat requires one different current successor identity");
87
+ return { caveat: { ...requested, ...current.caveat, event, transition_id: transitionId } };
88
+ }
20
89
  function positive(value, field) {
21
90
  const number = Number(value);
22
91
  if (!Number.isSafeInteger(number) || number < 1)
@@ -66,7 +135,7 @@ function listFailure(className, message, recovery, exitCode = 1) {
66
135
  result.body.error.example = "agentera state progress list --limit 20 --format json";
67
136
  return result;
68
137
  }
69
- function progressRecord(values) {
138
+ function progressRecord(values, caveatContract) {
70
139
  const context = mapping(values.context) ? values.context : {};
71
140
  const record = {
72
141
  timestamp: typeof values.timestamp === "string" ? values.timestamp : localTimestamp(),
@@ -83,6 +152,11 @@ function progressRecord(values) {
83
152
  if (typeof context[field] === "string")
84
153
  record.context[field] = context[field];
85
154
  }
155
+ if (Object.prototype.hasOwnProperty.call(values, "glossary_caveat"))
156
+ record.glossary_caveat = values.glossary_caveat;
157
+ const caveat = validateProgressGlossaryCaveat(record, caveatContract);
158
+ if (caveat.status === "invalid")
159
+ throw new Error(caveat.violations.join("; "));
86
160
  if (!/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$/.test(String(record.timestamp)))
87
161
  throw new Error("progress entity timestamp must use YYYY-MM-DD HH:MM");
88
162
  if (!record.type || !record.phase || !record.what || !record.context.intent)
@@ -94,8 +168,61 @@ function relative(projectRoot, candidate) {
94
168
  }
95
169
  export function appendProgressEntity(req, options = {}) {
96
170
  const sourceRoot = options.sourceRoot ?? resolveSourceRoot();
171
+ if (!req.dryRun && !options.publicationContext) {
172
+ const binding = detectStateModeBinding(req.projectRoot, sourceRoot);
173
+ if (binding.mode !== "entities") {
174
+ throw new Error("progress publication requires the durable entity-mode marker; legacy mode remains authoritative");
175
+ }
176
+ try {
177
+ return withEntityWriterLock(binding.publicationContext, () => appendProgressEntity(req, {
178
+ ...options,
179
+ publicationContext: binding.publicationContext,
180
+ }));
181
+ }
182
+ finally {
183
+ binding.publicationContext.close();
184
+ }
185
+ }
186
+ if (Object.prototype.hasOwnProperty.call(req.values, PROGRESS_PUBLICATION_ORDER_FIELD) ||
187
+ Object.prototype.hasOwnProperty.call(req.callerPayload, PROGRESS_PUBLICATION_ORDER_FIELD)) {
188
+ throw new Error("progress publication_order is writer-owned and cannot be supplied by callers");
189
+ }
97
190
  const contract = progressContract(sourceRoot);
98
- const record = progressRecord(req.values);
191
+ const discovery = discoverEntities(req.projectRoot, sourceRoot);
192
+ const existing = sortedProgress(discovery);
193
+ const caveatContract = glossaryCaveatContract(path.join(sourceRoot, "references", "artifacts", "glossary-entry-contract.yaml"));
194
+ const prepared = prepareGlossaryCaveat(req.values, discovery, caveatContract);
195
+ if (prepared.replay) {
196
+ return { schemaVersion: "agentera.stateWrite.v1", command: "state progress append", status: "pass", path: prepared.replay.path, id: prepared.replay.id, artifact: ARTIFACT, record: prepared.replay.record, operation: { verb: "append", dry_run: req.dryRun, idempotent_replay: true }, validation: { status: "pass", violations: [] } };
197
+ }
198
+ if (prepared.caveat)
199
+ req.values.glossary_caveat = prepared.caveat;
200
+ const unsequencedRecord = progressRecord(req.values, caveatContract);
201
+ const exactReplay = options.id
202
+ ? existing.find(({ id }) => id === options.id)
203
+ : undefined;
204
+ if (exactReplay?.record) {
205
+ const { publication_order: _publicationOrder, ...existingCallerFields } = exactReplay.record;
206
+ if (canonicalRecordJson(existingCallerFields) === canonicalRecordJson(unsequencedRecord)) {
207
+ return {
208
+ schemaVersion: "agentera.stateWrite.v1",
209
+ command: "state progress append",
210
+ status: "pass",
211
+ path: exactReplay.path,
212
+ id: exactReplay.id,
213
+ artifact: ARTIFACT,
214
+ record: exactReplay.record,
215
+ operation: { verb: "append", dry_run: req.dryRun, idempotent_replay: true },
216
+ validation: { status: "pass", violations: [] },
217
+ };
218
+ }
219
+ }
220
+ const record = req.dryRun
221
+ ? unsequencedRecord
222
+ : {
223
+ ...unsequencedRecord,
224
+ [PROGRESS_PUBLICATION_ORDER_FIELD]: nextProgressPublicationOrder(existing.flatMap(({ record }) => record ? [record] : [])),
225
+ };
99
226
  if (req.dryRun) {
100
227
  options.publicationContext?.assertValid();
101
228
  const allocationRoot = options.publicationContext?.pinnedPath() ?? req.projectRoot;
@@ -114,24 +241,21 @@ export function appendProgressEntity(req, options = {}) {
114
241
  validation: { status: "pass", violations: [] },
115
242
  };
116
243
  }
117
- const published = options.id
118
- ? publishEntity({
119
- projectRoot: req.projectRoot,
120
- sourceRoot,
121
- publicationContext: options.publicationContext,
122
- artifact: ARTIFACT,
123
- boundary: BOUNDARY,
124
- id: options.id,
125
- record,
126
- })
127
- : allocateAndPublishEntity({
128
- projectRoot: req.projectRoot,
129
- sourceRoot,
130
- publicationContext: options.publicationContext,
131
- artifact: ARTIFACT,
132
- boundary: BOUNDARY,
133
- record,
134
- }, options.candidate);
244
+ const publicationRequest = {
245
+ projectRoot: req.projectRoot,
246
+ sourceRoot,
247
+ publicationContext: options.publicationContext,
248
+ artifact: ARTIFACT,
249
+ boundary: BOUNDARY,
250
+ record,
251
+ };
252
+ const published = options.publicationContext
253
+ ? publishEntityUnderLock({ ...publicationRequest, id: options.id ?? allocateEntityId(options.publicationContext.pinnedPath(), options.candidate, sourceRoot) })
254
+ : options.id
255
+ ? publishEntity({ ...publicationRequest, id: options.id })
256
+ : allocateAndPublishEntity({
257
+ ...publicationRequest,
258
+ }, options.candidate);
135
259
  return {
136
260
  schemaVersion: "agentera.stateWrite.v1",
137
261
  command: "state progress append",
@@ -145,21 +269,37 @@ export function appendProgressEntity(req, options = {}) {
145
269
  };
146
270
  }
147
271
  function sortKey(entity) {
148
- return `${String(entity.record?.timestamp ?? "")}\0${entity.id}`;
272
+ return canonicalRecordJson([
273
+ String(entity.record?.timestamp ?? ""),
274
+ progressPublicationOrder(entity.record),
275
+ entity.id,
276
+ ]);
149
277
  }
150
278
  function sortedProgress(discovery) {
151
279
  const progress = discovery.entities.filter((entity) => entity.boundary === BOUNDARY || entity.artifact === ARTIFACT);
152
280
  const duplicate = progress.find((entity) => entity.classification === "duplicate");
153
281
  if (duplicate)
154
- throw listFailure("ambiguous", `progress entity ID '${duplicate.id}' has multiple canonical candidates`, "Run agentera check validate state, assign unique IDs, and retry.");
282
+ throw listFailure("ambiguous", "canonical progress evidence has conflicting identities", "Run agentera check validate state, assign unique IDs, and retry.");
155
283
  const corrupt = progress.find((entity) => entity.classification !== "valid" ||
156
284
  !entity.id ||
157
285
  !entity.record ||
158
286
  (entity.boundary === BOUNDARY && typeof entity.record.timestamp !== "string"));
159
287
  if (corrupt)
160
- throw listFailure("corrupt", `progress entity '${corrupt.relativePath}' is corrupt or violates the progress record contract`, "Run agentera check validate state, repair the canonical entity file, and retry.");
161
- return progress.sort((left, right) => String(right.record.timestamp ?? "").localeCompare(String(left.record.timestamp ?? "")) ||
162
- left.id.localeCompare(right.id));
288
+ throw listFailure("corrupt", "canonical progress evidence is corrupt or violates the progress record contract", "Run agentera check validate state, repair the canonical entity file, and retry.");
289
+ return progress.sort((left, right) => {
290
+ const timestamp = String(right.record.timestamp ?? "").localeCompare(String(left.record.timestamp ?? ""));
291
+ if (timestamp)
292
+ return timestamp;
293
+ const leftOrder = progressPublicationOrder(left.record);
294
+ const rightOrder = progressPublicationOrder(right.record);
295
+ if (leftOrder !== null && rightOrder !== null && leftOrder !== rightOrder)
296
+ return rightOrder - leftOrder;
297
+ if (leftOrder !== null && rightOrder === null)
298
+ return -1;
299
+ if (leftOrder === null && rightOrder !== null)
300
+ return 1;
301
+ return left.id.localeCompare(right.id);
302
+ });
163
303
  }
164
304
  function entry(projectRoot, entity) {
165
305
  const id = entity.id;
@@ -179,7 +319,7 @@ function snapshotId(projectRoot, entities, filters, entityRoot) {
179
319
  order: ORDER,
180
320
  filters,
181
321
  source: { artifact: ARTIFACT, authority: "canonical_entity_files", root: entityRoot },
182
- source_contract: { authority: "references/artifacts/state-storage-authority.yaml", detail: entities.some(isSummaryEntity) ? "mixed" : "full", cursor: "opaque_snapshot_cursor" },
322
+ source_contract: { authority: "references/artifacts/state-storage-authority.yaml", detail: entities.some(isSummaryEntity) ? "mixed" : "full", cursor: "opaque_snapshot_cursor_v2" },
183
323
  entries: entities.map((entity) => entry(projectRoot, entity)),
184
324
  });
185
325
  }
@@ -189,13 +329,13 @@ function encodeCursor(payload, projectRoot, authorityPath) {
189
329
  function decodeCursor(token, projectRoot, authorityPath) {
190
330
  const [encoded, signed, extra] = token.split(".");
191
331
  if (!encoded || !signed || extra)
192
- throw listFailure("cursor_invalid", "progress cursor is malformed", "Copy next_cursor exactly, or omit --cursor to start from the current snapshot.");
332
+ throw listFailure("cursor_invalid", "progress cursor is malformed or was issued for a prior ordering contract", "Omit --cursor to establish a new version 2 progress snapshot.");
193
333
  let payload;
194
334
  try {
195
335
  payload = decodeListCursor(token, projectRoot, authorityPath);
196
336
  }
197
337
  catch {
198
- throw listFailure("cursor_invalid", "progress cursor is malformed", "Copy next_cursor exactly, or omit --cursor to start from the current snapshot.");
338
+ throw listFailure("cursor_invalid", "progress cursor is malformed or was issued for a prior ordering contract", "Omit --cursor to establish a new version 2 progress snapshot.");
199
339
  }
200
340
  if (!mapping(payload) ||
201
341
  payload.version !== CURSOR_VERSION ||
@@ -204,7 +344,7 @@ function decodeCursor(token, projectRoot, authorityPath) {
204
344
  !mapping(payload.filters) ||
205
345
  typeof payload.snapshot_id !== "string" ||
206
346
  typeof payload.after_key !== "string") {
207
- throw listFailure("cursor_invalid", "progress cursor does not match the progress entity list contract", "Omit --cursor to establish a new snapshot.");
347
+ throw listFailure("cursor_invalid", "progress cursor does not match the version 2 progress ordering contract", "Omit --cursor to establish a new version 2 snapshot.");
208
348
  }
209
349
  return payload;
210
350
  }
@@ -235,13 +375,13 @@ export function getProgressEntity(projectRoot, id, sourceRoot = resolveSourceRoo
235
375
  const expectedPath = path.join(path.resolve(projectRoot), progressContract(sourceRoot).entityRoot, ARTIFACT, selected?.boundary === SUMMARY ? SUMMARY : BOUNDARY, `${id}.yaml`);
236
376
  const corruptAtCanonicalPath = discovery.entities.find((entity) => entity.path === expectedPath);
237
377
  if (!selected && corruptAtCanonicalPath)
238
- throw failure("corrupt", `progress entity '${corruptAtCanonicalPath.relativePath}' does not match its canonical ID envelope`, "Run agentera check validate state, repair the canonical entity file, and retry.", id);
378
+ throw failure("corrupt", "canonical progress evidence is corrupt or does not match its identity envelope", "Run agentera check validate state, repair the canonical entity file, and retry.", id);
239
379
  if (!selected || selected.artifact !== ARTIFACT || ![BOUNDARY, SUMMARY].includes(selected.boundary ?? ""))
240
380
  throw failure("not_found", `no progress entity exists with ID '${id}'`, "Copy an ID from agentera state progress list --format json and retry.", id);
241
381
  if (selected.classification !== "valid" ||
242
382
  !selected.record ||
243
383
  (selected.boundary === BOUNDARY && typeof selected.record.timestamp !== "string"))
244
- throw failure("corrupt", `progress entity '${selected.relativePath}' is corrupt or violates the progress record contract`, "Run agentera check validate state, repair the canonical entity file, and retry.", id);
384
+ throw failure("corrupt", "canonical progress evidence is corrupt or violates the progress record contract", "Run agentera check validate state, repair the canonical entity file, and retry.", id);
245
385
  return {
246
386
  schemaVersion: "agentera.stateRetrieval.v1",
247
387
  command: "state progress get",
@@ -327,7 +467,7 @@ export function listProgressEntities(projectRoot, limit, filters = {}, cursor, o
327
467
  source_contract: {
328
468
  authority: "references/artifacts/state-storage-authority.yaml",
329
469
  detail: filtered.some(isSummaryEntity) ? "mixed" : "full",
330
- cursor: "opaque_snapshot_cursor",
470
+ cursor: "opaque_snapshot_cursor_v2",
331
471
  },
332
472
  ...(remaining > 0
333
473
  ? {
@@ -1 +1 @@
1
- {"version":3,"file":"progressEntities.js","sourceRoot":"","sources":["../../../../../home/jgabor/git/agentera/packages/cli/src/state/progressEntities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"progressEntities.js","sourceRoot":"","sources":["../../../../../home/jgabor/git/agentera/packages/cli/src/state/progressEntities.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,169 @@
1
+ import { glossaryCaveatPairAllowed, glossaryCaveatContract, } from "../registries/glossaryCaveatContract.js";
2
+ function mapping(value) {
3
+ return value !== null && typeof value === "object" && !Array.isArray(value);
4
+ }
5
+ function boundedString(value, contract) {
6
+ return (typeof value === "string" &&
7
+ value.length > 0 &&
8
+ Buffer.byteLength(value, "utf8") <= contract.maxStringUtf8Bytes);
9
+ }
10
+ function isProjectionSource(entity, contract) {
11
+ return entity.artifact === contract.primeSourceArtifact && entity.boundary === contract.primeSourceBoundary;
12
+ }
13
+ export function validateProgressGlossaryCaveat(record, contract = glossaryCaveatContract()) {
14
+ if (!Object.prototype.hasOwnProperty.call(record, "glossary_caveat")) {
15
+ return { status: "absent", caveat: null, violations: [] };
16
+ }
17
+ const value = record.glossary_caveat;
18
+ const violations = [];
19
+ if (!mapping(value)) {
20
+ return {
21
+ status: "invalid",
22
+ caveat: null,
23
+ violations: ["glossary_caveat must be one privacy-safe mapping"],
24
+ };
25
+ }
26
+ const keys = Object.keys(value);
27
+ if (keys.length !== contract.fields.length ||
28
+ keys.some((field) => !contract.fields.includes(field))) {
29
+ violations.push("glossary_caveat must contain exactly the authority-declared fields");
30
+ }
31
+ if (contract.fields.some((field) => !(field in value))) {
32
+ violations.push("glossary_caveat requires every authority-declared field");
33
+ }
34
+ for (const field of ["caveat_id", "event", "capability", "reason", "ownership_state"])
35
+ if (!boundedString(value[field], contract))
36
+ violations.push("glossary_caveat string fields must be non-empty and bounded");
37
+ if (!contract.idPattern.test(typeof value.caveat_id === "string" ? value.caveat_id : ""))
38
+ violations.push("glossary_caveat caveat_id must be one opaque ID");
39
+ if (!contract.events.includes(typeof value.event === "string" ? value.event : ""))
40
+ violations.push("glossary_caveat event is outside the bounded vocabulary");
41
+ if (!contract.capabilities.includes(typeof value.capability === "string" ? value.capability : ""))
42
+ violations.push("glossary_caveat capability is outside the bounded vocabulary");
43
+ if (value.capability !== contract.primeSourceCapability)
44
+ violations.push("glossary_caveat capability does not own prime projection evidence");
45
+ if (!contract.reasons.includes(typeof value.reason === "string" ? value.reason : ""))
46
+ violations.push("glossary_caveat reason is outside the bounded vocabulary");
47
+ if (!contract.ownershipStates.includes(typeof value.ownership_state === "string" ? value.ownership_state : ""))
48
+ violations.push("glossary_caveat ownership_state is outside the bounded vocabulary");
49
+ if (typeof value.reason === "string" &&
50
+ typeof value.ownership_state === "string" &&
51
+ !glossaryCaveatPairAllowed(contract, value.reason, value.ownership_state))
52
+ violations.push("glossary_caveat reason and ownership_state pair is not allowed");
53
+ const transition = value.transition_id;
54
+ if (!(transition === null || boundedString(transition, contract)))
55
+ violations.push("glossary_caveat transition_id must be null or one bounded opaque ID");
56
+ if (typeof transition === "string" && !contract.idPattern.test(transition))
57
+ violations.push("glossary_caveat transition_id must be one opaque ID");
58
+ if ((value.event === "current" || value.event === "resolved") && transition !== null)
59
+ violations.push("current and resolved glossary_caveat events require null transition_id");
60
+ if (value.event === "superseded" &&
61
+ (typeof transition !== "string" || transition === value.caveat_id))
62
+ violations.push("superseded glossary_caveat requires one different successor ID");
63
+ if (violations.length)
64
+ return { status: "invalid", caveat: null, violations: [...new Set(violations)] };
65
+ return { status: "valid", caveat: value, violations: [] };
66
+ }
67
+ export function glossaryCaveatLifecycleInvalidEntities(entities, contract = glossaryCaveatContract()) {
68
+ const rows = entities.flatMap((entity) => {
69
+ if (entity.classification !== "valid" || !entity.record)
70
+ return [];
71
+ const result = validateProgressGlossaryCaveat(entity.record, contract);
72
+ return result.status === "valid" ? [{ entity, caveat: result.caveat }] : [];
73
+ });
74
+ const invalid = new Set();
75
+ const byId = new Map();
76
+ for (const row of rows)
77
+ byId.set(row.caveat.caveat_id, [...(byId.get(row.caveat.caveat_id) ?? []), row]);
78
+ const transitions = new Map();
79
+ for (const [id, matches] of byId) {
80
+ const current = matches.filter(({ caveat }) => caveat.event === "current");
81
+ const terminal = matches.filter(({ caveat }) => caveat.event !== "current");
82
+ if (current.length !== 1) {
83
+ matches.forEach(({ entity }) => invalid.add(entity));
84
+ continue;
85
+ }
86
+ if (terminal.length > 1) {
87
+ terminal.forEach(({ entity }) => invalid.add(entity));
88
+ continue;
89
+ }
90
+ if (terminal.length && current.length === 1) {
91
+ const base = current[0].caveat;
92
+ for (const row of terminal) {
93
+ if (row.caveat.capability !== base.capability ||
94
+ row.caveat.reason !== base.reason ||
95
+ row.caveat.ownership_state !== base.ownership_state) {
96
+ invalid.add(row.entity);
97
+ continue;
98
+ }
99
+ if (row.caveat.event === "superseded") {
100
+ const target = byId.get(row.caveat.transition_id) ?? [];
101
+ if (target.filter(({ caveat }) => caveat.event === "current").length !== 1) {
102
+ invalid.add(row.entity);
103
+ }
104
+ else
105
+ transitions.set(id, { target: row.caveat.transition_id, entity: row.entity });
106
+ }
107
+ }
108
+ }
109
+ }
110
+ for (const start of transitions.keys()) {
111
+ const seen = new Set();
112
+ let cursor = start;
113
+ while (cursor && !seen.has(cursor)) {
114
+ seen.add(cursor);
115
+ cursor = transitions.get(cursor)?.target;
116
+ }
117
+ if (cursor)
118
+ for (const id of seen) {
119
+ const transition = transitions.get(id);
120
+ if (transition)
121
+ invalid.add(transition.entity);
122
+ }
123
+ }
124
+ return invalid;
125
+ }
126
+ /** Project only validated lifecycle state; opaque identities never leave this module. */
127
+ export function projectCurrentGlossaryCaveats(entities, contract = glossaryCaveatContract()) {
128
+ const byId = new Map();
129
+ for (const entity of entities) {
130
+ if (entity.classification !== "valid" ||
131
+ !entity.record ||
132
+ !isProjectionSource(entity, contract))
133
+ continue;
134
+ const result = validateProgressGlossaryCaveat(entity.record, contract);
135
+ if (result.status !== "valid")
136
+ continue;
137
+ byId.set(result.caveat.caveat_id, [
138
+ ...(byId.get(result.caveat.caveat_id) ?? []),
139
+ result.caveat,
140
+ ]);
141
+ }
142
+ let currentCount = 0;
143
+ for (const events of byId.values()) {
144
+ if (events.some(({ event }) => event === "current") &&
145
+ !events.some(({ event }) => event !== "current"))
146
+ currentCount += 1;
147
+ }
148
+ return {
149
+ currentCount,
150
+ attention: currentCount > 0 && contract.primeAttentionText ? contract.primeAttentionText : null,
151
+ publicAttentionLimit: contract.primePublicAttentionLimit,
152
+ reservedGlossarySlots: contract.primeReservedGlossarySlots,
153
+ };
154
+ }
155
+ export function applyGlossaryCaveatLifecycleValidation(projectRoot, entities, issues, contract) {
156
+ for (const entity of glossaryCaveatLifecycleInvalidEntities(entities.filter((candidate) => isProjectionSource(candidate, contract)), contract)) {
157
+ entity.classification = "malformed";
158
+ issues.push({
159
+ code: "malformed_entity",
160
+ path: entity.relativePath,
161
+ id: entity.id ?? undefined,
162
+ artifact: entity.artifact ?? undefined,
163
+ boundary: entity.boundary ?? undefined,
164
+ message: `entity '${entity.relativePath}' has an invalid glossary caveat lifecycle relation`,
165
+ recovery: `repair '${entity.relativePath}' using the Build-owned progress glossary caveat lifecycle; rerun agentera check validate state --cwd ${JSON.stringify(projectRoot)}`,
166
+ });
167
+ }
168
+ }
169
+ //# sourceMappingURL=progressGlossaryCaveat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progressGlossaryCaveat.js","sourceRoot":"","sources":["../../../../../home/jgabor/git/agentera/packages/cli/src/state/progressGlossaryCaveat.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ export const PROGRESS_PUBLICATION_ORDER_FIELD = "publication_order";
2
+ export function progressPublicationOrder(record) {
3
+ const value = record?.[PROGRESS_PUBLICATION_ORDER_FIELD];
4
+ return Number.isSafeInteger(value) && Number(value) > 0 ? Number(value) : null;
5
+ }
6
+ export function progressPublicationOrderViolations(record) {
7
+ if (!(PROGRESS_PUBLICATION_ORDER_FIELD in record))
8
+ return [];
9
+ return progressPublicationOrder(record) === null
10
+ ? ["publication_order must be a positive safe integer when present"]
11
+ : [];
12
+ }
13
+ export function nextProgressPublicationOrder(records) {
14
+ const maximum = records.reduce((current, record) => Math.max(current, progressPublicationOrder(record) ?? 0), 0);
15
+ if (maximum >= Number.MAX_SAFE_INTEGER) {
16
+ throw new Error("progress publication order is exhausted; preserve state and request repair before retrying");
17
+ }
18
+ return maximum + 1;
19
+ }
20
+ //# sourceMappingURL=progressPublicationOrder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progressPublicationOrder.js","sourceRoot":"","sources":["../../../../../home/jgabor/git/agentera/packages/cli/src/state/progressPublicationOrder.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,gCAAgC,GAAG,mBAAmB,CAAC;AAEpE,MAAM,UAAU,wBAAwB,CAAC,MAAyB;IAChE,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,gCAAgC,CAAC,CAAC;IACzD,OAAO,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACjF,CAAC;AAED,MAAM,UAAU,kCAAkC,CAAC,MAAkB;IACnE,IAAI,CAAC,CAAC,gCAAgC,IAAI,MAAM,CAAC;QAAE,OAAO,EAAE,CAAC;IAC7D,OAAO,wBAAwB,CAAC,MAAM,CAAC,KAAK,IAAI;QAC9C,CAAC,CAAC,CAAC,gEAAgE,CAAC;QACpE,CAAC,CAAC,EAAE,CAAC;AACT,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,OAAqB;IAChE,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAC5B,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,wBAAwB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAC7E,CAAC,CACF,CAAC;IACF,IAAI,OAAO,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CACb,4FAA4F,CAC7F,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,GAAG,CAAC,CAAC;AACrB,CAAC"}