@aipper/aiws 0.0.46 → 0.0.48

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 (137) hide show
  1. package/dist/backup.d.ts +1 -1
  2. package/dist/backup.js.map +1 -1
  3. package/dist/cli.js +19 -2
  4. package/dist/cli.js.map +1 -1
  5. package/dist/codex-prompts.d.ts +17 -0
  6. package/dist/codex-prompts.js +49 -0
  7. package/dist/codex-prompts.js.map +1 -0
  8. package/dist/codex-skills.d.ts +17 -0
  9. package/dist/codex-skills.js +75 -0
  10. package/dist/codex-skills.js.map +1 -0
  11. package/dist/commands/change-advice.d.ts +8 -6
  12. package/dist/commands/change-advice.js +2 -0
  13. package/dist/commands/change-advice.js.map +1 -1
  14. package/dist/commands/change-evidence-command.js +2 -0
  15. package/dist/commands/change-evidence-command.js.map +1 -1
  16. package/dist/commands/change-evidence-entry.js +1 -0
  17. package/dist/commands/change-evidence-entry.js.map +1 -1
  18. package/dist/commands/change-evidence.js +4 -1
  19. package/dist/commands/change-evidence.js.map +1 -1
  20. package/dist/commands/change-finish.js +9 -0
  21. package/dist/commands/change-finish.js.map +1 -1
  22. package/dist/commands/change-lifecycle-entry.js +2 -0
  23. package/dist/commands/change-lifecycle-entry.js.map +1 -1
  24. package/dist/commands/change-lifecycle.js +3 -0
  25. package/dist/commands/change-lifecycle.js.map +1 -1
  26. package/dist/commands/change-metrics-command.js +1 -0
  27. package/dist/commands/change-metrics-command.js.map +1 -1
  28. package/dist/commands/change-next-command.js +1 -0
  29. package/dist/commands/change-next-command.js.map +1 -1
  30. package/dist/commands/change-review-gates.d.ts +5 -1
  31. package/dist/commands/change-review-gates.js +4 -0
  32. package/dist/commands/change-review-gates.js.map +1 -1
  33. package/dist/commands/change-scope-gate.js +1 -0
  34. package/dist/commands/change-scope-gate.js.map +1 -1
  35. package/dist/commands/change-start.js +7 -4
  36. package/dist/commands/change-start.js.map +1 -1
  37. package/dist/commands/change-state-command.js +1 -0
  38. package/dist/commands/change-state-command.js.map +1 -1
  39. package/dist/commands/change-status-command.js +2 -1
  40. package/dist/commands/change-status-command.js.map +1 -1
  41. package/dist/commands/change-status-context.js +4 -0
  42. package/dist/commands/change-status-context.js.map +1 -1
  43. package/dist/commands/change-utils.js +2 -0
  44. package/dist/commands/change-utils.js.map +1 -1
  45. package/dist/commands/change-validate-entry.js +1 -0
  46. package/dist/commands/change-validate-entry.js.map +1 -1
  47. package/dist/commands/change-validate.js +1 -0
  48. package/dist/commands/change-validate.js.map +1 -1
  49. package/dist/commands/change.d.ts +11 -9
  50. package/dist/commands/change.js +19 -1
  51. package/dist/commands/change.js.map +1 -1
  52. package/dist/commands/codex-install-prompts.d.ts +4 -0
  53. package/dist/commands/codex-install-prompts.js +68 -0
  54. package/dist/commands/codex-install-prompts.js.map +1 -0
  55. package/dist/commands/codex-install-skills.d.ts +4 -0
  56. package/dist/commands/codex-install-skills.js +74 -0
  57. package/dist/commands/codex-install-skills.js.map +1 -0
  58. package/dist/commands/codex-status-prompts.d.ts +4 -0
  59. package/dist/commands/codex-status-prompts.js +44 -0
  60. package/dist/commands/codex-status-prompts.js.map +1 -0
  61. package/dist/commands/codex-status-skills.d.ts +4 -0
  62. package/dist/commands/codex-status-skills.js +54 -0
  63. package/dist/commands/codex-status-skills.js.map +1 -0
  64. package/dist/commands/codex-uninstall-prompts.d.ts +4 -0
  65. package/dist/commands/codex-uninstall-prompts.js +51 -0
  66. package/dist/commands/codex-uninstall-prompts.js.map +1 -0
  67. package/dist/commands/codex-uninstall-skills.d.ts +4 -0
  68. package/dist/commands/codex-uninstall-skills.js +59 -0
  69. package/dist/commands/codex-uninstall-skills.js.map +1 -0
  70. package/dist/commands/dashboard.d.ts +9 -7
  71. package/dist/commands/dashboard.js +3 -0
  72. package/dist/commands/dashboard.js.map +1 -1
  73. package/dist/commands/goal-advance.d.ts +29 -3
  74. package/dist/commands/goal-advance.js +515 -49
  75. package/dist/commands/goal-advance.js.map +1 -1
  76. package/dist/commands/goal-advance.test.d.ts +1 -0
  77. package/dist/commands/goal-advance.test.js +271 -0
  78. package/dist/commands/goal-advance.test.js.map +1 -0
  79. package/dist/commands/goal-help.js +32 -11
  80. package/dist/commands/goal-help.js.map +1 -1
  81. package/dist/commands/goal-validate-state.d.ts +75 -2
  82. package/dist/commands/goal-validate-state.js +369 -5
  83. package/dist/commands/goal-validate-state.js.map +1 -1
  84. package/dist/commands/goal-validate.d.ts +5 -0
  85. package/dist/commands/goal-validate.js +120 -14
  86. package/dist/commands/goal-validate.js.map +1 -1
  87. package/dist/commands/hooks-install.js +1 -0
  88. package/dist/commands/hooks-install.js.map +1 -1
  89. package/dist/commands/hooks-status.js +1 -0
  90. package/dist/commands/hooks-status.js.map +1 -1
  91. package/dist/commands/init.d.ts +7 -2
  92. package/dist/commands/init.js +60 -1
  93. package/dist/commands/init.js.map +1 -1
  94. package/dist/commands/memory.js +0 -2
  95. package/dist/commands/memory.js.map +1 -1
  96. package/dist/commands/opencode-auto.js +2 -0
  97. package/dist/commands/opencode-auto.js.map +1 -1
  98. package/dist/commands/opencode-status.js +1 -0
  99. package/dist/commands/opencode-status.js.map +1 -1
  100. package/dist/commands/opencode-supervise.js +7 -0
  101. package/dist/commands/opencode-supervise.js.map +1 -1
  102. package/dist/commands/rollback.js +1 -0
  103. package/dist/commands/rollback.js.map +1 -1
  104. package/dist/commands/update.js +2 -1
  105. package/dist/commands/update.js.map +1 -1
  106. package/dist/commands/validate.js +3 -0
  107. package/dist/commands/validate.js.map +1 -1
  108. package/dist/commands/ws-deliver.js +1 -0
  109. package/dist/commands/ws-deliver.js.map +1 -1
  110. package/dist/commands/ws-finish.js.map +1 -1
  111. package/dist/commands/ws-migrate.js +1 -0
  112. package/dist/commands/ws-migrate.js.map +1 -1
  113. package/dist/commands/ws-pull.js.map +1 -1
  114. package/dist/commands/ws-push.js +0 -3
  115. package/dist/commands/ws-push.js.map +1 -1
  116. package/dist/commands/ws-submodule-setup.js.map +1 -1
  117. package/dist/dashboard/app.js +1 -1
  118. package/dist/dashboard/app.js.map +1 -1
  119. package/dist/governance.js +5 -0
  120. package/dist/governance.js.map +1 -1
  121. package/dist/hooks/deploy-claude.d.ts +13 -0
  122. package/dist/hooks/deploy-claude.js +67 -0
  123. package/dist/hooks/deploy-claude.js.map +1 -0
  124. package/dist/journal.js +9 -3
  125. package/dist/journal.js.map +1 -1
  126. package/dist/json-schema-lite.js +2 -0
  127. package/dist/json-schema-lite.js.map +1 -1
  128. package/dist/manifest.d.ts +21 -2
  129. package/dist/manifest.js +1 -0
  130. package/dist/manifest.js.map +1 -1
  131. package/dist/memory-bank/store.js +0 -1
  132. package/dist/memory-bank/store.js.map +1 -1
  133. package/dist/opencode-env.js +3 -0
  134. package/dist/opencode-env.js.map +1 -1
  135. package/dist/spec.js +7 -0
  136. package/dist/spec.js.map +1 -1
  137. package/package.json +4 -3
@@ -16,6 +16,298 @@ export const VALID_PHASES = [
16
16
  "review",
17
17
  "finish",
18
18
  ];
19
+ /**
20
+ * Detect semantic dirty states beyond pure structural validation.
21
+ * Examples: all checkpoints complete but overall status still active;
22
+ * status complete while some phases pending; missing completed_at.
23
+ */
24
+ export function analyzeGoalDirtyState(state) {
25
+ const reasons = [];
26
+ const details = [];
27
+ const missingPhases = VALID_PHASES.filter((p) => !state.checkpoints[p]);
28
+ if (missingPhases.length > 0) {
29
+ reasons.push("missing_required_checkpoints");
30
+ details.push(`Missing checkpoints: ${missingPhases.join(", ")}`);
31
+ }
32
+ let allComplete = missingPhases.length === 0;
33
+ for (const phase of VALID_PHASES) {
34
+ const cp = state.checkpoints[phase];
35
+ if (!cp || cp.status !== "complete") {
36
+ allComplete = false;
37
+ break;
38
+ }
39
+ }
40
+ const overall = state.status ?? "active";
41
+ if (allComplete && overall !== "complete" && overall !== "archived") {
42
+ reasons.push("all_checkpoints_complete_status_not_complete");
43
+ details.push(`All phase checkpoints are complete but status is "${overall}" (expected complete)`);
44
+ }
45
+ if (allComplete && overall === "active") {
46
+ // also covered above; if current_phase still set, extra signal
47
+ if (state.current_phase && state.current_phase !== "complete") {
48
+ reasons.push("status_active_current_phase_after_all_complete");
49
+ details.push(`status=active and current_phase="${state.current_phase}" but every checkpoint is complete`);
50
+ }
51
+ }
52
+ if (overall === "complete" || overall === "archived") {
53
+ for (const phase of VALID_PHASES) {
54
+ const cp = state.checkpoints[phase];
55
+ if (cp && cp.status !== "complete") {
56
+ reasons.push("status_complete_with_incomplete_checkpoints");
57
+ details.push(`status=${overall} but phase "${phase}" is ${cp.status}`);
58
+ break;
59
+ }
60
+ }
61
+ }
62
+ for (const phase of VALID_PHASES) {
63
+ const cp = state.checkpoints[phase];
64
+ if (cp && cp.status === "complete" && !cp.completed_at) {
65
+ reasons.push("complete_missing_completed_at");
66
+ details.push(`Phase ${phase} is complete but missing completed_at`);
67
+ break;
68
+ }
69
+ }
70
+ // current_phase points at a phase that is complete while later phases pending
71
+ // is normal mid-advance; only flag when current_phase is complete AND all later are also complete
72
+ // or current_phase is unknown — handled structurally.
73
+ // If status active and current_phase is a completed phase with no pending later → dirty
74
+ if (overall === "active" && state.current_phase && state.current_phase !== "complete") {
75
+ const idx = VALID_PHASES.indexOf(state.current_phase);
76
+ if (idx >= 0) {
77
+ const cp = state.checkpoints[state.current_phase];
78
+ if (cp?.status === "complete") {
79
+ const laterPending = VALID_PHASES.slice(idx + 1).some((p) => {
80
+ const c = state.checkpoints[p];
81
+ return !c || c.status !== "complete";
82
+ });
83
+ if (!laterPending && allComplete) {
84
+ // already covered by all_complete cases
85
+ }
86
+ else if (!laterPending && !allComplete) {
87
+ // shouldn't happen if sequence rules hold
88
+ }
89
+ }
90
+ }
91
+ }
92
+ // Deduplicate reasons
93
+ const uniqReasons = [...new Set(reasons)];
94
+ return {
95
+ dirty: uniqReasons.length > 0,
96
+ reasons: uniqReasons,
97
+ details,
98
+ healable: uniqReasons.length > 0,
99
+ };
100
+ }
101
+ /**
102
+ * Heal dirty goal state into a legal FSM snapshot.
103
+ * Does not invent progress: only reconciles status/current_phase/completed_at/missing shells.
104
+ * Phase boundary transitions after heal still go through advance.
105
+ */
106
+ export function healGoalState(state) {
107
+ const dirtyBefore = analyzeGoalDirtyState(state);
108
+ const actions = [];
109
+ const next = {
110
+ ...state,
111
+ checkpoints: { ...state.checkpoints },
112
+ };
113
+ // Ensure all required checkpoints exist as pending shells
114
+ for (const phase of VALID_PHASES) {
115
+ if (!next.checkpoints[phase]) {
116
+ next.checkpoints[phase] = {
117
+ status: "pending",
118
+ attempts: 0,
119
+ completed_at: null,
120
+ error: null,
121
+ };
122
+ actions.push(`Created missing checkpoint shell: ${phase}`);
123
+ }
124
+ }
125
+ // Fill completed_at on complete phases
126
+ const now = new Date().toISOString();
127
+ for (const phase of VALID_PHASES) {
128
+ const cp = next.checkpoints[phase];
129
+ if (cp.status === "complete" && !cp.completed_at) {
130
+ next.checkpoints[phase] = { ...cp, completed_at: now };
131
+ actions.push(`Set completed_at on phase ${phase}`);
132
+ }
133
+ }
134
+ const allComplete = VALID_PHASES.every((p) => next.checkpoints[p]?.status === "complete");
135
+ // status=complete/archived but incomplete checkpoints → reopen as active at first incomplete
136
+ if ((next.status === "complete" || next.status === "archived") &&
137
+ !allComplete) {
138
+ const firstIncomplete = VALID_PHASES.find((p) => next.checkpoints[p]?.status !== "complete") ??
139
+ VALID_PHASES[0];
140
+ next.status = "active";
141
+ next.current_phase = firstIncomplete;
142
+ // Keep pending/failed as-is (do not force in_progress): advance --heal
143
+ // must not auto-complete a phase that never actually ran.
144
+ const cp = next.checkpoints[firstIncomplete];
145
+ if (cp.status === "failed") {
146
+ next.checkpoints[firstIncomplete] = {
147
+ ...cp,
148
+ status: "pending",
149
+ error: null,
150
+ };
151
+ actions.push(`Cleared failed status on phase "${firstIncomplete}" → pending`);
152
+ }
153
+ actions.push(`Reopened status to active at phase "${firstIncomplete}" (was complete with incomplete checkpoints)`);
154
+ }
155
+ // All complete but status still active/paused → mark complete
156
+ if (allComplete && next.status !== "complete" && next.status !== "archived") {
157
+ next.status = "complete";
158
+ next.current_phase = "finish";
159
+ actions.push(`Set status=complete (all checkpoints complete; was "${state.status ?? "undefined"}")`);
160
+ }
161
+ // status active, all complete, current_phase lingering → normalize
162
+ if (allComplete && next.status === "complete") {
163
+ if (next.current_phase && next.current_phase !== "finish" && next.current_phase !== "complete") {
164
+ next.current_phase = "finish";
165
+ actions.push(`Normalized current_phase to finish after heal-complete`);
166
+ }
167
+ }
168
+ // If active and current_phase is complete with later pending, leave for advance
169
+ // If active and current_phase missing, set to first incomplete
170
+ if (next.status === "active" || !next.status) {
171
+ if (!next.status) {
172
+ next.status = "active";
173
+ actions.push("Defaulted missing status to active");
174
+ }
175
+ const firstIncomplete = VALID_PHASES.find((p) => next.checkpoints[p]?.status !== "complete");
176
+ if (firstIncomplete) {
177
+ if (!next.current_phase || next.current_phase === "complete") {
178
+ next.current_phase = firstIncomplete;
179
+ actions.push(`Set current_phase to first incomplete: ${firstIncomplete}`);
180
+ }
181
+ }
182
+ }
183
+ next.updated_at = now;
184
+ return {
185
+ healed: actions.length > 0,
186
+ state: next,
187
+ actions,
188
+ dirtyBefore,
189
+ };
190
+ }
191
+ /**
192
+ * Create a minimal valid initial goal state (all pending).
193
+ */
194
+ export function createInitialGoalState(goalId) {
195
+ const now = new Date().toISOString();
196
+ const checkpoints = {};
197
+ for (const phase of VALID_PHASES) {
198
+ checkpoints[phase] = {
199
+ status: "pending",
200
+ attempts: 0,
201
+ completed_at: null,
202
+ error: null,
203
+ };
204
+ }
205
+ return {
206
+ version: "2",
207
+ goal_id: goalId,
208
+ status: "active",
209
+ current_phase: "intake",
210
+ checkpoints,
211
+ created_at: now,
212
+ updated_at: now,
213
+ };
214
+ }
215
+ /**
216
+ * Parse ws_goal.state from goal markdown frontmatter (simple, no full YAML dep).
217
+ */
218
+ export function parseGoalMarkdownState(mdContent) {
219
+ const fm = mdContent.match(/^---\r?\n([\s\S]*?)\r?\n---/);
220
+ if (!fm)
221
+ return { state: null, iteration: null };
222
+ const body = fm[1] ?? "";
223
+ const stateMatch = body.match(/^\s*state:\s*["']?(\w+)["']?\s*$/m) ||
224
+ body.match(/^\s*ws_goal\.state:\s*["']?(\w+)["']?\s*$/m);
225
+ // nested under ws_goal:
226
+ let state = stateMatch?.[1] ?? null;
227
+ if (!state) {
228
+ const nested = body.match(/ws_goal:\s*\n(?:[ \t]+[^\n]*\n)*?[ \t]+state:\s*["']?(\w+)["']?/);
229
+ state = nested?.[1] ?? null;
230
+ }
231
+ const iterMatch = body.match(/^\s*iteration:\s*(\d+)\s*$/m);
232
+ return {
233
+ state,
234
+ iteration: iterMatch ? Number(iterMatch[1]) : null,
235
+ };
236
+ }
237
+ /**
238
+ * Find goals that have .md with active/paused but no .state.json (migration candidates §7.6).
239
+ */
240
+ export async function findGoalsNeedingMigration(goalDir) {
241
+ let entries;
242
+ try {
243
+ entries = await fs.readdir(goalDir);
244
+ }
245
+ catch {
246
+ return [];
247
+ }
248
+ const out = [];
249
+ for (const entry of entries) {
250
+ if (!entry.endsWith(".md") || entry.startsWith("."))
251
+ continue;
252
+ const goalId = entry.slice(0, -3);
253
+ const statePath = path.join(goalDir, `${goalId}.state.json`);
254
+ if (await pathExists(statePath))
255
+ continue;
256
+ const mdPath = path.join(goalDir, entry);
257
+ try {
258
+ const content = await fs.readFile(mdPath, "utf8");
259
+ const { state } = parseGoalMarkdownState(content);
260
+ if (state === "active" || state === "paused") {
261
+ out.push({ goalId, mdPath, mdState: state });
262
+ }
263
+ }
264
+ catch {
265
+ // skip unreadable
266
+ }
267
+ }
268
+ return out.sort((a, b) => a.goalId.localeCompare(b.goalId));
269
+ }
270
+ /**
271
+ * Migrate legacy goal .md → state.json (all checkpoints pending, current_phase null per §7.6).
272
+ */
273
+ export async function migrateGoalFromMarkdown(goalDir, goalId) {
274
+ const mdPath = path.join(goalDir, `${goalId}.md`);
275
+ const statePath = path.join(goalDir, `${goalId}.state.json`);
276
+ if (await pathExists(statePath)) {
277
+ return {
278
+ ok: false,
279
+ statePath,
280
+ message: `State already exists: ${statePath}`,
281
+ };
282
+ }
283
+ if (!(await pathExists(mdPath))) {
284
+ return {
285
+ ok: false,
286
+ statePath,
287
+ message: `Goal markdown not found: ${mdPath}`,
288
+ };
289
+ }
290
+ const content = await fs.readFile(mdPath, "utf8");
291
+ const { state: mdState } = parseGoalMarkdownState(content);
292
+ if (mdState !== "active" && mdState !== "paused") {
293
+ return {
294
+ ok: false,
295
+ statePath,
296
+ message: `Migration only for active/paused md; found state=${mdState ?? "null"}`,
297
+ };
298
+ }
299
+ const initial = createInitialGoalState(goalId);
300
+ // §7.6: current_phase null means full re-run
301
+ initial.current_phase = undefined;
302
+ initial.status = mdState === "paused" ? "paused" : "active";
303
+ // keep intake as first pending — unset current so advance starts intake
304
+ await writeGoalState(statePath, initial);
305
+ return {
306
+ ok: true,
307
+ statePath,
308
+ message: `Migrated ${goalId} from markdown (status=${initial.status}, all checkpoints pending)`,
309
+ };
310
+ }
19
311
  /**
20
312
  * Validate a goal state's structural integrity.
21
313
  *
@@ -27,7 +319,8 @@ export const VALID_PHASES = [
27
319
  * e) Group statuses are valid (pending/in_progress/complete)
28
320
  * f) Groups with a `phase` set must have that parent phase complete
29
321
  */
30
- export function validateGoalState(state) {
322
+ export function validateGoalState(state, options = {}) {
323
+ const includeDirty = options.includeDirty !== false;
31
324
  const errors = [];
32
325
  const warnings = [];
33
326
  // a) All required phase checkpoints exist
@@ -37,7 +330,7 @@ export function validateGoalState(state) {
37
330
  errors.push(`Missing required phase checkpoint: ${phase}`);
38
331
  continue;
39
332
  }
40
- const validStatuses = new Set(["pending", "in_progress", "complete"]);
333
+ const validStatuses = new Set(["pending", "in_progress", "complete", "failed"]);
41
334
  if (!validStatuses.has(cp.status)) {
42
335
  errors.push(`Phase ${phase} has invalid status: ${cp.status}`);
43
336
  }
@@ -142,6 +435,19 @@ export function validateGoalState(state) {
142
435
  !VALID_PHASES.includes(state.current_phase)) {
143
436
  warnings.push(`current_phase "${state.current_phase}" is not in the standard phase sequence`);
144
437
  }
438
+ // Semantic dirty checks (TOOLING-003D): reject inconsistent FSM snapshots
439
+ if (includeDirty) {
440
+ const dirty = analyzeGoalDirtyState(state);
441
+ if (dirty.dirty) {
442
+ for (const d of dirty.details) {
443
+ if (d.includes("missing completed_at") &&
444
+ errors.some((e) => e.includes("missing completed_at"))) {
445
+ continue;
446
+ }
447
+ errors.push(`Dirty state: ${d}`);
448
+ }
449
+ }
450
+ }
145
451
  return { valid: errors.length === 0, errors, warnings };
146
452
  }
147
453
  /**
@@ -207,11 +513,25 @@ export function computeNextPhase(state) {
207
513
  reason: "Current phase not yet complete",
208
514
  };
209
515
  }
210
- // If current phase is at index < last and we have no groups,
211
- // return the next sequential phase
516
+ // Pre-group phases: intake, goal_def, dep_check, ws_analysis
517
+ // These MUST all be completed in order before entering any group-based pipeline phase.
518
+ const PRE_GROUP_PHASES = VALID_PHASES.slice(0, VALID_PHASES.indexOf("plan"));
212
519
  const groups = state.groups;
520
+ // Check if there are any incomplete pre-group phases
521
+ for (const phase of PRE_GROUP_PHASES) {
522
+ const cp = state.checkpoints[phase];
523
+ if (!cp || cp.status !== "complete") {
524
+ return {
525
+ phase,
526
+ groupId: null,
527
+ done: false,
528
+ reason: `Pre-group phase needs execution: ${phase}`,
529
+ };
530
+ }
531
+ }
532
+ // All pre-group phases are complete. If no groups, advance sequentially through remaining pipeline phases.
533
+ const currentIdx = VALID_PHASES.indexOf(currentPhase);
213
534
  if (!groups || Object.keys(groups).length === 0) {
214
- const currentIdx = VALID_PHASES.indexOf(currentPhase);
215
535
  if (currentIdx < VALID_PHASES.length - 1) {
216
536
  const nextPhase = VALID_PHASES[currentIdx + 1];
217
537
  return {
@@ -289,6 +609,50 @@ function topologicalSort(groups) {
289
609
  }
290
610
  return sorted;
291
611
  }
612
+ /**
613
+ * Per-phase guidance descriptions for AI consumption.
614
+ * Maps each VALID_PHASE to a brief "what to do in this phase" instruction.
615
+ */
616
+ export const PHASE_GUIDANCE = {
617
+ intake: "Run workspace context scan (diff/log/branch/stash), then run the intake workflow: ask clarifying questions to identify scope, boundaries, constraints, and acceptance criteria. Output an intake draft to .aiws/plan/.",
618
+ goal_def: "Define the goal objective: write `.aiws/goals/<goal-id>.md` with target base branch, dependency chain, scope, boundaries, and verification criteria. Create `.aiws/goals/<goal-id>.state.json` with `status=active`.",
619
+ dep_check: "Check upstream dependency chain health: examine each change branch between current and main. Verify artifact completeness (proposal/tasks/design exist), task completion rate, review status (no HIGH blockers), and truth drift (`aiws validate .`).",
620
+ ws_analysis: "Analyze workspace state for conflicts: check dirty files (`git diff --stat`), submodule status (`git submodule foreach --quiet 'git status --porcelain'`), existing change artifacts (`git branch --list 'change/*'`), unpushed commits, stash. Classify each item as HIGH/MED/LOW/NONE. HIGH items auto-handle (dirty → stash push --keep-index; submodule dirty → stash in submodule + warn; unpushed → warn-and-continue). Only block if auto-handle fails.",
621
+ plan: "Create execution plan: first ensure clean workspace (stash uncommitted changes with `git stash push --keep-index -m \"ws-goal auto-stash: <goal-id>\"`), then run `aiws change start <goal-id>` to create change branch, then write proposal.md and plan file, then run plan-verify. Do NOT implement code.",
622
+ dev: "Implement the plan: write code per the plan/spec. Verify with `lsp_diagnostics` on changed files. Ensure lints and type checks pass. Do NOT commit or create PR.",
623
+ review: "Review implementation: audit code quality, verify requirements coverage, check for HIGH blockers, validate against acceptance criteria. Produce evidence files (review/review.md, review/findings.csv). Do NOT modify code.",
624
+ finish: "Complete the change: commit changes (follow commit conventions), merge change branch to target, push. Update goal state to `status=complete`.",
625
+ };
626
+ /**
627
+ * Get next-actions guidance for the current phase of a goal state.
628
+ * Returns a structured description telling the AI what to do next.
629
+ */
630
+ export function getPhaseGuidance(goalId, state) {
631
+ const phase = state.current_phase ?? VALID_PHASES[0];
632
+ const baseDesc = PHASE_GUIDANCE[phase] ?? "Unknown phase — refer to ws-goal-contract.md";
633
+ const blockers = [];
634
+ const cp = state.checkpoints[phase];
635
+ if (cp?.status === "complete") {
636
+ return {
637
+ phase,
638
+ description: "Current phase already complete. Run `aiws goal advance` to move to the next phase.",
639
+ needsUserInput: false,
640
+ blockers: [],
641
+ };
642
+ }
643
+ if (phase === "dep_check" || phase === "ws_analysis") {
644
+ const depCp = state.checkpoints["dep_check"];
645
+ if (depCp?.status === "failed") {
646
+ blockers.push("Dependency chain check failed — user must resolve upstream issues");
647
+ }
648
+ }
649
+ return {
650
+ phase,
651
+ description: baseDesc.replace(/<goal-id>/g, goalId),
652
+ needsUserInput: blockers.length > 0,
653
+ blockers,
654
+ };
655
+ }
292
656
  /**
293
657
  * Collect pending (non-complete) phases from checkpoints.
294
658
  */
@@ -1 +1 @@
1
- {"version":3,"file":"goal-validate-state.js","sourceRoot":"","sources":["../../src/commands/goal-validate-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"goal-validate-state.js","sourceRoot":"","sources":["../../src/commands/goal-validate-state.ts"],"names":[],"mappings":"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"}
@@ -3,12 +3,17 @@ export interface GoalValidateStateOptions {
3
3
  goalDir: string;
4
4
  /** Optional goal ID. If omitted, validate all goals */
5
5
  goalId?: string;
6
+ /** Heal dirty states in place (sole writer path via writeGoalState) */
7
+ heal?: boolean;
8
+ /** Structured JSON output */
9
+ json?: boolean;
6
10
  }
7
11
  /**
8
12
  * `aiws goal validate-state` command handler.
9
13
  *
10
14
  * Validates one or all goal state files and reports errors/warnings.
11
15
  * Exit code 0 if all valid, 1 if any errors found.
16
+ * With --heal, applies healGoalState and writes (TOOLING-003D).
12
17
  */
13
18
  export declare function goalValidateStateCommand(options: GoalValidateStateOptions): Promise<{
14
19
  ok: boolean;