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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (195) hide show
  1. package/bundle/extract-corpus-parity.json +23 -0
  2. package/bundle/references/adapters/cursor.md +9 -8
  3. package/bundle/references/analysis/startup-measurement-contract.yaml +4 -4
  4. package/bundle/references/cli/parity-expected-actual-template.md +30 -0
  5. package/bundle/references/cli/update-channels.yaml +15 -0
  6. package/bundle/references/cli/vocabulary-index.yaml +6 -4
  7. package/bundle/references/cli/vocabulary.md +305 -301
  8. package/bundle/skills/agentera/SKILL.md +35 -27
  9. package/bundle/skills/agentera/capabilities/hej/schemas/artifacts.yaml +4 -1
  10. package/bundle/skills/agentera/capabilities/profilera/schemas/exit.yaml +2 -1
  11. package/bundle/skills/agentera/capability_schema_contract.yaml +28 -0
  12. package/bundle/skills/agentera/references/contract.md +324 -315
  13. package/bundle/skills/agentera/schemas/artifacts/todo.yaml +38 -33
  14. package/dist/analytics/extractCorpus/cli.js +49 -1
  15. package/dist/analytics/extractCorpus/cli.js.map +1 -1
  16. package/dist/analytics/extractCorpus/copilotSessions.js +47 -5
  17. package/dist/analytics/extractCorpus/copilotSessions.js.map +1 -1
  18. package/dist/analytics/extractCorpus/core.js +11 -5
  19. package/dist/analytics/extractCorpus/core.js.map +1 -1
  20. package/dist/analytics/extractCorpus/corpus.js +26 -13
  21. package/dist/analytics/extractCorpus/corpus.js.map +1 -1
  22. package/dist/analytics/extractCorpus/coverageAudit.js +261 -0
  23. package/dist/analytics/extractCorpus/coverageAudit.js.map +1 -0
  24. package/dist/analytics/extractCorpus/cursorSessions.js +6 -3
  25. package/dist/analytics/extractCorpus/cursorSessions.js.map +1 -1
  26. package/dist/analytics/extractCorpus/extractCorpusParity.js +105 -0
  27. package/dist/analytics/extractCorpus/extractCorpusParity.js.map +1 -0
  28. package/dist/analytics/extractCorpus/index.js +3 -0
  29. package/dist/analytics/extractCorpus/index.js.map +1 -1
  30. package/dist/analytics/extractCorpus/sqliteCaps.js +44 -0
  31. package/dist/analytics/extractCorpus/sqliteCaps.js.map +1 -0
  32. package/dist/analytics/extractCorpus/sqliteSessions.js +98 -5
  33. package/dist/analytics/extractCorpus/sqliteSessions.js.map +1 -1
  34. package/dist/capabilities/inspirera/instructions.js +1 -1
  35. package/dist/capabilities/inspirera/instructions.js.map +1 -1
  36. package/dist/capabilities/planera/instructions.js +1 -1
  37. package/dist/capabilities/planera/instructions.js.map +1 -1
  38. package/dist/capabilities/profilera/instructions.js +1 -1
  39. package/dist/capabilities/profilera/instructions.js.map +1 -1
  40. package/dist/capabilities/realisera/instructions.js +1 -1
  41. package/dist/capabilities/realisera/instructions.js.map +1 -1
  42. package/dist/capabilities/resonera/instructions.js +1 -1
  43. package/dist/capabilities/resonera/instructions.js.map +1 -1
  44. package/dist/capabilities/visionera/instructions.js +1 -1
  45. package/dist/capabilities/visionera/instructions.js.map +1 -1
  46. package/dist/capabilities/visualisera/instructions.js +3 -4
  47. package/dist/capabilities/visualisera/instructions.js.map +1 -1
  48. package/dist/cli/appContext.js +2 -14
  49. package/dist/cli/appContext.js.map +1 -1
  50. package/dist/cli/capabilityContext/benchmark.js +2 -2
  51. package/dist/cli/capabilityContext/benchmark.js.map +1 -1
  52. package/dist/cli/capabilityContext/closeout.js +5 -5
  53. package/dist/cli/capabilityContext/closeout.js.map +1 -1
  54. package/dist/cli/capabilityContext/evidence.js +6 -6
  55. package/dist/cli/capabilityContext/evidence.js.map +1 -1
  56. package/dist/cli/capabilityContext/orchestration.js +5 -5
  57. package/dist/cli/capabilityContext/orchestration.js.map +1 -1
  58. package/dist/cli/capabilityContext/realisera.js +8 -8
  59. package/dist/cli/capabilityContext/realisera.js.map +1 -1
  60. package/dist/cli/capabilityContext/startup.js +8 -8
  61. package/dist/cli/capabilityContext/startup.js.map +1 -1
  62. package/dist/cli/capabilityContext/types.js +9 -9
  63. package/dist/cli/capabilityContext/types.js.map +1 -1
  64. package/dist/cli/commands/appHome.js +23 -0
  65. package/dist/cli/commands/appHome.js.map +1 -0
  66. package/dist/cli/commands/doctor.js +10 -105
  67. package/dist/cli/commands/doctor.js.map +1 -1
  68. package/dist/cli/commands/prime/bundleStatus.js +126 -0
  69. package/dist/cli/commands/prime/bundleStatus.js.map +1 -0
  70. package/dist/cli/commands/prime/collectOrientationState.js +143 -0
  71. package/dist/cli/commands/prime/collectOrientationState.js.map +1 -0
  72. package/dist/cli/commands/prime/orientationOutput.js +172 -0
  73. package/dist/cli/commands/prime/orientationOutput.js.map +1 -0
  74. package/dist/cli/commands/prime/types.js +2 -0
  75. package/dist/cli/commands/prime/types.js.map +1 -0
  76. package/dist/cli/commands/prime/v1Migration.js +39 -0
  77. package/dist/cli/commands/prime/v1Migration.js.map +1 -0
  78. package/dist/cli/commands/prime.js +10 -549
  79. package/dist/cli/commands/prime.js.map +1 -1
  80. package/dist/cli/commands/report.js +8 -2
  81. package/dist/cli/commands/report.js.map +1 -1
  82. package/dist/cli/commands/state/docs.js +2 -2
  83. package/dist/cli/commands/state/docs.js.map +1 -1
  84. package/dist/cli/commands/state/todo.js +1 -1
  85. package/dist/cli/commands/state/todo.js.map +1 -1
  86. package/dist/cli/commands/validate.js +9 -9
  87. package/dist/cli/commands/validate.js.map +1 -1
  88. package/dist/cli/contracts/bundleStatus.js +2 -0
  89. package/dist/cli/contracts/bundleStatus.js.map +1 -0
  90. package/dist/cli/contracts/orientationState.js +2 -0
  91. package/dist/cli/contracts/orientationState.js.map +1 -0
  92. package/dist/cli/dispatch/argvParser.js +33 -0
  93. package/dist/cli/dispatch/argvParser.js.map +1 -0
  94. package/dist/cli/dispatch/check.js +18 -18
  95. package/dist/cli/dispatch/check.js.map +1 -1
  96. package/dist/cli/dispatch/commands.js +27 -0
  97. package/dist/cli/dispatch/commands.js.map +1 -0
  98. package/dist/cli/dispatch/index.js +3 -1
  99. package/dist/cli/dispatch/index.js.map +1 -1
  100. package/dist/cli/dispatch/lifecycle.js +100 -55
  101. package/dist/cli/dispatch/lifecycle.js.map +1 -1
  102. package/dist/cli/dispatch/prime.js +31 -27
  103. package/dist/cli/dispatch/prime.js.map +1 -1
  104. package/dist/cli/dispatch/state.js +11 -16
  105. package/dist/cli/dispatch/state.js.map +1 -1
  106. package/dist/cli/help.js +30 -0
  107. package/dist/cli/help.js.map +1 -1
  108. package/dist/cli/orientation/attention.js +57 -0
  109. package/dist/cli/orientation/attention.js.map +1 -0
  110. package/dist/cli/orientation/corpusCoverage.js +71 -0
  111. package/dist/cli/orientation/corpusCoverage.js.map +1 -0
  112. package/dist/cli/orientation.js +40 -27
  113. package/dist/cli/orientation.js.map +1 -1
  114. package/dist/cli/startupCompletenessContract.js +49 -0
  115. package/dist/cli/startupCompletenessContract.js.map +1 -0
  116. package/dist/cli/todoSeverity.js +19 -0
  117. package/dist/cli/todoSeverity.js.map +1 -0
  118. package/dist/core/jsonValue.js +6 -0
  119. package/dist/core/jsonValue.js.map +1 -0
  120. package/dist/core/pyjson.js +67 -2
  121. package/dist/core/pyjson.js.map +1 -1
  122. package/dist/hooks/compaction/apply.js +25 -6
  123. package/dist/hooks/compaction/apply.js.map +1 -1
  124. package/dist/hooks/compaction/dryRun.js +3 -3
  125. package/dist/hooks/compaction/dryRun.js.map +1 -1
  126. package/dist/hooks/compaction/index.js +2 -2
  127. package/dist/hooks/compaction/index.js.map +1 -1
  128. package/dist/hooks/compaction/parse.js +132 -3
  129. package/dist/hooks/compaction/parse.js.map +1 -1
  130. package/dist/hooks/compaction/status.js +3 -5
  131. package/dist/hooks/compaction/status.js.map +1 -1
  132. package/dist/hooks/cursorSessionStart.js +10 -2
  133. package/dist/hooks/cursorSessionStart.js.map +1 -1
  134. package/dist/hooks/validateArtifact/markdown.js +57 -6
  135. package/dist/hooks/validateArtifact/markdown.js.map +1 -1
  136. package/dist/setup/cursor.js +1 -1
  137. package/dist/setup/cursor.js.map +1 -1
  138. package/dist/setup/doctor/report.js +2 -58
  139. package/dist/setup/doctor/report.js.map +1 -1
  140. package/dist/state/installRoot.js +49 -18
  141. package/dist/state/installRoot.js.map +1 -1
  142. package/dist/state/startupAnalysis/helpers.js +7 -52
  143. package/dist/state/startupAnalysis/helpers.js.map +1 -1
  144. package/dist/state/startupAnalysis/report.js +9 -31
  145. package/dist/state/startupAnalysis/report.js.map +1 -1
  146. package/dist/state/startupAnalysis/threshold.js +1 -1
  147. package/dist/state/startupAnalysis/threshold.js.map +1 -1
  148. package/dist/upgrade/appModel.js +1 -4
  149. package/dist/upgrade/appModel.js.map +1 -1
  150. package/dist/upgrade/bundleEvidence.js +34 -0
  151. package/dist/upgrade/bundleEvidence.js.map +1 -0
  152. package/dist/upgrade/channels.js +8 -1
  153. package/dist/upgrade/channels.js.map +1 -1
  154. package/dist/upgrade/cliProbe.js +22 -0
  155. package/dist/upgrade/cliProbe.js.map +1 -0
  156. package/dist/upgrade/coexistenceProbe.js +1 -4
  157. package/dist/upgrade/coexistenceProbe.js.map +1 -1
  158. package/dist/upgrade/compatibility.js +1 -4
  159. package/dist/upgrade/compatibility.js.map +1 -1
  160. package/dist/upgrade/doctor.js +168 -173
  161. package/dist/upgrade/doctor.js.map +1 -1
  162. package/dist/upgrade/doctorClassifier.js +208 -0
  163. package/dist/upgrade/doctorClassifier.js.map +1 -0
  164. package/dist/upgrade/migrateArtifactsV2ToV3.js +1 -1
  165. package/dist/upgrade/nextMajorDoctor.js +7 -3
  166. package/dist/upgrade/nextMajorDoctor.js.map +1 -1
  167. package/dist/upgrade/npxPlatformStatus.js +24 -0
  168. package/dist/upgrade/npxPlatformStatus.js.map +1 -0
  169. package/dist/upgrade/projectIntegration.js +54 -71
  170. package/dist/upgrade/projectIntegration.js.map +1 -1
  171. package/dist/upgrade/projectIntegrationDecision.js +93 -0
  172. package/dist/upgrade/projectIntegrationDecision.js.map +1 -0
  173. package/dist/upgrade/versionResolution.js +1 -1
  174. package/dist/upgrade/versionResolution.js.map +1 -1
  175. package/dist/validate/lifecycleAdapters/legacyPythonParity.js +93 -0
  176. package/dist/validate/lifecycleAdapters/legacyPythonParity.js.map +1 -0
  177. package/dist/validate/lifecycleAdapters/nodeFormChecks.js +488 -0
  178. package/dist/validate/lifecycleAdapters/nodeFormChecks.js.map +1 -0
  179. package/dist/validate/lifecycleAdapters/shared.js +198 -0
  180. package/dist/validate/lifecycleAdapters/shared.js.map +1 -0
  181. package/dist/validate/lifecycleAdapters.js +12 -722
  182. package/dist/validate/lifecycleAdapters.js.map +1 -1
  183. package/package.json +1 -1
  184. package/dist/cli/commands/backfill.js +0 -84
  185. package/dist/cli/commands/backfill.js.map +0 -1
  186. package/dist/cli/commands/state.js +0 -1023
  187. package/dist/cli/commands/state.js.map +0 -1
  188. package/dist/core/git.js +0 -43
  189. package/dist/core/git.js.map +0 -1
  190. package/dist/hooks/compaction.js +0 -935
  191. package/dist/hooks/compaction.js.map +0 -1
  192. package/dist/hooks/validateArtifact.js +0 -924
  193. package/dist/hooks/validateArtifact.js.map +0 -1
  194. package/dist/state/progressCommit.js +0 -289
  195. package/dist/state/progressCommit.js.map +0 -1
@@ -0,0 +1,57 @@
1
+ import { projectIntegrationAttention } from "../../upgrade/projectIntegration.js";
2
+ import { corpusCoverageAttention } from "./corpusCoverage.js";
3
+ import { firstPresent } from "../stateQuery.js";
4
+ import { TODO_SEVERITY_ORDER } from "../todoSeverity.js";
5
+ export function buildOrientationAttention(state) {
6
+ const { profile_status: profileStatus, profile, profile_dict: profileDict, v1_migration: v1Migration, project_integration: projectIntegration, health, plan, decision_attention: decisionAttention, corpus_coverage: corpusCoverage, todo_items: todoItems, } = state;
7
+ const attention = [];
8
+ const integrationAttention = projectIntegrationAttention(projectIntegration);
9
+ if (integrationAttention) {
10
+ attention.push(integrationAttention);
11
+ }
12
+ const coverageAttention = corpusCoverageAttention(corpusCoverage);
13
+ if (coverageAttention) {
14
+ attention.push(coverageAttention);
15
+ }
16
+ if (v1Migration.detected && projectIntegration.recommendation !== "upgrade") {
17
+ attention.push(`degraded: v1 artifacts detected; preview \`${v1Migration.dry_run_command}\`; files=${v1Migration.affected_files.join(", ")}`);
18
+ }
19
+ if (profileStatus === "not found") {
20
+ attention.push(`degraded: PROFILE.md not found at ${profile}; suggest running profilera to generate PROFILE.md`);
21
+ }
22
+ else if (profileDict.stale) {
23
+ const daysSince = profileDict.days_since_generated ?? "?";
24
+ const staleDays = profileDict.stale_threshold_days ?? "?";
25
+ attention.push(`normal: profilera profile stale (${daysSince} days since last refresh; ` +
26
+ `threshold=${staleDays}); suggest running profilera to refresh PROFILE.md`);
27
+ }
28
+ if (health.stale) {
29
+ const auditNumber = health.number ?? "?";
30
+ const daysSince = health.days_since_audit ?? "?";
31
+ const thresholdDays = health.stale_threshold_days ?? "?";
32
+ const thresholdCycles = health.stale_threshold_cycles ?? "?";
33
+ let attentionText = `normal: inspektera audit stale (${daysSince} days since Audit ${auditNumber}; ` +
34
+ `threshold days=${thresholdDays}, cycles=${thresholdCycles}`;
35
+ const cyclesSince = health.cycles_since_audit;
36
+ if (cyclesSince !== null && cyclesSince !== undefined)
37
+ attentionText += `; ${cyclesSince} cycles since audit`;
38
+ attention.push(`${attentionText}); suggest running inspektera`);
39
+ }
40
+ if (health.degrading) {
41
+ const worst = health.worst;
42
+ attention.push(worst ? `critical: health needs attention (${worst[0]}:${worst[1]})` : "critical: health is degrading");
43
+ }
44
+ const pending = plan.first_pending;
45
+ if (pending && typeof pending === "object" && !Array.isArray(pending)) {
46
+ const title = firstPresent(pending, ["name", "title"], "pending task");
47
+ attention.push(`normal: PLAN Task ${pending.number ?? "?"}: ${title}`);
48
+ }
49
+ if (decisionAttention !== null)
50
+ attention.push(String(decisionAttention.attention));
51
+ if (!(pending && typeof pending === "object" && !Array.isArray(pending)) && todoItems.length > 0) {
52
+ const firstTodo = [...todoItems].sort((a, b) => (TODO_SEVERITY_ORDER[a.severity] ?? 2) - (TODO_SEVERITY_ORDER[b.severity] ?? 2))[0];
53
+ attention.push(`${firstTodo.severity}: TODO: ${firstTodo.text}`);
54
+ }
55
+ return attention;
56
+ }
57
+ //# sourceMappingURL=attention.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attention.js","sourceRoot":"","sources":["../../../src/cli/orientation/attention.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,71 @@
1
+ import fs from "node:fs";
2
+ import { corpusTooLargeReason } from "../../analytics/usageStats.js";
3
+ import { statsCorpusPath } from "../commands/report.js";
4
+ function emptyCoverageSummary(path, status) {
5
+ return {
6
+ path,
7
+ status,
8
+ available_runtimes: [],
9
+ selected_runtimes: [],
10
+ available_but_not_selected: [],
11
+ };
12
+ }
13
+ function parseCoverageGap(value) {
14
+ if (!value || typeof value !== "object" || Array.isArray(value))
15
+ return null;
16
+ const item = value;
17
+ const runtime = item.runtime;
18
+ const reason = item.reason;
19
+ if (typeof runtime !== "string" || typeof reason !== "string")
20
+ return null;
21
+ const gap = { runtime, reason };
22
+ if (typeof item.store_path === "string")
23
+ gap.store_path = item.store_path;
24
+ return gap;
25
+ }
26
+ export function corpusCoverageSummary(env = process.env, platform = process.platform) {
27
+ const corpusPath = statsCorpusPath(env, platform);
28
+ if (!fs.existsSync(corpusPath))
29
+ return emptyCoverageSummary(corpusPath, "missing");
30
+ const tooLarge = corpusTooLargeReason(corpusPath);
31
+ if (tooLarge)
32
+ return emptyCoverageSummary(corpusPath, "too_large");
33
+ let data;
34
+ try {
35
+ data = JSON.parse(fs.readFileSync(corpusPath, "utf8"));
36
+ }
37
+ catch {
38
+ return emptyCoverageSummary(corpusPath, "unreadable");
39
+ }
40
+ const metadata = data && typeof data === "object" && !Array.isArray(data) && "metadata" in data
41
+ ? data.metadata
42
+ : null;
43
+ if (!metadata || typeof metadata !== "object" || Array.isArray(metadata)) {
44
+ return emptyCoverageSummary(corpusPath, "unreadable");
45
+ }
46
+ const md = metadata;
47
+ const availableRuntimes = Array.isArray(md.available_runtimes)
48
+ ? md.available_runtimes.filter((item) => typeof item === "string")
49
+ : [];
50
+ const selectedRuntimes = Array.isArray(md.selected_runtimes)
51
+ ? md.selected_runtimes.filter((item) => typeof item === "string")
52
+ : [];
53
+ const skipped = Array.isArray(md.available_but_not_selected)
54
+ ? md.available_but_not_selected.map(parseCoverageGap).filter((item) => item !== null)
55
+ : [];
56
+ return {
57
+ path: corpusPath,
58
+ status: "loaded",
59
+ available_runtimes: availableRuntimes,
60
+ selected_runtimes: selectedRuntimes,
61
+ available_but_not_selected: skipped,
62
+ };
63
+ }
64
+ export function corpusCoverageAttention(summary) {
65
+ if (summary.available_but_not_selected.length === 0)
66
+ return null;
67
+ const skipped = summary.available_but_not_selected.map((item) => `${item.runtime} (${item.reason})`).join(", ");
68
+ return (`flagged: corpus coverage loss (EX2): available runtimes skipped (${skipped}); ` +
69
+ "suggest running profilera stats refresh without --no-* flags");
70
+ }
71
+ //# sourceMappingURL=corpusCoverage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"corpusCoverage.js","sourceRoot":"","sources":["../../../src/cli/orientation/corpusCoverage.ts"],"names":[],"mappings":"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"}
@@ -5,26 +5,17 @@ import { activeObjectiveName, artifactPath, loadRegistryForSchemas, } from "./ap
5
5
  import { asList, extractEntries, firstPresent, loadArtifact, progressEntriesForOutput, recentCycles, truncate, } from "./stateQuery.js";
6
6
  import { decisionContextEntry, latestHealthAudit, normalizeSeverity } from "./commands/state/index.js";
7
7
  import { isResolvedTodoMarkdownStatus, parseTodoMarkdownListItem } from "./todoMarkdown.js";
8
+ import { TODO_SEVERITY_ORDER, TODO_SEVERITY_ORDER_KEYS } from "./todoSeverity.js";
9
+ import { capabilityStartupComplete } from "./startupCompletenessContract.js";
10
+ /**
11
+ * Orientation summaries layer for prime/hej. Faithful port of the
12
+ * scripts/agentera `_*_summary`, `_load_todo_items`, `_issue_counts`,
13
+ * `_decision_*`, `_select_hej_next_action`, and staleness helpers.
14
+ */
8
15
  export const DONE_STATUSES = new Set(["complete", "completed", "closed", "done", "resolved", "retired"]);
9
16
  export const BLOCKED_STATUSES = new Set(["blocked", "stuck"]);
10
17
  export const DECISION_ATTENTION_MAX_ENTRIES = 3;
11
- export const STARTUP_COMPLETENESS_MISSING_STATE = [];
12
- const TODO_SEVERITY_ORDER = {
13
- critical: 0,
14
- degraded: 1,
15
- warning: 1,
16
- normal: 2,
17
- info: 3,
18
- annoying: 3,
19
- };
20
- const TODO_SECTION_SEVERITIES = {
21
- critical: "critical",
22
- degraded: "degraded",
23
- warning: "warning",
24
- normal: "normal",
25
- info: "info",
26
- annoying: "annoying",
27
- };
18
+ const TODO_SECTION_SEVERITIES = Object.fromEntries(TODO_SEVERITY_ORDER_KEYS.map((key) => [key, key]));
28
19
  const TODO_PLANERA_SIGNALS = new Set([
29
20
  "acceptance", "artifact", "capability", "capability-context", "compatibility", "contract",
30
21
  "cross-capability", "docs", "metadata", "migration", "schema", "startup", "surface", "test", "validation",
@@ -84,6 +75,27 @@ export function registryArtifactPath(artifactId, schemasDir) {
84
75
  return resolveArtifactPath(record, process.cwd(), activeObjectiveName());
85
76
  }
86
77
  // ── staleness ───────────────────────────────────────────────────────
78
+ const PROFILE_GENERATED_RE = /<!-- Generated:\s*(\d{4}-\d{2}-\d{2})/;
79
+ const PROFILE_VALIDATED_RE = /Validated:\s*(\d{4}-\d{2}-\d{2})/;
80
+ export function parseProfileHeaderDates(text) {
81
+ const genMatch = PROFILE_GENERATED_RE.exec(text);
82
+ const generatedDate = genMatch ? genMatch[1] : null;
83
+ const generatedUtc = generatedDate ? dateFromIso(generatedDate) : null;
84
+ const valMatch = PROFILE_VALIDATED_RE.exec(text);
85
+ const validatedDate = valMatch ? valMatch[1] : null;
86
+ const validatedUtc = validatedDate ? dateFromIso(validatedDate) : null;
87
+ return { generatedDate, validatedDate, generatedUtc, validatedUtc };
88
+ }
89
+ function profileRefreshAnchorUtc(text) {
90
+ const { generatedUtc, validatedUtc } = parseProfileHeaderDates(text);
91
+ if (generatedUtc === null && validatedUtc === null)
92
+ return null;
93
+ if (generatedUtc === null)
94
+ return validatedUtc;
95
+ if (validatedUtc === null)
96
+ return generatedUtc;
97
+ return Math.max(generatedUtc, validatedUtc);
98
+ }
87
99
  export function checkProfileraStaleness(profilePath, env = process.env) {
88
100
  if (!fs.existsSync(profilePath))
89
101
  return null;
@@ -95,14 +107,11 @@ export function checkProfileraStaleness(profilePath, env = process.env) {
95
107
  process.stderr.write(`warning: failed to read profile path ${profilePath}: ${exc.message}\n`);
96
108
  return null;
97
109
  }
98
- const m = /<!-- Generated:\s*(\d{4}-\d{2}-\d{2})/.exec(text);
99
- if (!m)
100
- return null;
101
- const gen = dateFromIso(m[1]);
102
- if (gen === null)
110
+ const anchor = profileRefreshAnchorUtc(text);
111
+ if (anchor === null)
103
112
  return null;
104
113
  const staleDays = intEnv(env, PROFILERA_STALE_DAYS_ENV, DEFAULT_PROFILERA_STALE_DAYS);
105
- const since = daysSince(gen);
114
+ const since = daysSince(anchor);
106
115
  return [since >= staleDays, since, staleDays];
107
116
  }
108
117
  export function healthAuditDate(entry) {
@@ -326,7 +335,7 @@ export function docsSummary(schemas) {
326
335
  mapping_entries: mapping.length,
327
336
  coverage,
328
337
  source_contract: {
329
- capability_startup_complete: STARTUP_COMPLETENESS_MISSING_STATE.length === 0,
338
+ capability_startup_complete: capabilityStartupComplete(),
330
339
  raw_artifact_reads_required: false,
331
340
  state_families: [
332
341
  "plan task details, dependencies, acceptance criteria, and evidence summaries",
@@ -465,7 +474,11 @@ export function statePresence(plan, docs, progress, health, objective) {
465
474
  objective: Boolean(objective.exists),
466
475
  };
467
476
  const absence = {};
468
- for (const [name, summary] of [["plan", plan], ["docs", docs], ["progress", progress]]) {
477
+ for (const [name, summary] of [
478
+ ["plan", plan],
479
+ ["docs", docs],
480
+ ["progress", progress],
481
+ ]) {
469
482
  if (!summary.exists && summary.absence_reason)
470
483
  absence[name] = summary.absence_reason;
471
484
  }
@@ -488,7 +501,7 @@ export function decisionFollowUp(schemas) {
488
501
  continue;
489
502
  const number = entry.number ?? "?";
490
503
  const title = firstPresent(entry, ["question", "choice"], "decision follow-up");
491
- return { object: `DECISION ${number} follow-up`, title };
504
+ return { object: `DECISION ${number} follow-up`, title: String(title) };
492
505
  }
493
506
  return null;
494
507
  }
@@ -498,7 +511,7 @@ function decisionAttentionState(satisfaction) {
498
511
  return "missing";
499
512
  if (state === "user_confirmed_satisfied" && satisfaction.review_needed)
500
513
  return "unconfirmed_user_confirmed_satisfied";
501
- if (["open", "provisionally_satisfied", "review_needed"].includes(state))
514
+ if (["open", "provisionally_satisfied", "review_needed"].includes(String(state)))
502
515
  return String(state);
503
516
  if (state === "user_confirmed_satisfied")
504
517
  return "user_confirmed_satisfied";
@@ -1 +1 @@
1
- {"version":3,"file":"orientation.js","sourceRoot":"","sources":["../../src/cli/orientation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orientation.js","sourceRoot":"","sources":["../../src/cli/orientation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ export const STARTUP_COMPLETENESS_MISSING_STATE = [];
2
+ export const STARTUP_AVAILABLE_STATE_FIELDS = [
3
+ "app_home",
4
+ "mode",
5
+ "profile",
6
+ "v1_migration",
7
+ "health",
8
+ "issues",
9
+ "plan",
10
+ "docs",
11
+ "progress",
12
+ "objective",
13
+ "state_presence",
14
+ "project_integration",
15
+ "attention",
16
+ "decision_attention",
17
+ "next_action",
18
+ "orchestration_context",
19
+ "closeout_context",
20
+ "evidence_context",
21
+ "benchmark_context",
22
+ "execution_context",
23
+ ];
24
+ export const STARTUP_COMPLETENESS_CONFIDENCE_CAVEATS = [
25
+ "representative benchmark evidence exists, but claude-code and github-copilot coverage is degraded by schema divergence",
26
+ "Inspektera evidence context uses existing hej, plan, progress, docs, health, TODO, and decisions state outputs",
27
+ ];
28
+ export const STARTUP_COMPLETENESS_CLI_FALLBACK = [
29
+ "agentera plan --format json",
30
+ "agentera docs --format json",
31
+ "agentera progress --format json",
32
+ ];
33
+ export function startupCompletenessContract() {
34
+ const complete = STARTUP_COMPLETENESS_MISSING_STATE.length === 0;
35
+ return {
36
+ complete_for_capability_startup: complete,
37
+ raw_artifact_reads_required: false,
38
+ raw_artifact_read_policy: "Do not read raw artifacts when complete_for_capability_startup is true. " +
39
+ "When incomplete, try cli_fallback first; raw artifact reads are only a last-resort fallback.",
40
+ available_state: [...STARTUP_AVAILABLE_STATE_FIELDS],
41
+ missing_state: STARTUP_COMPLETENESS_MISSING_STATE,
42
+ confidence_caveats: [...STARTUP_COMPLETENESS_CONFIDENCE_CAVEATS],
43
+ cli_fallback: [...STARTUP_COMPLETENESS_CLI_FALLBACK],
44
+ };
45
+ }
46
+ export function capabilityStartupComplete() {
47
+ return STARTUP_COMPLETENESS_MISSING_STATE.length === 0;
48
+ }
49
+ //# sourceMappingURL=startupCompletenessContract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"startupCompletenessContract.js","sourceRoot":"","sources":["../../src/cli/startupCompletenessContract.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,kCAAkC,GAAa,EAAE,CAAC;AAE/D,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,UAAU;IACV,MAAM;IACN,SAAS;IACT,cAAc;IACd,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,MAAM;IACN,UAAU;IACV,WAAW;IACX,gBAAgB;IAChB,qBAAqB;IACrB,WAAW;IACX,oBAAoB;IACpB,aAAa;IACb,uBAAuB;IACvB,kBAAkB;IAClB,kBAAkB;IAClB,mBAAmB;IACnB,mBAAmB;CACX,CAAC;AAEX,MAAM,CAAC,MAAM,uCAAuC,GAAG;IACrD,wHAAwH;IACxH,gHAAgH;CACxG,CAAC;AAEX,MAAM,CAAC,MAAM,iCAAiC,GAAG;IAC/C,6BAA6B;IAC7B,6BAA6B;IAC7B,iCAAiC;CACzB,CAAC;AAEX,MAAM,UAAU,2BAA2B;IACzC,MAAM,QAAQ,GAAG,kCAAkC,CAAC,MAAM,KAAK,CAAC,CAAC;IACjE,OAAO;QACL,+BAA+B,EAAE,QAAQ;QACzC,2BAA2B,EAAE,KAAK;QAClC,wBAAwB,EACtB,0EAA0E;YAC1E,8FAA8F;QAChG,eAAe,EAAE,CAAC,GAAG,8BAA8B,CAAC;QACpD,aAAa,EAAE,kCAAkC;QACjD,kBAAkB,EAAE,CAAC,GAAG,uCAAuC,CAAC;QAChE,YAAY,EAAE,CAAC,GAAG,iCAAiC,CAAC;KACrD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB;IACvC,OAAO,kCAAkC,CAAC,MAAM,KAAK,CAAC,CAAC;AACzD,CAAC"}
@@ -0,0 +1,19 @@
1
+ /** Severity band keys for TODO.md sections — shared by state todo, prime, and orientation. */
2
+ export const TODO_SEVERITY_ORDER_KEYS = [
3
+ "critical",
4
+ "degraded",
5
+ "warning",
6
+ "normal",
7
+ "info",
8
+ "annoying",
9
+ ];
10
+ /** Sort priority for TODO severity bands (lower = higher priority). */
11
+ export const TODO_SEVERITY_ORDER = {
12
+ critical: 0,
13
+ degraded: 1,
14
+ warning: 1,
15
+ normal: 2,
16
+ info: 3,
17
+ annoying: 3,
18
+ };
19
+ //# sourceMappingURL=todoSeverity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"todoSeverity.js","sourceRoot":"","sources":["../../src/cli/todoSeverity.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,UAAU;IACV,UAAU;IACV,SAAS;IACT,QAAQ;IACR,MAAM;IACN,UAAU;CACF,CAAC;AAEX,uEAAuE;AACvE,MAAM,CAAC,MAAM,mBAAmB,GAA2B;IACzD,QAAQ,EAAE,CAAC;IACX,QAAQ,EAAE,CAAC;IACX,OAAO,EAAE,CAAC;IACV,MAAM,EAAE,CAAC;IACT,IAAI,EAAE,CAAC;IACP,QAAQ,EAAE,CAAC;CACZ,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Canonical JSON/value shapes for CLI structured output and YAML artifact IO.
3
+ * Prefer these types at module export boundaries; narrow with casts only at IO edges.
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=jsonValue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsonValue.js","sourceRoot":"","sources":["../../src/core/jsonValue.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -2,9 +2,26 @@
2
2
  * Python-faithful JSON string helpers.
3
3
  *
4
4
  * Mirrors CPython's `json` encoder for the cases the CLI/hook surfaces need:
5
- * ensure_ascii escaping and the default inline separators (", " / ": ") with
6
- * insertion-ordered object keys (no sort_keys).
5
+ * ensure_ascii escaping and the default inline separators (", " / ": ").
6
+ * `pyJsonInline` / `pyJsonIndent` keep insertion-ordered object keys; sorted
7
+ * variants match `json.dumps(..., sort_keys=True)` for doctor parity.
7
8
  */
9
+ function formatScalar(value, hook) {
10
+ const hooked = hook?.(value);
11
+ if (hooked !== undefined)
12
+ return hooked;
13
+ if (value === null || value === undefined)
14
+ return "null";
15
+ if (value === true)
16
+ return "true";
17
+ if (value === false)
18
+ return "false";
19
+ if (typeof value === "number")
20
+ return String(value);
21
+ if (typeof value === "string")
22
+ return pyJsonString(value);
23
+ return null;
24
+ }
8
25
  /** Mirror Python json encoder string escaping with ensure_ascii=True. */
9
26
  export function pyJsonString(str) {
10
27
  let out = '"';
@@ -98,4 +115,52 @@ export function pyJsonIndent(value, indent = 2, level = 0) {
98
115
  }
99
116
  return "null";
100
117
  }
118
+ /**
119
+ * Mirror Python `json.dumps(value, sort_keys=True)` with default options:
120
+ * sorted object keys, separators (", " / ": "), ensure_ascii=True.
121
+ */
122
+ export function pyJsonDumps(value, hook) {
123
+ const scalar = formatScalar(value, hook);
124
+ if (scalar !== null)
125
+ return scalar;
126
+ if (Array.isArray(value))
127
+ return "[" + value.map((v) => pyJsonDumps(v, hook)).join(", ") + "]";
128
+ if (typeof value === "object") {
129
+ const keys = Object.keys(value).sort();
130
+ return ("{" +
131
+ keys
132
+ .map((k) => `${pyJsonString(k)}: ${pyJsonDumps(value[k], hook)}`)
133
+ .join(", ") +
134
+ "}");
135
+ }
136
+ return "null";
137
+ }
138
+ /**
139
+ * Mirror Python `json.dumps(value, indent=2, sort_keys=True)` with default
140
+ * options: sorted object keys, ensure_ascii=True, 2-space indentation.
141
+ */
142
+ export function pyJsonIndentSorted(value, indent = 2, level = 0, hook) {
143
+ const pad = " ".repeat(indent * (level + 1));
144
+ const closePad = " ".repeat(indent * level);
145
+ const scalar = formatScalar(value, hook);
146
+ if (scalar !== null)
147
+ return scalar;
148
+ if (Array.isArray(value)) {
149
+ if (value.length === 0)
150
+ return "[]";
151
+ const items = value.map((v) => pad + pyJsonIndentSorted(v, indent, level + 1, hook));
152
+ return "[\n" + items.join(",\n") + "\n" + closePad + "]";
153
+ }
154
+ if (typeof value === "object") {
155
+ const keys = Object.keys(value).sort();
156
+ if (keys.length === 0)
157
+ return "{}";
158
+ const items = keys.map((k) => pad +
159
+ pyJsonString(k) +
160
+ ": " +
161
+ pyJsonIndentSorted(value[k], indent, level + 1, hook));
162
+ return "{\n" + items.join(",\n") + "\n" + closePad + "}";
163
+ }
164
+ return "null";
165
+ }
101
166
  //# sourceMappingURL=pyjson.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pyjson.js","sourceRoot":"","sources":["../../src/core/pyjson.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pyjson.js","sourceRoot":"","sources":["../../src/core/pyjson.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@ import { loadYamlMapping } from "../../core/yaml.js";
12
12
  import { MAX_FULL_ENTRIES, MAX_ONELINE_ENTRIES, MAX_TOTAL_ENTRIES, applyRetentionCaps } from "../common.js";
13
13
  import { COMPACTABLE_YAML_ARTIFACTS, SPECS, YAML_SPEC_BY_ARTIFACT, formatTodoOneline } from "./dryRun.js";
14
14
  import { applyRetentionCaps as _applyRetentionCaps, overLimitCount, selectDecisionActiveEntries, selectDecisionArchiveEntries, stableSortBy, yamlArchiveEntries, yamlArchiveEntry, yamlEntryNumber, yamlRecentFullAndOlder, yamlSortEntries, } from "./retention.js";
15
- import { parseEntries, parseTodoResolved, extractResolvedSection } from "./parse.js";
15
+ import { normalizeTodoResolvedLayout, parseEntries, parseTodoResolved, extractResolvedSection } from "./parse.js";
16
16
  export function compactYamlFile(p, artifact) {
17
17
  if (!(artifact in COMPACTABLE_YAML_ARTIFACTS)) {
18
18
  throw new Error(`unsupported YAML artifact: ${artifact}`);
@@ -173,16 +173,28 @@ function extractHeaderPrefix(text, spec) {
173
173
  }
174
174
  function compactTodoResolved(p) {
175
175
  const spec = SPECS["todo-resolved"];
176
- const text = fs.readFileSync(p, "utf8");
177
- const [start, end, body] = extractResolvedSection(text);
176
+ let text = fs.readFileSync(p, "utf8");
177
+ const normalized = normalizeTodoResolvedLayout(text);
178
+ if (normalized.changed) {
179
+ fs.writeFileSync(p, normalized.text);
180
+ text = normalized.text;
181
+ }
182
+ const [start, end] = extractResolvedSection(text);
178
183
  if (start < 0)
179
- return { full_before: 0, oneline_before: 0, full_after: 0, oneline_after: 0, dropped: 0, changed: false };
184
+ return { full_before: 0, oneline_before: 0, full_after: 0, oneline_after: 0, dropped: 0, changed: normalized.changed };
180
185
  const entries = parseTodoResolved(text, spec);
181
186
  const fullBefore = entries.filter((e) => e.kind === "full").length;
182
187
  const onelineBefore = entries.filter((e) => e.kind === "oneline").length;
183
188
  const totalBefore = entries.length;
184
189
  if (totalBefore <= MAX_TOTAL_ENTRIES && fullBefore <= MAX_FULL_ENTRIES && onelineBefore <= MAX_ONELINE_ENTRIES) {
185
- return { full_before: fullBefore, oneline_before: onelineBefore, full_after: fullBefore, oneline_after: onelineBefore, dropped: 0, changed: false };
190
+ return {
191
+ full_before: fullBefore,
192
+ oneline_before: onelineBefore,
193
+ full_after: fullBefore,
194
+ oneline_after: onelineBefore,
195
+ dropped: 0,
196
+ changed: normalized.changed,
197
+ };
186
198
  }
187
199
  const compacted = compactTodoEntries(entries);
188
200
  const fullAfter = compacted.filter((e) => e.kind === "full").length;
@@ -203,7 +215,14 @@ function compactTodoResolved(p) {
203
215
  const headingEnd = text.indexOf("\n", start) + 1;
204
216
  const newText = text.slice(0, headingEnd) + "\n" + newBody + text.slice(end);
205
217
  fs.writeFileSync(p, newText);
206
- return { full_before: fullBefore, oneline_before: onelineBefore, full_after: fullAfter, oneline_after: onelineAfter, dropped, changed: true };
218
+ return {
219
+ full_before: fullBefore,
220
+ oneline_before: onelineBefore,
221
+ full_after: fullAfter,
222
+ oneline_after: onelineAfter,
223
+ dropped,
224
+ changed: normalized.changed || true,
225
+ };
207
226
  }
208
227
  export function compactFile(p, specName) {
209
228
  if (!(specName in SPECS))