agentera 3.0.0-dev.78 → 3.0.0-dev.79

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.
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "schemaVersion": "agentera.generatedBuildSource.v1",
3
- "commit": "eb1d15be07e52525a9b2bd30590e996bb42dc463",
4
- "tree": "4d8d697897d1186193da51ea43e66f9fa6adebf1",
3
+ "commit": "b22922ec963df96099033595c72d26aa0ef45a0b",
4
+ "tree": "9711c04dcf28117032a46f83f628a3e8abe00ce0",
5
5
  "files": 6835,
6
- "workingTreeSha256": "b114aced044d84f4f9657fe213d1e7db99e564e7d205e3453c09499f4ddb3893",
7
- "identitySha256": "0692b08db944d0d52a32b08bc71713338482717eee5bf79eb64215a96e1ca9d0"
6
+ "workingTreeSha256": "09d0c5b86327910ad828a654ea6eb6679dda41a085ed03a452187d1d0c3265d7",
7
+ "identitySha256": "32f7d71e8664b15a675406df2cfb669a2d3dac0ffdfefaa026d25debbc590347"
8
8
  }
@@ -101,6 +101,9 @@
101
101
 
102
102
  ### Fixed
103
103
 
104
+ - Fixed `prime --context status --format json` so oversized current health
105
+ audits return `health.exists: true`, `status: summary_only`, and exact
106
+ `state health list/get` recovery instead of appearing absent.
104
107
  - Fixed TODO reconciliation so typed writes use canonical severity headings and
105
108
  insert missing bands before later sections. Duplicate, mismatched, or
106
109
  out-of-order headings now return one bounded actionable diagnosis through
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "schemaVersion": "agentera.generatedBuildSource.v1",
3
- "commit": "eb1d15be07e52525a9b2bd30590e996bb42dc463",
4
- "tree": "4d8d697897d1186193da51ea43e66f9fa6adebf1",
3
+ "commit": "b22922ec963df96099033595c72d26aa0ef45a0b",
4
+ "tree": "9711c04dcf28117032a46f83f628a3e8abe00ce0",
5
5
  "files": 6835,
6
- "workingTreeSha256": "b114aced044d84f4f9657fe213d1e7db99e564e7d205e3453c09499f4ddb3893",
7
- "identitySha256": "0692b08db944d0d52a32b08bc71713338482717eee5bf79eb64215a96e1ca9d0"
6
+ "workingTreeSha256": "09d0c5b86327910ad828a654ea6eb6679dda41a085ed03a452187d1d0c3265d7",
7
+ "identitySha256": "32f7d71e8664b15a675406df2cfb669a2d3dac0ffdfefaa026d25debbc590347"
8
8
  }
@@ -38,11 +38,23 @@ function header(entry) {
38
38
  function terminal(status) {
39
39
  return ["complete", "completed", "closed", "done", "resolved", "retired", "superseded"].includes(String(status ?? "").toLowerCase());
40
40
  }
41
- function healthSummary(latest, history) {
41
+ function healthSummary(latest, history, currentCount) {
42
42
  if (!latest) {
43
+ const omission = currentCount > 0 ? {
44
+ detail_availability: "omitted",
45
+ omitted: true,
46
+ omitted_count: currentCount,
47
+ omission_reason: "startup_health_detail",
48
+ retrieval: {
49
+ list: preCutoverCommand("state health list --limit 20 --format json"),
50
+ get: preCutoverCommand("state health get --id ID --format json"),
51
+ },
52
+ } : {};
43
53
  return history
44
- ? { exists: true, status: "degraded", startup_outcome: "degraded", degraded_history: history }
45
- : { exists: false, status: "absent", startup_outcome: "ok" };
54
+ ? { exists: true, status: "degraded", startup_outcome: "degraded", degraded_history: history, ...omission }
55
+ : currentCount > 0
56
+ ? { exists: true, status: "summary_only", startup_outcome: "degraded", ...omission }
57
+ : { exists: false, status: "absent", startup_outcome: "ok" };
46
58
  }
47
59
  const healthRecord = record(latest);
48
60
  const grades = healthRecord.grades && typeof healthRecord.grades === "object" && !Array.isArray(healthRecord.grades)
@@ -164,7 +176,7 @@ export function collectEntityOrientation(projectRoot, sourceRoot) {
164
176
  const healthHistory = degradedHistory("health", discovery.entities.filter((entry) => entry.boundary === "health_summary").length);
165
177
  const progressFullCount = discovery.entities.filter((entry) => entry.boundary === "progress_cycle").length;
166
178
  const decisionFullCount = discovery.entities.filter((entry) => entry.boundary === "decision").length;
167
- const healthFullCount = discovery.entities.filter((entry) => entry.boundary === "health_audit").length;
179
+ const healthFullCount = discovery.entities.filter((entry) => entry.artifact === "health" && entry.boundary === "health_audit" && entry.classification === "valid").length;
168
180
  const progressSummaryCount = discovery.entities.filter((entry) => entry.boundary === "progress_summary").length;
169
181
  const decisionSummaryCount = discovery.entities.filter((entry) => entry.boundary === "decision_summary").length;
170
182
  const healthSummaryCount = discovery.entities.filter((entry) => entry.boundary === "health_summary").length;
@@ -240,7 +252,7 @@ export function collectEntityOrientation(projectRoot, sourceRoot) {
240
252
  cycle_count: Number(progressList.counts?.total ?? progressEntries.length),
241
253
  degraded_history: progressHistory,
242
254
  } : { exists: false, status: "missing", cycle_count: 0 };
243
- const health = healthSummary(fullHealthEntries[0], healthEntries.length ? healthHistory : undefined);
255
+ const health = healthSummary(fullHealthEntries[0], healthEntries.length ? healthHistory : undefined, healthFullCount);
244
256
  const activeObjective = selected(objectiveEntries, "objective");
245
257
  const closedObjectiveCount = Number(closedObjectiveList.counts?.total ?? 0);
246
258
  const objectiveRecord = record(activeObjective);
@@ -225,6 +225,13 @@ export function buildStatusContextState(state, _command = "prime", _options = {}
225
225
  worst: state.health.worst ?? null,
226
226
  trajectory: state.health.trajectory ?? null,
227
227
  degrading: Boolean(state.health.degrading),
228
+ ...(state.health.omitted === true ? {
229
+ detail_availability: state.health.detail_availability,
230
+ omitted: true,
231
+ omitted_count: state.health.omitted_count,
232
+ omission_reason: state.health.omission_reason,
233
+ retrieval: state.health.retrieval,
234
+ } : {}),
228
235
  },
229
236
  todo: { ...state.counts, detail: state.todo_detail },
230
237
  plan: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentera",
3
- "version": "3.0.0-dev.78",
3
+ "version": "3.0.0-dev.79",
4
4
  "description": "One CLI, many capabilities: project state, artifact validation, and capability routing for AI coding agents",
5
5
  "keywords": [
6
6
  "agentera",
@@ -80,6 +80,6 @@
80
80
  },
81
81
  "agentera": {
82
82
  "suiteVersion": "3.0.0",
83
- "gitRef": "eb1d15be07e52525a9b2bd30590e996bb42dc463"
83
+ "gitRef": "b22922ec963df96099033595c72d26aa0ef45a0b"
84
84
  }
85
85
  }