maskweaver 0.8.1 → 0.8.2

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 (35) hide show
  1. package/README.ko.md +9 -12
  2. package/README.md +9 -12
  3. package/assets/commands/weave-craft.md +3 -3
  4. package/assets/commands/weave-design.md +5 -2
  5. package/assets/commands/weave-flow.md +3 -13
  6. package/assets/commands/weave-help.md +7 -11
  7. package/assets/commands/weave-prepare.md +2 -2
  8. package/assets/commands/weave-research.md +4 -2
  9. package/dist/plugin/index.d.ts.map +1 -1
  10. package/dist/plugin/index.js +2 -1
  11. package/dist/plugin/index.js.map +1 -1
  12. package/dist/plugin/tools/slashcommand.d.ts.map +1 -1
  13. package/dist/plugin/tools/slashcommand.js +12 -11
  14. package/dist/plugin/tools/slashcommand.js.map +1 -1
  15. package/dist/plugin/tools/weave.d.ts +7 -4
  16. package/dist/plugin/tools/weave.d.ts.map +1 -1
  17. package/dist/plugin/tools/weave.js +226 -66
  18. package/dist/plugin/tools/weave.js.map +1 -1
  19. package/dist/weave/phase-manager.d.ts +5 -0
  20. package/dist/weave/phase-manager.d.ts.map +1 -1
  21. package/dist/weave/phase-manager.js +25 -0
  22. package/dist/weave/phase-manager.js.map +1 -1
  23. package/dist/weave/stages/execute.js +2 -2
  24. package/dist/weave/stages/execute.js.map +1 -1
  25. package/dist/weave/stages/plan.d.ts +8 -0
  26. package/dist/weave/stages/plan.d.ts.map +1 -1
  27. package/dist/weave/stages/plan.js +161 -2
  28. package/dist/weave/stages/plan.js.map +1 -1
  29. package/dist/weave/stages/research.d.ts.map +1 -1
  30. package/dist/weave/stages/research.js +431 -4
  31. package/dist/weave/stages/research.js.map +1 -1
  32. package/dist/weave/types.d.ts +6 -0
  33. package/dist/weave/types.d.ts.map +1 -1
  34. package/package.json +1 -1
  35. package/assets/commands/weave-approve.md +0 -70
@@ -6,6 +6,65 @@
6
6
  */
7
7
  import * as fs from 'node:fs';
8
8
  import * as path from 'node:path';
9
+ const WORKSPACE_IGNORED_DIRS = new Set([
10
+ '.git',
11
+ '.idea',
12
+ '.vscode',
13
+ '.opencode',
14
+ '.opencode-data',
15
+ '.worktrees',
16
+ 'node_modules',
17
+ 'dist',
18
+ 'build',
19
+ 'coverage',
20
+ '.next',
21
+ '.nuxt',
22
+ '.svelte-kit',
23
+ '.turbo',
24
+ '.cache',
25
+ 'vendor',
26
+ 'target',
27
+ 'out',
28
+ ]);
29
+ const TEXT_EXTENSIONS = new Set([
30
+ '.ts', '.tsx', '.js', '.jsx', '.mjs', '.cjs',
31
+ '.json', '.yaml', '.yml', '.md', '.txt',
32
+ '.py', '.go', '.rs', '.java', '.kt', '.swift', '.rb', '.php',
33
+ '.sql', '.sh', '.ps1', '.bat', '.env',
34
+ ]);
35
+ const CODE_EXTENSIONS = new Set([
36
+ '.ts', '.tsx', '.js', '.jsx', '.mjs', '.cjs',
37
+ '.py', '.go', '.rs', '.java', '.kt', '.swift', '.rb', '.php',
38
+ ]);
39
+ const SPECIAL_TEXT_FILES = new Set([
40
+ 'Dockerfile',
41
+ 'Makefile',
42
+ 'Procfile',
43
+ ]);
44
+ const COMMON_DUPLICATE_FILE_NAMES = new Set([
45
+ 'index.ts',
46
+ 'index.tsx',
47
+ 'index.js',
48
+ 'index.jsx',
49
+ 'types.ts',
50
+ 'constants.ts',
51
+ 'README.md',
52
+ ]);
53
+ const COMMON_EXPORT_SYMBOLS = new Set([
54
+ 'default',
55
+ 'config',
56
+ 'options',
57
+ 'types',
58
+ 'constants',
59
+ ]);
60
+ const TOKEN_STOPWORDS = new Set([
61
+ 'the', 'and', 'for', 'with', 'from', 'into', 'this', 'that',
62
+ 'have', 'has', 'had', 'will', 'shall', 'should', 'could', 'would',
63
+ 'make', 'build', 'create', 'implement', 'feature', 'functionality',
64
+ 'user', 'users', 'system', 'service', 'application', 'module',
65
+ ]);
66
+ const MAX_WORKSPACE_FILES = 3000;
67
+ const MAX_CONTENT_BYTES = 240_000;
9
68
  function toRelativePath(basePath, filePath) {
10
69
  const rel = path.relative(basePath, filePath);
11
70
  if (!rel || rel.startsWith('..'))
@@ -18,6 +77,9 @@ function uniq(values) {
18
77
  function top(arr, size) {
19
78
  return arr.slice(0, Math.max(0, size));
20
79
  }
80
+ function normalizeLine(input, maxLength = 180) {
81
+ return input.replace(/\s+/g, ' ').trim().slice(0, maxLength);
82
+ }
21
83
  function formatList(lines, title, items) {
22
84
  lines.push(`## ${title}`);
23
85
  lines.push('');
@@ -31,6 +93,344 @@ function formatList(lines, title, items) {
31
93
  }
32
94
  lines.push('');
33
95
  }
96
+ function isTextLikeFile(fileName) {
97
+ if (SPECIAL_TEXT_FILES.has(fileName))
98
+ return true;
99
+ const ext = path.extname(fileName).toLowerCase();
100
+ return TEXT_EXTENSIONS.has(ext);
101
+ }
102
+ function isCodeFile(filePath) {
103
+ const ext = path.extname(filePath).toLowerCase();
104
+ return CODE_EXTENSIONS.has(ext);
105
+ }
106
+ function isTestFile(filePath) {
107
+ const normalized = filePath.replace(/\\/g, '/').toLowerCase();
108
+ if (normalized.includes('/test/') || normalized.includes('/tests/'))
109
+ return true;
110
+ return /(?:^|[./_-])(test|spec)\.[a-z0-9]+$/i.test(path.basename(filePath));
111
+ }
112
+ function safeReadText(filePath, maxBytes = MAX_CONTENT_BYTES) {
113
+ try {
114
+ const stat = fs.statSync(filePath);
115
+ if (stat.size <= 0 || stat.size > maxBytes)
116
+ return null;
117
+ const content = fs.readFileSync(filePath, 'utf-8');
118
+ if (content.includes('\u0000'))
119
+ return null;
120
+ return content;
121
+ }
122
+ catch {
123
+ return null;
124
+ }
125
+ }
126
+ function tokenizeEnglish(input) {
127
+ const matches = input.toLowerCase().match(/[a-z][a-z0-9_-]{2,}/g) || [];
128
+ return matches.filter(token => !TOKEN_STOPWORDS.has(token));
129
+ }
130
+ function collectWorkspaceFiles(basePath, maxFiles = MAX_WORKSPACE_FILES) {
131
+ const results = [];
132
+ const stack = [basePath];
133
+ while (stack.length > 0 && results.length < maxFiles) {
134
+ const current = stack.pop();
135
+ let entries = [];
136
+ try {
137
+ entries = fs.readdirSync(current, { withFileTypes: true });
138
+ }
139
+ catch {
140
+ continue;
141
+ }
142
+ entries.sort((a, b) => a.name.localeCompare(b.name));
143
+ for (const entry of entries) {
144
+ const fullPath = path.join(current, entry.name);
145
+ if (entry.isSymbolicLink())
146
+ continue;
147
+ if (entry.isDirectory()) {
148
+ if (WORKSPACE_IGNORED_DIRS.has(entry.name))
149
+ continue;
150
+ if (entry.name.startsWith('.') && entry.name !== '.github')
151
+ continue;
152
+ stack.push(fullPath);
153
+ continue;
154
+ }
155
+ if (!entry.isFile())
156
+ continue;
157
+ if (!isTextLikeFile(entry.name))
158
+ continue;
159
+ results.push(fullPath);
160
+ if (results.length >= maxFiles)
161
+ break;
162
+ }
163
+ }
164
+ return results;
165
+ }
166
+ function buildFeatureNeedles(intake) {
167
+ const needles = [];
168
+ const topFeatures = top(intake.features, 16)
169
+ .map(feature => normalizeLine(feature, 120))
170
+ .filter(feature => feature.length >= 3);
171
+ for (const feature of topFeatures) {
172
+ needles.push(feature.toLowerCase());
173
+ for (const token of tokenizeEnglish(feature)) {
174
+ if (token.length >= 4)
175
+ needles.push(token);
176
+ }
177
+ }
178
+ for (const doc of top(intake.documents, 12)) {
179
+ for (const section of doc.sections.slice(0, 8)) {
180
+ for (const token of tokenizeEnglish(section)) {
181
+ if (token.length >= 4)
182
+ needles.push(token);
183
+ }
184
+ }
185
+ }
186
+ return uniq(needles).slice(0, 60);
187
+ }
188
+ function extractExportedSymbols(content) {
189
+ const symbols = [];
190
+ const captureRegex = (regex) => {
191
+ let match;
192
+ while ((match = regex.exec(content)) !== null) {
193
+ if (match[1])
194
+ symbols.push(match[1]);
195
+ }
196
+ };
197
+ captureRegex(/export\s+(?:async\s+)?function\s+([A-Za-z_][A-Za-z0-9_]*)/g);
198
+ captureRegex(/export\s+class\s+([A-Za-z_][A-Za-z0-9_]*)/g);
199
+ captureRegex(/export\s+const\s+([A-Za-z_][A-Za-z0-9_]*)/g);
200
+ captureRegex(/export\s+let\s+([A-Za-z_][A-Za-z0-9_]*)/g);
201
+ captureRegex(/export\s+var\s+([A-Za-z_][A-Za-z0-9_]*)/g);
202
+ let namedMatch;
203
+ const namedExportRegex = /export\s*\{\s*([^}]+)\s*\}/g;
204
+ while ((namedMatch = namedExportRegex.exec(content)) !== null) {
205
+ const block = namedMatch[1];
206
+ const names = block.split(',');
207
+ for (const rawName of names) {
208
+ const normalized = rawName.trim().split(/\s+as\s+/i)[0]?.trim();
209
+ if (normalized && /^[A-Za-z_][A-Za-z0-9_]*$/.test(normalized)) {
210
+ symbols.push(normalized);
211
+ }
212
+ }
213
+ }
214
+ return uniq(symbols);
215
+ }
216
+ function extractSnippet(content, needles) {
217
+ if (needles.length === 0)
218
+ return undefined;
219
+ const lines = content.split(/\r?\n/);
220
+ for (const line of lines.slice(0, 1200)) {
221
+ const lower = line.toLowerCase();
222
+ if (needles.some(needle => lower.includes(needle))) {
223
+ return normalizeLine(line);
224
+ }
225
+ }
226
+ return undefined;
227
+ }
228
+ function resolveFeatureMatch(contentLower, feature) {
229
+ const normalizedFeature = feature.toLowerCase();
230
+ if (normalizedFeature.length >= 3 && contentLower.includes(normalizedFeature)) {
231
+ return true;
232
+ }
233
+ const tokens = tokenizeEnglish(feature).filter(token => token.length >= 4);
234
+ if (tokens.length === 0)
235
+ return false;
236
+ let matched = 0;
237
+ for (const token of tokens) {
238
+ if (contentLower.includes(token)) {
239
+ matched += 1;
240
+ }
241
+ }
242
+ return matched >= Math.min(2, tokens.length);
243
+ }
244
+ function getBaselineCommands(basePath) {
245
+ const packageJsonPath = path.join(basePath, 'package.json');
246
+ const commands = [];
247
+ try {
248
+ if (!fs.existsSync(packageJsonPath))
249
+ return commands;
250
+ const pkg = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'));
251
+ const scripts = pkg.scripts || {};
252
+ const priority = ['dev', 'test', 'test:unit', 'test:e2e', 'build', 'lint', 'typecheck'];
253
+ for (const name of priority) {
254
+ if (scripts[name])
255
+ commands.push(`npm run ${name}`);
256
+ }
257
+ return uniq(commands);
258
+ }
259
+ catch {
260
+ return commands;
261
+ }
262
+ }
263
+ function extractDocReproductionSteps(docPaths) {
264
+ const steps = [];
265
+ const keyRegex = /(repro|reproduce|steps|재현|문제|오류|버그|증상|before|after|expected|actual|fail)/i;
266
+ for (const docPath of docPaths.slice(0, 12)) {
267
+ const content = safeReadText(docPath, 180_000);
268
+ if (!content)
269
+ continue;
270
+ const lines = content.split(/\r?\n/);
271
+ for (const line of lines.slice(0, 1000)) {
272
+ const trimmed = line.trim();
273
+ if (!trimmed)
274
+ continue;
275
+ const isStep = /^\d+[.)]\s+/.test(trimmed) || /^[-*]\s+/.test(trimmed);
276
+ if (!isStep)
277
+ continue;
278
+ if (!keyRegex.test(trimmed))
279
+ continue;
280
+ steps.push(normalizeLine(trimmed.replace(/^\d+[.)]\s+|^[-*]\s+/, ''), 160));
281
+ }
282
+ }
283
+ return uniq(steps).slice(0, 12);
284
+ }
285
+ function findRelatedTests(testFiles, featureNeedles) {
286
+ const related = [];
287
+ if (featureNeedles.length === 0)
288
+ return related;
289
+ for (const testFile of testFiles.slice(0, 240)) {
290
+ const content = safeReadText(testFile, 160_000);
291
+ if (!content)
292
+ continue;
293
+ const lower = content.toLowerCase();
294
+ if (featureNeedles.some(needle => lower.includes(needle))) {
295
+ related.push(testFile);
296
+ }
297
+ }
298
+ return uniq(related).slice(0, 10);
299
+ }
300
+ function analyzeWorkspaceContext(basePath, intake) {
301
+ const workspaceFiles = collectWorkspaceFiles(basePath);
302
+ const codeFiles = workspaceFiles.filter(isCodeFile);
303
+ const testFiles = workspaceFiles.filter(isTestFile);
304
+ const featureLines = uniq(top(intake.features, 12).map(feature => normalizeLine(feature, 120)));
305
+ const featureNeedles = buildFeatureNeedles(intake);
306
+ const exportSymbolMap = new Map();
307
+ const fileNameMap = new Map();
308
+ const featureCoverage = new Map();
309
+ const reuseCandidates = [];
310
+ for (const feature of featureLines) {
311
+ featureCoverage.set(feature, new Set());
312
+ }
313
+ for (const filePath of codeFiles) {
314
+ const fileName = path.basename(filePath);
315
+ const existing = fileNameMap.get(fileName) || [];
316
+ existing.push(filePath);
317
+ fileNameMap.set(fileName, existing);
318
+ const content = safeReadText(filePath);
319
+ if (!content)
320
+ continue;
321
+ const contentLower = content.toLowerCase();
322
+ const matchedNeedles = featureNeedles.filter(needle => contentLower.includes(needle)).slice(0, 8);
323
+ const matchedFeatures = [];
324
+ for (const feature of featureLines) {
325
+ if (!resolveFeatureMatch(contentLower, feature))
326
+ continue;
327
+ matchedFeatures.push(feature);
328
+ featureCoverage.get(feature)?.add(filePath);
329
+ }
330
+ if (matchedNeedles.length > 0 || matchedFeatures.length > 0) {
331
+ const score = (matchedFeatures.length * 3) + matchedNeedles.length;
332
+ reuseCandidates.push({
333
+ filePath,
334
+ score,
335
+ matchedNeedles,
336
+ matchedFeatures,
337
+ snippet: extractSnippet(content, matchedNeedles),
338
+ });
339
+ }
340
+ if (/\.(ts|tsx|js|jsx|mjs|cjs)$/i.test(filePath)) {
341
+ const symbols = extractExportedSymbols(content);
342
+ for (const symbol of symbols) {
343
+ const holders = exportSymbolMap.get(symbol) || new Set();
344
+ holders.add(filePath);
345
+ exportSymbolMap.set(symbol, holders);
346
+ }
347
+ }
348
+ }
349
+ reuseCandidates.sort((a, b) => b.score - a.score || a.filePath.localeCompare(b.filePath));
350
+ const duplicateSignals = [];
351
+ for (const [fileName, files] of fileNameMap.entries()) {
352
+ if (files.length < 2)
353
+ continue;
354
+ if (COMMON_DUPLICATE_FILE_NAMES.has(fileName))
355
+ continue;
356
+ const relFiles = top(files.map(file => toRelativePath(basePath, file)), 4);
357
+ duplicateSignals.push(`File name overlap: \`${fileName}\` appears in ${relFiles.map(file => `\`${file}\``).join(', ')}`);
358
+ }
359
+ for (const [symbol, files] of exportSymbolMap.entries()) {
360
+ if (files.size < 2)
361
+ continue;
362
+ if (COMMON_EXPORT_SYMBOLS.has(symbol.toLowerCase()))
363
+ continue;
364
+ const relFiles = top(Array.from(files).map(file => toRelativePath(basePath, file)), 4);
365
+ duplicateSignals.push(`Export overlap: \`${symbol}\` is exported in ${relFiles.map(file => `\`${file}\``).join(', ')}`);
366
+ }
367
+ const reuseFeatures = [];
368
+ const newImplementationFeatures = [];
369
+ for (const feature of featureLines) {
370
+ const coverage = featureCoverage.get(feature);
371
+ if (coverage && coverage.size > 0) {
372
+ const sample = top(Array.from(coverage).map(file => `\`${toRelativePath(basePath, file)}\``), 2).join(', ');
373
+ reuseFeatures.push(`${feature} -> reuse candidates: ${sample}`);
374
+ }
375
+ else {
376
+ newImplementationFeatures.push(feature);
377
+ }
378
+ }
379
+ const beforeContext = top(reuseCandidates, 10).map(candidate => {
380
+ const rel = toRelativePath(basePath, candidate.filePath);
381
+ const marker = candidate.matchedFeatures.length > 0
382
+ ? `feature: ${candidate.matchedFeatures[0]}`
383
+ : `signal: ${candidate.matchedNeedles[0] || 'related'}`;
384
+ const snippet = candidate.snippet ? ` | ${candidate.snippet}` : '';
385
+ return `\`${rel}\` (${marker})${snippet}`;
386
+ });
387
+ const afterContext = featureLines.map(feature => {
388
+ const coverage = featureCoverage.get(feature);
389
+ const state = coverage && coverage.size > 0
390
+ ? 'extend/reuse existing behavior'
391
+ : 'new implementation likely required';
392
+ return `${feature} -> ${state}`;
393
+ });
394
+ const baselineCommands = getBaselineCommands(basePath);
395
+ const docReproSteps = extractDocReproductionSteps(intake.documents.map(doc => doc.path));
396
+ const relatedTests = findRelatedTests(testFiles, featureNeedles)
397
+ .map(testPath => `\`${toRelativePath(basePath, testPath)}\``);
398
+ const reproductionFlow = [];
399
+ if (baselineCommands.length > 0) {
400
+ reproductionFlow.push(`Baseline commands: ${baselineCommands.join(' ; ')}`);
401
+ }
402
+ if (docReproSteps.length > 0) {
403
+ reproductionFlow.push(`Documented repro hints: ${docReproSteps.join(' -> ')}`);
404
+ }
405
+ if (relatedTests.length > 0) {
406
+ reproductionFlow.push(`Related tests: ${relatedTests.join(', ')}`);
407
+ }
408
+ if (reproductionFlow.length === 0) {
409
+ reproductionFlow.push('No explicit repro flow found in docs/workspace. Use `weave verify` and inspect top reuse candidates first.');
410
+ }
411
+ const keyConfigs = [
412
+ 'package.json',
413
+ 'tsconfig.json',
414
+ 'vitest.config.ts',
415
+ 'vite.config.ts',
416
+ 'next.config.js',
417
+ 'docker-compose.yml',
418
+ '.github/workflows',
419
+ ].filter(rel => fs.existsSync(path.join(basePath, rel)));
420
+ return {
421
+ scannedFiles: workspaceFiles.length,
422
+ codeFiles: codeFiles.length,
423
+ testFiles: testFiles.length,
424
+ keyConfigs,
425
+ reuseCandidates: top(reuseCandidates, 20),
426
+ duplicateSignals: top(uniq(duplicateSignals), 20),
427
+ reuseFeatures: top(reuseFeatures, 12),
428
+ newImplementationFeatures: top(newImplementationFeatures, 12),
429
+ reproductionFlow,
430
+ beforeContext,
431
+ afterContext,
432
+ };
433
+ }
34
434
  export function buildResearchReport(options) {
35
435
  const basePath = options.basePath || process.cwd();
36
436
  const now = new Date().toISOString();
@@ -56,6 +456,22 @@ export function buildResearchReport(options) {
56
456
  const envIssues = top(options.intake.environment?.issues || [], 10).map(issue => {
57
457
  return `${issue.severity.toUpperCase()} - ${issue.title}: ${issue.prevention}`;
58
458
  });
459
+ const workspace = analyzeWorkspaceContext(basePath, options.intake);
460
+ const workspaceScope = [
461
+ `Scanned files: ${workspace.scannedFiles} (code: ${workspace.codeFiles}, tests: ${workspace.testFiles})`,
462
+ `Research scope: current workspace only (\`${toRelativePath(basePath, basePath)}\`)`,
463
+ workspace.keyConfigs.length > 0
464
+ ? `Key configs found: ${workspace.keyConfigs.map(cfg => `\`${cfg}\``).join(', ')}`
465
+ : 'Key configs found: (none)',
466
+ ];
467
+ const reuseLines = workspace.reuseCandidates.map(candidate => {
468
+ const rel = toRelativePath(basePath, candidate.filePath);
469
+ const featurePart = candidate.matchedFeatures.length > 0
470
+ ? `features: ${candidate.matchedFeatures.slice(0, 2).join(', ')}`
471
+ : `signals: ${candidate.matchedNeedles.slice(0, 2).join(', ')}`;
472
+ const snippet = candidate.snippet ? ` | ${candidate.snippet}` : '';
473
+ return `\`${rel}\` (${featurePart})${snippet}`;
474
+ });
59
475
  const lines = [];
60
476
  lines.push('# Weave Research Report');
61
477
  lines.push('');
@@ -66,20 +482,30 @@ export function buildResearchReport(options) {
66
482
  lines.push('## Workflow Contract');
67
483
  lines.push('');
68
484
  lines.push('- This report is the review surface before planning/implementation.');
69
- lines.push('- Add inline corrections in plan files, then approve explicitly.');
485
+ lines.push('- Research covers document scope + current workspace context that can be inspected now.');
486
+ lines.push('- Focus on reuse opportunities, duplicate-risk detection, reproduction flow, and before/after understanding.');
70
487
  lines.push('- Do not implement until plan approval is complete.');
71
488
  lines.push('');
489
+ formatList(lines, 'Workspace Investigation Scope', workspaceScope);
72
490
  formatList(lines, 'Documents Read', docs);
73
491
  formatList(lines, 'Detected Features', featureLines);
74
492
  formatList(lines, 'Technical Signals', techSignals);
75
493
  formatList(lines, 'Open Questions', questionLines);
76
494
  formatList(lines, 'Similar Project Hints', similar);
77
495
  formatList(lines, 'Environment Risks', envIssues);
496
+ formatList(lines, 'Existing Implementations & Reuse Candidates', reuseLines);
497
+ formatList(lines, 'Duplicate Implementation Signals', workspace.duplicateSignals);
498
+ formatList(lines, 'Feature Reuse Opportunities', workspace.reuseFeatures);
499
+ formatList(lines, 'Feature Gaps (Likely New Work)', workspace.newImplementationFeatures);
500
+ formatList(lines, 'Problem Reproduction Flow', workspace.reproductionFlow);
501
+ formatList(lines, 'Before Context (Current State)', workspace.beforeContext);
502
+ formatList(lines, 'After Context (Target Intent)', workspace.afterContext);
78
503
  lines.push('## Suggested Next Steps');
79
504
  lines.push('');
80
- lines.push('1. Generate or refresh plan with `weave prepare` or `weave design`.');
81
- lines.push('2. Annotate plan notes and constraints directly in the plan artifact.');
82
- lines.push('3. Run `weave approve-plan` before `weave craft`/`weave flow`.');
505
+ lines.push('1. Preserve reuse candidates first; avoid implementing duplicates unless behavior diverges.');
506
+ lines.push('2. Validate repro flow once (baseline), then define expected after-state checks in plan/tasks.');
507
+ lines.push('3. Generate or refresh plan with `weave prepare` or `weave design`.');
508
+ lines.push('4. Run `weave approve-plan` before `weave craft`/`weave flow`.');
83
509
  return lines.join('\n');
84
510
  }
85
511
  export async function writeResearchReport(options) {
@@ -98,6 +524,7 @@ export async function writeResearchReport(options) {
98
524
  `- Artifact: \`${rel}\``,
99
525
  `- Features: ${options.intake.features.length}`,
100
526
  `- Questions: ${options.intake.questions.length}`,
527
+ '- Includes workspace context survey (reuse, duplicate-risk, repro flow, before/after).',
101
528
  ].join('\n');
102
529
  return {
103
530
  reportPath: outputPath,
@@ -1 +1 @@
1
- {"version":3,"file":"research.js","sourceRoot":"","sources":["../../../src/weave/stages/research.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"research.js","sourceRoot":"","sources":["../../../src/weave/stages/research.ts"],"names":[],"mappings":"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"}
@@ -73,6 +73,12 @@ export interface WeavePlan {
73
73
  planApproved?: boolean;
74
74
  planApprovedAt?: string;
75
75
  planApprovalNotes?: string;
76
+ /** Optional metadata for automatically split plans. */
77
+ planRole?: 'standalone' | 'shard';
78
+ parentPlanName?: string;
79
+ shardIndex?: number;
80
+ shardTotal?: number;
81
+ nextPlanName?: string;
76
82
  phases: WeavePhase[];
77
83
  currentPhase?: string;
78
84
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/weave/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/weave/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,aAAa,GAAG,WAAW,GAAG,SAAS,CAAC;AAE9E,MAAM,WAAW,UAAU;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,SAAS;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACxD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAMD,6DAA6D;AAC7D,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG,aAAa,GAAG,eAAe,CAAC;AAExE,iCAAiC;AACjC,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;AAE/D,sDAAsD;AACtD,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,EAAE,cAAc,CAAC;IAC3B,oBAAoB,EAAE,MAAM,EAAE,CAAC;CAClC;AAED,yCAAyC;AACzC,MAAM,WAAW,kBAAkB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,WAAW,CAAC;IACpB,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;CACnB;AAMD,MAAM,WAAW,SAAS;IACtB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE;QACV,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,iEAAiE;IACjE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,oEAAoE;IACpE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,uDAAuD;IACvD,QAAQ,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAMD,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC;IACvB,YAAY,EAAE,UAAU,GAAG,IAAI,CAAC;IAChC,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAMD,MAAM,WAAW,WAAW;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE,OAAO,CAAC;IACzB,gBAAgB,EAAE,OAAO,CAAC;IAG1B,eAAe,CAAC,EAAE;QACd,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,EAAE,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACL;AAMD,MAAM,WAAW,oBAAoB;IACjC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,oBAAoB,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;CAC9C;AAMD,MAAM,WAAW,kBAAkB;IAC/B,EAAE,EAAE,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;IAClC,KAAK,EAAE,YAAY,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC;IACzD,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,SAAS,CAAC;IAC5D,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,aAAa,GAAG,eAAe,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;IAC3E,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,SAAS,GAAG,iBAAiB,CAAC;CACzC;AAED,MAAM,WAAW,mBAAmB;IAChC,OAAO,EAAE,kBAAkB,CAAC;IAC5B,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACtB;AAMD,MAAM,MAAM,UAAU,GAChB;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC9D;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACzD;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACxD;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACvE;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACzD;IAAE,IAAI,EAAE,uBAAuB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACnE;IAAE,IAAI,EAAE,0BAA0B,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,GAC5D;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAErE,MAAM,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "maskweaver",
3
- "version": "0.8.1",
3
+ "version": "0.8.2",
4
4
  "description": "AI Expert Persona System - Give your AI coding assistant expert personalities (가면술사)",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,70 +0,0 @@
1
- ---
2
- description: Phase 승인(완료 처리) + 검증(기본) + 선택적 커밋
3
- ---
4
-
5
- # /weave-approve - Phase 승인
6
-
7
- ## 개요
8
-
9
- Phase를 "완료"로 처리합니다.
10
-
11
- vNext에서 `/weave-approve`는 기본적으로 **검증(verify)** 을 먼저 실행하고,
12
- 검증이 통과해야 Phase를 완료 처리합니다.
13
-
14
- 또한 필요 시, **선택적으로 git commit**까지 한 번에 수행할 수 있습니다.
15
-
16
- ---
17
-
18
- ## 사용법
19
-
20
- ```txt
21
- /weave-approve P1
22
- ```
23
-
24
- 내부적으로 weave tool을 호출합니다:
25
-
26
- ```txt
27
- weave command=approve phaseId="P1"
28
- ```
29
-
30
- ---
31
-
32
- ## 옵션
33
-
34
- ### 1) 검증 우회(권장하지 않음)
35
-
36
- ```txt
37
- weave command=approve phaseId="P1" skipVerify=true
38
- ```
39
-
40
- 빠르게(typecheck+tests만) 승인 전 검증을 돌리려면:
41
-
42
- ```txt
43
- weave command=approve phaseId="P1" verifyMode="quick"
44
- ```
45
-
46
- ### 2) 승인 시 커밋까지(옵션)
47
-
48
- 기본은 "staged changes"만 커밋합니다(안전).
49
-
50
- ```txt
51
- weave command=approve phaseId="P1" commit=true
52
- ```
53
-
54
- 모든 변경을 자동 stage 후 커밋하려면:
55
-
56
- ```txt
57
- weave command=approve phaseId="P1" commit=true stageAll=true
58
- ```
59
-
60
- 커밋 메시지를 직접 지정하려면:
61
-
62
- ```txt
63
- weave command=approve phaseId="P1" commit=true stageAll=true commitMessage="P1: login flow"
64
- ```
65
-
66
- > 커밋 전에는 secret scan이 실행됩니다. 의심되는 키/토큰이 발견되면 커밋/승인이 차단됩니다.
67
-
68
- secret scan 예외/허용 규칙을 추가하려면:
69
-
70
- - `.opencode/weave/secret-scan.yaml`