@aperant/framework 0.7.4 → 0.8.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.
- package/CHANGELOG.md +65 -0
- package/README.md +12 -0
- package/agents/apt-executor.md +12 -0
- package/agents/apt-team-docs-narrator.md +11 -0
- package/dist/cli/ci-watch/stop-matrix.d.mts +17 -4
- package/dist/cli/ci-watch/stop-matrix.d.mts.map +1 -1
- package/dist/cli/ci-watch/stop-matrix.mjs +41 -4
- package/dist/cli/ci-watch/stop-matrix.mjs.map +1 -1
- package/dist/cli/commands/fan-out.d.mts +2 -0
- package/dist/cli/commands/fan-out.d.mts.map +1 -0
- package/dist/cli/commands/fan-out.mjs +123 -0
- package/dist/cli/commands/fan-out.mjs.map +1 -0
- package/dist/cli/commands/init.d.mts.map +1 -1
- package/dist/cli/commands/init.mjs +67 -27
- package/dist/cli/commands/init.mjs.map +1 -1
- package/dist/cli/commands/modes.d.mts +22 -0
- package/dist/cli/commands/modes.d.mts.map +1 -1
- package/dist/cli/commands/modes.mjs +4 -1
- package/dist/cli/commands/modes.mjs.map +1 -1
- package/dist/cli/commands/pr-review-audit-fixer.d.mts.map +1 -1
- package/dist/cli/commands/pr-review-audit-fixer.mjs +86 -6
- package/dist/cli/commands/pr-review-audit-fixer.mjs.map +1 -1
- package/dist/cli/commands/roadmap.d.mts +1 -1
- package/dist/cli/commands/roadmap.d.mts.map +1 -1
- package/dist/cli/commands/roadmap.mjs +47 -4
- package/dist/cli/commands/roadmap.mjs.map +1 -1
- package/dist/cli/commands/task.d.mts.map +1 -1
- package/dist/cli/commands/task.mjs +15 -0
- package/dist/cli/commands/task.mjs.map +1 -1
- package/dist/cli/commands/validate-evidence.d.mts +1 -1
- package/dist/cli/commands/validate-evidence.d.mts.map +1 -1
- package/dist/cli/commands/validate-evidence.mjs +72 -47
- package/dist/cli/commands/validate-evidence.mjs.map +1 -1
- package/dist/cli/commands/wave.d.mts.map +1 -1
- package/dist/cli/commands/wave.mjs +91 -61
- package/dist/cli/commands/wave.mjs.map +1 -1
- package/dist/cli/commands/worktree.mjs +62 -3
- package/dist/cli/commands/worktree.mjs.map +1 -1
- package/dist/cli/config/load.mjs +1 -1
- package/dist/cli/config/load.mjs.map +1 -1
- package/dist/cli/config/parallelization.d.mts +14 -0
- package/dist/cli/config/parallelization.d.mts.map +1 -0
- package/dist/cli/config/parallelization.mjs +19 -0
- package/dist/cli/config/parallelization.mjs.map +1 -0
- package/dist/cli/coordination/agent-identity.d.mts.map +1 -1
- package/dist/cli/coordination/agent-identity.mjs +7 -1
- package/dist/cli/coordination/agent-identity.mjs.map +1 -1
- package/dist/cli/design/frontmatter-schema.d.mts +4 -4
- package/dist/cli/dispatch.d.mts.map +1 -1
- package/dist/cli/dispatch.mjs +2 -0
- package/dist/cli/dispatch.mjs.map +1 -1
- package/dist/cli/install/cli-to-install-root.d.mts.map +1 -1
- package/dist/cli/install/cli-to-install-root.mjs +0 -2
- package/dist/cli/install/cli-to-install-root.mjs.map +1 -1
- package/dist/cli/install/runtime-detect.d.mts +2 -6
- package/dist/cli/install/runtime-detect.d.mts.map +1 -1
- package/dist/cli/install/runtime-detect.mjs +8 -3
- package/dist/cli/install/runtime-detect.mjs.map +1 -1
- package/dist/cli/install/transforms/pi.d.mts +6 -0
- package/dist/cli/install/transforms/pi.d.mts.map +1 -0
- package/dist/cli/install/transforms/pi.mjs +37 -0
- package/dist/cli/install/transforms/pi.mjs.map +1 -0
- package/dist/cli/personas/sidecar.d.mts +1 -1
- package/dist/cli/roadmap/convex-mirror.d.mts +21 -0
- package/dist/cli/roadmap/convex-mirror.d.mts.map +1 -0
- package/dist/cli/roadmap/convex-mirror.mjs +133 -0
- package/dist/cli/roadmap/convex-mirror.mjs.map +1 -0
- package/dist/cli/roadmap/lifecycle.d.mts +1 -1
- package/dist/cli/roadmap/lifecycle.d.mts.map +1 -1
- package/dist/cli/roadmap/lifecycle.mjs +54 -0
- package/dist/cli/roadmap/lifecycle.mjs.map +1 -1
- package/dist/cli/roadmap/rollup.d.mts +2 -2
- package/dist/cli/wfrun/unit-shape.d.mts +27 -0
- package/dist/cli/wfrun/unit-shape.d.mts.map +1 -0
- package/dist/cli/wfrun/unit-shape.mjs +38 -0
- package/dist/cli/wfrun/unit-shape.mjs.map +1 -0
- package/dist/plugin/.claude-plugin/plugin.json +2 -1
- package/dist/plugin/agents/apt-executor.md +12 -0
- package/dist/plugin/agents/apt-team-docs-narrator.md +11 -0
- package/dist/plugin/skills/apt/SKILL.md +3 -2
- package/dist/plugin/skills/apt-execute/SKILL.md +13 -0
- package/dist/plugin/skills/apt-fan-out/SKILL.md +124 -0
- package/dist/plugin/skills/apt-pr-review/SKILL.md +8 -1
- package/dist/plugin/skills/apt-review/SKILL.md +4 -0
- package/dist/plugin/skills/apt-run/SKILL.md +20 -5
- package/dist/plugin/skills/apt-spar/SKILL.md +12 -9
- package/dist/plugin/skills/apt-verify/SKILL.md +11 -0
- package/dist/plugin/skills/apt-watch-ci/SKILL.md +2 -2
- package/dist/schemas/quick-task.d.ts +17 -17
- package/package.json +133 -133
- package/skills/apt/SKILL.md +3 -2
- package/skills/apt-execute/SKILL.md +13 -0
- package/skills/apt-fan-out/SKILL.md +124 -0
- package/skills/apt-review/SKILL.md +4 -0
- package/skills/apt-run/SKILL.md +20 -5
- package/skills/apt-spar/SKILL.md +12 -9
- package/skills/apt-verify/SKILL.md +11 -0
- package/skills/apt-watch-ci/SKILL.md +2 -2
- package/src/cli/ci-watch/stop-matrix.mjs +44 -4
- package/src/cli/commands/fan-out.mjs +129 -0
- package/src/cli/commands/init.mjs +66 -27
- package/src/cli/commands/modes.mjs +4 -1
- package/src/cli/commands/pr-review-audit-fixer.mjs +82 -6
- package/src/cli/commands/roadmap.mjs +48 -4
- package/src/cli/commands/task.mjs +15 -0
- package/src/cli/commands/validate-evidence.mjs +75 -50
- package/src/cli/commands/wave.mjs +91 -58
- package/src/cli/commands/worktree.mjs +56 -3
- package/src/cli/config/load.mjs +1 -1
- package/src/cli/config/parallelization.mjs +18 -0
- package/src/cli/coordination/agent-identity.mjs +9 -1
- package/src/cli/dispatch.mjs +2 -0
- package/src/cli/install/cli-to-install-root.mjs +0 -2
- package/src/cli/install/runtime-detect.mjs +8 -3
- package/src/cli/install/transforms/pi.mjs +37 -0
- package/src/cli/roadmap/convex-mirror.mjs +131 -0
- package/src/cli/roadmap/lifecycle.mjs +48 -0
- package/src/cli/wfrun/unit-shape.mjs +39 -0
- package/templates/config.json +1 -1
|
@@ -21,9 +21,12 @@
|
|
|
21
21
|
* → dismiss.
|
|
22
22
|
*
|
|
23
23
|
* Mutations are written back in place — the findings markdown gets a
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
24
|
+
* trailing `### Validation Metadata` section per finding carrying
|
|
25
|
+
* `- **Status**: …` and (optionally) `- **Note**: …` fields (the legacy
|
|
26
|
+
* field-form `- **Validation Status**:` + `### Validation Note` shape is
|
|
27
|
+
* still READ for back-compat but never re-emitted — see
|
|
28
|
+
* FRAMEWORK-BUG-034 in `docs/frameworks/spec-gaps.md`). The command
|
|
29
|
+
* always exits 0; the caller checks the JSON summary on stdout.
|
|
27
30
|
*
|
|
28
31
|
* Usage:
|
|
29
32
|
* apt-tools validate-evidence <findings-dir> --worktree <path>
|
|
@@ -185,10 +188,24 @@ export function parseFindingsMarkdown(markdown) {
|
|
|
185
188
|
return findings;
|
|
186
189
|
}
|
|
187
190
|
function parseFindingBlock(body, id, title, start, end) {
|
|
191
|
+
// FRAMEWORK-BUG-034: strip any stamper-emitted Validation Status /
|
|
192
|
+
// Validation Note / Validation Metadata content from the body BEFORE
|
|
193
|
+
// extracting fields and evidence. The legacy field-form
|
|
194
|
+
// `- **Validation Status**: ...` line was bleeding into `fields.evidence`
|
|
195
|
+
// because the `fieldRx` `\s*` after the empty-value `- **Evidence**:`
|
|
196
|
+
// marker consumed the newline and grabbed the next line as the field's
|
|
197
|
+
// value. Stripping pre-parse keeps the parser inputs clean regardless of
|
|
198
|
+
// whether the file was stamped under the old or new shape. The original
|
|
199
|
+
// body is preserved for `raw` and for the dual-shape `hasValidationStatus`
|
|
200
|
+
// detector below.
|
|
201
|
+
const cleanBody = body
|
|
202
|
+
.replace(/^-\s*\*\*Validation Status\*\*:[^\n]*\n?/gim, '')
|
|
203
|
+
.replace(/\n?###\s*Validation Note\s*\n[\s\S]*?(?=\n###|$)/i, '')
|
|
204
|
+
.replace(/\n?###\s*Validation Metadata\s*\n[\s\S]*?(?=\n###|$)/i, '');
|
|
188
205
|
const fields = {};
|
|
189
206
|
// `- **File**: \`path:line\`` etc.
|
|
190
207
|
const fieldRx = /^-\s*\*\*([^*]+)\*\*:\s*(.+)$/gm;
|
|
191
|
-
for (const m of
|
|
208
|
+
for (const m of cleanBody.matchAll(fieldRx)) {
|
|
192
209
|
const key = m[1].trim().toLowerCase();
|
|
193
210
|
fields[key] = m[2].trim();
|
|
194
211
|
}
|
|
@@ -220,14 +237,20 @@ function parseFindingBlock(body, id, title, start, end) {
|
|
|
220
237
|
}
|
|
221
238
|
}
|
|
222
239
|
// Description block: everything between `### Description` and the next `###`.
|
|
223
|
-
const description = extractSection(
|
|
240
|
+
const description = extractSection(cleanBody, 'Description') ?? '';
|
|
224
241
|
// Evidence code block: first triple-backticked block after `### Evidence`
|
|
225
242
|
// (specialist shape). BUG-032: validator-consolidated `validated.md`
|
|
226
243
|
// shape carries evidence as a `- **Evidence**:` field whose value is the
|
|
227
244
|
// fenced block immediately following the field line. Fall back to the
|
|
228
245
|
// first fenced block after that field marker when the section heading
|
|
229
246
|
// form yields nothing.
|
|
230
|
-
|
|
247
|
+
//
|
|
248
|
+
// FRAMEWORK-BUG-034: the `fieldEvidenceRx` fallback below is safe as-is
|
|
249
|
+
// because the writer no longer emits `- **Validation Status**` field-form
|
|
250
|
+
// lines (see stampFindings comment) AND `parseFindingBlock` strips any
|
|
251
|
+
// legacy Status / Validation Note text from `cleanBody` above, so the
|
|
252
|
+
// regex can no longer trip on the stamper's own output.
|
|
253
|
+
const evidenceSection = extractSection(cleanBody, 'Evidence') ?? '';
|
|
231
254
|
let evidence;
|
|
232
255
|
const fenced = /```[^\n]*\n([\s\S]*?)```/.exec(evidenceSection);
|
|
233
256
|
if (fenced) {
|
|
@@ -238,16 +261,16 @@ function parseFindingBlock(body, id, title, start, end) {
|
|
|
238
261
|
}
|
|
239
262
|
else {
|
|
240
263
|
const fieldEvidenceRx = /-\s*\*\*Evidence\*\*:\s*(?:\n+)```[^\n]*\n([\s\S]*?)```/i;
|
|
241
|
-
const fieldFenced = fieldEvidenceRx.exec(
|
|
264
|
+
const fieldFenced = fieldEvidenceRx.exec(cleanBody);
|
|
242
265
|
evidence = fieldFenced ? fieldFenced[1] : (fields.evidence ?? '');
|
|
243
266
|
}
|
|
244
267
|
// Suggested Fix section (prose + optional fenced snippets). Unlike
|
|
245
268
|
// Evidence we keep the whole section — snippets AND surrounding
|
|
246
269
|
// sentences both live here — because file tokens in either form are
|
|
247
270
|
// legitimate evidence that the fix crosses files.
|
|
248
|
-
const suggestedFix = extractSection(
|
|
271
|
+
const suggestedFix = extractSection(cleanBody, 'Suggested Fix') ?? '';
|
|
249
272
|
// Line range: Evidence Context -> "Lines examined: a-b"
|
|
250
|
-
const contextSection = extractSection(
|
|
273
|
+
const contextSection = extractSection(cleanBody, 'Evidence Context') ?? '';
|
|
251
274
|
const rangeMatch = /Lines? examined[^\d]*(\d+)\s*-\s*(\d+)/i.exec(contextSection);
|
|
252
275
|
const lineRange = rangeMatch
|
|
253
276
|
? [Number(rangeMatch[1]), Number(rangeMatch[2])]
|
|
@@ -258,7 +281,7 @@ function parseFindingBlock(body, id, title, start, end) {
|
|
|
258
281
|
: null;
|
|
259
282
|
// Cross-file evidence (optional): `### Cross-File Evidence` block.
|
|
260
283
|
// Each file gets a `- **File**: path` + fenced snippet.
|
|
261
|
-
const crossFileSection = extractSection(
|
|
284
|
+
const crossFileSection = extractSection(cleanBody, 'Cross-File Evidence') ?? '';
|
|
262
285
|
const crossFileEvidence = [];
|
|
263
286
|
const crossFileRx = /-\s*\*\*File\*\*:\s*`?([^`\n]+?)`?\s*\n+```[^\n]*\n([\s\S]*?)```/g;
|
|
264
287
|
for (const m of crossFileSection.matchAll(crossFileRx)) {
|
|
@@ -278,7 +301,13 @@ function parseFindingBlock(body, id, title, start, end) {
|
|
|
278
301
|
description,
|
|
279
302
|
suggestedFix,
|
|
280
303
|
crossFileEvidence,
|
|
281
|
-
|
|
304
|
+
// FRAMEWORK-BUG-034: detection broadened to recognize BOTH the new
|
|
305
|
+
// `### Validation Metadata` section (the post-fix writer shape) AND
|
|
306
|
+
// the legacy `- **Validation Status**:` field-form (back-compat for
|
|
307
|
+
// any validated.md on disk written before the fix). The flag name
|
|
308
|
+
// stays `hasValidationStatus` for callers; see spec.md ID-01 for the
|
|
309
|
+
// "renamed conceptually" rationale.
|
|
310
|
+
hasValidationStatus: /###\s*Validation Metadata/i.test(body) || /\*\*Validation Status\*\*/i.test(body),
|
|
282
311
|
};
|
|
283
312
|
}
|
|
284
313
|
function extractSection(body, heading) {
|
|
@@ -521,48 +550,44 @@ export function checkFinding(finding, worktreeRoot, opts = {}) {
|
|
|
521
550
|
return { status: 'confirmed_valid', note: null };
|
|
522
551
|
}
|
|
523
552
|
/**
|
|
524
|
-
* Rewrite a findings markdown in place, stamping each finding with
|
|
525
|
-
*
|
|
553
|
+
* Rewrite a findings markdown in place, stamping each finding with a
|
|
554
|
+
* trailing `### Validation Metadata` section carrying Status + Note.
|
|
555
|
+
*
|
|
556
|
+
* FRAMEWORK-BUG-034 (2026-05-19, PR #208): the previous writer emitted
|
|
557
|
+
* `- **Validation Status**:` as a field-form line. The fieldRx in
|
|
558
|
+
* `parseFindingBlock` (`/^-\s*\*\*([^*]+)\*\*:\s*(.+)$/gm`) lets `\s*`
|
|
559
|
+
* consume the newline after the empty-value `- **Evidence**:` field,
|
|
560
|
+
* so on a re-read the inserted Status line is captured as
|
|
561
|
+
* `fields.evidence` and the literal-substring step dismisses 28/32
|
|
562
|
+
* findings citing the writer's own stamp as the missing source line.
|
|
563
|
+
*
|
|
564
|
+
* Fix shape (per spec.md ID-01): WRITER always emits ONLY the new
|
|
565
|
+
* `### Validation Metadata` heading shape — the `###` shape can't fall
|
|
566
|
+
* into the field-cluster regex, so the self-reference loop can't form.
|
|
567
|
+
* READER side (`parseFindingBlock`) supports BOTH the new section AND
|
|
568
|
+
* the legacy field-form so any older validated.md on disk still
|
|
569
|
+
* round-trips. See spec.md ID-01 + ID-02 for the dual-shape rationale.
|
|
526
570
|
*/
|
|
527
571
|
function stampFindings(markdown, decisions) {
|
|
528
572
|
// Work from the end so earlier edits don't shift later offsets.
|
|
529
573
|
let out = markdown;
|
|
530
574
|
for (let i = decisions.length - 1; i >= 0; i--) {
|
|
531
575
|
const { finding, decision } = decisions[i];
|
|
532
|
-
|
|
533
|
-
//
|
|
534
|
-
//
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
}
|
|
548
|
-
}
|
|
549
|
-
else {
|
|
550
|
-
// Insert "- **Validation Status**: ..." right after the first
|
|
551
|
-
// `- **...**:` field block.
|
|
552
|
-
const lastFieldRx = /((?:^-\s*\*\*[^*]+\*\*:.*(?:\n|$))+)/m;
|
|
553
|
-
const match = lastFieldRx.exec(block);
|
|
554
|
-
const insertion = `- **Validation Status**: ${decision.status}\n`;
|
|
555
|
-
if (match) {
|
|
556
|
-
const insertAt = match.index + match[0].length;
|
|
557
|
-
newBlock = block.slice(0, insertAt) + insertion + block.slice(insertAt);
|
|
558
|
-
}
|
|
559
|
-
else {
|
|
560
|
-
newBlock = `${block.replace(/\s*$/, '')}\n${insertion}`;
|
|
561
|
-
}
|
|
562
|
-
if (decision.note) {
|
|
563
|
-
newBlock = `${newBlock.replace(/\s*$/, '')}\n\n### Validation Note\n${decision.note}\n`;
|
|
564
|
-
}
|
|
565
|
-
}
|
|
576
|
+
let block = out.slice(finding.start, finding.end);
|
|
577
|
+
// Strip any legacy field-form Validation Status line. Multiple lines
|
|
578
|
+
// possible if a previous buggy re-run left several stamps; replaceAll-
|
|
579
|
+
// style global match keeps this idempotent.
|
|
580
|
+
block = block.replace(/^-\s*\*\*Validation Status\*\*:[^\n]*\n?/gim, '');
|
|
581
|
+
// Strip any legacy `### Validation Note` block.
|
|
582
|
+
block = block.replace(/\n?###\s*Validation Note\s*\n[\s\S]*?(?=\n###|$)/i, '');
|
|
583
|
+
// Strip any prior `### Validation Metadata` section so we can
|
|
584
|
+
// re-emit fresh values (idempotency across re-runs, spec ID-02).
|
|
585
|
+
block = block.replace(/\n?###\s*Validation Metadata\s*\n[\s\S]*?(?=\n###|$)/i, '');
|
|
586
|
+
const lines = [`### Validation Metadata`, `- **Status**: ${decision.status}`];
|
|
587
|
+
if (decision.note)
|
|
588
|
+
lines.push(`- **Note**: ${decision.note}`);
|
|
589
|
+
const section = `${lines.join('\n')}\n`;
|
|
590
|
+
const newBlock = `${block.replace(/\s*$/, '')}\n\n${section}`;
|
|
566
591
|
out = out.slice(0, finding.start) + newBlock + out.slice(finding.end);
|
|
567
592
|
}
|
|
568
593
|
return out;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate-evidence.mjs","sourceRoot":"","sources":["../../../src/cli/commands/validate-evidence.mjs"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validate-evidence.mjs","sourceRoot":"","sources":["../../../src/cli/commands/validate-evidence.mjs"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wave.d.mts","sourceRoot":"","sources":["../../../src/cli/commands/wave.mjs"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"wave.d.mts","sourceRoot":"","sources":["../../../src/cli/commands/wave.mjs"],"names":[],"mappings":"AAeA,sHA+NC"}
|
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* commands/wave.mjs — wave analyzer (C29).
|
|
3
|
+
*
|
|
4
|
+
* FRAMEWORK-BUG-033 ID-03 — accepts two input forms at the I/O boundary:
|
|
5
|
+
* 1. Subtask-shaped plan (`{subtasks: [...]}`) — back-compat, byte-equivalent.
|
|
6
|
+
* 2. Task-shaped plan (`{unit_kind: "task", tasks: [...]}`) — new fan-out
|
|
7
|
+
* input. Internal algorithm is unit-agnostic; only the input
|
|
8
|
+
* normalization + output envelope keys differ.
|
|
3
9
|
*/
|
|
4
10
|
import { existsSync, readFileSync } from 'node:fs';
|
|
5
11
|
import { join, resolve } from 'node:path';
|
|
6
12
|
import { err, exitWith, ok } from '../util/result.mjs';
|
|
13
|
+
import { normalizeToUnits } from '../wfrun/unit-shape.mjs';
|
|
7
14
|
export function cmdWave(subcommand, projectDir, extraArgs) {
|
|
8
15
|
if (!subcommand)
|
|
9
16
|
return err('Usage: apt-tools wave <analyze> <project-dir> [--plan <path>] [--wave <N>]');
|
|
@@ -30,42 +37,44 @@ export function cmdWave(subcommand, projectDir, extraArgs) {
|
|
|
30
37
|
catch (e) {
|
|
31
38
|
return err(`Invalid JSON in plan file: ${e.message}`);
|
|
32
39
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
if (!
|
|
41
|
-
return err(
|
|
40
|
+
// FRAMEWORK-BUG-033 ID-03 — normalize subtask/task input shapes.
|
|
41
|
+
const { units, unit_kind, error: shapeError } = normalizeToUnits(plan);
|
|
42
|
+
if (shapeError)
|
|
43
|
+
return err(shapeError);
|
|
44
|
+
const isTaskUnit = unit_kind === 'task';
|
|
45
|
+
// Validate each unit has required fields
|
|
46
|
+
for (const u of units) {
|
|
47
|
+
if (!u.id)
|
|
48
|
+
return err(`${unit_kind} missing "id" field: ${JSON.stringify(u)}`);
|
|
49
|
+
if (!Array.isArray(u.dependencies)) {
|
|
50
|
+
return err(`${unit_kind} "${u.id}" missing "dependencies" array`);
|
|
42
51
|
}
|
|
43
52
|
}
|
|
44
|
-
const
|
|
45
|
-
for (const
|
|
46
|
-
|
|
53
|
+
const unitMap = new Map();
|
|
54
|
+
for (const u of units) {
|
|
55
|
+
unitMap.set(u.id, u);
|
|
47
56
|
}
|
|
48
|
-
// Validate all dependencies reference existing
|
|
49
|
-
for (const
|
|
50
|
-
for (const dep of
|
|
51
|
-
if (!
|
|
52
|
-
return err(
|
|
57
|
+
// Validate all dependencies reference existing units
|
|
58
|
+
for (const u of units) {
|
|
59
|
+
for (const dep of u.dependencies) {
|
|
60
|
+
if (!unitMap.has(dep)) {
|
|
61
|
+
return err(`${unit_kind} "${u.id}" depends on unknown ${unit_kind} "${dep}"`);
|
|
53
62
|
}
|
|
54
63
|
}
|
|
55
64
|
}
|
|
56
65
|
// Detect cycles using DFS with coloring (T-11-06: prevents infinite loops)
|
|
57
66
|
const WHITE = 0, GRAY = 1, BLACK = 2;
|
|
58
67
|
const color = new Map();
|
|
59
|
-
for (const
|
|
60
|
-
color.set(
|
|
68
|
+
for (const u of units)
|
|
69
|
+
color.set(u.id, WHITE);
|
|
61
70
|
let cycleFound = null;
|
|
62
71
|
function dfs(id, path) {
|
|
63
72
|
if (cycleFound)
|
|
64
73
|
return;
|
|
65
74
|
color.set(id, GRAY);
|
|
66
75
|
path.push(id);
|
|
67
|
-
const
|
|
68
|
-
for (const dep of
|
|
76
|
+
const u = unitMap.get(id);
|
|
77
|
+
for (const dep of u.dependencies) {
|
|
69
78
|
if (color.get(dep) === GRAY) {
|
|
70
79
|
// Found cycle: extract from dep to current position
|
|
71
80
|
const cycleStart = path.indexOf(dep);
|
|
@@ -79,9 +88,9 @@ export function cmdWave(subcommand, projectDir, extraArgs) {
|
|
|
79
88
|
path.pop();
|
|
80
89
|
color.set(id, BLACK);
|
|
81
90
|
}
|
|
82
|
-
for (const
|
|
83
|
-
if (color.get(
|
|
84
|
-
dfs(
|
|
91
|
+
for (const u of units) {
|
|
92
|
+
if (color.get(u.id) === WHITE) {
|
|
93
|
+
dfs(u.id, []);
|
|
85
94
|
}
|
|
86
95
|
if (cycleFound)
|
|
87
96
|
break;
|
|
@@ -90,92 +99,113 @@ export function cmdWave(subcommand, projectDir, extraArgs) {
|
|
|
90
99
|
return exitWith({ error: 'Circular dependency detected', cycle: cycleFound }, 1);
|
|
91
100
|
}
|
|
92
101
|
// Wave assignment algorithm (D-12, D-13)
|
|
93
|
-
const waveAssignment = new Map(); //
|
|
102
|
+
const waveAssignment = new Map(); // unit id -> wave number
|
|
94
103
|
const assigned = new Set();
|
|
95
|
-
// Wave 1:
|
|
96
|
-
for (const
|
|
97
|
-
if (
|
|
98
|
-
waveAssignment.set(
|
|
99
|
-
assigned.add(
|
|
104
|
+
// Wave 1: units with no dependencies
|
|
105
|
+
for (const u of units) {
|
|
106
|
+
if (u.dependencies.length === 0) {
|
|
107
|
+
waveAssignment.set(u.id, 1);
|
|
108
|
+
assigned.add(u.id);
|
|
100
109
|
}
|
|
101
110
|
}
|
|
102
|
-
// Iteratively assign remaining
|
|
111
|
+
// Iteratively assign remaining units
|
|
103
112
|
let currentWave = 1;
|
|
104
113
|
let progress = true;
|
|
105
|
-
while (assigned.size <
|
|
114
|
+
while (assigned.size < units.length && progress) {
|
|
106
115
|
progress = false;
|
|
107
116
|
currentWave++;
|
|
108
|
-
for (const
|
|
109
|
-
if (assigned.has(
|
|
117
|
+
for (const u of units) {
|
|
118
|
+
if (assigned.has(u.id))
|
|
110
119
|
continue;
|
|
111
120
|
// Check if ALL dependencies are assigned
|
|
112
|
-
const allDepsAssigned =
|
|
121
|
+
const allDepsAssigned = u.dependencies.every((dep) => assigned.has(dep));
|
|
113
122
|
if (allDepsAssigned) {
|
|
114
|
-
const maxDepWave = Math.max(...
|
|
115
|
-
waveAssignment.set(
|
|
116
|
-
assigned.add(
|
|
123
|
+
const maxDepWave = Math.max(...u.dependencies.map((dep) => waveAssignment.get(dep)));
|
|
124
|
+
waveAssignment.set(u.id, maxDepWave + 1);
|
|
125
|
+
assigned.add(u.id);
|
|
117
126
|
progress = true;
|
|
118
127
|
}
|
|
119
128
|
}
|
|
120
129
|
}
|
|
121
|
-
if (assigned.size <
|
|
122
|
-
const unassigned =
|
|
123
|
-
return err(`Could not assign all
|
|
130
|
+
if (assigned.size < units.length) {
|
|
131
|
+
const unassigned = units.filter((u) => !assigned.has(u.id)).map((u) => u.id);
|
|
132
|
+
return err(`Could not assign all ${unit_kind}s to waves. Missing dependency or orphan ${unit_kind}s: ${unassigned.join(', ')}`);
|
|
124
133
|
}
|
|
125
134
|
// Build wave groups
|
|
126
135
|
const totalWaves = Math.max(...waveAssignment.values());
|
|
127
136
|
const wavesMap = new Map();
|
|
128
137
|
for (let w = 1; w <= totalWaves; w++) {
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
+
// Output key per ID-03: subtask path keeps `subtasks`; task
|
|
139
|
+
// path uses `tasks`. Bit-equivalence for the subtask path
|
|
140
|
+
// is enforced by wave-engine-subtask-bit-equivalence.test.ts.
|
|
141
|
+
wavesMap.set(w, isTaskUnit ? { wave: w, tasks: [], files: [] } : { wave: w, subtasks: [], files: [] });
|
|
142
|
+
}
|
|
143
|
+
for (const u of units) {
|
|
144
|
+
const w = waveAssignment.get(u.id);
|
|
145
|
+
const group = wavesMap.get(w);
|
|
146
|
+
if (isTaskUnit)
|
|
147
|
+
group.tasks.push(u.id);
|
|
148
|
+
else
|
|
149
|
+
group.subtasks.push(u.id);
|
|
150
|
+
if (Array.isArray(u.files)) {
|
|
151
|
+
for (const f of u.files) {
|
|
152
|
+
if (!group.files.includes(f)) {
|
|
153
|
+
group.files.push(f);
|
|
138
154
|
}
|
|
139
155
|
}
|
|
140
156
|
}
|
|
141
157
|
}
|
|
142
|
-
// File conflict check: files appearing in multiple
|
|
158
|
+
// File conflict check: files appearing in multiple units within same wave
|
|
143
159
|
const fileConflicts = [];
|
|
144
160
|
for (const [w, group] of wavesMap) {
|
|
145
161
|
const fileOwners = new Map();
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
162
|
+
const groupIds = isTaskUnit ? group.tasks : group.subtasks;
|
|
163
|
+
for (const uId of groupIds) {
|
|
164
|
+
const u = unitMap.get(uId);
|
|
165
|
+
if (Array.isArray(u.files)) {
|
|
166
|
+
for (const f of u.files) {
|
|
150
167
|
if (!fileOwners.has(f))
|
|
151
168
|
fileOwners.set(f, []);
|
|
152
|
-
fileOwners.get(f).push(
|
|
169
|
+
fileOwners.get(f).push(uId);
|
|
153
170
|
}
|
|
154
171
|
}
|
|
155
172
|
}
|
|
156
173
|
for (const [file, owners] of fileOwners) {
|
|
157
174
|
if (owners.length > 1) {
|
|
158
|
-
fileConflicts.push({ wave: w, file, subtasks: owners });
|
|
175
|
+
fileConflicts.push(isTaskUnit ? { wave: w, file, tasks: owners } : { wave: w, file, subtasks: owners });
|
|
159
176
|
}
|
|
160
177
|
}
|
|
161
178
|
}
|
|
162
|
-
// Build subtask_wave_map
|
|
163
|
-
|
|
179
|
+
// Build wave map. Subtask path: subtask_wave_map (back-compat).
|
|
180
|
+
// Task path: unit_id_wave_map (new).
|
|
181
|
+
const unitIdWaveMap = {};
|
|
164
182
|
for (const [id, w] of waveAssignment) {
|
|
165
|
-
|
|
183
|
+
unitIdWaveMap[id] = w;
|
|
166
184
|
}
|
|
167
185
|
// Apply --wave N filter (D-16)
|
|
168
186
|
let waves = Array.from(wavesMap.values());
|
|
169
187
|
if (waveFilter !== null) {
|
|
170
188
|
waves = waves.filter((w) => w.wave === waveFilter);
|
|
171
189
|
}
|
|
190
|
+
if (isTaskUnit) {
|
|
191
|
+
return ok({
|
|
192
|
+
status: 'ok',
|
|
193
|
+
command: 'wave-analyze-task',
|
|
194
|
+
unit_kind: 'task',
|
|
195
|
+
total_waves: totalWaves,
|
|
196
|
+
waves,
|
|
197
|
+
file_conflicts: fileConflicts,
|
|
198
|
+
unit_id_wave_map: unitIdWaveMap,
|
|
199
|
+
});
|
|
200
|
+
}
|
|
201
|
+
// Back-compat subtask envelope — byte-equivalent to pre-refactor output.
|
|
172
202
|
return ok({
|
|
173
203
|
status: 'ok',
|
|
174
204
|
command: 'wave-analyze',
|
|
175
205
|
total_waves: totalWaves,
|
|
176
206
|
waves,
|
|
177
207
|
file_conflicts: fileConflicts,
|
|
178
|
-
subtask_wave_map:
|
|
208
|
+
subtask_wave_map: unitIdWaveMap,
|
|
179
209
|
});
|
|
180
210
|
}
|
|
181
211
|
default:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wave.mjs","sourceRoot":"","sources":["../../../src/cli/commands/wave.mjs"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"wave.mjs","sourceRoot":"","sources":["../../../src/cli/commands/wave.mjs"],"names":[],"mappings":"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"}
|