@slowcook-ai/cli 0.11.3 → 0.11.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/refine/agent.d.ts +35 -0
- package/dist/commands/refine/agent.d.ts.map +1 -1
- package/dist/commands/refine/agent.js +152 -3
- package/dist/commands/refine/agent.js.map +1 -1
- package/dist/commands/refine/index.d.ts.map +1 -1
- package/dist/commands/refine/index.js +55 -17
- package/dist/commands/refine/index.js.map +1 -1
- package/dist/commands/refine/prompts.d.ts +8 -0
- package/dist/commands/refine/prompts.d.ts.map +1 -1
- package/dist/commands/refine/prompts.js +47 -2
- package/dist/commands/refine/prompts.js.map +1 -1
- package/dist/commands/refine/spec-yaml.d.ts +429 -6
- package/dist/commands/refine/spec-yaml.d.ts.map +1 -1
- package/dist/commands/refine/spec-yaml.js +1 -1
- package/dist/commands/refine/spec-yaml.js.map +1 -1
- package/package.json +2 -2
|
@@ -71,5 +71,40 @@ export type AgentOutput = {
|
|
|
71
71
|
spec: Spec;
|
|
72
72
|
};
|
|
73
73
|
export declare function parseAgentOutput(raw: string, ctx: ParseContext): AgentOutput;
|
|
74
|
+
export interface ResubmitContext {
|
|
75
|
+
prNumber: number;
|
|
76
|
+
repoRoot: string;
|
|
77
|
+
forge: ForgeAdapter;
|
|
78
|
+
llm: LlmClient;
|
|
79
|
+
refineModel: string;
|
|
80
|
+
cliVersion: string;
|
|
81
|
+
baseBranch: string;
|
|
82
|
+
now: Date;
|
|
83
|
+
}
|
|
84
|
+
export type ResubmitOutcome = {
|
|
85
|
+
kind: "resubmitted";
|
|
86
|
+
specPath: string;
|
|
87
|
+
branch: string;
|
|
88
|
+
} | {
|
|
89
|
+
kind: "noop";
|
|
90
|
+
reason: string;
|
|
91
|
+
};
|
|
92
|
+
/**
|
|
93
|
+
* Amend a spec on its existing PR branch based on PR review comments.
|
|
94
|
+
*
|
|
95
|
+
* Flow:
|
|
96
|
+
* 1. Detect story id from current branch
|
|
97
|
+
* 2. Load current spec YAML from disk
|
|
98
|
+
* 3. Fetch PR comments — filter to PM replies since the most recent
|
|
99
|
+
* spec-author commit (agent's own edits don't count as feedback)
|
|
100
|
+
* 4. Call LLM in amendment mode: old spec + feedback → new spec
|
|
101
|
+
* 5. Parse emitted YAML, run through spec-body synth + proposals validator
|
|
102
|
+
* 6. Write updated spec, stage, commit, force-push, post summary comment
|
|
103
|
+
*
|
|
104
|
+
* Kept intentionally narrow: no relationship analysis (spec already
|
|
105
|
+
* exists), no supersede logic (that's refine-proper's job on a new
|
|
106
|
+
* story), no test manifest changes.
|
|
107
|
+
*/
|
|
108
|
+
export declare function runResubmitRefinement(ctx: ResubmitContext): Promise<ResubmitOutcome>;
|
|
74
109
|
export {};
|
|
75
110
|
//# sourceMappingURL=agent.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/commands/refine/agent.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAc,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/commands/refine/agent.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAc,MAAM,UAAU,CAAC;AAItD,OAAO,KAAK,EACV,YAAY,EAGZ,IAAI,EAEL,MAAM,mBAAmB,CAAC;AA8B3B,eAAO,MAAM,oBAAoB,mBAAmB,CAAC;AACrD,eAAO,MAAM,2BAA2B,0BAA0B,CAAC;AACnE,eAAO,MAAM,qBAAqB,oBAAoB,CAAC;AACvD,eAAO,MAAM,oBAAoB,mBAAmB,CAAC;AACrD,eAAO,MAAM,gBAAgB,eAAe,CAAC;AAC7C,eAAO,MAAM,sBAAsB,qBAAqB,CAAC;AAEzD;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,0DAA2C,CAAC;AAErE,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,YAAY,CAAC;IACpB,GAAG,EAAE,SAAS,CAAC;IACf,iDAAiD;IACjD,WAAW,EAAE,MAAM,CAAC;IACpB,oDAAoD;IACpD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mEAAmE;IACnE,UAAU,EAAE,MAAM,CAAC;IACnB,6CAA6C;IAC7C,UAAU,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,GAAG,EAAE,IAAI,CAAC;CACX;AAED,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC/C;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC3E;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,eAAe,EAAE,MAAM,EAAE,CAAA;CAAE,GACtD;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,WAAW,EAAE,MAAM,EAAE,CAAA;CAAE,GAClD;IAAE,IAAI,EAAE,uBAAuB,CAAC;IAAC,eAAe,EAAE,MAAM,EAAE,CAAA;CAAE,GAC5D;IAAE,IAAI,EAAE,yBAAyB,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,GACzD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAKrC,wBAAsB,aAAa,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CA+N9E;AA4DD,UAAU,YAAY;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,CAAC;AAyCjC,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,YAAY,GAChB,WAAW,CAiFb;AA4CD,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,YAAY,CAAC;IACpB,GAAG,EAAE,SAAS,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,IAAI,CAAC;CACX;AAED,MAAM,MAAM,eAAe,GACvB;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACzD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAoBrC;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,eAAe,GACnB,OAAO,CAAC,eAAe,CAAC,CAgH1B"}
|
|
@@ -2,8 +2,12 @@ import YAML from "yaml";
|
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
import { costMarker } from "./llm.js";
|
|
4
4
|
import { synthesizeProposalsFromSpec } from "./proposals-synth.js";
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
5
|
+
import { SpecProposalsSchema } from "./spec-yaml.js";
|
|
6
|
+
import { REFINEMENT_ANALYST_SYSTEM, SPEC_CHECKLIST_MD, AMENDMENT_SYSTEM, draftPrTitle, draftPrBody, } from "./prompts.js";
|
|
7
|
+
import { readIndex, writeIndex, writeSpec, readSpec, listActiveSpecs, nextStoryId, entryFromSpec, SPECS_DIR, } from "./spec-yaml.js";
|
|
8
|
+
import { execSync } from "node:child_process";
|
|
9
|
+
import { readFileSync } from "node:fs";
|
|
10
|
+
import { join } from "node:path";
|
|
7
11
|
import { buildProjectContext } from "./context.js";
|
|
8
12
|
import { analyzeRelationship, contradictionCommentBody, overlapCommentBody, followUpCommentBody, } from "./relationship.js";
|
|
9
13
|
import { applySupersede } from "@slowcook-ai/core";
|
|
@@ -323,8 +327,20 @@ export function parseAgentOutput(raw, ctx) {
|
|
|
323
327
|
acceptance_scenarios: d.acceptance_scenarios,
|
|
324
328
|
non_goals: d.non_goals,
|
|
325
329
|
related_specs: d.related_specs,
|
|
326
|
-
proposals: (d.proposals ?? undefined),
|
|
327
330
|
};
|
|
331
|
+
// 0.11.3 hardening — validate LLM-emitted proposals against the
|
|
332
|
+
// strict schema before downstream consumers see them. Malformed
|
|
333
|
+
// proposals (missing required fields, wrong shape) get dropped
|
|
334
|
+
// rather than crashing the PR-body renderer. Valid ones pass
|
|
335
|
+
// through intact.
|
|
336
|
+
if (d.proposals) {
|
|
337
|
+
const proposalsParse = SpecProposalsSchema.safeParse(d.proposals);
|
|
338
|
+
if (proposalsParse.success) {
|
|
339
|
+
spec.proposals = proposalsParse.data;
|
|
340
|
+
}
|
|
341
|
+
// Malformed proposals: drop silently; synth will fill gaps
|
|
342
|
+
// below, and the spec file stays valid with proposals absent.
|
|
343
|
+
}
|
|
328
344
|
// 0.11.3 — deterministic proposals synthesis from spec body.
|
|
329
345
|
// The LLM frequently inlines structure (routes, auth, schema
|
|
330
346
|
// hints) into invariants / api_contract / ui_behavior rather
|
|
@@ -378,4 +394,137 @@ function extractYamlBlock(s) {
|
|
|
378
394
|
}
|
|
379
395
|
return null;
|
|
380
396
|
}
|
|
397
|
+
/**
|
|
398
|
+
* Read the story id from the current git branch (expected pattern:
|
|
399
|
+
* `slowcook/spec/story-<id>`). CLI workflow checks out the PR branch
|
|
400
|
+
* before invoking us, so `git branch --show-current` is authoritative.
|
|
401
|
+
*/
|
|
402
|
+
function detectStoryIdFromBranch(repoRoot) {
|
|
403
|
+
try {
|
|
404
|
+
const branch = execSync("git branch --show-current", {
|
|
405
|
+
cwd: repoRoot,
|
|
406
|
+
encoding: "utf8",
|
|
407
|
+
}).trim();
|
|
408
|
+
const m = branch.match(/^slowcook\/spec\/story-(.+)$/);
|
|
409
|
+
return m && m[1] ? m[1] : null;
|
|
410
|
+
}
|
|
411
|
+
catch {
|
|
412
|
+
return null;
|
|
413
|
+
}
|
|
414
|
+
}
|
|
415
|
+
/**
|
|
416
|
+
* Amend a spec on its existing PR branch based on PR review comments.
|
|
417
|
+
*
|
|
418
|
+
* Flow:
|
|
419
|
+
* 1. Detect story id from current branch
|
|
420
|
+
* 2. Load current spec YAML from disk
|
|
421
|
+
* 3. Fetch PR comments — filter to PM replies since the most recent
|
|
422
|
+
* spec-author commit (agent's own edits don't count as feedback)
|
|
423
|
+
* 4. Call LLM in amendment mode: old spec + feedback → new spec
|
|
424
|
+
* 5. Parse emitted YAML, run through spec-body synth + proposals validator
|
|
425
|
+
* 6. Write updated spec, stage, commit, force-push, post summary comment
|
|
426
|
+
*
|
|
427
|
+
* Kept intentionally narrow: no relationship analysis (spec already
|
|
428
|
+
* exists), no supersede logic (that's refine-proper's job on a new
|
|
429
|
+
* story), no test manifest changes.
|
|
430
|
+
*/
|
|
431
|
+
export async function runResubmitRefinement(ctx) {
|
|
432
|
+
const storyId = detectStoryIdFromBranch(ctx.repoRoot);
|
|
433
|
+
if (!storyId) {
|
|
434
|
+
return {
|
|
435
|
+
kind: "noop",
|
|
436
|
+
reason: "could not detect story id from current branch — expected `slowcook/spec/story-N` pattern",
|
|
437
|
+
};
|
|
438
|
+
}
|
|
439
|
+
let spec;
|
|
440
|
+
try {
|
|
441
|
+
spec = readSpec(ctx.repoRoot, storyId);
|
|
442
|
+
}
|
|
443
|
+
catch (e) {
|
|
444
|
+
return {
|
|
445
|
+
kind: "noop",
|
|
446
|
+
reason: `could not read spec for story-${storyId}: ${e.message}`,
|
|
447
|
+
};
|
|
448
|
+
}
|
|
449
|
+
// PR comments — listIssueComments covers PR timeline comments. We
|
|
450
|
+
// want PM feedback only; filter out bot-authored agent brand-header
|
|
451
|
+
// comments so we don't feed the agent its own prior output.
|
|
452
|
+
const comments = await ctx.forge.listIssueComments(ctx.prNumber);
|
|
453
|
+
const pmComments = comments.filter((c) => {
|
|
454
|
+
const body = c.body ?? "";
|
|
455
|
+
if (body.startsWith("### slowcook ·"))
|
|
456
|
+
return false;
|
|
457
|
+
return true;
|
|
458
|
+
});
|
|
459
|
+
if (pmComments.length === 0) {
|
|
460
|
+
return {
|
|
461
|
+
kind: "noop",
|
|
462
|
+
reason: "no PM comments to process on the PR",
|
|
463
|
+
};
|
|
464
|
+
}
|
|
465
|
+
const feedback = pmComments
|
|
466
|
+
.map((c) => `— @${c.author} at ${c.created_at}:\n${c.body}`)
|
|
467
|
+
.join("\n\n---\n\n");
|
|
468
|
+
const projectContext = buildProjectContext(ctx.repoRoot);
|
|
469
|
+
const systemPrompt = AMENDMENT_SYSTEM(projectContext);
|
|
470
|
+
const userMessage = `## Current spec (story-${storyId})\n\n\`\`\`yaml\n${YAML.stringify(spec)}\n\`\`\`\n\n` +
|
|
471
|
+
`## PM feedback on the spec PR\n\n${feedback}\n\n` +
|
|
472
|
+
`Produce the AMENDED spec YAML applying the feedback. Preserve anything the feedback doesn't touch. Start your response with \`---\` and emit only YAML (no prose wrapper).`;
|
|
473
|
+
const response = await ctx.llm.complete({
|
|
474
|
+
system: systemPrompt,
|
|
475
|
+
cacheSystem: true,
|
|
476
|
+
model: ctx.refineModel,
|
|
477
|
+
messages: [{ role: "user", content: userMessage }],
|
|
478
|
+
maxTokens: 8192,
|
|
479
|
+
});
|
|
480
|
+
const parsed = parseAgentOutput(response.text, {
|
|
481
|
+
storyId,
|
|
482
|
+
issueNumber: parseInt((spec.source_issue ?? "#0").replace("#", ""), 10) || 0,
|
|
483
|
+
createdAt: spec.created_at,
|
|
484
|
+
supersedes: spec.supersedes,
|
|
485
|
+
cliVersion: ctx.cliVersion,
|
|
486
|
+
});
|
|
487
|
+
if (parsed.kind !== "spec") {
|
|
488
|
+
return {
|
|
489
|
+
kind: "noop",
|
|
490
|
+
reason: "agent did not emit a spec in the amendment round",
|
|
491
|
+
};
|
|
492
|
+
}
|
|
493
|
+
// Write, stage, commit, force-push
|
|
494
|
+
const specPath = writeSpec(ctx.repoRoot, parsed.spec);
|
|
495
|
+
await ctx.forge.git.stage(join(SPECS_DIR, `story-${storyId}.yaml`));
|
|
496
|
+
await ctx.forge.git.commit(`refine: resubmit story-${storyId} per PR #${ctx.prNumber} feedback`);
|
|
497
|
+
const branch = `slowcook/spec/story-${storyId}`;
|
|
498
|
+
await ctx.forge.git.push(branch);
|
|
499
|
+
// Post a summary comment on the PR
|
|
500
|
+
try {
|
|
501
|
+
const costUsd = response.costUsd;
|
|
502
|
+
const marker = costMarker({
|
|
503
|
+
agent: "refine",
|
|
504
|
+
usd: costUsd,
|
|
505
|
+
tokensIn: response.usage.inputTokens,
|
|
506
|
+
tokensOut: response.usage.outputTokens,
|
|
507
|
+
cacheRead: response.usage.cacheReadTokens,
|
|
508
|
+
cacheCreate: response.usage.cacheCreateTokens,
|
|
509
|
+
model: response.model,
|
|
510
|
+
round: "resubmit",
|
|
511
|
+
});
|
|
512
|
+
const body = `${BRAND_HEADER}Amended spec per your feedback. Force-pushed to \`${branch}\`; ` +
|
|
513
|
+
`the PR diff reflects the new spec.\n\n${marker}`;
|
|
514
|
+
await ctx.forge.createIssueComment(ctx.prNumber, body);
|
|
515
|
+
}
|
|
516
|
+
catch {
|
|
517
|
+
/* best effort */
|
|
518
|
+
}
|
|
519
|
+
// Read the file back from disk and verify the content we just wrote
|
|
520
|
+
// contains the expected story_id — catches the case where the YAML
|
|
521
|
+
// ended up at a different path than expected.
|
|
522
|
+
try {
|
|
523
|
+
void readFileSync(specPath, "utf8");
|
|
524
|
+
}
|
|
525
|
+
catch {
|
|
526
|
+
/* already in error path if this fails */
|
|
527
|
+
}
|
|
528
|
+
return { kind: "resubmitted", specPath, branch };
|
|
529
|
+
}
|
|
381
530
|
//# sourceMappingURL=agent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/commands/refine/agent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/commands/refine/agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/refine/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/refine/index.ts"],"names":[],"mappings":"AA0IA,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA+G9E"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { execSync } from "node:child_process";
|
|
2
2
|
import { GitHubAdapter } from "@slowcook-ai/forge-github";
|
|
3
3
|
import { AnthropicClient } from "./llm.js";
|
|
4
|
-
import { runRefinement } from "./agent.js";
|
|
4
|
+
import { runRefinement, runResubmitRefinement, } from "./agent.js";
|
|
5
5
|
function parseArgs(argv) {
|
|
6
6
|
const args = {
|
|
7
7
|
issueNumber: 0,
|
|
8
|
+
prNumber: 0,
|
|
8
9
|
repoRoot: process.cwd(),
|
|
9
10
|
baseBranch: "main",
|
|
10
11
|
refineModel: "claude-opus-4-7",
|
|
@@ -17,6 +18,10 @@ function parseArgs(argv) {
|
|
|
17
18
|
args.issueNumber = parseInt(next, 10);
|
|
18
19
|
i++;
|
|
19
20
|
}
|
|
21
|
+
else if (arg === "--pr" && next) {
|
|
22
|
+
args.prNumber = parseInt(next, 10);
|
|
23
|
+
i++;
|
|
24
|
+
}
|
|
20
25
|
else if (arg === "--cwd" && next) {
|
|
21
26
|
args.repoRoot = next;
|
|
22
27
|
i++;
|
|
@@ -46,8 +51,11 @@ function parseArgs(argv) {
|
|
|
46
51
|
process.exit(0);
|
|
47
52
|
}
|
|
48
53
|
}
|
|
49
|
-
|
|
50
|
-
|
|
54
|
+
// Exactly one of --issue / --pr required
|
|
55
|
+
const hasIssue = !!args.issueNumber && !isNaN(args.issueNumber);
|
|
56
|
+
const hasPr = !!args.prNumber && !isNaN(args.prNumber);
|
|
57
|
+
if (hasIssue === hasPr) {
|
|
58
|
+
console.error("Missing or ambiguous target: pass exactly one of --issue <number> OR --pr <number>.");
|
|
51
59
|
printHelp();
|
|
52
60
|
process.exit(64);
|
|
53
61
|
}
|
|
@@ -68,10 +76,15 @@ Re-run on every new PM comment (typically via a GitHub Actions workflow
|
|
|
68
76
|
triggered by issue_comment events).
|
|
69
77
|
|
|
70
78
|
Usage:
|
|
71
|
-
slowcook refine --issue <number> [options]
|
|
79
|
+
slowcook refine --issue <number> [options] # original issue-driven refine
|
|
80
|
+
slowcook refine --pr <number> [options] # 0.11.5+ PR-driven resubmit
|
|
72
81
|
|
|
73
82
|
Options:
|
|
74
|
-
--issue <number> Issue to refine (
|
|
83
|
+
--issue <number> Issue to refine (exclusive with --pr)
|
|
84
|
+
--pr <number> PR to resubmit (0.11.5+). Reads PM comments
|
|
85
|
+
on the PR, amends the spec on the same branch,
|
|
86
|
+
force-pushes, posts summary comment. Exclusive
|
|
87
|
+
with --issue.
|
|
75
88
|
--cwd <path> Repo working directory (default: current dir)
|
|
76
89
|
--owner <login> Repo owner (default: parsed from 'git remote get-url origin')
|
|
77
90
|
--repo <name> Repo name (default: parsed from 'git remote get-url origin')
|
|
@@ -130,19 +143,44 @@ export async function refine(argv, cliVersion) {
|
|
|
130
143
|
}
|
|
131
144
|
const forge = new GitHubAdapter({ owner, repo, token: githubToken });
|
|
132
145
|
const llm = new AnthropicClient(anthropicKey);
|
|
133
|
-
const ctx = {
|
|
134
|
-
issueNumber: args.issueNumber,
|
|
135
|
-
repoRoot: args.repoRoot,
|
|
136
|
-
forge,
|
|
137
|
-
llm,
|
|
138
|
-
refineModel: args.refineModel,
|
|
139
|
-
relationshipModel: args.relationshipModel,
|
|
140
|
-
cliVersion,
|
|
141
|
-
baseBranch: args.baseBranch,
|
|
142
|
-
now: new Date(),
|
|
143
|
-
};
|
|
144
|
-
console.log(`slowcook refine · issue #${args.issueNumber} on ${owner}/${repo} (refine model: ${args.refineModel})`);
|
|
145
146
|
try {
|
|
147
|
+
if (args.prNumber) {
|
|
148
|
+
// 0.11.5+ — PR-driven resubmit path
|
|
149
|
+
const ctx = {
|
|
150
|
+
prNumber: args.prNumber,
|
|
151
|
+
repoRoot: args.repoRoot,
|
|
152
|
+
forge,
|
|
153
|
+
llm,
|
|
154
|
+
refineModel: args.refineModel,
|
|
155
|
+
cliVersion,
|
|
156
|
+
baseBranch: args.baseBranch,
|
|
157
|
+
now: new Date(),
|
|
158
|
+
};
|
|
159
|
+
console.log(`slowcook refine · resubmit on PR #${args.prNumber} on ${owner}/${repo} (refine model: ${args.refineModel})`);
|
|
160
|
+
const outcome = await runResubmitRefinement(ctx);
|
|
161
|
+
switch (outcome.kind) {
|
|
162
|
+
case "resubmitted":
|
|
163
|
+
console.log(`Spec amended: ${outcome.specPath}`);
|
|
164
|
+
console.log(`Pushed to branch ${outcome.branch}.`);
|
|
165
|
+
break;
|
|
166
|
+
case "noop":
|
|
167
|
+
console.log(`Noop: ${outcome.reason}.`);
|
|
168
|
+
break;
|
|
169
|
+
}
|
|
170
|
+
return;
|
|
171
|
+
}
|
|
172
|
+
const ctx = {
|
|
173
|
+
issueNumber: args.issueNumber,
|
|
174
|
+
repoRoot: args.repoRoot,
|
|
175
|
+
forge,
|
|
176
|
+
llm,
|
|
177
|
+
refineModel: args.refineModel,
|
|
178
|
+
relationshipModel: args.relationshipModel,
|
|
179
|
+
cliVersion,
|
|
180
|
+
baseBranch: args.baseBranch,
|
|
181
|
+
now: new Date(),
|
|
182
|
+
};
|
|
183
|
+
console.log(`slowcook refine · issue #${args.issueNumber} on ${owner}/${repo} (refine model: ${args.refineModel})`);
|
|
146
184
|
const outcome = await runRefinement(ctx);
|
|
147
185
|
switch (outcome.kind) {
|
|
148
186
|
case "questions-posted":
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/refine/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/refine/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,14 @@
|
|
|
13
13
|
export declare const SPEC_CHECKLIST_MD = "\nA complete, testable spec covers ALL of these items. If any are missing or ambiguous, ask about them:\n\n1. **Actors** \u2014 who performs the action? (e.g., authenticated member, admin, anonymous visitor)\n2. **Preconditions** \u2014 what must be true before the action can happen? Auth status, state of prior data, feature flags, etc.\n3. **Invariants** \u2014 what must remain true regardless of input or timing? (e.g., \"ration never exceeds 15\", \"one vote per user per poll\")\n4. **API contract** (if applicable) \u2014 HTTP method, path, request shape, success response shape, error codes and when each fires\n5. **UI behavior** per relevant viewport \u00D7 color scheme \u2014 what the user sees and how they interact, at minimum: desktop_light, mobile_light, and mobile_dark\n6. **Acceptance scenarios** \u2014 concrete Given/When/Then examples that an engineer can turn into tests. Aim for 3-6, covering happy path AND edge cases.\n7. **Non-goals** \u2014 what is explicitly out of scope for this story? (e.g., \"editing reactions is a separate story\")\n";
|
|
14
14
|
export declare const RELATIONSHIP_ANALYST_SYSTEM = "You are a careful spec analyst for the slowcook brewing harness.\n\nGiven a new GitHub issue and a list of existing specs (summaries + selected full bodies), classify the relationship. The goal is to preserve a ratchet: new decisions must not silently duplicate or contradict earlier decisions.\n\nClassify as one of:\n - \"new_or_independent\": this issue addresses a concern not covered by any active spec.\n - \"follow_up\": this issue **fulfills scope that an active spec explicitly deferred via its `non_goals` list**. This is the \"builds on top\" pattern \u2014 a prior story intentionally left something out to stay shippable, and this issue picks it up. **Not** an overlap, even if the two stories touch the same surface (same page, same table, same route file). The prior spec's non-goal is a positive invitation: \"someone should do this later, just not in that story.\" Refinement continues normally; the resulting spec will list the predecessor in `related_specs`.\n - \"overlap\": this issue substantially **re-defines or re-implements active scope** that's already covered by a spec (same API with the same behaviour, same invariant re-stated with different values, same user journey with duplicated acceptance criteria). \"Same surface\" alone is NOT overlap \u2014 only duplicated or conflicting scope is.\n - \"contradiction\": this issue proposes something **incompatible** with an active spec \u2014 reverses a rule, changes a decision, breaks an invariant that's stated as active goal. The caller will check for a \"change-of-mind\" label: if present, it is authorized revocation; if absent, it is a blocker.\n\n## Distinguishing follow_up from overlap (this matters \u2014 most real product work looks like this)\n\nWhen a new issue touches surface covered by a prior spec, apply this decision tree:\n\n1. Is the touched surface listed in the prior spec's **active goals / acceptance_scenarios / api_contract**? \u2192 **overlap** (re-definition).\n2. Is the touched surface listed in the prior spec's **non_goals**, or does the prior spec defer the topic with phrasing like \"separate story\", \"not in this scope\", \"later\"? \u2192 **follow_up** (the prior spec explicitly invited this).\n3. Does the new issue **reverse** an invariant the prior spec treats as active? \u2192 **contradiction**.\n4. Otherwise \u2192 **new_or_independent**.\n\nConcrete examples:\n\n- Prior spec defines `POST /api/reactions` with \"ration = 15/week\". New issue asks for \"ration = 20/week\". \u2192 **contradiction** (reverses a live invariant).\n- Prior spec implements `/u/<handle>` page + handle auto-assignment. Its non_goals list: \"user-driven handle editing is a separate future story\". New issue asks for user-driven handle editing on a profile page. \u2192 **follow_up** (prior non_goal \u2192 new goal). **NOT overlap**, even though both touch `profiles` + the `/u/<handle>` page.\n- Prior spec defines `POST /api/rewos` creating a rewo. New issue asks for `POST /api/rewos` with a different response schema. \u2192 **overlap** (same API, re-definition).\n- New issue adds `PATCH /api/profiles/me` where no prior spec mentioned it. \u2192 **new_or_independent**.\n\nReturn STRICTLY the following JSON, no prose before or after:\n\n{\n \"kind\": \"new_or_independent\" | \"follow_up\" | \"overlap\" | \"contradiction\",\n \"conflicting_ids\": [\"042\", \"007\"],\n \"reasoning\": \"one-paragraph explanation citing specific spec ids. For follow_up, QUOTE the non_goal or deferral phrasing that invites the new scope.\"\n}\n\n- For \"new_or_independent\", set conflicting_ids to [].\n- For \"follow_up\", list the predecessor spec id(s) in conflicting_ids (the field name is historical; treat as \"related_ids\" for this verdict).\n- For \"overlap\" and \"contradiction\", list every conflicting spec id, not just the strongest match.\n- \"reasoning\" should name specs by id AND cite the specific text (invariant, non-goal, api_contract entry) that drove the classification. Be concrete.\n- If information is insufficient, pick the most conservative outcome: contradiction > overlap > follow_up > independent. But don't default to overlap just because surfaces are shared \u2014 require evidence of **scope duplication**, not just state-sharing.";
|
|
15
15
|
export declare const REFINEMENT_ANALYST_SYSTEM: (checklist: string, projectContext: string) => string;
|
|
16
|
+
/**
|
|
17
|
+
* 0.11.5 — amendment-mode system prompt. Used when PM comments on an
|
|
18
|
+
* existing spec PR and the /refine command fires. Agent reads the
|
|
19
|
+
* current spec + PM feedback and produces an AMENDED spec. Does NOT
|
|
20
|
+
* re-run relationship analysis, does NOT ask clarifying questions,
|
|
21
|
+
* does NOT start from scratch — minimal diff consistent with feedback.
|
|
22
|
+
*/
|
|
23
|
+
export declare const AMENDMENT_SYSTEM: (projectContext: string) => string;
|
|
16
24
|
/** Trivial, used only as a title for the draft PR. */
|
|
17
25
|
export declare function draftPrTitle(storyId: string, title: string): string;
|
|
18
26
|
import type { Spec } from "@slowcook-ai/core";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../src/commands/refine/prompts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,eAAO,MAAM,iBAAiB,kjCAU7B,CAAC;AAEF,eAAO,MAAM,2BAA2B,qrIAsCoN,CAAC;AAE7P,eAAO,MAAM,yBAAyB,GAAI,WAAW,MAAM,EAAE,gBAAgB,MAAM,WAkPiK,CAAC;AAErP,sDAAsD;AACtD,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEnE;AAED,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAG9C;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../src/commands/refine/prompts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,eAAO,MAAM,iBAAiB,kjCAU7B,CAAC;AAEF,eAAO,MAAM,2BAA2B,qrIAsCoN,CAAC;AAE7P,eAAO,MAAM,yBAAyB,GAAI,WAAW,MAAM,EAAE,gBAAgB,MAAM,WAkPiK,CAAC;AAErP;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,GAAI,gBAAgB,MAAM,WAoCd,CAAC;AAE1C,sDAAsD;AACtD,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEnE;AAED,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAG9C;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAoHzD;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,IAAI,CAAC,EAAE,IAAI,CAAC;CACb,GAAG,MAAM,CAeT"}
|
|
@@ -303,6 +303,50 @@ Treat the spec as machine-parsed YAML first, human-readable documentation second
|
|
|
303
303
|
- Good (testable in-process by mocking the boundary): "Handler calls \`supabase.auth.signInWithPassword\` with the provided credentials." · "On successful DB insert, handler returns 201 with the persisted row." · "When the rate-limit counter for the user is ≥ 15, handler returns 429 without calling the DB."
|
|
304
304
|
- Avoid (only provable against real services): "The user is authenticated against Supabase." · "A row exists in the \`rewos\` table after the request." · "The rate limit resets weekly."
|
|
305
305
|
- This is guidance, not a hard rule — if an invariant genuinely requires end-to-end proof, say so and it will route to the acceptance tier. The goal is to not write acceptance-only invariants by accident when a module-boundary form exists.`;
|
|
306
|
+
/**
|
|
307
|
+
* 0.11.5 — amendment-mode system prompt. Used when PM comments on an
|
|
308
|
+
* existing spec PR and the /refine command fires. Agent reads the
|
|
309
|
+
* current spec + PM feedback and produces an AMENDED spec. Does NOT
|
|
310
|
+
* re-run relationship analysis, does NOT ask clarifying questions,
|
|
311
|
+
* does NOT start from scratch — minimal diff consistent with feedback.
|
|
312
|
+
*/
|
|
313
|
+
export const AMENDMENT_SYSTEM = (projectContext) => `You are a careful product analyst amending an EXISTING spec in response to PM feedback on a draft-spec PR.
|
|
314
|
+
|
|
315
|
+
## Project context
|
|
316
|
+
|
|
317
|
+
${projectContext}
|
|
318
|
+
|
|
319
|
+
## Your job
|
|
320
|
+
|
|
321
|
+
- Read the current spec YAML and the PM feedback.
|
|
322
|
+
- Produce an AMENDED spec that incorporates the feedback.
|
|
323
|
+
- Preserve anything the feedback doesn't touch — minimal diff, not a rewrite.
|
|
324
|
+
- Keep the existing story_id, title (unless feedback explicitly asks to change it), created_at, supersedes, source_issue, and refined_by fields.
|
|
325
|
+
- If feedback rejects a proposal, flip that proposal's status to "rejected" and update the relevant fields instead of deleting.
|
|
326
|
+
- If feedback approves a proposal, flip status to "approved" and add approved_by / approved_at (approved_by = the commenter's GitHub handle).
|
|
327
|
+
- If feedback introduces new constraints, update invariants / acceptance_scenarios / non_goals as appropriate AND update the relevant proposal to status: pending again so the change is re-reviewed.
|
|
328
|
+
- If feedback is ambiguous, make your best interpretation and note it in the relevant proposal's rationale. Do NOT open a new clarifying-question round; amendment is single-shot.
|
|
329
|
+
|
|
330
|
+
## Output format
|
|
331
|
+
|
|
332
|
+
Same as the main refine prompt emit shape:
|
|
333
|
+
|
|
334
|
+
- Start with three dashes on their own line
|
|
335
|
+
- Emit ONLY the YAML, nothing before or after
|
|
336
|
+
- Preserve the full spec schema: story_id, title, status, created_at, supersedes, superseded_by, actors, preconditions, invariants, api_contract?, ui_behavior?, acceptance_scenarios, non_goals, related_specs?, proposals?
|
|
337
|
+
|
|
338
|
+
No prose preamble, no summary line, no postscript.
|
|
339
|
+
|
|
340
|
+
## YAML string hygiene
|
|
341
|
+
|
|
342
|
+
Same rules as the main refine prompt — wrap strings containing backticks, colons, leading hyphens, pipes, braces, hashes, or ambiguous yes/no/true/false words in double quotes. Multi-line content uses YAML block scalars (pipe character). If in doubt, quote.
|
|
343
|
+
|
|
344
|
+
## Constraints
|
|
345
|
+
|
|
346
|
+
- Do NOT re-open clarifying questions. Amendment is single-shot.
|
|
347
|
+
- Do NOT re-run relationship analysis. The spec already exists.
|
|
348
|
+
- Do NOT invent facts. Every amendment MUST trace to specific feedback text or to project context.
|
|
349
|
+
- Preserve the spec's domain vocabulary.`;
|
|
306
350
|
/** Trivial, used only as a title for the draft PR. */
|
|
307
351
|
export function draftPrTitle(storyId, title) {
|
|
308
352
|
return `spec: story-${storyId} — ${title}`;
|
|
@@ -339,8 +383,9 @@ export function renderProposalsSection(spec) {
|
|
|
339
383
|
parts.push(`### 🗄 Schema — ${statusBadge(p.schema.status)}`, "");
|
|
340
384
|
if (p.schema.rationale)
|
|
341
385
|
parts.push(`_${p.schema.rationale}_`, "");
|
|
342
|
-
|
|
343
|
-
|
|
386
|
+
const sql = typeof p.schema.sql === "string" ? p.schema.sql.trim() : "";
|
|
387
|
+
if (sql) {
|
|
388
|
+
parts.push(ddlToMermaidErd(sql), "", "<details><summary>Raw SQL</summary>", "", "```sql", sql, "```", "</details>", "");
|
|
344
389
|
}
|
|
345
390
|
}
|
|
346
391
|
if (p.ui_layout) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../src/commands/refine/prompts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;CAUhC,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4PAsCiN,CAAC;AAE7P,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,SAAiB,EAAE,cAAsB,EAAE,EAAE,CAAC;;;;;;EAMtF,cAAc;;;;;;EAMd,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oPAsOyO,CAAC;AAErP,sDAAsD;AACtD,MAAM,UAAU,YAAY,CAAC,OAAe,EAAE,KAAa;IACzD,OAAO,eAAe,OAAO,MAAM,KAAK,EAAE,CAAC;AAC7C,CAAC;AAGD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAU;IAC/C,IAAI,CAAC,IAAI,CAAC,SAAS;QAAE,OAAO,EAAE,CAAC;IAC/B,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;IACzB,MAAM,KAAK,GAAa,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;IAE7C,MAAM,WAAW,GAAG,CAAC,MAAc,EAAU,EAAE;QAC7C,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,UAAU;gBACb,OAAO,YAAY,CAAC;YACtB,KAAK,UAAU;gBACb,OAAO,YAAY,CAAC;YACtB,KAAK,UAAU;gBACb,OAAO,aAAa,CAAC;YACvB,KAAK,0BAA0B;gBAC7B,OAAO,4BAA4B,CAAC;YACtC,KAAK,SAAS,CAAC;YACf;gBACE,OAAO,WAAW,CAAC;QACvB,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;QACb,KAAK,CAAC,IAAI,CAAC,mBAAmB,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAClE,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,CAAC;QAClE,
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../src/commands/refine/prompts.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,429 @@ import { type Spec, type SpecIndex, type SpecIndexEntry, type ForgeAdapter } fro
|
|
|
3
3
|
/** Where specs live, relative to repo root. */
|
|
4
4
|
export declare const SPECS_DIR = "specs";
|
|
5
5
|
export declare const INDEX_FILE: string;
|
|
6
|
+
export declare const SpecProposalsSchema: z.ZodObject<{
|
|
7
|
+
schema: z.ZodOptional<z.ZodObject<{
|
|
8
|
+
status: z.ZodEnum<["pending", "approved", "rejected", "deferred", "blocked_on_clarification"]>;
|
|
9
|
+
proposed_by: z.ZodString;
|
|
10
|
+
approved_by: z.ZodOptional<z.ZodString>;
|
|
11
|
+
approved_at: z.ZodOptional<z.ZodString>;
|
|
12
|
+
rationale: z.ZodOptional<z.ZodString>;
|
|
13
|
+
} & {
|
|
14
|
+
sql: z.ZodString;
|
|
15
|
+
}, "strip", z.ZodTypeAny, {
|
|
16
|
+
status: "pending" | "approved" | "rejected" | "deferred" | "blocked_on_clarification";
|
|
17
|
+
proposed_by: string;
|
|
18
|
+
sql: string;
|
|
19
|
+
approved_by?: string | undefined;
|
|
20
|
+
approved_at?: string | undefined;
|
|
21
|
+
rationale?: string | undefined;
|
|
22
|
+
}, {
|
|
23
|
+
status: "pending" | "approved" | "rejected" | "deferred" | "blocked_on_clarification";
|
|
24
|
+
proposed_by: string;
|
|
25
|
+
sql: string;
|
|
26
|
+
approved_by?: string | undefined;
|
|
27
|
+
approved_at?: string | undefined;
|
|
28
|
+
rationale?: string | undefined;
|
|
29
|
+
}>>;
|
|
30
|
+
ui_layout: z.ZodOptional<z.ZodObject<{
|
|
31
|
+
status: z.ZodEnum<["pending", "approved", "rejected", "deferred", "blocked_on_clarification"]>;
|
|
32
|
+
proposed_by: z.ZodString;
|
|
33
|
+
approved_by: z.ZodOptional<z.ZodString>;
|
|
34
|
+
approved_at: z.ZodOptional<z.ZodString>;
|
|
35
|
+
rationale: z.ZodOptional<z.ZodString>;
|
|
36
|
+
} & {
|
|
37
|
+
viewport_coverage: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
38
|
+
components_to_reuse: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
39
|
+
tokens_to_reuse: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
40
|
+
tokens_to_add: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
41
|
+
}, "strip", z.ZodTypeAny, {
|
|
42
|
+
status: "pending" | "approved" | "rejected" | "deferred" | "blocked_on_clarification";
|
|
43
|
+
proposed_by: string;
|
|
44
|
+
approved_by?: string | undefined;
|
|
45
|
+
approved_at?: string | undefined;
|
|
46
|
+
rationale?: string | undefined;
|
|
47
|
+
viewport_coverage?: string[] | undefined;
|
|
48
|
+
components_to_reuse?: string[] | undefined;
|
|
49
|
+
tokens_to_reuse?: string[] | undefined;
|
|
50
|
+
tokens_to_add?: string[] | undefined;
|
|
51
|
+
}, {
|
|
52
|
+
status: "pending" | "approved" | "rejected" | "deferred" | "blocked_on_clarification";
|
|
53
|
+
proposed_by: string;
|
|
54
|
+
approved_by?: string | undefined;
|
|
55
|
+
approved_at?: string | undefined;
|
|
56
|
+
rationale?: string | undefined;
|
|
57
|
+
viewport_coverage?: string[] | undefined;
|
|
58
|
+
components_to_reuse?: string[] | undefined;
|
|
59
|
+
tokens_to_reuse?: string[] | undefined;
|
|
60
|
+
tokens_to_add?: string[] | undefined;
|
|
61
|
+
}>>;
|
|
62
|
+
routes: z.ZodOptional<z.ZodObject<{
|
|
63
|
+
status: z.ZodEnum<["pending", "approved", "rejected", "deferred", "blocked_on_clarification"]>;
|
|
64
|
+
proposed_by: z.ZodString;
|
|
65
|
+
approved_by: z.ZodOptional<z.ZodString>;
|
|
66
|
+
approved_at: z.ZodOptional<z.ZodString>;
|
|
67
|
+
rationale: z.ZodOptional<z.ZodString>;
|
|
68
|
+
} & {
|
|
69
|
+
paths: z.ZodArray<z.ZodObject<{
|
|
70
|
+
path: z.ZodString;
|
|
71
|
+
file: z.ZodString;
|
|
72
|
+
}, "strip", z.ZodTypeAny, {
|
|
73
|
+
path: string;
|
|
74
|
+
file: string;
|
|
75
|
+
}, {
|
|
76
|
+
path: string;
|
|
77
|
+
file: string;
|
|
78
|
+
}>, "many">;
|
|
79
|
+
}, "strip", z.ZodTypeAny, {
|
|
80
|
+
status: "pending" | "approved" | "rejected" | "deferred" | "blocked_on_clarification";
|
|
81
|
+
proposed_by: string;
|
|
82
|
+
paths: {
|
|
83
|
+
path: string;
|
|
84
|
+
file: string;
|
|
85
|
+
}[];
|
|
86
|
+
approved_by?: string | undefined;
|
|
87
|
+
approved_at?: string | undefined;
|
|
88
|
+
rationale?: string | undefined;
|
|
89
|
+
}, {
|
|
90
|
+
status: "pending" | "approved" | "rejected" | "deferred" | "blocked_on_clarification";
|
|
91
|
+
proposed_by: string;
|
|
92
|
+
paths: {
|
|
93
|
+
path: string;
|
|
94
|
+
file: string;
|
|
95
|
+
}[];
|
|
96
|
+
approved_by?: string | undefined;
|
|
97
|
+
approved_at?: string | undefined;
|
|
98
|
+
rationale?: string | undefined;
|
|
99
|
+
}>>;
|
|
100
|
+
auth: z.ZodOptional<z.ZodObject<{
|
|
101
|
+
status: z.ZodEnum<["pending", "approved", "rejected", "deferred", "blocked_on_clarification"]>;
|
|
102
|
+
proposed_by: z.ZodString;
|
|
103
|
+
approved_by: z.ZodOptional<z.ZodString>;
|
|
104
|
+
approved_at: z.ZodOptional<z.ZodString>;
|
|
105
|
+
rationale: z.ZodOptional<z.ZodString>;
|
|
106
|
+
} & {
|
|
107
|
+
requirements: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
108
|
+
}, "strip", z.ZodTypeAny, {
|
|
109
|
+
status: "pending" | "approved" | "rejected" | "deferred" | "blocked_on_clarification";
|
|
110
|
+
proposed_by: string;
|
|
111
|
+
approved_by?: string | undefined;
|
|
112
|
+
approved_at?: string | undefined;
|
|
113
|
+
rationale?: string | undefined;
|
|
114
|
+
requirements?: string[] | undefined;
|
|
115
|
+
}, {
|
|
116
|
+
status: "pending" | "approved" | "rejected" | "deferred" | "blocked_on_clarification";
|
|
117
|
+
proposed_by: string;
|
|
118
|
+
approved_by?: string | undefined;
|
|
119
|
+
approved_at?: string | undefined;
|
|
120
|
+
rationale?: string | undefined;
|
|
121
|
+
requirements?: string[] | undefined;
|
|
122
|
+
}>>;
|
|
123
|
+
perf_budget: z.ZodOptional<z.ZodObject<{
|
|
124
|
+
status: z.ZodEnum<["pending", "approved", "rejected", "deferred", "blocked_on_clarification"]>;
|
|
125
|
+
proposed_by: z.ZodString;
|
|
126
|
+
approved_by: z.ZodOptional<z.ZodString>;
|
|
127
|
+
approved_at: z.ZodOptional<z.ZodString>;
|
|
128
|
+
rationale: z.ZodOptional<z.ZodString>;
|
|
129
|
+
} & {
|
|
130
|
+
budgets: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
|
|
131
|
+
}, "strip", z.ZodTypeAny, {
|
|
132
|
+
status: "pending" | "approved" | "rejected" | "deferred" | "blocked_on_clarification";
|
|
133
|
+
proposed_by: string;
|
|
134
|
+
approved_by?: string | undefined;
|
|
135
|
+
approved_at?: string | undefined;
|
|
136
|
+
rationale?: string | undefined;
|
|
137
|
+
budgets?: Record<string, number> | undefined;
|
|
138
|
+
}, {
|
|
139
|
+
status: "pending" | "approved" | "rejected" | "deferred" | "blocked_on_clarification";
|
|
140
|
+
proposed_by: string;
|
|
141
|
+
approved_by?: string | undefined;
|
|
142
|
+
approved_at?: string | undefined;
|
|
143
|
+
rationale?: string | undefined;
|
|
144
|
+
budgets?: Record<string, number> | undefined;
|
|
145
|
+
}>>;
|
|
146
|
+
observability: z.ZodOptional<z.ZodObject<{
|
|
147
|
+
status: z.ZodEnum<["pending", "approved", "rejected", "deferred", "blocked_on_clarification"]>;
|
|
148
|
+
proposed_by: z.ZodString;
|
|
149
|
+
approved_by: z.ZodOptional<z.ZodString>;
|
|
150
|
+
approved_at: z.ZodOptional<z.ZodString>;
|
|
151
|
+
rationale: z.ZodOptional<z.ZodString>;
|
|
152
|
+
} & {
|
|
153
|
+
log_events: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
154
|
+
metrics: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
155
|
+
name: z.ZodString;
|
|
156
|
+
type: z.ZodString;
|
|
157
|
+
}, "strip", z.ZodTypeAny, {
|
|
158
|
+
type: string;
|
|
159
|
+
name: string;
|
|
160
|
+
}, {
|
|
161
|
+
type: string;
|
|
162
|
+
name: string;
|
|
163
|
+
}>, "many">>;
|
|
164
|
+
}, "strip", z.ZodTypeAny, {
|
|
165
|
+
status: "pending" | "approved" | "rejected" | "deferred" | "blocked_on_clarification";
|
|
166
|
+
proposed_by: string;
|
|
167
|
+
approved_by?: string | undefined;
|
|
168
|
+
approved_at?: string | undefined;
|
|
169
|
+
rationale?: string | undefined;
|
|
170
|
+
log_events?: string[] | undefined;
|
|
171
|
+
metrics?: {
|
|
172
|
+
type: string;
|
|
173
|
+
name: string;
|
|
174
|
+
}[] | undefined;
|
|
175
|
+
}, {
|
|
176
|
+
status: "pending" | "approved" | "rejected" | "deferred" | "blocked_on_clarification";
|
|
177
|
+
proposed_by: string;
|
|
178
|
+
approved_by?: string | undefined;
|
|
179
|
+
approved_at?: string | undefined;
|
|
180
|
+
rationale?: string | undefined;
|
|
181
|
+
log_events?: string[] | undefined;
|
|
182
|
+
metrics?: {
|
|
183
|
+
type: string;
|
|
184
|
+
name: string;
|
|
185
|
+
}[] | undefined;
|
|
186
|
+
}>>;
|
|
187
|
+
infra: z.ZodOptional<z.ZodObject<{
|
|
188
|
+
status: z.ZodEnum<["pending", "approved", "rejected", "deferred", "blocked_on_clarification"]>;
|
|
189
|
+
proposed_by: z.ZodString;
|
|
190
|
+
approved_by: z.ZodOptional<z.ZodString>;
|
|
191
|
+
approved_at: z.ZodOptional<z.ZodString>;
|
|
192
|
+
rationale: z.ZodOptional<z.ZodString>;
|
|
193
|
+
} & {
|
|
194
|
+
runtime: z.ZodOptional<z.ZodString>;
|
|
195
|
+
deploy_target: z.ZodOptional<z.ZodString>;
|
|
196
|
+
notes: z.ZodOptional<z.ZodString>;
|
|
197
|
+
}, "strip", z.ZodTypeAny, {
|
|
198
|
+
status: "pending" | "approved" | "rejected" | "deferred" | "blocked_on_clarification";
|
|
199
|
+
proposed_by: string;
|
|
200
|
+
approved_by?: string | undefined;
|
|
201
|
+
approved_at?: string | undefined;
|
|
202
|
+
rationale?: string | undefined;
|
|
203
|
+
runtime?: string | undefined;
|
|
204
|
+
deploy_target?: string | undefined;
|
|
205
|
+
notes?: string | undefined;
|
|
206
|
+
}, {
|
|
207
|
+
status: "pending" | "approved" | "rejected" | "deferred" | "blocked_on_clarification";
|
|
208
|
+
proposed_by: string;
|
|
209
|
+
approved_by?: string | undefined;
|
|
210
|
+
approved_at?: string | undefined;
|
|
211
|
+
rationale?: string | undefined;
|
|
212
|
+
runtime?: string | undefined;
|
|
213
|
+
deploy_target?: string | undefined;
|
|
214
|
+
notes?: string | undefined;
|
|
215
|
+
}>>;
|
|
216
|
+
api_shape: z.ZodOptional<z.ZodObject<{
|
|
217
|
+
status: z.ZodEnum<["pending", "approved", "rejected", "deferred", "blocked_on_clarification"]>;
|
|
218
|
+
proposed_by: z.ZodString;
|
|
219
|
+
approved_by: z.ZodOptional<z.ZodString>;
|
|
220
|
+
approved_at: z.ZodOptional<z.ZodString>;
|
|
221
|
+
rationale: z.ZodOptional<z.ZodString>;
|
|
222
|
+
} & {
|
|
223
|
+
endpoints: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
224
|
+
method: z.ZodString;
|
|
225
|
+
path: z.ZodString;
|
|
226
|
+
request_schema: z.ZodOptional<z.ZodUnknown>;
|
|
227
|
+
responses: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
228
|
+
}, "strip", z.ZodTypeAny, {
|
|
229
|
+
path: string;
|
|
230
|
+
method: string;
|
|
231
|
+
request_schema?: unknown;
|
|
232
|
+
responses?: Record<string, unknown> | undefined;
|
|
233
|
+
}, {
|
|
234
|
+
path: string;
|
|
235
|
+
method: string;
|
|
236
|
+
request_schema?: unknown;
|
|
237
|
+
responses?: Record<string, unknown> | undefined;
|
|
238
|
+
}>, "many">>;
|
|
239
|
+
}, "strip", z.ZodTypeAny, {
|
|
240
|
+
status: "pending" | "approved" | "rejected" | "deferred" | "blocked_on_clarification";
|
|
241
|
+
proposed_by: string;
|
|
242
|
+
approved_by?: string | undefined;
|
|
243
|
+
approved_at?: string | undefined;
|
|
244
|
+
rationale?: string | undefined;
|
|
245
|
+
endpoints?: {
|
|
246
|
+
path: string;
|
|
247
|
+
method: string;
|
|
248
|
+
request_schema?: unknown;
|
|
249
|
+
responses?: Record<string, unknown> | undefined;
|
|
250
|
+
}[] | undefined;
|
|
251
|
+
}, {
|
|
252
|
+
status: "pending" | "approved" | "rejected" | "deferred" | "blocked_on_clarification";
|
|
253
|
+
proposed_by: string;
|
|
254
|
+
approved_by?: string | undefined;
|
|
255
|
+
approved_at?: string | undefined;
|
|
256
|
+
rationale?: string | undefined;
|
|
257
|
+
endpoints?: {
|
|
258
|
+
path: string;
|
|
259
|
+
method: string;
|
|
260
|
+
request_schema?: unknown;
|
|
261
|
+
responses?: Record<string, unknown> | undefined;
|
|
262
|
+
}[] | undefined;
|
|
263
|
+
}>>;
|
|
264
|
+
}, "strip", z.ZodTypeAny, {
|
|
265
|
+
schema?: {
|
|
266
|
+
status: "pending" | "approved" | "rejected" | "deferred" | "blocked_on_clarification";
|
|
267
|
+
proposed_by: string;
|
|
268
|
+
sql: string;
|
|
269
|
+
approved_by?: string | undefined;
|
|
270
|
+
approved_at?: string | undefined;
|
|
271
|
+
rationale?: string | undefined;
|
|
272
|
+
} | undefined;
|
|
273
|
+
ui_layout?: {
|
|
274
|
+
status: "pending" | "approved" | "rejected" | "deferred" | "blocked_on_clarification";
|
|
275
|
+
proposed_by: string;
|
|
276
|
+
approved_by?: string | undefined;
|
|
277
|
+
approved_at?: string | undefined;
|
|
278
|
+
rationale?: string | undefined;
|
|
279
|
+
viewport_coverage?: string[] | undefined;
|
|
280
|
+
components_to_reuse?: string[] | undefined;
|
|
281
|
+
tokens_to_reuse?: string[] | undefined;
|
|
282
|
+
tokens_to_add?: string[] | undefined;
|
|
283
|
+
} | undefined;
|
|
284
|
+
routes?: {
|
|
285
|
+
status: "pending" | "approved" | "rejected" | "deferred" | "blocked_on_clarification";
|
|
286
|
+
proposed_by: string;
|
|
287
|
+
paths: {
|
|
288
|
+
path: string;
|
|
289
|
+
file: string;
|
|
290
|
+
}[];
|
|
291
|
+
approved_by?: string | undefined;
|
|
292
|
+
approved_at?: string | undefined;
|
|
293
|
+
rationale?: string | undefined;
|
|
294
|
+
} | undefined;
|
|
295
|
+
auth?: {
|
|
296
|
+
status: "pending" | "approved" | "rejected" | "deferred" | "blocked_on_clarification";
|
|
297
|
+
proposed_by: string;
|
|
298
|
+
approved_by?: string | undefined;
|
|
299
|
+
approved_at?: string | undefined;
|
|
300
|
+
rationale?: string | undefined;
|
|
301
|
+
requirements?: string[] | undefined;
|
|
302
|
+
} | undefined;
|
|
303
|
+
perf_budget?: {
|
|
304
|
+
status: "pending" | "approved" | "rejected" | "deferred" | "blocked_on_clarification";
|
|
305
|
+
proposed_by: string;
|
|
306
|
+
approved_by?: string | undefined;
|
|
307
|
+
approved_at?: string | undefined;
|
|
308
|
+
rationale?: string | undefined;
|
|
309
|
+
budgets?: Record<string, number> | undefined;
|
|
310
|
+
} | undefined;
|
|
311
|
+
observability?: {
|
|
312
|
+
status: "pending" | "approved" | "rejected" | "deferred" | "blocked_on_clarification";
|
|
313
|
+
proposed_by: string;
|
|
314
|
+
approved_by?: string | undefined;
|
|
315
|
+
approved_at?: string | undefined;
|
|
316
|
+
rationale?: string | undefined;
|
|
317
|
+
log_events?: string[] | undefined;
|
|
318
|
+
metrics?: {
|
|
319
|
+
type: string;
|
|
320
|
+
name: string;
|
|
321
|
+
}[] | undefined;
|
|
322
|
+
} | undefined;
|
|
323
|
+
infra?: {
|
|
324
|
+
status: "pending" | "approved" | "rejected" | "deferred" | "blocked_on_clarification";
|
|
325
|
+
proposed_by: string;
|
|
326
|
+
approved_by?: string | undefined;
|
|
327
|
+
approved_at?: string | undefined;
|
|
328
|
+
rationale?: string | undefined;
|
|
329
|
+
runtime?: string | undefined;
|
|
330
|
+
deploy_target?: string | undefined;
|
|
331
|
+
notes?: string | undefined;
|
|
332
|
+
} | undefined;
|
|
333
|
+
api_shape?: {
|
|
334
|
+
status: "pending" | "approved" | "rejected" | "deferred" | "blocked_on_clarification";
|
|
335
|
+
proposed_by: string;
|
|
336
|
+
approved_by?: string | undefined;
|
|
337
|
+
approved_at?: string | undefined;
|
|
338
|
+
rationale?: string | undefined;
|
|
339
|
+
endpoints?: {
|
|
340
|
+
path: string;
|
|
341
|
+
method: string;
|
|
342
|
+
request_schema?: unknown;
|
|
343
|
+
responses?: Record<string, unknown> | undefined;
|
|
344
|
+
}[] | undefined;
|
|
345
|
+
} | undefined;
|
|
346
|
+
}, {
|
|
347
|
+
schema?: {
|
|
348
|
+
status: "pending" | "approved" | "rejected" | "deferred" | "blocked_on_clarification";
|
|
349
|
+
proposed_by: string;
|
|
350
|
+
sql: string;
|
|
351
|
+
approved_by?: string | undefined;
|
|
352
|
+
approved_at?: string | undefined;
|
|
353
|
+
rationale?: string | undefined;
|
|
354
|
+
} | undefined;
|
|
355
|
+
ui_layout?: {
|
|
356
|
+
status: "pending" | "approved" | "rejected" | "deferred" | "blocked_on_clarification";
|
|
357
|
+
proposed_by: string;
|
|
358
|
+
approved_by?: string | undefined;
|
|
359
|
+
approved_at?: string | undefined;
|
|
360
|
+
rationale?: string | undefined;
|
|
361
|
+
viewport_coverage?: string[] | undefined;
|
|
362
|
+
components_to_reuse?: string[] | undefined;
|
|
363
|
+
tokens_to_reuse?: string[] | undefined;
|
|
364
|
+
tokens_to_add?: string[] | undefined;
|
|
365
|
+
} | undefined;
|
|
366
|
+
routes?: {
|
|
367
|
+
status: "pending" | "approved" | "rejected" | "deferred" | "blocked_on_clarification";
|
|
368
|
+
proposed_by: string;
|
|
369
|
+
paths: {
|
|
370
|
+
path: string;
|
|
371
|
+
file: string;
|
|
372
|
+
}[];
|
|
373
|
+
approved_by?: string | undefined;
|
|
374
|
+
approved_at?: string | undefined;
|
|
375
|
+
rationale?: string | undefined;
|
|
376
|
+
} | undefined;
|
|
377
|
+
auth?: {
|
|
378
|
+
status: "pending" | "approved" | "rejected" | "deferred" | "blocked_on_clarification";
|
|
379
|
+
proposed_by: string;
|
|
380
|
+
approved_by?: string | undefined;
|
|
381
|
+
approved_at?: string | undefined;
|
|
382
|
+
rationale?: string | undefined;
|
|
383
|
+
requirements?: string[] | undefined;
|
|
384
|
+
} | undefined;
|
|
385
|
+
perf_budget?: {
|
|
386
|
+
status: "pending" | "approved" | "rejected" | "deferred" | "blocked_on_clarification";
|
|
387
|
+
proposed_by: string;
|
|
388
|
+
approved_by?: string | undefined;
|
|
389
|
+
approved_at?: string | undefined;
|
|
390
|
+
rationale?: string | undefined;
|
|
391
|
+
budgets?: Record<string, number> | undefined;
|
|
392
|
+
} | undefined;
|
|
393
|
+
observability?: {
|
|
394
|
+
status: "pending" | "approved" | "rejected" | "deferred" | "blocked_on_clarification";
|
|
395
|
+
proposed_by: string;
|
|
396
|
+
approved_by?: string | undefined;
|
|
397
|
+
approved_at?: string | undefined;
|
|
398
|
+
rationale?: string | undefined;
|
|
399
|
+
log_events?: string[] | undefined;
|
|
400
|
+
metrics?: {
|
|
401
|
+
type: string;
|
|
402
|
+
name: string;
|
|
403
|
+
}[] | undefined;
|
|
404
|
+
} | undefined;
|
|
405
|
+
infra?: {
|
|
406
|
+
status: "pending" | "approved" | "rejected" | "deferred" | "blocked_on_clarification";
|
|
407
|
+
proposed_by: string;
|
|
408
|
+
approved_by?: string | undefined;
|
|
409
|
+
approved_at?: string | undefined;
|
|
410
|
+
rationale?: string | undefined;
|
|
411
|
+
runtime?: string | undefined;
|
|
412
|
+
deploy_target?: string | undefined;
|
|
413
|
+
notes?: string | undefined;
|
|
414
|
+
} | undefined;
|
|
415
|
+
api_shape?: {
|
|
416
|
+
status: "pending" | "approved" | "rejected" | "deferred" | "blocked_on_clarification";
|
|
417
|
+
proposed_by: string;
|
|
418
|
+
approved_by?: string | undefined;
|
|
419
|
+
approved_at?: string | undefined;
|
|
420
|
+
rationale?: string | undefined;
|
|
421
|
+
endpoints?: {
|
|
422
|
+
path: string;
|
|
423
|
+
method: string;
|
|
424
|
+
request_schema?: unknown;
|
|
425
|
+
responses?: Record<string, unknown> | undefined;
|
|
426
|
+
}[] | undefined;
|
|
427
|
+
} | undefined;
|
|
428
|
+
}>;
|
|
6
429
|
export declare function readIndex(repoRoot: string): SpecIndex;
|
|
7
430
|
export declare function writeIndex(repoRoot: string, index: SpecIndex): void;
|
|
8
431
|
export declare function readSpec(repoRoot: string, storyId: string): Spec;
|
|
@@ -310,21 +733,21 @@ export declare const schemas: {
|
|
|
310
733
|
}, "strip", z.ZodTypeAny, {
|
|
311
734
|
status: "pending" | "approved" | "rejected" | "deferred" | "blocked_on_clarification";
|
|
312
735
|
proposed_by: string;
|
|
313
|
-
notes?: string | undefined;
|
|
314
736
|
approved_by?: string | undefined;
|
|
315
737
|
approved_at?: string | undefined;
|
|
316
738
|
rationale?: string | undefined;
|
|
317
739
|
runtime?: string | undefined;
|
|
318
740
|
deploy_target?: string | undefined;
|
|
741
|
+
notes?: string | undefined;
|
|
319
742
|
}, {
|
|
320
743
|
status: "pending" | "approved" | "rejected" | "deferred" | "blocked_on_clarification";
|
|
321
744
|
proposed_by: string;
|
|
322
|
-
notes?: string | undefined;
|
|
323
745
|
approved_by?: string | undefined;
|
|
324
746
|
approved_at?: string | undefined;
|
|
325
747
|
rationale?: string | undefined;
|
|
326
748
|
runtime?: string | undefined;
|
|
327
749
|
deploy_target?: string | undefined;
|
|
750
|
+
notes?: string | undefined;
|
|
328
751
|
}>>;
|
|
329
752
|
api_shape: z.ZodOptional<z.ZodObject<{
|
|
330
753
|
status: z.ZodEnum<["pending", "approved", "rejected", "deferred", "blocked_on_clarification"]>;
|
|
@@ -436,12 +859,12 @@ export declare const schemas: {
|
|
|
436
859
|
infra?: {
|
|
437
860
|
status: "pending" | "approved" | "rejected" | "deferred" | "blocked_on_clarification";
|
|
438
861
|
proposed_by: string;
|
|
439
|
-
notes?: string | undefined;
|
|
440
862
|
approved_by?: string | undefined;
|
|
441
863
|
approved_at?: string | undefined;
|
|
442
864
|
rationale?: string | undefined;
|
|
443
865
|
runtime?: string | undefined;
|
|
444
866
|
deploy_target?: string | undefined;
|
|
867
|
+
notes?: string | undefined;
|
|
445
868
|
} | undefined;
|
|
446
869
|
api_shape?: {
|
|
447
870
|
status: "pending" | "approved" | "rejected" | "deferred" | "blocked_on_clarification";
|
|
@@ -518,12 +941,12 @@ export declare const schemas: {
|
|
|
518
941
|
infra?: {
|
|
519
942
|
status: "pending" | "approved" | "rejected" | "deferred" | "blocked_on_clarification";
|
|
520
943
|
proposed_by: string;
|
|
521
|
-
notes?: string | undefined;
|
|
522
944
|
approved_by?: string | undefined;
|
|
523
945
|
approved_at?: string | undefined;
|
|
524
946
|
rationale?: string | undefined;
|
|
525
947
|
runtime?: string | undefined;
|
|
526
948
|
deploy_target?: string | undefined;
|
|
949
|
+
notes?: string | undefined;
|
|
527
950
|
} | undefined;
|
|
528
951
|
api_shape?: {
|
|
529
952
|
status: "pending" | "approved" | "rejected" | "deferred" | "blocked_on_clarification";
|
|
@@ -628,12 +1051,12 @@ export declare const schemas: {
|
|
|
628
1051
|
infra?: {
|
|
629
1052
|
status: "pending" | "approved" | "rejected" | "deferred" | "blocked_on_clarification";
|
|
630
1053
|
proposed_by: string;
|
|
631
|
-
notes?: string | undefined;
|
|
632
1054
|
approved_by?: string | undefined;
|
|
633
1055
|
approved_at?: string | undefined;
|
|
634
1056
|
rationale?: string | undefined;
|
|
635
1057
|
runtime?: string | undefined;
|
|
636
1058
|
deploy_target?: string | undefined;
|
|
1059
|
+
notes?: string | undefined;
|
|
637
1060
|
} | undefined;
|
|
638
1061
|
api_shape?: {
|
|
639
1062
|
status: "pending" | "approved" | "rejected" | "deferred" | "blocked_on_clarification";
|
|
@@ -738,12 +1161,12 @@ export declare const schemas: {
|
|
|
738
1161
|
infra?: {
|
|
739
1162
|
status: "pending" | "approved" | "rejected" | "deferred" | "blocked_on_clarification";
|
|
740
1163
|
proposed_by: string;
|
|
741
|
-
notes?: string | undefined;
|
|
742
1164
|
approved_by?: string | undefined;
|
|
743
1165
|
approved_at?: string | undefined;
|
|
744
1166
|
rationale?: string | undefined;
|
|
745
1167
|
runtime?: string | undefined;
|
|
746
1168
|
deploy_target?: string | undefined;
|
|
1169
|
+
notes?: string | undefined;
|
|
747
1170
|
} | undefined;
|
|
748
1171
|
api_shape?: {
|
|
749
1172
|
status: "pending" | "approved" | "rejected" | "deferred" | "blocked_on_clarification";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec-yaml.d.ts","sourceRoot":"","sources":["../../../src/commands/refine/spec-yaml.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAEL,KAAK,IAAI,EACT,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,YAAY,EAClB,MAAM,mBAAmB,CAAC;AAE3B,+CAA+C;AAC/C,eAAO,MAAM,SAAS,UAAU,CAAC;AACjC,eAAO,MAAM,UAAU,QAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"spec-yaml.d.ts","sourceRoot":"","sources":["../../../src/commands/refine/spec-yaml.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAEL,KAAK,IAAI,EACT,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,YAAY,EAClB,MAAM,mBAAmB,CAAC;AAE3B,+CAA+C;AAC/C,eAAO,MAAM,SAAS,UAAU,CAAC;AACjC,eAAO,MAAM,UAAU,QAAiC,CAAC;AAoCzD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwC9B,CAAC;AAiCH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAWrD;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI,CAQnE;AAED,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAUhE;AAED,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,MAAM,CAK9D;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,CAiBxD;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,YAAY,GACnB,OAAO,CAAC,MAAM,CAAC,CAsBjB;AAED,kCAAkC;AAClC,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAInB,CAAC;AAEF,0EAA0E;AAC1E,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,cAAc,CASxD"}
|
|
@@ -35,7 +35,7 @@ const ProposalBaseSchema = z.object({
|
|
|
35
35
|
approved_at: z.string().optional(),
|
|
36
36
|
rationale: z.string().optional(),
|
|
37
37
|
});
|
|
38
|
-
const SpecProposalsSchema = z.object({
|
|
38
|
+
export const SpecProposalsSchema = z.object({
|
|
39
39
|
schema: ProposalBaseSchema.extend({ sql: z.string() }).optional(),
|
|
40
40
|
ui_layout: ProposalBaseSchema.extend({
|
|
41
41
|
viewport_coverage: z.array(z.string()).optional(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec-yaml.js","sourceRoot":"","sources":["../../../src/commands/refine/spec-yaml.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,aAAa,EACb,UAAU,EACV,WAAW,EACX,SAAS,GACV,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,cAAc,GAKf,MAAM,mBAAmB,CAAC;AAE3B,+CAA+C;AAC/C,MAAM,CAAC,MAAM,SAAS,GAAG,OAAO,CAAC;AACjC,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;AAEzD,MAAM,gBAAgB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;AAEnE,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,MAAM,EAAE,gBAAgB;IACxB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACpC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC1C,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC1D,CAAC,CAAC;AAEH,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,cAAc,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5B,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,oBAAoB,CAAC;CACpD,CAAC,CAAC;AAEH,MAAM,oBAAoB,GAAG,CAAC,CAAC,IAAI,CAAC;IAClC,SAAS;IACT,UAAU;IACV,UAAU;IACV,UAAU;IACV,0BAA0B;CAC3B,CAAC,CAAC;AAEH,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,MAAM,EAAE,oBAAoB;IAC5B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"spec-yaml.js","sourceRoot":"","sources":["../../../src/commands/refine/spec-yaml.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@slowcook-ai/cli",
|
|
3
|
-
"version": "0.11.
|
|
3
|
+
"version": "0.11.5",
|
|
4
4
|
"description": "CLI for the slowcook brewing harness",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "aminazar",
|
|
@@ -40,8 +40,8 @@
|
|
|
40
40
|
"zod": "^3.23.8",
|
|
41
41
|
"@slowcook-ai/core": "^0.11.0",
|
|
42
42
|
"@slowcook-ai/stack-ts": "^0.9.2",
|
|
43
|
-
"@slowcook-ai/forge-github": "^0.9.0",
|
|
44
43
|
"@slowcook-ai/llm-anthropic": "^0.8.0",
|
|
44
|
+
"@slowcook-ai/forge-github": "^0.9.0",
|
|
45
45
|
"@slowcook-ai/recorder": "^0.9.1"
|
|
46
46
|
},
|
|
47
47
|
"publishConfig": {
|