openplanr 1.18.0 → 1.20.0

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 (153) hide show
  1. package/dist/cli/commands/backlog.d.ts.map +1 -1
  2. package/dist/cli/commands/backlog.js +3 -0
  3. package/dist/cli/commands/backlog.js.map +1 -1
  4. package/dist/cli/commands/config.d.ts.map +1 -1
  5. package/dist/cli/commands/config.js +3 -0
  6. package/dist/cli/commands/config.js.map +1 -1
  7. package/dist/cli/commands/epic.d.ts.map +1 -1
  8. package/dist/cli/commands/epic.js +2 -0
  9. package/dist/cli/commands/epic.js.map +1 -1
  10. package/dist/cli/commands/feature.d.ts.map +1 -1
  11. package/dist/cli/commands/feature.js +2 -0
  12. package/dist/cli/commands/feature.js.map +1 -1
  13. package/dist/cli/commands/operate.d.ts +5 -2
  14. package/dist/cli/commands/operate.d.ts.map +1 -1
  15. package/dist/cli/commands/operate.js +10 -101
  16. package/dist/cli/commands/operate.js.map +1 -1
  17. package/dist/cli/commands/plan.d.ts.map +1 -1
  18. package/dist/cli/commands/plan.js +2 -0
  19. package/dist/cli/commands/plan.js.map +1 -1
  20. package/dist/cli/commands/quick.d.ts.map +1 -1
  21. package/dist/cli/commands/quick.js +2 -0
  22. package/dist/cli/commands/quick.js.map +1 -1
  23. package/dist/cli/commands/refine.d.ts.map +1 -1
  24. package/dist/cli/commands/refine.js +2 -0
  25. package/dist/cli/commands/refine.js.map +1 -1
  26. package/dist/cli/commands/revise.d.ts.map +1 -1
  27. package/dist/cli/commands/revise.js +2 -0
  28. package/dist/cli/commands/revise.js.map +1 -1
  29. package/dist/cli/commands/spec.d.ts.map +1 -1
  30. package/dist/cli/commands/spec.js +2 -0
  31. package/dist/cli/commands/spec.js.map +1 -1
  32. package/dist/cli/commands/sprint.d.ts.map +1 -1
  33. package/dist/cli/commands/sprint.js +2 -0
  34. package/dist/cli/commands/sprint.js.map +1 -1
  35. package/dist/cli/commands/story.d.ts.map +1 -1
  36. package/dist/cli/commands/story.js +3 -0
  37. package/dist/cli/commands/story.js.map +1 -1
  38. package/dist/cli/commands/task.d.ts.map +1 -1
  39. package/dist/cli/commands/task.js +3 -0
  40. package/dist/cli/commands/task.js.map +1 -1
  41. package/dist/services/ai-service.d.ts +3 -5
  42. package/dist/services/ai-service.d.ts.map +1 -1
  43. package/dist/services/ai-service.js +7 -1
  44. package/dist/services/ai-service.js.map +1 -1
  45. package/dist/services/credentials-service.d.ts.map +1 -1
  46. package/dist/services/credentials-service.js +2 -0
  47. package/dist/services/credentials-service.js.map +1 -1
  48. package/dist/services/deprecation-notices.d.ts +5 -0
  49. package/dist/services/deprecation-notices.d.ts.map +1 -0
  50. package/dist/services/deprecation-notices.js +6 -0
  51. package/dist/services/deprecation-notices.js.map +1 -0
  52. package/dist/services/operate/advisors.d.ts +146 -108
  53. package/dist/services/operate/advisors.d.ts.map +1 -1
  54. package/dist/services/operate/advisors.js +178 -448
  55. package/dist/services/operate/advisors.js.map +1 -1
  56. package/dist/services/operate/citation-resolution.d.ts.map +1 -1
  57. package/dist/services/operate/citation-resolution.js +50 -1
  58. package/dist/services/operate/citation-resolution.js.map +1 -1
  59. package/dist/services/operate/config.d.ts +28 -52
  60. package/dist/services/operate/config.d.ts.map +1 -1
  61. package/dist/services/operate/config.js +68 -203
  62. package/dist/services/operate/config.js.map +1 -1
  63. package/dist/services/operate/doctor.d.ts +15 -0
  64. package/dist/services/operate/doctor.d.ts.map +1 -1
  65. package/dist/services/operate/doctor.js +142 -32
  66. package/dist/services/operate/doctor.js.map +1 -1
  67. package/dist/services/operate/engine.d.ts +22 -62
  68. package/dist/services/operate/engine.d.ts.map +1 -1
  69. package/dist/services/operate/engine.js +269 -191
  70. package/dist/services/operate/engine.js.map +1 -1
  71. package/dist/services/operate/evidence.d.ts +9 -78
  72. package/dist/services/operate/evidence.d.ts.map +1 -1
  73. package/dist/services/operate/evidence.js +0 -1194
  74. package/dist/services/operate/evidence.js.map +1 -1
  75. package/dist/services/operate/index.d.ts.map +1 -1
  76. package/dist/services/operate/index.js +15 -231
  77. package/dist/services/operate/index.js.map +1 -1
  78. package/dist/services/operate/integrity.d.ts +81 -0
  79. package/dist/services/operate/integrity.d.ts.map +1 -0
  80. package/dist/services/operate/integrity.js +152 -0
  81. package/dist/services/operate/integrity.js.map +1 -0
  82. package/dist/services/operate/interaction/answer-service.d.ts +0 -10
  83. package/dist/services/operate/interaction/answer-service.d.ts.map +1 -1
  84. package/dist/services/operate/interaction/answer-service.js +63 -43
  85. package/dist/services/operate/interaction/answer-service.js.map +1 -1
  86. package/dist/services/operate/interaction/question-engine.d.ts.map +1 -1
  87. package/dist/services/operate/interaction/question-engine.js +105 -21
  88. package/dist/services/operate/interaction/question-engine.js.map +1 -1
  89. package/dist/services/operate/interaction/question-registry.d.ts +16 -1
  90. package/dist/services/operate/interaction/question-registry.d.ts.map +1 -1
  91. package/dist/services/operate/interaction/question-registry.js +45 -39
  92. package/dist/services/operate/interaction/question-registry.js.map +1 -1
  93. package/dist/services/operate/interaction/session-service.d.ts.map +1 -1
  94. package/dist/services/operate/interaction/session-service.js +16 -11
  95. package/dist/services/operate/interaction/session-service.js.map +1 -1
  96. package/dist/services/operate/interaction/terminal-renderer.d.ts.map +1 -1
  97. package/dist/services/operate/interaction/terminal-renderer.js +16 -6
  98. package/dist/services/operate/interaction/terminal-renderer.js.map +1 -1
  99. package/dist/services/operate/lifecycle.d.ts.map +1 -1
  100. package/dist/services/operate/lifecycle.js +17 -1
  101. package/dist/services/operate/lifecycle.js.map +1 -1
  102. package/dist/services/operate/maintenance.d.ts.map +1 -1
  103. package/dist/services/operate/maintenance.js +95 -276
  104. package/dist/services/operate/maintenance.js.map +1 -1
  105. package/dist/services/operate/mission-dispatch.d.ts +73 -55
  106. package/dist/services/operate/mission-dispatch.d.ts.map +1 -1
  107. package/dist/services/operate/mission-dispatch.js +91 -67
  108. package/dist/services/operate/mission-dispatch.js.map +1 -1
  109. package/dist/services/operate/projection-persistence.d.ts +35 -7
  110. package/dist/services/operate/projection-persistence.d.ts.map +1 -1
  111. package/dist/services/operate/projection-persistence.js +142 -53
  112. package/dist/services/operate/projection-persistence.js.map +1 -1
  113. package/dist/services/operate/projection.d.ts +9 -1
  114. package/dist/services/operate/projection.d.ts.map +1 -1
  115. package/dist/services/operate/projection.js +22 -12
  116. package/dist/services/operate/projection.js.map +1 -1
  117. package/dist/services/operate/protocol.d.ts +1 -41
  118. package/dist/services/operate/protocol.d.ts.map +1 -1
  119. package/dist/services/operate/protocol.js +7 -45
  120. package/dist/services/operate/protocol.js.map +1 -1
  121. package/dist/services/operate/redaction.d.ts +3 -3
  122. package/dist/services/operate/redaction.js +4 -4
  123. package/dist/services/operate/redaction.js.map +1 -1
  124. package/dist/services/operate/reports.d.ts +20 -1
  125. package/dist/services/operate/reports.d.ts.map +1 -1
  126. package/dist/services/operate/reports.js +108 -4
  127. package/dist/services/operate/reports.js.map +1 -1
  128. package/dist/services/operate/routes.d.ts +84 -0
  129. package/dist/services/operate/routes.d.ts.map +1 -1
  130. package/dist/services/operate/routes.js +519 -10
  131. package/dist/services/operate/routes.js.map +1 -1
  132. package/dist/services/operate/types.d.ts +48 -133
  133. package/dist/services/operate/types.d.ts.map +1 -1
  134. package/dist/services/operate/types.js.map +1 -1
  135. package/dist/services/operate/workspace.d.ts +0 -1
  136. package/dist/services/operate/workspace.d.ts.map +1 -1
  137. package/dist/services/operate/workspace.js +0 -2
  138. package/dist/services/operate/workspace.js.map +1 -1
  139. package/dist/services/runtime-manager-service.js +2 -2
  140. package/dist/services/runtime-manager-service.js.map +1 -1
  141. package/package.json +3 -3
  142. package/dist/services/operate/evidence-classifications.d.ts +0 -59
  143. package/dist/services/operate/evidence-classifications.d.ts.map +0 -1
  144. package/dist/services/operate/evidence-classifications.js +0 -132
  145. package/dist/services/operate/evidence-classifications.js.map +0 -1
  146. package/dist/services/operate/evidence-diagnostics.d.ts +0 -23
  147. package/dist/services/operate/evidence-diagnostics.d.ts.map +0 -1
  148. package/dist/services/operate/evidence-diagnostics.js +0 -152
  149. package/dist/services/operate/evidence-diagnostics.js.map +0 -1
  150. package/dist/services/operate/evidence-readiness.d.ts +0 -8
  151. package/dist/services/operate/evidence-readiness.d.ts.map +0 -1
  152. package/dist/services/operate/evidence-readiness.js +0 -84
  153. package/dist/services/operate/evidence-readiness.js.map +0 -1
@@ -1,9 +1,11 @@
1
1
  import { OperatingEventStore } from './event-store.js';
2
2
  import { OperatingEvidenceCache } from './evidence-cache.js';
3
+ import { buildOperatingIntegritySummary, renderOperatingIntegritySection } from './integrity.js';
3
4
  import { readPersistedOperatingRoleResults } from './maintenance.js';
4
5
  import { renderOperatingBrief, selectCycleState } from './projection.js';
5
6
  import { loadOperatingProtocol } from './protocol.js';
6
7
  import { maximumSensitivity } from './redaction.js';
8
+ import { groupRelatedAcceptedFindings } from './routes.js';
7
9
  import { OperateError, } from './types.js';
8
10
  import { resolveOperatingPaths } from './workspace.js';
9
11
  const LENS_ALIASES = {
@@ -28,7 +30,15 @@ function requestedLens(value) {
28
30
  }
29
31
  return role;
30
32
  }
31
- function markdownLens(report) {
33
+ /**
34
+ * Render a single role's advisory lens report as the exact Markdown the
35
+ * `review`/`report` commands emit for that role. Exported so
36
+ * `projection-persistence.ts` can persist each `cycles/<id>/board/<role>.md`
37
+ * from the same assembly, guaranteeing the committed board file byte-matches
38
+ * `planr operate report <cycleId> --lens <role>` (FR1). A role with no
39
+ * advisor-result record renders honestly as `Status: not_evaluated`.
40
+ */
41
+ export function markdownLens(report) {
32
42
  const lines = [
33
43
  `## ${report.label}`,
34
44
  '',
@@ -54,6 +64,60 @@ function markdownLens(report) {
54
64
  ];
55
65
  return lines.join('\n');
56
66
  }
67
+ /**
68
+ * FR8: the complete, uncapped registers appended to the persisted
69
+ * `cycles/<id>/report.md` so the on-disk artifact is self-contained. The concise
70
+ * brief `renderOperatingBrief` produces keeps its top-5/top-4 cap for the CLI's
71
+ * `operate review`/`operate report` display; this renders every finding,
72
+ * decision, evidence gap, and route with no `.slice()` cap, for the persisted
73
+ * report path only. Callers pass the cycle-scoped state so the registers are
74
+ * exactly this cycle's records.
75
+ */
76
+ export function markdownCompleteRegisters(state) {
77
+ const evidence = (record) => {
78
+ const refs = [...new Set(stringArray(record.evidenceRefs))].sort();
79
+ return refs.length > 0 ? refs.map((reference) => `\`${reference}\``).join(', ') : 'none';
80
+ };
81
+ const findings = [...state.findings].sort((left, right) => left.id.localeCompare(right.id));
82
+ const decisions = [...state.decisions].sort((left, right) => left.id.localeCompare(right.id));
83
+ const gaps = [...state.dataGaps].sort((left, right) => left.id.localeCompare(right.id));
84
+ const routes = [...state.routes].sort((left, right) => left.id.localeCompare(right.id));
85
+ return [
86
+ '# Complete registers',
87
+ '',
88
+ 'Every finding, decision, evidence gap, and route recorded for this cycle — the',
89
+ 'self-contained record the concise brief above deliberately caps.',
90
+ '',
91
+ `## All findings (${findings.length})`,
92
+ '',
93
+ ...(findings.length > 0
94
+ ? findings.map((finding) => `- **${finding.id}** [${fieldText(finding, 'status') ?? 'proposed'} · ${fieldText(finding, 'lane') ?? 'OWNER'} · ${fieldText(finding, 'owner') ?? 'unassigned'} · ${fieldText(finding, 'severity') ?? 'low'}] ${fieldText(finding, 'title') ?? 'Untitled finding'} — ${fieldText(finding, 'proposal') ??
95
+ fieldText(finding, 'problem') ??
96
+ 'Review the cited evidence.'} Evidence: ${evidence(finding)}.`)
97
+ : ['- None recorded.']),
98
+ '',
99
+ `## All decisions (${decisions.length})`,
100
+ '',
101
+ ...(decisions.length > 0
102
+ ? decisions.map((decision) => `- **${decision.id}** [${fieldText(decision, 'status') ?? 'open'} · ${fieldText(decision, 'owner') ?? 'unassigned'}${fieldText(decision, 'deadline') ? ` · due ${fieldText(decision, 'deadline')}` : ''}] ${fieldText(decision, 'question') ?? 'Decision required'} Recommendation: ${fieldText(decision, 'recommendation') ?? 'Review the available options.'} Evidence: ${evidence(decision)}.`)
103
+ : ['- None recorded.']),
104
+ '',
105
+ `## All evidence gaps (${gaps.length})`,
106
+ '',
107
+ ...(gaps.length > 0
108
+ ? gaps.map((gap) => `- **${gap.id}** [${fieldText(gap, 'status') ?? 'open'} · ${fieldText(gap, 'owner') ?? 'unassigned'}] ${fieldText(gap, 'question') ?? 'Evidence required'} — ${fieldText(gap, 'reason') ?? 'Evidence was not available.'} Evidence: ${evidence(gap)}.`)
109
+ : ['- None recorded.']),
110
+ '',
111
+ `## All routes (${routes.length})`,
112
+ '',
113
+ ...(routes.length > 0
114
+ ? routes.map((route) => {
115
+ const findingIds = stringArray(route.findingIds).sort();
116
+ return `- **${route.id}** [${fieldText(route, 'state') ?? 'proposed'} · ${fieldText(route, 'cycleId') ?? ''}] findings: ${findingIds.length > 0 ? findingIds.join(', ') : 'none'}.`;
117
+ })
118
+ : ['- None recorded.']),
119
+ ].join('\n');
120
+ }
57
121
  /**
58
122
  * Assemble the human report for a governed cycle: the concise brief, the
59
123
  * per-role advisory lens reports, and the exact next actions, plus a single
@@ -78,17 +142,41 @@ export async function readOperatingReport(input) {
78
142
  loadOperatingProtocol().then((protocol) => protocol.listOperatingRoles()),
79
143
  ]);
80
144
  const byRole = new Map(roleResults.map((result) => [result.roleId, result]));
145
+ // FR7: the committed source of truth for a role's not_evaluated state is its
146
+ // governed `missing-evidence` gap (the v1.2 role-result schema admits only
147
+ // proposals|quiet|failed, so a citation-starved role commits a schema-legal
148
+ // `quiet` result). Promote such a role to `not_evaluated` here and carry its
149
+ // real gap reason, so neither the lens report nor the persisted board depends
150
+ // on any advisory prose to reveal it.
151
+ const integrity = buildOperatingIntegritySummary(fullState, cycleId);
152
+ const notEvaluatedReasonsByRole = new Map();
153
+ for (const role of integrity.notEvaluatedRoles) {
154
+ const existing = notEvaluatedReasonsByRole.get(role.roleId) ?? [];
155
+ existing.push(role.reason);
156
+ notEvaluatedReasonsByRole.set(role.roleId, existing);
157
+ }
81
158
  const reports = roles
82
159
  .filter((role) => !selectedRole || role.id === selectedRole)
83
160
  .map((role) => {
84
161
  const result = byRole.get(role.id);
162
+ const notEvaluatedReasons = notEvaluatedReasonsByRole.get(role.id);
163
+ const notEvaluated = notEvaluatedReasons !== undefined || result === undefined;
164
+ const outcome = notEvaluated
165
+ ? 'not_evaluated'
166
+ : result.outcome;
167
+ const gaps = [...(result?.gaps ?? [])];
168
+ // When a role reads `not_evaluated` with no result-carried gap text, state
169
+ // its real reason (from the governed gap) rather than defaulting to "- None."
170
+ if (notEvaluated && gaps.length === 0 && notEvaluatedReasons) {
171
+ gaps.push(...notEvaluatedReasons);
172
+ }
85
173
  return {
86
174
  roleId: role.id,
87
175
  label: String(role.displayLabel),
88
176
  mandate: String(role.mandate),
89
- outcome: result?.outcome ?? 'not_evaluated',
90
- proposals: result?.proposals ?? [],
91
- gaps: result?.gaps ?? [],
177
+ outcome,
178
+ proposals: notEvaluated ? [] : (result?.proposals ?? []),
179
+ gaps,
92
180
  conflicts: result?.conflicts ?? [],
93
181
  resultDigest: result?.resultDigest ?? null,
94
182
  };
@@ -127,6 +215,16 @@ export async function readOperatingReport(input) {
127
215
  label: `Create a governed spec from ${route.id}`,
128
216
  command: `planr operate routes apply ${route.id} --preview`,
129
217
  })),
218
+ // FR7 — epic loop (rendering): group related ACCEPTED findings (shared
219
+ // category / fingerprint lineage / Chair merge source, per
220
+ // `groupRelatedAcceptedFindings`) and emit one ready-to-run `planr epic
221
+ // create` suggestion naming the group's members. This is the human-facing
222
+ // half of the same grouping the FR8 `create-epic` engine route encodes.
223
+ ...groupRelatedAcceptedFindings(state.findings.filter((finding) => finding.status === 'accepted')).map((group) => ({
224
+ kind: 'planning',
225
+ label: `Create an epic grouping ${group.memberIds.join(', ')}`,
226
+ command: `planr epic create --title ${JSON.stringify(group.theme)}`,
227
+ })),
130
228
  ];
131
229
  const brief = renderOperatingBrief(state);
132
230
  const markdown = [
@@ -135,6 +233,12 @@ export async function readOperatingReport(input) {
135
233
  '# Advisory lens reports',
136
234
  '',
137
235
  ...reports.flatMap((report) => [markdownLens(report), '']),
236
+ // FR7: the readable tree carries cycle integrity as a first-class section,
237
+ // sourced from the governed gaps — never contingent on a lens restating it.
238
+ '# Integrity',
239
+ '',
240
+ renderOperatingIntegritySection(integrity),
241
+ '',
138
242
  '# Exact next actions',
139
243
  '',
140
244
  ...actions.map((action) => `- **${action.label}:** \`${action.command}\``),
@@ -1 +1 @@
1
- {"version":3,"file":"reports.js","sourceRoot":"","sources":["../../../src/services/operate/reports.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reports.js","sourceRoot":"","sources":["../../../src/services/operate/reports.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,57 @@
1
1
  import { type OperatingArtifactGeneratorAdapter, type StoredOperatingArtifactGeneration } from './artifact-route-generation.js';
2
2
  import { type OperatingConfig, type OperatingEventHead, type OperatingFinding, type OperatingRoutePlan, type OperatingWorkspaceManifest } from './types.js';
3
+ /**
4
+ * A single member of a grouped-finding epic. Only the fields needed to render
5
+ * the epic markdown are carried; the shared v1.3 route-plan schema stays
6
+ * single-`findingId` (the anchor) — this list is an OpenPlanr-local planning
7
+ * detail recorded in the epic document, never a protocol-schema field.
8
+ */
9
+ export interface EpicFindingMember {
10
+ id: string;
11
+ title: string;
12
+ problem: string;
13
+ proposal: string;
14
+ evidenceRefs: string[];
15
+ }
16
+ /**
17
+ * A consolidation-level grouping of 2+ related accepted findings that routes to
18
+ * one `create-epic` action. `anchorId` is the lexicographically-first member id
19
+ * (carried as the route action's single `findingId`); `members` (sorted by id)
20
+ * is embedded verbatim in the generated epic markdown so finding → epic → spec
21
+ * provenance stays traceable without a new protocol sidecar.
22
+ */
23
+ export interface EpicFindingGroup {
24
+ anchorId: string;
25
+ memberIds: string[];
26
+ members: EpicFindingMember[];
27
+ category: string;
28
+ theme: string;
29
+ evidenceRefs: string[];
30
+ }
31
+ interface GroupableFinding {
32
+ id: string;
33
+ status?: unknown;
34
+ category?: unknown;
35
+ title?: unknown;
36
+ problem?: unknown;
37
+ proposal?: unknown;
38
+ fingerprint?: unknown;
39
+ sensitivity?: unknown;
40
+ evidenceRefs?: unknown;
41
+ }
42
+ /**
43
+ * Group related accepted findings into epic candidates. Two accepted findings
44
+ * are related when they share a non-empty normalized `category`, share the same
45
+ * evidence-derived `fingerprint` lineage, or are semantically equivalent per
46
+ * `consolidation.ts` (which subsumes the Chair merge-proposal source, since a
47
+ * merged finding keeps that shared category/fingerprint). Only components of 2+
48
+ * members become epic groups; every group is deterministic (union-find over
49
+ * id-sorted findings), so the FR7 report suggestion and the FR8 engine route
50
+ * elect exactly the same theme.
51
+ */
52
+ export declare function groupRelatedAcceptedFindings(findings: GroupableFinding[]): EpicFindingGroup[];
3
53
  export declare function nextOperatingSpecOrdinal(projectRoot: string): Promise<number>;
54
+ export declare function nextOperatingEpicOrdinal(projectRoot: string): Promise<number>;
4
55
  export declare function createOperatingRoutePlan(input: {
5
56
  projectRoot: string;
6
57
  cycleId: string;
@@ -12,9 +63,41 @@ export declare function createOperatingRoutePlan(input: {
12
63
  providerDigest: `sha256:${string}`;
13
64
  sequence: number;
14
65
  specId?: string;
66
+ epicId?: string;
15
67
  localRoot?: string;
16
68
  now?: string;
17
69
  }): Promise<OperatingRoutePlan>;
70
+ /**
71
+ * Re-evaluate a cycle's accepted findings for epic election and PROPOSE + accept
72
+ * one governed `create-epic` route per themed 2+-member group that does not yet
73
+ * have one. This is the operator-reachable producer of FR8 epic routes: it runs
74
+ * right after a finding transitions to `accepted` through `governOperatingFinding`,
75
+ * so accepting a related group yields a `create-epic` route through the same
76
+ * journal-backed proposal path the engine uses for freshly-proposed findings —
77
+ * reusing T-006's `groupRelatedAcceptedFindings`/`resolveEpicGroupForAnchor`/
78
+ * `actionKind` so FR7's rendered suggestion and FR8's route always name the same
79
+ * theme.
80
+ *
81
+ * Election never writes the epic markdown and never applies the route (accept ≠
82
+ * apply): it only proposes the route and accepts it — mirroring exactly how
83
+ * governance accepts a finding's individual route — leaving the digest-bound,
84
+ * human-gated `routes apply` as the separate acting step. It is idempotent: a
85
+ * group whose anchor already heads a committed `create-epic` route is skipped, so
86
+ * re-electing (accepting further members of the same theme) never duplicates the
87
+ * epic route. Membership growth before apply fails CLOSED rather than silently
88
+ * writing a different epic: `resolveEpicGroupForAnchor` re-derives the member
89
+ * list from the then-current accepted findings, so a route proposed for {A,B}
90
+ * whose group has grown to {A,B,C} no longer matches its digest-bound preview
91
+ * and `applyOperatingRoute` rejects it with `E_OPERATE_ROUTE_DRIFT` — the same
92
+ * guard every other route kind carries. An individually-routed finding is never
93
+ * re-routed individually — only the group-level epic route is added.
94
+ */
95
+ export declare function electAcceptedFindingEpicRoutes(input: {
96
+ projectRoot: string;
97
+ localRoot?: string;
98
+ cycleId: string;
99
+ now?: string;
100
+ }): Promise<OperatingRoutePlan[]>;
18
101
  export declare function readOperatingRoute(projectRoot: string, routeId: string): Promise<OperatingRoutePlan>;
19
102
  export declare function applyOperatingRoute(input: {
20
103
  projectRoot: string;
@@ -46,4 +129,5 @@ export declare function rollbackOperatingRoute(input: {
46
129
  localRoot?: string;
47
130
  }): Promise<OperatingEventHead>;
48
131
  export declare function routeDestinationDigest(projectRoot: string, route: OperatingRoutePlan): Promise<`sha256:${string}`>;
132
+ export {};
49
133
  //# sourceMappingURL=routes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../src/services/operate/routes.ts"],"names":[],"mappings":"AAEA,OAAO,EAKL,KAAK,iCAAiC,EAGtC,KAAK,iCAAiC,EACvC,MAAM,gCAAgC,CAAC;AAuBxC,OAAO,EAML,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EAGrB,KAAK,kBAAkB,EACvB,KAAK,0BAA0B,EAChC,MAAM,YAAY,CAAC;AAiDpB,wBAAsB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAQnF;AA0BD,wBAAsB,wBAAwB,CAAC,KAAK,EAAE;IACpD,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,MAAM,EAAE,eAAe,CAAC;IACxB,SAAS,EAAE,0BAA0B,CAAC;IACtC,SAAS,EAAE,kBAAkB,CAAC;IAC9B,cAAc,EAAE,UAAU,MAAM,EAAE,CAAC;IACnC,cAAc,EAAE,UAAU,MAAM,EAAE,CAAC;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAoH9B;AAuBD,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,kBAAkB,CAAC,CAI7B;AA6kBD,wBAAsB,mBAAmB,CAAC,KAAK,EAAE;IAC/C,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,kBAAkB,CAAC;IAC1B,MAAM,EAAE,eAAe,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,iCAAiC,CAAC;IACtD,aAAa,CAAC,EAAE,CACd,QAAQ,EACJ,yBAAyB,GACzB,oBAAoB,GACpB,iBAAiB,GACjB,aAAa,GACb,oBAAoB,GACpB,kBAAkB,KACnB,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B,GAAG,OAAO,CAAC;IACV,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,kBAAkB,CAAC;IAC9B,KAAK,EAAE,0BAA0B,GAAG,eAAe,GAAG,SAAS,CAAC;IAChE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,UAAU,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,EAAE;QACT,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,EAAE,UAAU,MAAM,EAAE,CAAC;QACjC,QAAQ,EAAE,iCAAiC,CAAC,UAAU,CAAC,CAAC;KACzD,CAAC;IACF,WAAW,EAAE,KAAK,CAAC;CACpB,CAAC,CA+aD;AAED,wBAAsB,sBAAsB,CAAC,KAAK,EAAE;IAClD,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,kBAAkB,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA8D9B;AAED,wBAAsB,sBAAsB,CAC1C,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,UAAU,MAAM,EAAE,CAAC,CAY7B"}
1
+ {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../src/services/operate/routes.ts"],"names":[],"mappings":"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"}