maestro-flow 0.3.42 → 0.3.44
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/.claude/commands/learn-decompose.md +10 -15
- package/.claude/commands/learn-follow.md +11 -16
- package/.claude/commands/learn-investigate.md +18 -22
- package/.claude/commands/learn-retro.md +23 -26
- package/.claude/commands/learn-second-opinion.md +11 -16
- package/.claude/commands/maestro-analyze.md +8 -0
- package/.claude/commands/maestro-brainstorm.md +8 -0
- package/.claude/commands/maestro-execute.md +11 -3
- package/.claude/commands/maestro-learn.md +4 -4
- package/.claude/commands/maestro-milestone-complete.md +6 -6
- package/.claude/commands/maestro-plan.md +8 -0
- package/.claude/commands/maestro-ralph-execute.md +52 -80
- package/.claude/commands/maestro-ralph.md +2 -2
- package/.claude/commands/maestro-tools-execute.md +117 -0
- package/.claude/commands/maestro-tools-register.md +137 -0
- package/.claude/commands/maestro-ui-codify.md +67 -0
- package/.claude/commands/manage-harvest.md +1 -1
- package/.claude/commands/manage-learn.md +5 -7
- package/.claude/commands/manage-wiki.md +1 -1
- package/.claude/commands/quality-auto-test.md +1 -1
- package/.claude/commands/quality-debug.md +8 -0
- package/.claude/commands/quality-retrospective.md +4 -5
- package/.claude/commands/quality-review.md +8 -0
- package/.claude/commands/spec-add.md +25 -4
- package/.claude/commands/spec-load.md +26 -6
- package/.claude/commands/spec-setup.md +2 -2
- package/.claude/commands/wiki-connect.md +1 -1
- package/.claude/commands/wiki-digest.md +5 -6
- package/.claude/skills/codify-to-knowhow/SKILL.md +167 -0
- package/.claude/skills/codify-to-knowhow/phases/01-load-manifest.md +101 -0
- package/.claude/skills/codify-to-knowhow/phases/02-generate-knowhow.md +97 -0
- package/.claude/skills/codify-to-knowhow/phases/03-generate-specs.md +92 -0
- package/.claude/skills/codify-to-knowhow/phases/04-index-verify.md +119 -0
- package/.codex/skills/codify-to-knowhow/SKILL.md +427 -0
- package/.codex/skills/learn-decompose/SKILL.md +8 -8
- package/.codex/skills/learn-follow/SKILL.md +6 -6
- package/.codex/skills/learn-investigate/SKILL.md +4 -4
- package/.codex/skills/learn-retro/SKILL.md +7 -7
- package/.codex/skills/learn-second-opinion/SKILL.md +6 -6
- package/.codex/skills/maestro-analyze/SKILL.md +491 -491
- package/.codex/skills/maestro-collab/SKILL.md +1 -1
- package/.codex/skills/maestro-learn/SKILL.md +1 -1
- package/.codex/skills/maestro-milestone-complete/SKILL.md +122 -122
- package/.codex/skills/maestro-plan/SKILL.md +485 -485
- package/.codex/skills/maestro-tools-execute/SKILL.md +105 -0
- package/.codex/skills/maestro-tools-register/SKILL.md +144 -0
- package/.codex/skills/maestro-ui-codify/SKILL.md +398 -0
- package/.codex/skills/maestro-verify/SKILL.md +486 -486
- package/.codex/skills/manage-harvest/SKILL.md +3 -3
- package/.codex/skills/manage-issue-discover/SKILL.md +431 -431
- package/.codex/skills/manage-learn/SKILL.md +13 -13
- package/.codex/skills/manage-wiki/SKILL.md +1 -1
- package/.codex/skills/quality-auto-test/SKILL.md +553 -553
- package/.codex/skills/quality-refactor/SKILL.md +151 -151
- package/.codex/skills/quality-retrospective/SKILL.md +6 -6
- package/.codex/skills/spec-add/SKILL.md +17 -4
- package/.codex/skills/spec-load/SKILL.md +24 -28
- package/.codex/skills/team-quality-assurance/roles/executor/role.md +1 -1
- package/.codex/skills/team-review/roles/reviewer/role.md +1 -1
- package/.codex/skills/team-tech-debt/roles/scanner/role.md +1 -1
- package/.codex/skills/team-testing/roles/executor/role.md +1 -1
- package/.codex/skills/team-testing/roles/generator/role.md +1 -1
- package/.codex/skills/wiki-connect/SKILL.md +5 -5
- package/.codex/skills/wiki-digest/SKILL.md +8 -8
- package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.js +4 -2
- package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/specs.js +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/specs.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/wiki.js +2 -1
- package/dashboard/dist-server/dashboard/src/server/routes/wiki.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/state/fs-watcher.js +2 -2
- package/dashboard/dist-server/dashboard/src/server/state/fs-watcher.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/supervisor/self-learning-service.d.ts +1 -1
- package/dashboard/dist-server/dashboard/src/server/supervisor/self-learning-service.js +1 -1
- package/dashboard/dist-server/dashboard/src/server/supervisor/self-learning-service.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/search.js +2 -2
- package/dashboard/dist-server/dashboard/src/server/wiki/search.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/spec-entry-parser.d.ts +7 -3
- package/dashboard/dist-server/dashboard/src/server/wiki/spec-entry-parser.js +47 -15
- package/dashboard/dist-server/dashboard/src/server/wiki/spec-entry-parser.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/stress.test.js +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/stress.test.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/virtual-wiki-adapters.d.ts +1 -2
- package/dashboard/dist-server/dashboard/src/server/wiki/virtual-wiki-adapters.js +3 -52
- package/dashboard/dist-server/dashboard/src/server/wiki/virtual-wiki-adapters.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js +67 -21
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-types.d.ts +6 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/writer-stress.test.js +1 -11
- package/dashboard/dist-server/dashboard/src/server/wiki/writer-stress.test.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/writer.d.ts +7 -4
- package/dashboard/dist-server/dashboard/src/server/wiki/writer.js +27 -12
- package/dashboard/dist-server/dashboard/src/server/wiki/writer.js.map +1 -1
- package/dashboard/dist-server/src/tools/spec-entry-parser.d.ts +10 -2
- package/dashboard/dist-server/src/tools/spec-entry-parser.js +46 -12
- package/dashboard/dist-server/src/tools/spec-entry-parser.js.map +1 -1
- package/dashboard/dist-server/src/tools/spec-loader.d.ts +6 -2
- package/dashboard/dist-server/src/tools/spec-loader.js +119 -23
- package/dashboard/dist-server/src/tools/spec-loader.js.map +1 -1
- package/dist/src/commands/knowhow.d.ts.map +1 -1
- package/dist/src/commands/knowhow.js +21 -2
- package/dist/src/commands/knowhow.js.map +1 -1
- package/dist/src/commands/spec.d.ts +1 -1
- package/dist/src/commands/spec.d.ts.map +1 -1
- package/dist/src/commands/spec.js +78 -4
- package/dist/src/commands/spec.js.map +1 -1
- package/dist/src/commands/wiki.d.ts.map +1 -1
- package/dist/src/commands/wiki.js +51 -3
- package/dist/src/commands/wiki.js.map +1 -1
- package/dist/src/hooks/keyword-spec-injector.js +1 -1
- package/dist/src/hooks/keyword-spec-injector.js.map +1 -1
- package/dist/src/hooks/plugins/spec-injection-plugin.js +11 -11
- package/dist/src/hooks/plugins/spec-injection-plugin.js.map +1 -1
- package/dist/src/hooks/spec-injector.d.ts +1 -0
- package/dist/src/hooks/spec-injector.d.ts.map +1 -1
- package/dist/src/hooks/spec-injector.js +55 -22
- package/dist/src/hooks/spec-injector.js.map +1 -1
- package/dist/src/hooks/wiki-role-loader.d.ts +18 -0
- package/dist/src/hooks/wiki-role-loader.d.ts.map +1 -0
- package/dist/src/hooks/wiki-role-loader.js +43 -0
- package/dist/src/hooks/wiki-role-loader.js.map +1 -0
- package/dist/src/tools/spec-entry-parser.d.ts +10 -2
- package/dist/src/tools/spec-entry-parser.d.ts.map +1 -1
- package/dist/src/tools/spec-entry-parser.js +46 -12
- package/dist/src/tools/spec-entry-parser.js.map +1 -1
- package/dist/src/tools/spec-init.d.ts.map +1 -1
- package/dist/src/tools/spec-init.js +19 -0
- package/dist/src/tools/spec-init.js.map +1 -1
- package/dist/src/tools/spec-loader.d.ts +6 -2
- package/dist/src/tools/spec-loader.d.ts.map +1 -1
- package/dist/src/tools/spec-loader.js +119 -23
- package/dist/src/tools/spec-loader.js.map +1 -1
- package/dist/src/tools/spec-writer.d.ts +6 -1
- package/dist/src/tools/spec-writer.d.ts.map +1 -1
- package/dist/src/tools/spec-writer.js +29 -2
- package/dist/src/tools/spec-writer.js.map +1 -1
- package/dist/src/tools/store-knowhow.d.ts.map +1 -1
- package/dist/src/tools/store-knowhow.js +56 -27
- package/dist/src/tools/store-knowhow.js.map +1 -1
- package/package.json +1 -1
- package/workflows/analyze.md +2 -2
- package/workflows/auto-test.md +2 -2
- package/workflows/brainstorm.md +1 -1
- package/workflows/codebase-rebuild.md +1 -1
- package/workflows/codebase-refresh.md +1 -1
- package/workflows/debug.md +1 -1
- package/workflows/execute.md +3 -3
- package/workflows/harvest.md +13 -13
- package/workflows/integration-test.md +2 -2
- package/workflows/issue-discover.md +1 -1
- package/workflows/knowhow.md +72 -11
- package/workflows/learn.md +70 -58
- package/workflows/map.md +1 -1
- package/workflows/milestone-complete.md +2 -2
- package/workflows/plan.md +1 -1
- package/workflows/quick.md +1 -1
- package/workflows/refactor.md +1 -1
- package/workflows/retrospective.md +51 -57
- package/workflows/review.md +1 -1
- package/workflows/roadmap-common.md +1 -1
- package/workflows/specs-add.md +11 -2
- package/workflows/specs-load.md +17 -15
- package/workflows/test-gen.md +1 -1
- package/workflows/tools-spec.md +98 -0
- package/workflows/ui-codify-extract.md +373 -0
- package/workflows/ui-codify-knowhow.md +258 -0
- package/workflows/ui-codify-package.md +161 -0
- package/workflows/ui-codify.md +225 -0
- package/workflows/verify.md +1 -1
- package/workflows/wiki-connect.md +7 -7
- package/workflows/wiki-digest.md +13 -13
- package/workflows/wiki-manage.md +1 -1
|
@@ -20,6 +20,18 @@ export const CATEGORY_MAP = {
|
|
|
20
20
|
'test-conventions.md': 'test',
|
|
21
21
|
'review-standards.md': 'review',
|
|
22
22
|
'learnings.md': 'learning',
|
|
23
|
+
'tools.md': 'tools',
|
|
24
|
+
};
|
|
25
|
+
/** File → primary role mapping. Used by --role loading to identify main docs. */
|
|
26
|
+
export const FILE_ROLE_MAP = {
|
|
27
|
+
'coding-conventions.md': 'implement',
|
|
28
|
+
'architecture-constraints.md': 'plan',
|
|
29
|
+
'test-conventions.md': 'test',
|
|
30
|
+
'review-standards.md': 'review',
|
|
31
|
+
'debug-notes.md': 'analyze',
|
|
32
|
+
'quality-rules.md': 'review',
|
|
33
|
+
'learnings.md': 'implement',
|
|
34
|
+
'tools.md': '', // no primary role — per-entry roles
|
|
23
35
|
};
|
|
24
36
|
const SPECS_DIR = '.workflow/specs';
|
|
25
37
|
export const TEAM_SPECS_DIR = '.workflow/collab/specs';
|
|
@@ -64,10 +76,11 @@ export function loadSpecs(projectPath, category, uid, keyword, scope, options) {
|
|
|
64
76
|
// Team/personal are per-user — auto-creating them for arbitrary uids is wrong.
|
|
65
77
|
autoInitSeeds(join(projectPath, SPECS_DIR));
|
|
66
78
|
autoInitSeeds(globalDir);
|
|
79
|
+
const role = options?.role;
|
|
67
80
|
// First pass: collect results per layer (skip empty)
|
|
68
81
|
const layerResults = [];
|
|
69
82
|
for (const { dir, label } of layers) {
|
|
70
|
-
const { sections, matched } = loadFromDir(dir, category, keyword);
|
|
83
|
+
const { sections, matched } = loadFromDir(dir, category, keyword, role);
|
|
71
84
|
if (sections.length > 0) {
|
|
72
85
|
layerResults.push({ label, sections, matched });
|
|
73
86
|
}
|
|
@@ -117,8 +130,12 @@ function buildLayers(projectPath, uid, scope, globalDir) {
|
|
|
117
130
|
/**
|
|
118
131
|
* Load spec files from a single directory. Returns empty arrays if the
|
|
119
132
|
* directory does not exist or is unreadable.
|
|
133
|
+
*
|
|
134
|
+
* When `role` is provided:
|
|
135
|
+
* - Primary role docs (FILE_ROLE_MAP match) are loaded in full
|
|
136
|
+
* - Other files: only entries with matching roles attr are included
|
|
120
137
|
*/
|
|
121
|
-
function loadFromDir(specsDir, category, keyword) {
|
|
138
|
+
function loadFromDir(specsDir, category, keyword, role) {
|
|
122
139
|
if (!existsSync(specsDir))
|
|
123
140
|
return { sections: [], matched: [] };
|
|
124
141
|
let files;
|
|
@@ -131,7 +148,7 @@ function loadFromDir(specsDir, category, keyword) {
|
|
|
131
148
|
const sections = [];
|
|
132
149
|
const matched = [];
|
|
133
150
|
for (const file of files) {
|
|
134
|
-
if (!shouldInclude(file, category))
|
|
151
|
+
if (!shouldInclude(file, category, role))
|
|
135
152
|
continue;
|
|
136
153
|
const filePath = join(specsDir, file);
|
|
137
154
|
let raw;
|
|
@@ -144,7 +161,11 @@ function loadFromDir(specsDir, category, keyword) {
|
|
|
144
161
|
const body = stripFrontmatter(raw).trim();
|
|
145
162
|
if (!body)
|
|
146
163
|
continue;
|
|
147
|
-
|
|
164
|
+
// Determine load mode for this file
|
|
165
|
+
const fileRole = FILE_ROLE_MAP[file];
|
|
166
|
+
const isFullLoad = role && fileRole === role;
|
|
167
|
+
const workflowRoot = join(specsDir, '..');
|
|
168
|
+
const formatted = formatFileContent(body, keyword, isFullLoad ? undefined : role, workflowRoot);
|
|
148
169
|
if (formatted) {
|
|
149
170
|
sections.push(formatted);
|
|
150
171
|
matched.push(file);
|
|
@@ -155,49 +176,124 @@ function loadFromDir(specsDir, category, keyword) {
|
|
|
155
176
|
// ============================================================================
|
|
156
177
|
// Internal
|
|
157
178
|
// ============================================================================
|
|
158
|
-
function shouldInclude(filename, category) {
|
|
159
|
-
//
|
|
160
|
-
if (
|
|
179
|
+
function shouldInclude(filename, category, role) {
|
|
180
|
+
// Category filter takes precedence
|
|
181
|
+
if (category) {
|
|
182
|
+
const cat = CATEGORY_MAP[filename];
|
|
183
|
+
return cat ? cat === category : false;
|
|
184
|
+
}
|
|
185
|
+
// Role filter: include primary role docs + all other files (for entry-level filtering)
|
|
186
|
+
if (role) {
|
|
187
|
+
const fileRole = FILE_ROLE_MAP[filename];
|
|
188
|
+
// Primary doc for this role → always include (full load)
|
|
189
|
+
if (fileRole === role)
|
|
190
|
+
return true;
|
|
191
|
+
// Files with no role mapping or different primary role → include for entry-level filtering
|
|
161
192
|
return true;
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
// Unknown files: include only when no category filter
|
|
166
|
-
return false;
|
|
193
|
+
}
|
|
194
|
+
// No filter → load all
|
|
195
|
+
return true;
|
|
167
196
|
}
|
|
168
197
|
/**
|
|
169
198
|
* Parse file body, strip <spec-entry> tags, format clean output with metadata.
|
|
170
199
|
* When keyword is provided, only return matching entries.
|
|
200
|
+
* When role is provided, only return entries with matching roles attribute.
|
|
171
201
|
* Falls back to raw body for files with no structured entries.
|
|
172
202
|
*/
|
|
173
|
-
function formatFileContent(body, keyword) {
|
|
203
|
+
function formatFileContent(body, keyword, role, workflowRoot) {
|
|
174
204
|
const { entries, legacy } = parseSpecEntries(body);
|
|
175
205
|
// No structured entries → pass through raw body (or keyword-grep it)
|
|
176
206
|
if (entries.length === 0 && legacy.length === 0) {
|
|
207
|
+
// Role filtering: non-primary docs with no structured entries are skipped
|
|
208
|
+
if (role)
|
|
209
|
+
return null;
|
|
177
210
|
if (keyword) {
|
|
178
211
|
return body.toLowerCase().includes(keyword.toLowerCase()) ? body : null;
|
|
179
212
|
}
|
|
180
213
|
return body;
|
|
181
214
|
}
|
|
215
|
+
// Apply role filter at entry level
|
|
216
|
+
let filteredEntries = entries;
|
|
217
|
+
if (role) {
|
|
218
|
+
filteredEntries = entries.filter(e => e.roles.includes(role));
|
|
219
|
+
if (filteredEntries.length === 0)
|
|
220
|
+
return null;
|
|
221
|
+
}
|
|
182
222
|
const parts = [];
|
|
223
|
+
// Separate ref entries (lightweight display) from regular entries
|
|
224
|
+
const refEntries = filteredEntries.filter(e => e.ref);
|
|
225
|
+
const regularEntries = filteredEntries.filter(e => !e.ref);
|
|
183
226
|
if (keyword) {
|
|
184
227
|
const kw = keyword.toLowerCase();
|
|
185
|
-
const
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
228
|
+
const matchedRegular = regularEntries.filter(e => e.keywords.includes(kw));
|
|
229
|
+
const matchedRef = refEntries.filter(e => e.keywords.includes(kw));
|
|
230
|
+
if (matchedRegular.length > 0)
|
|
231
|
+
parts.push(formatSpecEntries(matchedRegular));
|
|
232
|
+
if (matchedRef.length > 0)
|
|
233
|
+
parts.push(matchedRef.map(e => formatRefEntry(e, workflowRoot)).join('\n\n---\n\n'));
|
|
234
|
+
if (!role) {
|
|
235
|
+
for (const leg of legacy) {
|
|
236
|
+
if (leg.content.toLowerCase().includes(kw))
|
|
237
|
+
parts.push(leg.content);
|
|
238
|
+
}
|
|
191
239
|
}
|
|
192
240
|
}
|
|
193
241
|
else {
|
|
194
|
-
if (
|
|
195
|
-
parts.push(formatSpecEntries(
|
|
196
|
-
|
|
197
|
-
parts.push(
|
|
242
|
+
if (regularEntries.length > 0)
|
|
243
|
+
parts.push(formatSpecEntries(regularEntries));
|
|
244
|
+
if (refEntries.length > 0)
|
|
245
|
+
parts.push(refEntries.map(e => formatRefEntry(e, workflowRoot)).join('\n\n---\n\n'));
|
|
246
|
+
if (!role) {
|
|
247
|
+
for (const leg of legacy)
|
|
248
|
+
parts.push(leg.content);
|
|
249
|
+
}
|
|
198
250
|
}
|
|
199
251
|
return parts.length > 0 ? parts.join('\n\n---\n\n') : null;
|
|
200
252
|
}
|
|
253
|
+
/**
|
|
254
|
+
* Format a ref entry as a lightweight summary with a load command hint.
|
|
255
|
+
*
|
|
256
|
+
* Summary resolution order:
|
|
257
|
+
* 1. YAML `summary` field from the referenced knowhow document
|
|
258
|
+
* 2. Spec-entry content body (first 200 chars after heading)
|
|
259
|
+
*/
|
|
260
|
+
function formatRefEntry(e, workflowRoot) {
|
|
261
|
+
const refStem = (e.ref ?? '').replace(/^knowhow\//, '').replace(/\.md$/, '');
|
|
262
|
+
const refSlug = refStem.replace(/^(KNW|TIP|TPL|RCP|REF|DCS|AST|BLP|DOC)-/i, '').toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/^-|-$/g, '');
|
|
263
|
+
const refId = `knowhow-${refSlug}`;
|
|
264
|
+
// Try to read YAML summary from the referenced knowhow document
|
|
265
|
+
let summary = resolveRefSummary(e.ref, workflowRoot);
|
|
266
|
+
// Fallback: extract summary from spec-entry content (strip heading)
|
|
267
|
+
if (!summary) {
|
|
268
|
+
summary = e.content;
|
|
269
|
+
const headingIdx = summary.indexOf('\n');
|
|
270
|
+
if (headingIdx !== -1 && summary.trimStart().startsWith('###')) {
|
|
271
|
+
summary = summary.slice(headingIdx).trim();
|
|
272
|
+
}
|
|
273
|
+
summary = summary.slice(0, 200).replace(/\s+/g, ' ').trim();
|
|
274
|
+
}
|
|
275
|
+
return `### ${e.title}\n\n${summary}\n\n\u2192 Detail: maestro wiki load ${refId}`;
|
|
276
|
+
}
|
|
277
|
+
/**
|
|
278
|
+
* Read a knowhow file's YAML frontmatter `summary` field.
|
|
279
|
+
* Returns null if the file doesn't exist or has no summary.
|
|
280
|
+
*/
|
|
281
|
+
function resolveRefSummary(ref, workflowRoot) {
|
|
282
|
+
if (!ref || !workflowRoot)
|
|
283
|
+
return null;
|
|
284
|
+
const absPath = join(workflowRoot, ref);
|
|
285
|
+
try {
|
|
286
|
+
const raw = readFileSync(absPath, 'utf-8');
|
|
287
|
+
const fmMatch = raw.match(/^---\s*\n([\s\S]*?)\n---/);
|
|
288
|
+
if (!fmMatch)
|
|
289
|
+
return null;
|
|
290
|
+
const summaryMatch = fmMatch[1].match(/^summary:\s*"?(.+?)"?\s*$/m);
|
|
291
|
+
return summaryMatch ? summaryMatch[1].trim() : null;
|
|
292
|
+
}
|
|
293
|
+
catch {
|
|
294
|
+
return null;
|
|
295
|
+
}
|
|
296
|
+
}
|
|
201
297
|
function stripFrontmatter(raw) {
|
|
202
298
|
const trimmed = raw.trimStart();
|
|
203
299
|
if (!trimmed.startsWith('---'))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec-loader.js","sourceRoot":"","sources":["../../../src/tools/spec-loader.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"spec-loader.js","sourceRoot":"","sources":["../../../src/tools/spec-loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,5 +20,10 @@ export interface SpecAddResult {
|
|
|
20
20
|
* - Skips duplicates (case-insensitive title match)
|
|
21
21
|
* - Formats entry using `formatNewEntry` and appends to file
|
|
22
22
|
*/
|
|
23
|
-
export declare function appendSpecEntry(projectPath: string, category: SpecCategory, title: string, content: string, keywords: string[], source?: string, scope?: SpecScope, uid?: string): SpecAddResult;
|
|
23
|
+
export declare function appendSpecEntry(projectPath: string, category: SpecCategory, title: string, content: string, keywords: string[], source?: string, scope?: SpecScope, uid?: string, roles?: string[]): SpecAddResult;
|
|
24
|
+
/**
|
|
25
|
+
* Append a spec index entry that references a knowhow document.
|
|
26
|
+
* The entry body is a summary, with a ref attribute pointing to the knowhow file.
|
|
27
|
+
*/
|
|
28
|
+
export declare function appendSpecEntryWithRef(projectPath: string, category: SpecCategory, title: string, summary: string, keywords: string[], ref: string, source?: string, scope?: SpecScope, uid?: string): SpecAddResult;
|
|
24
29
|
//# sourceMappingURL=spec-writer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec-writer.d.ts","sourceRoot":"","sources":["../../../src/tools/spec-writer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAgC,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAMnG,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,OAAO,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,YAAY,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;CACpB;AAiBD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,YAAY,EACtB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAAE,EAClB,MAAM,CAAC,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,SAAS,EACjB,GAAG,CAAC,EAAE,MAAM,GACX,aAAa,
|
|
1
|
+
{"version":3,"file":"spec-writer.d.ts","sourceRoot":"","sources":["../../../src/tools/spec-writer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAgC,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAMnG,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,OAAO,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,YAAY,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;CACpB;AAiBD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,YAAY,EACtB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAAE,EAClB,MAAM,CAAC,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,SAAS,EACjB,GAAG,CAAC,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,MAAM,EAAE,GACf,aAAa,CAmCf;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,YAAY,EACtB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAAE,EAClB,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,SAAS,EACjB,GAAG,CAAC,EAAE,MAAM,GACX,aAAa,CA8Bf"}
|
|
@@ -29,7 +29,7 @@ function categoryToFilename(category) {
|
|
|
29
29
|
* - Skips duplicates (case-insensitive title match)
|
|
30
30
|
* - Formats entry using `formatNewEntry` and appends to file
|
|
31
31
|
*/
|
|
32
|
-
export function appendSpecEntry(projectPath, category, title, content, keywords, source, scope, uid) {
|
|
32
|
+
export function appendSpecEntry(projectPath, category, title, content, keywords, source, scope, uid, roles) {
|
|
33
33
|
const specsDir = resolveSpecDir(projectPath, scope ?? 'project', uid);
|
|
34
34
|
const filename = categoryToFilename(category);
|
|
35
35
|
if (!filename) {
|
|
@@ -53,7 +53,34 @@ export function appendSpecEntry(projectPath, category, title, content, keywords,
|
|
|
53
53
|
}
|
|
54
54
|
// Generate and append entry
|
|
55
55
|
const date = new Date().toISOString().slice(0, 10);
|
|
56
|
-
const entry = formatNewEntry(category, keywords, date, title, content, source);
|
|
56
|
+
const entry = formatNewEntry(category, keywords, date, title, content, source, undefined, roles);
|
|
57
|
+
writeFileSync(filePath, existing + '\n\n' + entry, 'utf-8');
|
|
58
|
+
return { ok: true, file: filePath, category, title, duplicate: false };
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Append a spec index entry that references a knowhow document.
|
|
62
|
+
* The entry body is a summary, with a ref attribute pointing to the knowhow file.
|
|
63
|
+
*/
|
|
64
|
+
export function appendSpecEntryWithRef(projectPath, category, title, summary, keywords, ref, source, scope, uid) {
|
|
65
|
+
const specsDir = resolveSpecDir(projectPath, scope ?? 'project', uid);
|
|
66
|
+
const filename = categoryToFilename(category);
|
|
67
|
+
if (!filename) {
|
|
68
|
+
return { ok: false, file: '', category, title, duplicate: false };
|
|
69
|
+
}
|
|
70
|
+
if (!existsSync(specsDir)) {
|
|
71
|
+
mkdirSync(specsDir, { recursive: true });
|
|
72
|
+
}
|
|
73
|
+
const filePath = join(specsDir, filename);
|
|
74
|
+
if (!existsSync(filePath)) {
|
|
75
|
+
const headerTitle = filename.replace('.md', '').split('-').map(w => w[0].toUpperCase() + w.slice(1)).join(' ');
|
|
76
|
+
writeFileSync(filePath, `# ${headerTitle}\n\n## Entries\n\n`, 'utf-8');
|
|
77
|
+
}
|
|
78
|
+
const existing = readFileSync(filePath, 'utf-8');
|
|
79
|
+
if (existing.toLowerCase().includes(title.toLowerCase())) {
|
|
80
|
+
return { ok: true, file: filePath, category, title, duplicate: true };
|
|
81
|
+
}
|
|
82
|
+
const date = new Date().toISOString().slice(0, 10);
|
|
83
|
+
const entry = formatNewEntry(category, keywords, date, title, summary, source, ref);
|
|
57
84
|
writeFileSync(filePath, existing + '\n\n' + entry, 'utf-8');
|
|
58
85
|
return { ok: true, file: filePath, category, title, duplicate: false };
|
|
59
86
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec-writer.js","sourceRoot":"","sources":["../../../src/tools/spec-writer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAqC,MAAM,kBAAkB,CAAC;AAcnG,+EAA+E;AAC/E,uCAAuC;AACvC,+EAA+E;AAE/E,SAAS,kBAAkB,CAAC,QAAsB;IAChD,KAAK,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QAC3D,IAAI,GAAG,KAAK,QAAQ;YAAE,OAAO,QAAQ,CAAC;IACxC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,+EAA+E;AAC/E,aAAa;AACb,+EAA+E;AAE/E;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAC7B,WAAmB,EACnB,QAAsB,EACtB,KAAa,EACb,OAAe,EACf,QAAkB,EAClB,MAAe,EACf,KAAiB,EACjB,GAAY;
|
|
1
|
+
{"version":3,"file":"spec-writer.js","sourceRoot":"","sources":["../../../src/tools/spec-writer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store-knowhow.d.ts","sourceRoot":"","sources":["../../../src/tools/store-knowhow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"store-knowhow.d.ts","sourceRoot":"","sources":["../../../src/tools/store-knowhow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AA0NzE,eAAO,MAAM,MAAM,EAAE,UA2FpB,CAAC;AAIF,wBAAsB,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,CAkBrF"}
|
|
@@ -20,7 +20,7 @@ import { existsSync, mkdirSync, readFileSync, writeFileSync, readdirSync } from
|
|
|
20
20
|
import { join } from 'path';
|
|
21
21
|
import { getProjectRoot } from '../utils/path-validator.js';
|
|
22
22
|
// --- Types ---
|
|
23
|
-
const CATEGORIES = ['session', 'tip', 'template', 'recipe', 'reference', 'decision'];
|
|
23
|
+
const CATEGORIES = ['session', 'tip', 'template', 'recipe', 'reference', 'decision', 'asset', 'blueprint', 'document'];
|
|
24
24
|
const PREFIX_MAP = {
|
|
25
25
|
session: 'KNW',
|
|
26
26
|
tip: 'TIP',
|
|
@@ -28,6 +28,9 @@ const PREFIX_MAP = {
|
|
|
28
28
|
recipe: 'RCP',
|
|
29
29
|
reference: 'REF',
|
|
30
30
|
decision: 'DCS',
|
|
31
|
+
asset: 'AST',
|
|
32
|
+
blueprint: 'BLP',
|
|
33
|
+
document: 'DOC',
|
|
31
34
|
};
|
|
32
35
|
const DECISION_STATUSES = ['proposed', 'accepted', 'superseded'];
|
|
33
36
|
// --- Zod Schema ---
|
|
@@ -43,6 +46,8 @@ const ParamsSchema = z.object({
|
|
|
43
46
|
lang: z.string().optional(), // template: programming language
|
|
44
47
|
source: z.string().optional(), // reference: original URL
|
|
45
48
|
status: z.enum(DECISION_STATUSES).optional(), // decision: lifecycle status
|
|
49
|
+
assetType: z.string().optional(), // asset: asset subtype
|
|
50
|
+
codePaths: z.array(z.string()).optional(), // blueprint: related code paths
|
|
46
51
|
// search params
|
|
47
52
|
query: z.string().optional(),
|
|
48
53
|
limit: z.number().optional().default(20),
|
|
@@ -84,7 +89,7 @@ function parseFrontmatter(raw) {
|
|
|
84
89
|
}
|
|
85
90
|
// --- Operations ---
|
|
86
91
|
function executeAdd(params) {
|
|
87
|
-
const { type, title, body, tags, lang, source, status } = params;
|
|
92
|
+
const { type, title, body, tags, lang, source, status, assetType, codePaths } = params;
|
|
88
93
|
if (!type)
|
|
89
94
|
return { success: false, error: 'Parameter "type" is required for add operation' };
|
|
90
95
|
if (!title)
|
|
@@ -101,6 +106,12 @@ function executeAdd(params) {
|
|
|
101
106
|
if (status && type !== 'decision') {
|
|
102
107
|
return { success: false, error: 'Parameter "status" is only valid for type "decision"' };
|
|
103
108
|
}
|
|
109
|
+
if (assetType && type !== 'asset') {
|
|
110
|
+
return { success: false, error: 'Parameter "assetType" is only valid for type "asset"' };
|
|
111
|
+
}
|
|
112
|
+
if (codePaths && type !== 'blueprint') {
|
|
113
|
+
return { success: false, error: 'Parameter "codePaths" is only valid for type "blueprint"' };
|
|
114
|
+
}
|
|
104
115
|
const dir = getKnowhowDir();
|
|
105
116
|
if (!existsSync(dir))
|
|
106
117
|
mkdirSync(dir, { recursive: true });
|
|
@@ -111,7 +122,6 @@ function executeAdd(params) {
|
|
|
111
122
|
const fmLines = ['---'];
|
|
112
123
|
fmLines.push(`title: ${escapeYamlValue(title)}`);
|
|
113
124
|
fmLines.push(`type: ${type}`);
|
|
114
|
-
fmLines.push(`category: ${type}`);
|
|
115
125
|
fmLines.push(`created: ${now}`);
|
|
116
126
|
if (tags && tags.length > 0) {
|
|
117
127
|
fmLines.push(`tags:`);
|
|
@@ -125,6 +135,13 @@ function executeAdd(params) {
|
|
|
125
135
|
fmLines.push(`source: ${escapeYamlValue(source)}`);
|
|
126
136
|
if (status)
|
|
127
137
|
fmLines.push(`status: ${status}`);
|
|
138
|
+
if (assetType)
|
|
139
|
+
fmLines.push(`assetType: ${escapeYamlValue(assetType)}`);
|
|
140
|
+
if (codePaths && codePaths.length > 0) {
|
|
141
|
+
fmLines.push('codePaths:');
|
|
142
|
+
for (const p of codePaths)
|
|
143
|
+
fmLines.push(` - ${p}`);
|
|
144
|
+
}
|
|
128
145
|
fmLines.push('---', '', body);
|
|
129
146
|
writeFileSync(filePath, fmLines.join('\n'), 'utf-8');
|
|
130
147
|
return {
|
|
@@ -194,30 +211,33 @@ function executeSearch(params) {
|
|
|
194
211
|
// --- Tool Schema ---
|
|
195
212
|
export const schema = {
|
|
196
213
|
name: 'store_knowhow',
|
|
197
|
-
description: `Store reusable knowledge (knowhow) entries to .workflow/knowhow/.
|
|
198
|
-
|
|
199
|
-
**Operations:**
|
|
200
|
-
|
|
201
|
-
* **add** — Create a new knowhow entry.
|
|
202
|
-
Required: type, title, body
|
|
203
|
-
Type-specific fields:
|
|
204
|
-
template: lang (programming language)
|
|
205
|
-
reference: source (URL)
|
|
206
|
-
decision: status (proposed | accepted | superseded)
|
|
207
|
-
Optional: tags (string[])
|
|
208
|
-
|
|
209
|
-
* **search** — Full-text search knowhow entries.
|
|
210
|
-
Required: query
|
|
211
|
-
Optional: limit (default: 20)
|
|
212
|
-
|
|
213
|
-
**Types & prefixes:**
|
|
214
|
-
session
|
|
215
|
-
tip
|
|
216
|
-
template
|
|
217
|
-
recipe
|
|
218
|
-
reference
|
|
219
|
-
decision
|
|
220
|
-
|
|
214
|
+
description: `Store reusable knowledge (knowhow) entries to .workflow/knowhow/.
|
|
215
|
+
|
|
216
|
+
**Operations:**
|
|
217
|
+
|
|
218
|
+
* **add** — Create a new knowhow entry.
|
|
219
|
+
Required: type, title, body
|
|
220
|
+
Type-specific fields:
|
|
221
|
+
template: lang (programming language)
|
|
222
|
+
reference: source (URL)
|
|
223
|
+
decision: status (proposed | accepted | superseded)
|
|
224
|
+
Optional: tags (string[])
|
|
225
|
+
|
|
226
|
+
* **search** — Full-text search knowhow entries.
|
|
227
|
+
Required: query
|
|
228
|
+
Optional: limit (default: 20)
|
|
229
|
+
|
|
230
|
+
**Types & prefixes:**
|
|
231
|
+
session → KNW-{ts}.md session state recovery
|
|
232
|
+
tip → TIP-{ts}.md quick note / reminder
|
|
233
|
+
template → TPL-{ts}.md code/config template
|
|
234
|
+
recipe → RCP-{ts}.md step-by-step guide
|
|
235
|
+
reference → REF-{ts}.md external doc summary
|
|
236
|
+
decision → DCS-{ts}.md architecture decision record
|
|
237
|
+
asset → AST-{ts}.md reusable asset (prompt, config, workflow)
|
|
238
|
+
blueprint → BLP-{ts}.md architecture blueprint with code paths
|
|
239
|
+
document → DOC-{ts}.md general document / fallback category
|
|
240
|
+
|
|
221
241
|
Entries are automatically indexed by WikiIndexer (type=knowhow, category={type}).`,
|
|
222
242
|
inputSchema: {
|
|
223
243
|
type: 'object',
|
|
@@ -259,6 +279,15 @@ Entries are automatically indexed by WikiIndexer (type=knowhow, category={type})
|
|
|
259
279
|
enum: DECISION_STATUSES,
|
|
260
280
|
description: '[decision] Lifecycle status: proposed → accepted → superseded.',
|
|
261
281
|
},
|
|
282
|
+
assetType: {
|
|
283
|
+
type: 'string',
|
|
284
|
+
description: '[asset] Asset subtype (e.g. prompt, config, workflow).',
|
|
285
|
+
},
|
|
286
|
+
codePaths: {
|
|
287
|
+
type: 'array',
|
|
288
|
+
items: { type: 'string' },
|
|
289
|
+
description: '[blueprint] Related code paths.',
|
|
290
|
+
},
|
|
262
291
|
// search
|
|
263
292
|
query: {
|
|
264
293
|
type: 'string',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store-knowhow.js","sourceRoot":"","sources":["../../../src/tools/store-knowhow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,IAAI,CAAC;AACrF,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,gBAAgB;AAEhB,MAAM,UAAU,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,CAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"store-knowhow.js","sourceRoot":"","sources":["../../../src/tools/store-knowhow.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/workflows/analyze.md
CHANGED
|
@@ -106,12 +106,12 @@ Parse $ARGUMENTS to determine mode and flags:
|
|
|
106
106
|
3. Read `.workflow/state.json` → `current_milestone`, `artifacts[]`, `accumulated_context` (key_decisions, deferred items, blockers)
|
|
107
107
|
4. Find prior analyze artifacts from `state.json.artifacts[]` where type=analyze and same milestone → load their `context.md` to skip already-decided areas
|
|
108
108
|
5. Find brainstorm artifacts from `state.json.artifacts[]` where type=brainstorm and same milestone → load `guidance-specification.md` if exists
|
|
109
|
-
6. Load project specs: `specs_content = maestro spec load --
|
|
109
|
+
6. Load project specs: `specs_content = maestro spec load --role plan`
|
|
110
110
|
|
|
111
111
|
**Load prior context** (adhoc/standalone scope):
|
|
112
112
|
1. Read `.workflow/project.md` (if exists) — project vision, Validated requirements, Active requirements, Key Decisions
|
|
113
113
|
2. Read `.workflow/state.json` (if exists) → `accumulated_context` (key_decisions, deferred, blockers)
|
|
114
|
-
3. Load project specs: `specs_content = maestro spec load --
|
|
114
|
+
3. Load project specs: `specs_content = maestro spec load --role plan`
|
|
115
115
|
|
|
116
116
|
**Quick mode routing**: If QUICK_MODE, skip to Step 8 (Decision Extraction) after loading context.
|
|
117
117
|
|
package/workflows/auto-test.md
CHANGED
|
@@ -26,8 +26,8 @@ Only Step 2 diverges (scenario source). Everything else is shared.
|
|
|
26
26
|
|
|
27
27
|
**Load specs:**
|
|
28
28
|
```
|
|
29
|
-
specs_test = maestro spec load --
|
|
30
|
-
specs_arch = maestro spec load --
|
|
29
|
+
specs_test = maestro spec load --role test
|
|
30
|
+
specs_arch = maestro spec load --role plan
|
|
31
31
|
```
|
|
32
32
|
|
|
33
33
|
`specs_test` for test conventions (Steps 3-5); `specs_arch` for module boundaries (Step 2).
|
package/workflows/brainstorm.md
CHANGED
|
@@ -135,7 +135,7 @@ Parse $ARGUMENTS to determine execution mode:
|
|
|
135
135
|
### Step 1.5: Load Project Specs
|
|
136
136
|
|
|
137
137
|
```
|
|
138
|
-
specs_content = maestro spec load --
|
|
138
|
+
specs_content = maestro spec load --role plan
|
|
139
139
|
```
|
|
140
140
|
|
|
141
141
|
Pass to conceptual-planning-agent in Step 4 for architecture-aware role analysis.
|
|
@@ -52,7 +52,7 @@ Build affected sets:
|
|
|
52
52
|
### Step 3.5: Load Project Specs
|
|
53
53
|
|
|
54
54
|
```
|
|
55
|
-
specs_content = maestro spec load --
|
|
55
|
+
specs_content = maestro spec load --role plan
|
|
56
56
|
```
|
|
57
57
|
|
|
58
58
|
Used in Step 4-5 to validate refreshed docs against architectural expectations.
|
package/workflows/debug.md
CHANGED
|
@@ -53,7 +53,7 @@ If resuming: load understanding.md + evidence.ndjson, spawn continuation agent.
|
|
|
53
53
|
### Step 1.5: Load Project Specs
|
|
54
54
|
|
|
55
55
|
```
|
|
56
|
-
specs_content = maestro spec load --
|
|
56
|
+
specs_content = maestro spec load --role analyze
|
|
57
57
|
```
|
|
58
58
|
|
|
59
59
|
Pass to debug agents as prior knowledge (known issues, root causes, workarounds).
|
package/workflows/execute.md
CHANGED
|
@@ -175,7 +175,7 @@ Build execution_queue from plan.json.waves, including only waves with pending (n
|
|
|
175
175
|
## E1.5: Load Project Specs
|
|
176
176
|
|
|
177
177
|
```
|
|
178
|
-
specs_content = maestro spec load --
|
|
178
|
+
specs_content = maestro spec load --role implement
|
|
179
179
|
```
|
|
180
180
|
|
|
181
181
|
Pass specs_content to each executor agent in E2.
|
|
@@ -457,9 +457,9 @@ Append to state.json.artifacts (atomic write)
|
|
|
457
457
|
|
|
458
458
|
// Incremental learning extraction
|
|
459
459
|
Read all .summaries/TASK-*-summary.md; extract strategy adjustments, patterns, pitfalls
|
|
460
|
-
Deduplicate against existing learnings (maestro spec load --
|
|
460
|
+
Deduplicate against existing learnings (maestro spec load --role implement)
|
|
461
461
|
Append unique entries to .workflow/specs/learnings.md using <spec-entry> closed-tag format:
|
|
462
|
-
|
|
462
|
+
roles="implement", keywords (3-5 terms), date, source="execute"
|
|
463
463
|
|
|
464
464
|
Mark artifact.harvested = true; write state.json (atomic)
|
|
465
465
|
```
|