@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.
- package/dist/backup.d.ts +1 -1
- package/dist/backup.js.map +1 -1
- package/dist/cli.js +19 -2
- package/dist/cli.js.map +1 -1
- package/dist/codex-prompts.d.ts +17 -0
- package/dist/codex-prompts.js +49 -0
- package/dist/codex-prompts.js.map +1 -0
- package/dist/codex-skills.d.ts +17 -0
- package/dist/codex-skills.js +75 -0
- package/dist/codex-skills.js.map +1 -0
- package/dist/commands/change-advice.d.ts +8 -6
- package/dist/commands/change-advice.js +2 -0
- package/dist/commands/change-advice.js.map +1 -1
- package/dist/commands/change-evidence-command.js +2 -0
- package/dist/commands/change-evidence-command.js.map +1 -1
- package/dist/commands/change-evidence-entry.js +1 -0
- package/dist/commands/change-evidence-entry.js.map +1 -1
- package/dist/commands/change-evidence.js +4 -1
- package/dist/commands/change-evidence.js.map +1 -1
- package/dist/commands/change-finish.js +9 -0
- package/dist/commands/change-finish.js.map +1 -1
- package/dist/commands/change-lifecycle-entry.js +2 -0
- package/dist/commands/change-lifecycle-entry.js.map +1 -1
- package/dist/commands/change-lifecycle.js +3 -0
- package/dist/commands/change-lifecycle.js.map +1 -1
- package/dist/commands/change-metrics-command.js +1 -0
- package/dist/commands/change-metrics-command.js.map +1 -1
- package/dist/commands/change-next-command.js +1 -0
- package/dist/commands/change-next-command.js.map +1 -1
- package/dist/commands/change-review-gates.d.ts +5 -1
- package/dist/commands/change-review-gates.js +4 -0
- package/dist/commands/change-review-gates.js.map +1 -1
- package/dist/commands/change-scope-gate.js +1 -0
- package/dist/commands/change-scope-gate.js.map +1 -1
- package/dist/commands/change-start.js +7 -4
- package/dist/commands/change-start.js.map +1 -1
- package/dist/commands/change-state-command.js +1 -0
- package/dist/commands/change-state-command.js.map +1 -1
- package/dist/commands/change-status-command.js +2 -1
- package/dist/commands/change-status-command.js.map +1 -1
- package/dist/commands/change-status-context.js +4 -0
- package/dist/commands/change-status-context.js.map +1 -1
- package/dist/commands/change-utils.js +2 -0
- package/dist/commands/change-utils.js.map +1 -1
- package/dist/commands/change-validate-entry.js +1 -0
- package/dist/commands/change-validate-entry.js.map +1 -1
- package/dist/commands/change-validate.js +1 -0
- package/dist/commands/change-validate.js.map +1 -1
- package/dist/commands/change.d.ts +11 -9
- package/dist/commands/change.js +19 -1
- package/dist/commands/change.js.map +1 -1
- package/dist/commands/codex-install-prompts.d.ts +4 -0
- package/dist/commands/codex-install-prompts.js +68 -0
- package/dist/commands/codex-install-prompts.js.map +1 -0
- package/dist/commands/codex-install-skills.d.ts +4 -0
- package/dist/commands/codex-install-skills.js +74 -0
- package/dist/commands/codex-install-skills.js.map +1 -0
- package/dist/commands/codex-status-prompts.d.ts +4 -0
- package/dist/commands/codex-status-prompts.js +44 -0
- package/dist/commands/codex-status-prompts.js.map +1 -0
- package/dist/commands/codex-status-skills.d.ts +4 -0
- package/dist/commands/codex-status-skills.js +54 -0
- package/dist/commands/codex-status-skills.js.map +1 -0
- package/dist/commands/codex-uninstall-prompts.d.ts +4 -0
- package/dist/commands/codex-uninstall-prompts.js +51 -0
- package/dist/commands/codex-uninstall-prompts.js.map +1 -0
- package/dist/commands/codex-uninstall-skills.d.ts +4 -0
- package/dist/commands/codex-uninstall-skills.js +59 -0
- package/dist/commands/codex-uninstall-skills.js.map +1 -0
- package/dist/commands/dashboard.d.ts +9 -7
- package/dist/commands/dashboard.js +3 -0
- package/dist/commands/dashboard.js.map +1 -1
- package/dist/commands/goal-advance.d.ts +29 -3
- package/dist/commands/goal-advance.js +515 -49
- package/dist/commands/goal-advance.js.map +1 -1
- package/dist/commands/goal-advance.test.d.ts +1 -0
- package/dist/commands/goal-advance.test.js +271 -0
- package/dist/commands/goal-advance.test.js.map +1 -0
- package/dist/commands/goal-help.js +32 -11
- package/dist/commands/goal-help.js.map +1 -1
- package/dist/commands/goal-validate-state.d.ts +75 -2
- package/dist/commands/goal-validate-state.js +369 -5
- package/dist/commands/goal-validate-state.js.map +1 -1
- package/dist/commands/goal-validate.d.ts +5 -0
- package/dist/commands/goal-validate.js +120 -14
- package/dist/commands/goal-validate.js.map +1 -1
- package/dist/commands/hooks-install.js +1 -0
- package/dist/commands/hooks-install.js.map +1 -1
- package/dist/commands/hooks-status.js +1 -0
- package/dist/commands/hooks-status.js.map +1 -1
- package/dist/commands/init.d.ts +7 -2
- package/dist/commands/init.js +60 -1
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/memory.js +0 -2
- package/dist/commands/memory.js.map +1 -1
- package/dist/commands/opencode-auto.js +2 -0
- package/dist/commands/opencode-auto.js.map +1 -1
- package/dist/commands/opencode-status.js +1 -0
- package/dist/commands/opencode-status.js.map +1 -1
- package/dist/commands/opencode-supervise.js +7 -0
- package/dist/commands/opencode-supervise.js.map +1 -1
- package/dist/commands/rollback.js +1 -0
- package/dist/commands/rollback.js.map +1 -1
- package/dist/commands/update.js +2 -1
- package/dist/commands/update.js.map +1 -1
- package/dist/commands/validate.js +3 -0
- package/dist/commands/validate.js.map +1 -1
- package/dist/commands/ws-deliver.js +1 -0
- package/dist/commands/ws-deliver.js.map +1 -1
- package/dist/commands/ws-finish.js.map +1 -1
- package/dist/commands/ws-migrate.js +1 -0
- package/dist/commands/ws-migrate.js.map +1 -1
- package/dist/commands/ws-pull.js.map +1 -1
- package/dist/commands/ws-push.js +0 -3
- package/dist/commands/ws-push.js.map +1 -1
- package/dist/commands/ws-submodule-setup.js.map +1 -1
- package/dist/dashboard/app.js +1 -1
- package/dist/dashboard/app.js.map +1 -1
- package/dist/governance.js +5 -0
- package/dist/governance.js.map +1 -1
- package/dist/hooks/deploy-claude.d.ts +13 -0
- package/dist/hooks/deploy-claude.js +67 -0
- package/dist/hooks/deploy-claude.js.map +1 -0
- package/dist/journal.js +9 -3
- package/dist/journal.js.map +1 -1
- package/dist/json-schema-lite.js +2 -0
- package/dist/json-schema-lite.js.map +1 -1
- package/dist/manifest.d.ts +21 -2
- package/dist/manifest.js +1 -0
- package/dist/manifest.js.map +1 -1
- package/dist/memory-bank/store.js +0 -1
- package/dist/memory-bank/store.js.map +1 -1
- package/dist/opencode-env.js +3 -0
- package/dist/opencode-env.js.map +1 -1
- package/dist/spec.js +7 -0
- package/dist/spec.js.map +1 -1
- 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
|
-
//
|
|
211
|
-
//
|
|
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;
|