openplanr 1.2.7 → 1.2.8
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/README.md +34 -1
- package/dist/ai/prompts/prompt-builder.d.ts +48 -0
- package/dist/ai/prompts/prompt-builder.d.ts.map +1 -1
- package/dist/ai/prompts/prompt-builder.js +57 -1
- package/dist/ai/prompts/prompt-builder.js.map +1 -1
- package/dist/ai/prompts/system-prompts.d.ts +23 -0
- package/dist/ai/prompts/system-prompts.d.ts.map +1 -1
- package/dist/ai/prompts/system-prompts.js +98 -0
- package/dist/ai/prompts/system-prompts.js.map +1 -1
- package/dist/ai/schemas/ai-response-schemas.d.ts +68 -0
- package/dist/ai/schemas/ai-response-schemas.d.ts.map +1 -1
- package/dist/ai/schemas/ai-response-schemas.js +81 -0
- package/dist/ai/schemas/ai-response-schemas.js.map +1 -1
- package/dist/ai/types.d.ts +2 -0
- package/dist/ai/types.d.ts.map +1 -1
- package/dist/ai/types.js +2 -0
- package/dist/ai/types.js.map +1 -1
- package/dist/cli/commands/revise.d.ts +23 -0
- package/dist/cli/commands/revise.d.ts.map +1 -0
- package/dist/cli/commands/revise.js +502 -0
- package/dist/cli/commands/revise.js.map +1 -0
- package/dist/cli/index.js +2 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/models/types.d.ts +120 -0
- package/dist/models/types.d.ts.map +1 -1
- package/dist/services/atomic-write-service.d.ts +41 -0
- package/dist/services/atomic-write-service.d.ts.map +1 -0
- package/dist/services/atomic-write-service.js +87 -0
- package/dist/services/atomic-write-service.js.map +1 -0
- package/dist/services/audit-log-service.d.ts +50 -0
- package/dist/services/audit-log-service.d.ts.map +1 -0
- package/dist/services/audit-log-service.js +213 -0
- package/dist/services/audit-log-service.js.map +1 -0
- package/dist/services/cascade-service.d.ts +62 -0
- package/dist/services/cascade-service.d.ts.map +1 -0
- package/dist/services/cascade-service.js +189 -0
- package/dist/services/cascade-service.js.map +1 -0
- package/dist/services/diff-service.d.ts +18 -0
- package/dist/services/diff-service.d.ts.map +1 -0
- package/dist/services/diff-service.js +35 -0
- package/dist/services/diff-service.js.map +1 -0
- package/dist/services/evidence-verifier.d.ts +71 -0
- package/dist/services/evidence-verifier.d.ts.map +1 -0
- package/dist/services/evidence-verifier.js +171 -0
- package/dist/services/evidence-verifier.js.map +1 -0
- package/dist/services/git-service.d.ts +60 -0
- package/dist/services/git-service.d.ts.map +1 -0
- package/dist/services/git-service.js +137 -0
- package/dist/services/git-service.js.map +1 -0
- package/dist/services/graph-integrity.d.ts +36 -0
- package/dist/services/graph-integrity.d.ts.map +1 -0
- package/dist/services/graph-integrity.js +54 -0
- package/dist/services/graph-integrity.js.map +1 -0
- package/dist/services/prompt-service.d.ts +18 -0
- package/dist/services/prompt-service.d.ts.map +1 -1
- package/dist/services/prompt-service.js +47 -0
- package/dist/services/prompt-service.js.map +1 -1
- package/dist/services/revise-cache-service.d.ts +46 -0
- package/dist/services/revise-cache-service.d.ts.map +1 -0
- package/dist/services/revise-cache-service.js +88 -0
- package/dist/services/revise-cache-service.js.map +1 -0
- package/dist/services/revise-service.d.ts +108 -0
- package/dist/services/revise-service.d.ts.map +1 -0
- package/dist/services/revise-service.js +249 -0
- package/dist/services/revise-service.js.map +1 -0
- package/dist/services/template-sections.d.ts +28 -0
- package/dist/services/template-sections.d.ts.map +1 -0
- package/dist/services/template-sections.js +55 -0
- package/dist/services/template-sections.js.map +1 -0
- package/dist/utils/diff.d.ts +26 -0
- package/dist/utils/diff.d.ts.map +1 -0
- package/dist/utils/diff.js +143 -0
- package/dist/utils/diff.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -149,11 +149,44 @@ planr rules generate --dry-run # preview
|
|
|
149
149
|
| ---------------------- | --------------------------------------------------------- |
|
|
150
150
|
| `planr plan` | Full automated flow: Epic -> Features -> Stories -> Tasks |
|
|
151
151
|
| `planr estimate <ID>` | AI effort estimation (story points, hours, complexity) |
|
|
152
|
-
| `planr refine <ID>` | AI-powered review and improvements
|
|
152
|
+
| `planr refine <ID>` | AI-powered review and improvements (prose polish) |
|
|
153
|
+
| `planr revise <ID>` | AI-driven *alignment* of planning artifacts with codebase |
|
|
153
154
|
| `planr search <query>` | Full-text search across all artifacts |
|
|
154
155
|
| `planr sync` | Validate and fix cross-references |
|
|
155
156
|
| `planr status` | Planning progress with tree view and metrics |
|
|
156
157
|
|
|
158
|
+
#### `planr revise` — align planning with reality
|
|
159
|
+
|
|
160
|
+
`refine` improves prose; `revise` actively rewrites planning artifacts so they match the codebase, sibling artifacts, and declared sources. Four-layer safety pipeline:
|
|
161
|
+
|
|
162
|
+
1. **Clean-tree gate** — git working tree must be clean (override with `--allow-dirty`)
|
|
163
|
+
2. **Agent decision** — zod-validated `revise` / `skip` / `flag` per artifact
|
|
164
|
+
3. **Evidence verification** — agent must cite typed, verifiable evidence (file existence, grep matches, sibling artifacts…); unverifiable citations are dropped, and a `revise` that loses all support is demoted to `flag`
|
|
165
|
+
4. **Diff preview + confirmation** — per-artifact `[a]pply / [s]kip / [e]dit / [d]iff / [q]uit`; writes are atomic with sidecar backups; full audit log emitted on every run (dry-run included)
|
|
166
|
+
|
|
167
|
+
```bash
|
|
168
|
+
# Single artifact, interactive
|
|
169
|
+
planr revise TASK-007
|
|
170
|
+
|
|
171
|
+
# Cascade top-down (epic → features → stories → tasks)
|
|
172
|
+
planr revise EPIC-003 --cascade
|
|
173
|
+
|
|
174
|
+
# Revise everything in the project (content-hash cache skips unchanged artifacts)
|
|
175
|
+
planr revise --all --dry-run # preview every revision
|
|
176
|
+
planr revise --all --yes # type YES once; then non-interactive apply
|
|
177
|
+
|
|
178
|
+
# CI mode — dry-run + JSON audit + non-zero exit on flagged findings
|
|
179
|
+
planr revise EPIC-003 --cascade --dry-run --audit-format json --audit ./revise.json
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
After a successful apply, revise prints a suggested commit:
|
|
183
|
+
|
|
184
|
+
```
|
|
185
|
+
git commit -am "chore(plan): revise EPIC-003 against codebase"
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
Post-flight graph-integrity check runs after every non-dry-run revise. If the writes leave parent/child links broken, revise automatically rolls back via `git checkout` (which is why clean-tree is required by default). Full design in [.planr/EPIC-REVISE-COMMAND.md](.planr/EPIC-REVISE-COMMAND.md).
|
|
189
|
+
|
|
157
190
|
### GitHub & Export
|
|
158
191
|
|
|
159
192
|
| Command | Description |
|
|
@@ -69,4 +69,52 @@ export declare function buildRefinePrompt(artifactContent: string, artifactType:
|
|
|
69
69
|
type: string;
|
|
70
70
|
content: string;
|
|
71
71
|
}): AIMessage[];
|
|
72
|
+
/** Writable scope passed to `buildRevisePrompt`; governs what the agent may modify. */
|
|
73
|
+
export type ReviseWritableScope = 'prose' | 'references' | 'paths' | 'all';
|
|
74
|
+
/** A saved artifact (target, parent, or sibling) passed to `buildRevisePrompt`. */
|
|
75
|
+
export interface RevisePromptArtifact {
|
|
76
|
+
id: string;
|
|
77
|
+
type: string;
|
|
78
|
+
content: string;
|
|
79
|
+
}
|
|
80
|
+
/** One declared source-of-truth document injected into the revise prompt. */
|
|
81
|
+
export interface RevisePromptSource {
|
|
82
|
+
label: string;
|
|
83
|
+
content: string;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Full context pack for a single revise agent call.
|
|
87
|
+
*
|
|
88
|
+
* The builder stays synchronous — the caller (revise-service) is responsible
|
|
89
|
+
* for reading the target artifact, its parent chain, its siblings, and any
|
|
90
|
+
* codebase / source context before invoking this function. This keeps prompt
|
|
91
|
+
* composition a pure function that is easy to test.
|
|
92
|
+
*/
|
|
93
|
+
export interface RevisePromptContext {
|
|
94
|
+
artifact: RevisePromptArtifact;
|
|
95
|
+
parents: RevisePromptArtifact[];
|
|
96
|
+
siblings: RevisePromptArtifact[];
|
|
97
|
+
/** Pre-rendered string from `formatCodebaseContext`; omit in fast mode. */
|
|
98
|
+
codebaseContextFormatted?: string;
|
|
99
|
+
sources: RevisePromptSource[];
|
|
100
|
+
writableScope: ReviseWritableScope;
|
|
101
|
+
/**
|
|
102
|
+
* Canonical `## Section` names for this artifact type (from the matching
|
|
103
|
+
* Handlebars template). When provided, the prompt emits a
|
|
104
|
+
* `[TEMPLATE_STRUCTURE]` section telling the agent to stay within this
|
|
105
|
+
* section set — preventing additive drift like adding a task-level
|
|
106
|
+
* `## Relevant Files` section to an epic. Omit to skip the hint.
|
|
107
|
+
*/
|
|
108
|
+
canonicalSections?: readonly string[];
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Build the message array for a `planr revise` agent call.
|
|
112
|
+
*
|
|
113
|
+
* Emits labeled sections exactly as `REVISE_SYSTEM_PROMPT` expects:
|
|
114
|
+
* `[TARGET_ARTIFACT]`, `[PARENT_CHAIN]`, `[SIBLINGS]`, `[CODEBASE_CONTEXT]`,
|
|
115
|
+
* `[DECLARED_SOURCES]`, `[WRITABLE_SCOPE]`. Missing sections render as
|
|
116
|
+
* explicit "(none)" / "(not loaded)" markers rather than being dropped, so
|
|
117
|
+
* the agent can distinguish "checked and empty" from "not provided."
|
|
118
|
+
*/
|
|
119
|
+
export declare function buildRevisePrompt(ctx: RevisePromptContext): AIMessage[];
|
|
72
120
|
//# sourceMappingURL=prompt-builder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-builder.d.ts","sourceRoot":"","sources":["../../../src/ai/prompts/prompt-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"prompt-builder.d.ts","sourceRoot":"","sources":["../../../src/ai/prompts/prompt-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* Existing sibling titles are injected to prevent the AI from
|
|
9
9
|
* generating duplicate artifacts.
|
|
10
10
|
*/
|
|
11
|
-
import { BACKLOG_PRIORITIZE_SYSTEM_PROMPT, EPIC_SYSTEM_PROMPT, ESTIMATE_SYSTEM_PROMPT, FEATURES_SYSTEM_PROMPT, QUICK_TASKS_SYSTEM_PROMPT, REFINE_SYSTEM_PROMPT, SPRINT_AUTO_SELECT_SYSTEM_PROMPT, STORIES_SYSTEM_PROMPT, TASKS_SYSTEM_PROMPT, } from './system-prompts.js';
|
|
11
|
+
import { BACKLOG_PRIORITIZE_SYSTEM_PROMPT, EPIC_SYSTEM_PROMPT, ESTIMATE_SYSTEM_PROMPT, FEATURES_SYSTEM_PROMPT, QUICK_TASKS_SYSTEM_PROMPT, REFINE_SYSTEM_PROMPT, REVISE_SYSTEM_PROMPT, SPRINT_AUTO_SELECT_SYSTEM_PROMPT, STORIES_SYSTEM_PROMPT, TASKS_SYSTEM_PROMPT, } from './system-prompts.js';
|
|
12
12
|
/** Input exceeding this many lines is treated as a detailed document (PRD, spec, etc.). */
|
|
13
13
|
const DETAILED_INPUT_LINE_THRESHOLD = 5;
|
|
14
14
|
/**
|
|
@@ -205,4 +205,60 @@ export function buildRefinePrompt(artifactContent, artifactType, parentContext)
|
|
|
205
205
|
{ role: 'user', content: userContent },
|
|
206
206
|
];
|
|
207
207
|
}
|
|
208
|
+
/**
|
|
209
|
+
* Build the message array for a `planr revise` agent call.
|
|
210
|
+
*
|
|
211
|
+
* Emits labeled sections exactly as `REVISE_SYSTEM_PROMPT` expects:
|
|
212
|
+
* `[TARGET_ARTIFACT]`, `[PARENT_CHAIN]`, `[SIBLINGS]`, `[CODEBASE_CONTEXT]`,
|
|
213
|
+
* `[DECLARED_SOURCES]`, `[WRITABLE_SCOPE]`. Missing sections render as
|
|
214
|
+
* explicit "(none)" / "(not loaded)" markers rather than being dropped, so
|
|
215
|
+
* the agent can distinguish "checked and empty" from "not provided."
|
|
216
|
+
*/
|
|
217
|
+
export function buildRevisePrompt(ctx) {
|
|
218
|
+
const sections = [];
|
|
219
|
+
sections.push(`[TARGET_ARTIFACT] (type=${ctx.artifact.type}, id=${ctx.artifact.id})\n${ctx.artifact.content}`);
|
|
220
|
+
if (ctx.parents.length > 0) {
|
|
221
|
+
const parentBlock = ctx.parents
|
|
222
|
+
.map((p) => `--- ${p.type} ${p.id} ---\n${p.content}`)
|
|
223
|
+
.join('\n\n');
|
|
224
|
+
sections.push(`[PARENT_CHAIN]\n${parentBlock}`);
|
|
225
|
+
}
|
|
226
|
+
else {
|
|
227
|
+
sections.push(`[PARENT_CHAIN]\n(none — this is a top-level artifact)`);
|
|
228
|
+
}
|
|
229
|
+
if (ctx.siblings.length > 0) {
|
|
230
|
+
const siblingBlock = ctx.siblings
|
|
231
|
+
.map((s) => `--- ${s.type} ${s.id} ---\n${s.content}`)
|
|
232
|
+
.join('\n\n');
|
|
233
|
+
sections.push(`[SIBLINGS]\n${siblingBlock}`);
|
|
234
|
+
}
|
|
235
|
+
else {
|
|
236
|
+
sections.push(`[SIBLINGS]\n(none)`);
|
|
237
|
+
}
|
|
238
|
+
if (ctx.codebaseContextFormatted) {
|
|
239
|
+
sections.push(`[CODEBASE_CONTEXT]\n${ctx.codebaseContextFormatted}`);
|
|
240
|
+
}
|
|
241
|
+
else {
|
|
242
|
+
sections.push(`[CODEBASE_CONTEXT]\n(not loaded — fast mode or --no-code-context)`);
|
|
243
|
+
}
|
|
244
|
+
if (ctx.sources.length > 0) {
|
|
245
|
+
const sourceBlock = ctx.sources.map((s) => `--- ${s.label} ---\n${s.content}`).join('\n\n');
|
|
246
|
+
sections.push(`[DECLARED_SOURCES]\n${sourceBlock}`);
|
|
247
|
+
}
|
|
248
|
+
else {
|
|
249
|
+
sections.push(`[DECLARED_SOURCES]\n(no sources declared in .planr/revise.yaml, or no files matched the configured globs)`);
|
|
250
|
+
}
|
|
251
|
+
if (ctx.canonicalSections && ctx.canonicalSections.length > 0) {
|
|
252
|
+
const list = ctx.canonicalSections.map((s) => ` ## ${s}`).join('\n');
|
|
253
|
+
sections.push(`[TEMPLATE_STRUCTURE]\nCanonical sections for this artifact type (from the project template):\n${list}\n\nDo NOT add sections outside this list. If drift motivates a new section, emit 'flag' with an ambiguous entry instead of 'revise'. You MAY rewrite the content of existing sections and you MAY keep sections already present in the TARGET_ARTIFACT even if they fall outside this list (they are a user-maintained custom section, not drift for you to remove).`);
|
|
254
|
+
}
|
|
255
|
+
else {
|
|
256
|
+
sections.push(`[TEMPLATE_STRUCTURE]\n(no canonical section list enforced for this artifact type — preserve the TARGET_ARTIFACT's existing section structure unless drift clearly motivates a change)`);
|
|
257
|
+
}
|
|
258
|
+
sections.push(`[WRITABLE_SCOPE]\n${ctx.writableScope}`);
|
|
259
|
+
return [
|
|
260
|
+
{ role: 'system', content: REVISE_SYSTEM_PROMPT },
|
|
261
|
+
{ role: 'user', content: sections.join('\n\n') },
|
|
262
|
+
];
|
|
263
|
+
}
|
|
208
264
|
//# sourceMappingURL=prompt-builder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-builder.js","sourceRoot":"","sources":["../../../src/ai/prompts/prompt-builder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"prompt-builder.js","sourceRoot":"","sources":["../../../src/ai/prompts/prompt-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,4 +14,27 @@ export declare const ESTIMATE_SYSTEM_PROMPT = "You are an expert agile planning
|
|
|
14
14
|
export declare const BACKLOG_PRIORITIZE_SYSTEM_PROMPT = "You are an expert agile planning consultant with deep experience in software development, product management, and technical architecture. You help teams create clear, actionable, and well-structured planning artifacts.\n\nYour task is to prioritize a list of backlog items based on their estimated business impact and implementation effort.\n\nYou MUST respond with a valid JSON object containing:\n- \"items\": An array of objects (one per backlog item), sorted from highest to lowest priority, each with:\n - \"id\": The backlog item ID (e.g., \"BL-001\")\n - \"priority\": Recommended priority \u2014 \"critical\", \"high\", \"medium\", or \"low\"\n - \"impactScore\": Business impact score from 1 (minimal) to 10 (transformative)\n - \"effortScore\": Implementation effort score from 1 (trivial) to 10 (massive)\n - \"reasoning\": One sentence explaining the priority decision\n- \"summary\": A 2-3 sentence summary of the overall prioritization rationale\n\nPrioritization factors (in order of importance):\n1. Business value and user impact\n2. Risk reduction and unblocking potential\n3. Implementation effort (prefer high-impact, low-effort items)\n4. Dependencies and sequencing\n5. Technical debt and maintenance cost\n\nWhen codebase context is provided, factor in technical complexity and affected surface area.\n\nRespond with JSON only, no markdown or explanation.";
|
|
15
15
|
export declare const SPRINT_AUTO_SELECT_SYSTEM_PROMPT = "You are an expert agile planning consultant with deep experience in software development, product management, and technical architecture. You help teams create clear, actionable, and well-structured planning artifacts.\n\nYour task is to recommend which tasks should be included in an upcoming sprint based on team velocity, task priorities, and dependencies.\n\nYou MUST respond with a valid JSON object containing:\n- \"selectedTaskIds\": Array of task IDs to include in the sprint (e.g., [\"TASK-001\", \"QT-003\"])\n- \"totalPoints\": Estimated total story points for the selected tasks\n- \"reasoning\": 2-3 sentences explaining the selection rationale\n\nSelection criteria (in order):\n1. Stay within the velocity budget (do not exceed target capacity)\n2. Prioritize tasks with higher priority or that unblock other work\n3. Prefer completing related tasks together (same feature/story)\n4. Balance new features with bug fixes and tech debt\n5. Consider task dependencies \u2014 include prerequisites\n\nRespond with JSON only, no markdown or explanation.";
|
|
16
16
|
export declare const REFINE_SYSTEM_PROMPT = "You are an expert agile planning consultant with deep experience in software development, product management, and technical architecture. You help teams create clear, actionable, and well-structured planning artifacts.\n\nYour task is to review and improve an existing agile artifact. Analyze the content and suggest improvements for:\n- Clarity and specificity\n- Missing details or edge cases\n- Consistency with agile best practices\n- Technical accuracy\n\nIMPORTANT RULES:\n- Do NOT add, remove, or modify cross-reference links (## Features, ## User Stories, ## Tasks sections). These sections link to actual files on disk and must be preserved exactly as-is.\n- Do NOT invent new feature, story, or task references. Creating new artifacts is handled by separate commands.\n- If you think new features/stories should be added, mention it in \"suggestions\" instead of adding links.\n- Focus on improving the artifact's own content: descriptions, requirements, risks, success criteria, etc.\n\nYou MUST respond with a valid JSON object containing:\n- \"suggestions\": Array of improvement suggestions (strings). Include suggestions for new features/stories here if applicable, rather than adding them to the document.\n- \"improved\": The improved artifact data as a JSON object with the same fields as the original frontmatter\n- \"improvedMarkdown\": A raw markdown string that will be written directly to a .md file. It MUST preserve the original file format: YAML frontmatter between --- delimiters followed by the markdown body. Do NOT put JSON in this field.\n\nCRITICAL: The \"improvedMarkdown\" field must be a plain markdown string, NOT a JSON object. It should look exactly like the original artifact the user provided, but with improvements applied. For example, if the original starts with:\n---\nid: \"EPIC-001\"\ntitle: \"My Epic\"\n---\n# EPIC-001: My Epic\n...then \"improvedMarkdown\" must also start with --- frontmatter and contain markdown content. Keep the same structure, sections, and cross-reference links as the original.\n\nRespond with JSON only, no markdown or explanation.";
|
|
17
|
+
/**
|
|
18
|
+
* System prompt for `planr revise` — the agentic revision command (EPIC-003).
|
|
19
|
+
*
|
|
20
|
+
* Unlike REFINE_SYSTEM_PROMPT (which improves prose quality of one artifact
|
|
21
|
+
* in isolation and is forbidden from touching cross-references), the revise
|
|
22
|
+
* prompt actively aligns an artifact with reality: codebase, parent chain,
|
|
23
|
+
* immediate siblings, and declared sources of truth. Cross-references MAY
|
|
24
|
+
* be modified when evidence shows they have drifted.
|
|
25
|
+
*
|
|
26
|
+
* The prompt enforces:
|
|
27
|
+
* 1. A three-way decision: revise / skip / flag (matches aiReviseDecisionSchema)
|
|
28
|
+
* 2. The facts-vs-intent rule: code wins on structural facts, plan wins on intent,
|
|
29
|
+
* intent conflicts are flagged as ambiguous (never silently rewritten)
|
|
30
|
+
* 3. Typed evidence taxonomy: every citation must use one of six verifiable
|
|
31
|
+
* kinds (file_exists, file_absent, grep_match, sibling_artifact,
|
|
32
|
+
* source_quote, pattern_rule) — the post-flight verifier drops any change
|
|
33
|
+
* whose evidence cannot be confirmed against the provided context
|
|
34
|
+
* 4. A writable-scope gate: the caller tells the agent which parts of the
|
|
35
|
+
* artifact may be rewritten (prose / references / paths / all)
|
|
36
|
+
*
|
|
37
|
+
* Output conforms to aiReviseDecisionSchema, not free-form prose.
|
|
38
|
+
*/
|
|
39
|
+
export declare const REVISE_SYSTEM_PROMPT = "You are an expert agile planning consultant with deep experience in software development, product management, and technical architecture. You help teams create clear, actionable, and well-structured planning artifacts.\n\nYour task is to actively revise an existing agile artifact so it matches repo reality. You are an auditor *and* editor: you detect drift between the artifact and the code, parent chain, siblings, and declared sources \u2014 and you rewrite the artifact to eliminate that drift.\n\n## Inputs you will receive (labeled sections)\n\n- [TARGET_ARTIFACT] \u2014 the artifact to revise, full markdown with frontmatter\n- [PARENT_CHAIN] \u2014 parent artifacts (epic \u2192 feature \u2192 story), top-down\n- [SIBLINGS] \u2014 other artifacts at the same hierarchy level within the scope\n- [CODEBASE_CONTEXT] \u2014 tech stack, folder tree, architecture files, and keyword-matched source snippets\n- [DECLARED_SOURCES] \u2014 PRDs, design references, ADRs, and rule files configured in .planr/revise.yaml\n- [TEMPLATE_STRUCTURE] \u2014 canonical ## section names for the target artifact type (from the project template)\n- [WRITABLE_SCOPE] \u2014 which parts of the target you may modify: \"prose\" | \"references\" | \"paths\" | \"all\"\n\n## Your decision (return exactly one)\n\n- \"revise\" \u2014 you detected drift and produced a corrected full-artifact markdown. REQUIRES non-empty \"revisedMarkdown\" AND at least one \"evidence\" entry citing what proved the drift.\n- \"skip\" \u2014 no drift detected, the artifact already matches reality. MUST have no \"revisedMarkdown\" and no \"ambiguous\" entries.\n- \"flag\" \u2014 you detected drift but cannot resolve it without a human decision (intent conflict, contradictory sources). REQUIRES at least one \"ambiguous\" entry describing the conflict.\n\n## CRITICAL RULE: Facts vs. intent\n\n- **Facts win from code.** Paths, file existence, stack names, actual symbol names, implemented behavior, concrete cross-references \u2192 rewrite these to match the codebase and siblings without hesitation.\n- **Intent stays from the plan.** What the feature is *supposed to do*, the user value, the product decision, the @v1 / @v2 split \u2192 do NOT rewrite. If code contradicts stated intent, that is drift-in-the-code, not drift-in-the-plan; emit a \"flag\" decision with an \"ambiguous\" entry, never a \"revise\".\n\n## CRITICAL RULE: Template structure conformance\n\n- **Do NOT add sections outside the [TEMPLATE_STRUCTURE] list.** Epics, features, stories, and tasks each have a canonical section set \u2014 adding a section from one level to an artifact at another level (e.g., putting a \"## Relevant Files\" section on an epic, which is a task-level convention) is *scope creep*, not drift repair.\n- **Sections already present in the TARGET_ARTIFACT that fall outside the list are user-maintained customs** \u2014 preserve them byte-for-byte unless the user's evidence explicitly asks you to remove them.\n- If codebase evidence seems to motivate a new section, emit a \"flag\" decision with an ambiguous entry describing the opportunity. Do not add the section yourself.\n- When [TEMPLATE_STRUCTURE] is absent, preserve the TARGET_ARTIFACT's existing section structure and only rewrite within it.\n\n## Evidence taxonomy (every citation MUST use one of these types)\n\n- \"file_exists\" \u2014 ref is a relative file path that appears in CODEBASE_CONTEXT\n- \"file_absent\" \u2014 ref is a relative file path NOT in CODEBASE_CONTEXT (and not mentioned in folder tree / source inventory)\n- \"grep_match\" \u2014 ref is a symbol / literal found in CODEBASE_CONTEXT; supply the matching line as \"quote\"\n- \"sibling_artifact\" \u2014 ref is another artifact id from SIBLINGS or PARENT_CHAIN; supply the quoted excerpt as \"quote\"\n- \"source_quote\" \u2014 ref is a DECLARED_SOURCES path or URL; supply the quoted excerpt as \"quote\"\n- \"pattern_rule\" \u2014 ref is a pattern rule id from CODEBASE_CONTEXT's architectural patterns\n\n## Hallucination guardrails (load-bearing)\n\n- NEVER cite a file path, symbol, artifact id, or quote unless it appears verbatim in one of the provided sections.\n- The post-flight verifier will drop any change whose evidence cannot be confirmed against the actual repo. Inventing evidence wastes the run.\n- When unsure whether a change is supported, prefer \"flag\" with an \"ambiguous\" entry over \"revise\" with weak evidence.\n\n## Writable scope\n\n- \"prose\" \u2014 you may rewrite descriptions, requirements, risks, success criteria, notes. You may NOT touch parent/child link lists, Relevant Files sections, or frontmatter.\n- \"references\" \u2014 adds permission to rewrite cross-reference sections (## Features / ## User Stories / ## Tasks) when a link points at a non-existent artifact or is missing a real one.\n- \"paths\" \u2014 adds permission to rewrite Relevant Files sections in task artifacts when cited paths do not exist or real paths are missing.\n- \"all\" \u2014 everything above, plus frontmatter fields that are non-identity (updatedAt, owner). Never modify id, createdAt, or parent-id fields (epicId, featureId, storyId).\n\nIf WRITABLE_SCOPE excludes a category, do NOT emit revisions that touch it \u2014 flag instead.\n\n## Output contract\n\nYou MUST respond with a valid JSON object matching this shape exactly:\n\n{\n \"artifactId\": \"<the id from TARGET_ARTIFACT frontmatter>\",\n \"action\": \"revise\" | \"skip\" | \"flag\",\n \"revisedMarkdown\": \"<full artifact markdown, with --- frontmatter, when action === 'revise'; omit otherwise>\",\n \"rationale\": \"<one paragraph: what drift, why you made this call>\",\n \"evidence\": [{ \"type\": \"<one of six>\", \"ref\": \"<path|id|rule-id>\", \"quote\": \"<optional verbatim snippet>\" }],\n \"ambiguous\": [{ \"section\": \"<section name>\", \"reason\": \"<why human decision needed>\" }]\n}\n\nRules for revisedMarkdown:\n- It MUST be a plain markdown string, NOT a JSON object or fenced code block.\n- It MUST preserve YAML frontmatter between --- delimiters.\n- It MUST preserve id, createdAt, and parent-id frontmatter fields (epicId/featureId/storyId) byte-for-byte.\n- The structure (## sections) MAY change only within WRITABLE_SCOPE.\n\nRespond with JSON only, no markdown or explanation outside the JSON.";
|
|
17
40
|
//# sourceMappingURL=system-prompts.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-prompts.d.ts","sourceRoot":"","sources":["../../../src/ai/prompts/system-prompts.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAmBH,eAAO,MAAM,kBAAkB,47CAkBqB,CAAC;AAErD,eAAO,MAAM,sBAAsB,2pFAyBiB,CAAC;AAErD,eAAO,MAAM,qBAAqB,6uFA4BkB,CAAC;AAErD,eAAO,MAAM,mBAAmB,ktKAgDoB,CAAC;AAErD,eAAO,MAAM,yBAAyB,+8JAgDc,CAAC;AAErD,eAAO,MAAM,sBAAsB,shFAyCiB,CAAC;AAErD,eAAO,MAAM,gCAAgC,42CAsBO,CAAC;AAErD,eAAO,MAAM,gCAAgC,4iCAgBO,CAAC;AAErD,eAAO,MAAM,oBAAoB,8jEA2BmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"system-prompts.d.ts","sourceRoot":"","sources":["../../../src/ai/prompts/system-prompts.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAmBH,eAAO,MAAM,kBAAkB,47CAkBqB,CAAC;AAErD,eAAO,MAAM,sBAAsB,2pFAyBiB,CAAC;AAErD,eAAO,MAAM,qBAAqB,6uFA4BkB,CAAC;AAErD,eAAO,MAAM,mBAAmB,ktKAgDoB,CAAC;AAErD,eAAO,MAAM,yBAAyB,+8JAgDc,CAAC;AAErD,eAAO,MAAM,sBAAsB,shFAyCiB,CAAC;AAErD,eAAO,MAAM,gCAAgC,42CAsBO,CAAC;AAErD,eAAO,MAAM,gCAAgC,4iCAgBO,CAAC;AAErD,eAAO,MAAM,oBAAoB,8jEA2BmB,CAAC;AAErD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,oBAAoB,gsMA2EoC,CAAC"}
|
|
@@ -302,4 +302,102 @@ title: "My Epic"
|
|
|
302
302
|
...then "improvedMarkdown" must also start with --- frontmatter and contain markdown content. Keep the same structure, sections, and cross-reference links as the original.
|
|
303
303
|
|
|
304
304
|
Respond with JSON only, no markdown or explanation.`;
|
|
305
|
+
/**
|
|
306
|
+
* System prompt for `planr revise` — the agentic revision command (EPIC-003).
|
|
307
|
+
*
|
|
308
|
+
* Unlike REFINE_SYSTEM_PROMPT (which improves prose quality of one artifact
|
|
309
|
+
* in isolation and is forbidden from touching cross-references), the revise
|
|
310
|
+
* prompt actively aligns an artifact with reality: codebase, parent chain,
|
|
311
|
+
* immediate siblings, and declared sources of truth. Cross-references MAY
|
|
312
|
+
* be modified when evidence shows they have drifted.
|
|
313
|
+
*
|
|
314
|
+
* The prompt enforces:
|
|
315
|
+
* 1. A three-way decision: revise / skip / flag (matches aiReviseDecisionSchema)
|
|
316
|
+
* 2. The facts-vs-intent rule: code wins on structural facts, plan wins on intent,
|
|
317
|
+
* intent conflicts are flagged as ambiguous (never silently rewritten)
|
|
318
|
+
* 3. Typed evidence taxonomy: every citation must use one of six verifiable
|
|
319
|
+
* kinds (file_exists, file_absent, grep_match, sibling_artifact,
|
|
320
|
+
* source_quote, pattern_rule) — the post-flight verifier drops any change
|
|
321
|
+
* whose evidence cannot be confirmed against the provided context
|
|
322
|
+
* 4. A writable-scope gate: the caller tells the agent which parts of the
|
|
323
|
+
* artifact may be rewritten (prose / references / paths / all)
|
|
324
|
+
*
|
|
325
|
+
* Output conforms to aiReviseDecisionSchema, not free-form prose.
|
|
326
|
+
*/
|
|
327
|
+
export const REVISE_SYSTEM_PROMPT = `${BASE_PERSONA}
|
|
328
|
+
|
|
329
|
+
Your task is to actively revise an existing agile artifact so it matches repo reality. You are an auditor *and* editor: you detect drift between the artifact and the code, parent chain, siblings, and declared sources — and you rewrite the artifact to eliminate that drift.
|
|
330
|
+
|
|
331
|
+
## Inputs you will receive (labeled sections)
|
|
332
|
+
|
|
333
|
+
- [TARGET_ARTIFACT] — the artifact to revise, full markdown with frontmatter
|
|
334
|
+
- [PARENT_CHAIN] — parent artifacts (epic → feature → story), top-down
|
|
335
|
+
- [SIBLINGS] — other artifacts at the same hierarchy level within the scope
|
|
336
|
+
- [CODEBASE_CONTEXT] — tech stack, folder tree, architecture files, and keyword-matched source snippets
|
|
337
|
+
- [DECLARED_SOURCES] — PRDs, design references, ADRs, and rule files configured in .planr/revise.yaml
|
|
338
|
+
- [TEMPLATE_STRUCTURE] — canonical ## section names for the target artifact type (from the project template)
|
|
339
|
+
- [WRITABLE_SCOPE] — which parts of the target you may modify: "prose" | "references" | "paths" | "all"
|
|
340
|
+
|
|
341
|
+
## Your decision (return exactly one)
|
|
342
|
+
|
|
343
|
+
- "revise" — you detected drift and produced a corrected full-artifact markdown. REQUIRES non-empty "revisedMarkdown" AND at least one "evidence" entry citing what proved the drift.
|
|
344
|
+
- "skip" — no drift detected, the artifact already matches reality. MUST have no "revisedMarkdown" and no "ambiguous" entries.
|
|
345
|
+
- "flag" — you detected drift but cannot resolve it without a human decision (intent conflict, contradictory sources). REQUIRES at least one "ambiguous" entry describing the conflict.
|
|
346
|
+
|
|
347
|
+
## CRITICAL RULE: Facts vs. intent
|
|
348
|
+
|
|
349
|
+
- **Facts win from code.** Paths, file existence, stack names, actual symbol names, implemented behavior, concrete cross-references → rewrite these to match the codebase and siblings without hesitation.
|
|
350
|
+
- **Intent stays from the plan.** What the feature is *supposed to do*, the user value, the product decision, the @v1 / @v2 split → do NOT rewrite. If code contradicts stated intent, that is drift-in-the-code, not drift-in-the-plan; emit a "flag" decision with an "ambiguous" entry, never a "revise".
|
|
351
|
+
|
|
352
|
+
## CRITICAL RULE: Template structure conformance
|
|
353
|
+
|
|
354
|
+
- **Do NOT add sections outside the [TEMPLATE_STRUCTURE] list.** Epics, features, stories, and tasks each have a canonical section set — adding a section from one level to an artifact at another level (e.g., putting a "## Relevant Files" section on an epic, which is a task-level convention) is *scope creep*, not drift repair.
|
|
355
|
+
- **Sections already present in the TARGET_ARTIFACT that fall outside the list are user-maintained customs** — preserve them byte-for-byte unless the user's evidence explicitly asks you to remove them.
|
|
356
|
+
- If codebase evidence seems to motivate a new section, emit a "flag" decision with an ambiguous entry describing the opportunity. Do not add the section yourself.
|
|
357
|
+
- When [TEMPLATE_STRUCTURE] is absent, preserve the TARGET_ARTIFACT's existing section structure and only rewrite within it.
|
|
358
|
+
|
|
359
|
+
## Evidence taxonomy (every citation MUST use one of these types)
|
|
360
|
+
|
|
361
|
+
- "file_exists" — ref is a relative file path that appears in CODEBASE_CONTEXT
|
|
362
|
+
- "file_absent" — ref is a relative file path NOT in CODEBASE_CONTEXT (and not mentioned in folder tree / source inventory)
|
|
363
|
+
- "grep_match" — ref is a symbol / literal found in CODEBASE_CONTEXT; supply the matching line as "quote"
|
|
364
|
+
- "sibling_artifact" — ref is another artifact id from SIBLINGS or PARENT_CHAIN; supply the quoted excerpt as "quote"
|
|
365
|
+
- "source_quote" — ref is a DECLARED_SOURCES path or URL; supply the quoted excerpt as "quote"
|
|
366
|
+
- "pattern_rule" — ref is a pattern rule id from CODEBASE_CONTEXT's architectural patterns
|
|
367
|
+
|
|
368
|
+
## Hallucination guardrails (load-bearing)
|
|
369
|
+
|
|
370
|
+
- NEVER cite a file path, symbol, artifact id, or quote unless it appears verbatim in one of the provided sections.
|
|
371
|
+
- The post-flight verifier will drop any change whose evidence cannot be confirmed against the actual repo. Inventing evidence wastes the run.
|
|
372
|
+
- When unsure whether a change is supported, prefer "flag" with an "ambiguous" entry over "revise" with weak evidence.
|
|
373
|
+
|
|
374
|
+
## Writable scope
|
|
375
|
+
|
|
376
|
+
- "prose" — you may rewrite descriptions, requirements, risks, success criteria, notes. You may NOT touch parent/child link lists, Relevant Files sections, or frontmatter.
|
|
377
|
+
- "references" — adds permission to rewrite cross-reference sections (## Features / ## User Stories / ## Tasks) when a link points at a non-existent artifact or is missing a real one.
|
|
378
|
+
- "paths" — adds permission to rewrite Relevant Files sections in task artifacts when cited paths do not exist or real paths are missing.
|
|
379
|
+
- "all" — everything above, plus frontmatter fields that are non-identity (updatedAt, owner). Never modify id, createdAt, or parent-id fields (epicId, featureId, storyId).
|
|
380
|
+
|
|
381
|
+
If WRITABLE_SCOPE excludes a category, do NOT emit revisions that touch it — flag instead.
|
|
382
|
+
|
|
383
|
+
## Output contract
|
|
384
|
+
|
|
385
|
+
You MUST respond with a valid JSON object matching this shape exactly:
|
|
386
|
+
|
|
387
|
+
{
|
|
388
|
+
"artifactId": "<the id from TARGET_ARTIFACT frontmatter>",
|
|
389
|
+
"action": "revise" | "skip" | "flag",
|
|
390
|
+
"revisedMarkdown": "<full artifact markdown, with --- frontmatter, when action === 'revise'; omit otherwise>",
|
|
391
|
+
"rationale": "<one paragraph: what drift, why you made this call>",
|
|
392
|
+
"evidence": [{ "type": "<one of six>", "ref": "<path|id|rule-id>", "quote": "<optional verbatim snippet>" }],
|
|
393
|
+
"ambiguous": [{ "section": "<section name>", "reason": "<why human decision needed>" }]
|
|
394
|
+
}
|
|
395
|
+
|
|
396
|
+
Rules for revisedMarkdown:
|
|
397
|
+
- It MUST be a plain markdown string, NOT a JSON object or fenced code block.
|
|
398
|
+
- It MUST preserve YAML frontmatter between --- delimiters.
|
|
399
|
+
- It MUST preserve id, createdAt, and parent-id frontmatter fields (epicId/featureId/storyId) byte-for-byte.
|
|
400
|
+
- The structure (## sections) MAY change only within WRITABLE_SCOPE.
|
|
401
|
+
|
|
402
|
+
Respond with JSON only, no markdown or explanation outside the JSON.`;
|
|
305
403
|
//# sourceMappingURL=system-prompts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-prompts.js","sourceRoot":"","sources":["../../../src/ai/prompts/system-prompts.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,YAAY,GAAG,4NAA4N,CAAC;AAElP;;;GAGG;AACH,MAAM,gBAAgB,GAAG;;;;;;;;;gPASuN,CAAC;AAEjP,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,YAAY;;;;;;;;;;;;;;;;;;oDAkBG,CAAC;AAErD,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,YAAY;;;;;;;;;;;;;;;;;;EAkBnD,gBAAgB;;;;;;;oDAOkC,CAAC;AAErD,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,YAAY;;;;;;;;;;;;;;;;;;;;;EAqBlD,gBAAgB;;;;;;;oDAOkC,CAAC;AAErD,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwChD,gBAAgB;;;;;;;;oDAQkC,CAAC;AAErD,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgCtD,gBAAgB;;;;;;;;;;;;;;;;oDAgBkC,CAAC;AAErD,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oDAyCD,CAAC;AAErD,MAAM,CAAC,MAAM,gCAAgC,GAAG,GAAG,YAAY;;;;;;;;;;;;;;;;;;;;;;oDAsBX,CAAC;AAErD,MAAM,CAAC,MAAM,gCAAgC,GAAG,GAAG,YAAY;;;;;;;;;;;;;;;;oDAgBX,CAAC;AAErD,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;oDA2BC,CAAC"}
|
|
1
|
+
{"version":3,"file":"system-prompts.js","sourceRoot":"","sources":["../../../src/ai/prompts/system-prompts.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,YAAY,GAAG,4NAA4N,CAAC;AAElP;;;GAGG;AACH,MAAM,gBAAgB,GAAG;;;;;;;;;gPASuN,CAAC;AAEjP,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,YAAY;;;;;;;;;;;;;;;;;;oDAkBG,CAAC;AAErD,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,YAAY;;;;;;;;;;;;;;;;;;EAkBnD,gBAAgB;;;;;;;oDAOkC,CAAC;AAErD,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,YAAY;;;;;;;;;;;;;;;;;;;;;EAqBlD,gBAAgB;;;;;;;oDAOkC,CAAC;AAErD,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwChD,gBAAgB;;;;;;;;oDAQkC,CAAC;AAErD,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgCtD,gBAAgB;;;;;;;;;;;;;;;;oDAgBkC,CAAC;AAErD,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oDAyCD,CAAC;AAErD,MAAM,CAAC,MAAM,gCAAgC,GAAG,GAAG,YAAY;;;;;;;;;;;;;;;;;;;;;;oDAsBX,CAAC;AAErD,MAAM,CAAC,MAAM,gCAAgC,GAAG,GAAG,YAAY;;;;;;;;;;;;;;;;oDAgBX,CAAC;AAErD,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;oDA2BC,CAAC;AAErD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qEA2EkB,CAAC"}
|
|
@@ -197,4 +197,72 @@ export declare const aiRefineResponseSchema: z.ZodObject<{
|
|
|
197
197
|
improvedMarkdown: z.ZodString;
|
|
198
198
|
}, z.core.$strip>;
|
|
199
199
|
export type AIRefineResponse = z.infer<typeof aiRefineResponseSchema>;
|
|
200
|
+
export declare const aiReviseActionSchema: z.ZodEnum<{
|
|
201
|
+
revise: "revise";
|
|
202
|
+
skip: "skip";
|
|
203
|
+
flag: "flag";
|
|
204
|
+
}>;
|
|
205
|
+
export declare const aiReviseEvidenceTypeSchema: z.ZodEnum<{
|
|
206
|
+
file_exists: "file_exists";
|
|
207
|
+
file_absent: "file_absent";
|
|
208
|
+
grep_match: "grep_match";
|
|
209
|
+
sibling_artifact: "sibling_artifact";
|
|
210
|
+
source_quote: "source_quote";
|
|
211
|
+
pattern_rule: "pattern_rule";
|
|
212
|
+
}>;
|
|
213
|
+
export declare const aiReviseEvidenceSchema: z.ZodObject<{
|
|
214
|
+
type: z.ZodEnum<{
|
|
215
|
+
file_exists: "file_exists";
|
|
216
|
+
file_absent: "file_absent";
|
|
217
|
+
grep_match: "grep_match";
|
|
218
|
+
sibling_artifact: "sibling_artifact";
|
|
219
|
+
source_quote: "source_quote";
|
|
220
|
+
pattern_rule: "pattern_rule";
|
|
221
|
+
}>;
|
|
222
|
+
ref: z.ZodString;
|
|
223
|
+
quote: z.ZodOptional<z.ZodString>;
|
|
224
|
+
}, z.core.$strip>;
|
|
225
|
+
export declare const aiReviseAmbiguitySchema: z.ZodObject<{
|
|
226
|
+
section: z.ZodString;
|
|
227
|
+
reason: z.ZodString;
|
|
228
|
+
}, z.core.$strip>;
|
|
229
|
+
/**
|
|
230
|
+
* Schema for a single revise agent decision.
|
|
231
|
+
*
|
|
232
|
+
* Action-specific invariants (enforced via `superRefine`):
|
|
233
|
+
* - `revise` → non-empty `revisedMarkdown` AND at least one `evidence` entry
|
|
234
|
+
* - `flag` → at least one `ambiguous` entry (evidence encouraged but not required)
|
|
235
|
+
* - `skip` → no `revisedMarkdown`, no `ambiguous` entries
|
|
236
|
+
*
|
|
237
|
+
* The TS shape in `ReviseDecision` (src/models/types.ts) is the consumer-facing
|
|
238
|
+
* view; this schema is what the AI response is validated against before it
|
|
239
|
+
* reaches the post-flight verifier.
|
|
240
|
+
*/
|
|
241
|
+
export declare const aiReviseDecisionSchema: z.ZodObject<{
|
|
242
|
+
artifactId: z.ZodString;
|
|
243
|
+
action: z.ZodEnum<{
|
|
244
|
+
revise: "revise";
|
|
245
|
+
skip: "skip";
|
|
246
|
+
flag: "flag";
|
|
247
|
+
}>;
|
|
248
|
+
revisedMarkdown: z.ZodOptional<z.ZodString>;
|
|
249
|
+
rationale: z.ZodString;
|
|
250
|
+
evidence: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
251
|
+
type: z.ZodEnum<{
|
|
252
|
+
file_exists: "file_exists";
|
|
253
|
+
file_absent: "file_absent";
|
|
254
|
+
grep_match: "grep_match";
|
|
255
|
+
sibling_artifact: "sibling_artifact";
|
|
256
|
+
source_quote: "source_quote";
|
|
257
|
+
pattern_rule: "pattern_rule";
|
|
258
|
+
}>;
|
|
259
|
+
ref: z.ZodString;
|
|
260
|
+
quote: z.ZodOptional<z.ZodString>;
|
|
261
|
+
}, z.core.$strip>>>;
|
|
262
|
+
ambiguous: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
263
|
+
section: z.ZodString;
|
|
264
|
+
reason: z.ZodString;
|
|
265
|
+
}, z.core.$strip>>>;
|
|
266
|
+
}, z.core.$strip>;
|
|
267
|
+
export type AIReviseDecisionResponse = z.infer<typeof aiReviseDecisionSchema>;
|
|
200
268
|
//# sourceMappingURL=ai-response-schemas.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-response-schemas.d.ts","sourceRoot":"","sources":["../../../src/ai/schemas/ai-response-schemas.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,oBAAoB;;;;;;;;;;;iBAuB/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAIlE,eAAO,MAAM,eAAe;;;;;;;;iBAQ1B,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;iBAEnC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAI1E,eAAO,MAAM,uBAAuB;;;;;iBAKlC,CAAC;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;iBAOxB,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;iBAElC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAIxE,eAAO,MAAM,eAAe;;;iBAG1B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;iBAI5B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;iBAI5B,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;iBAI/B,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;iBAKhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAIpE,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;iBAIrC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAM9E,eAAO,MAAM,wBAAwB;;;;;;;;;;;iBAYnC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAI1E,eAAO,MAAM,8BAA8B;;;;;;;;;;;iBAMzC,CAAC;AAEH,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;iBAG5C,CAAC;AAEH,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iCAAiC,CAAC,CAAC;AAI5F,eAAO,MAAM,gCAAgC;;;;iBAI3C,CAAC;AAEH,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC;AAI1F,eAAO,MAAM,sBAAsB;;;;iBAIjC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"ai-response-schemas.d.ts","sourceRoot":"","sources":["../../../src/ai/schemas/ai-response-schemas.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,oBAAoB;;;;;;;;;;;iBAuB/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAIlE,eAAO,MAAM,eAAe;;;;;;;;iBAQ1B,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;iBAEnC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAI1E,eAAO,MAAM,uBAAuB;;;;;iBAKlC,CAAC;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;iBAOxB,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;iBAElC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAIxE,eAAO,MAAM,eAAe;;;iBAG1B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;iBAI5B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;iBAI5B,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;iBAI/B,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;iBAKhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAIpE,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;iBAIrC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAM9E,eAAO,MAAM,wBAAwB;;;;;;;;;;;iBAYnC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAI1E,eAAO,MAAM,8BAA8B;;;;;;;;;;;iBAMzC,CAAC;AAEH,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;iBAG5C,CAAC;AAEH,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iCAAiC,CAAC,CAAC;AAI5F,eAAO,MAAM,gCAAgC;;;;iBAI3C,CAAC;AAEH,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC;AAI1F,eAAO,MAAM,sBAAsB;;;;iBAIjC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAItE,eAAO,MAAM,oBAAoB;;;;EAAqC,CAAC;AAEvE,eAAO,MAAM,0BAA0B;;;;;;;EAOrC,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;iBAIjC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;iBAGlC,CAAC;AAEH;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;iBAiD/B,CAAC;AAEL,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
|
|
@@ -130,4 +130,85 @@ export const aiRefineResponseSchema = z.object({
|
|
|
130
130
|
improved: z.record(z.string(), z.unknown()),
|
|
131
131
|
improvedMarkdown: z.string().min(1),
|
|
132
132
|
});
|
|
133
|
+
// --- Revise (EPIC-003) ---
|
|
134
|
+
export const aiReviseActionSchema = z.enum(['revise', 'skip', 'flag']);
|
|
135
|
+
export const aiReviseEvidenceTypeSchema = z.enum([
|
|
136
|
+
'file_exists',
|
|
137
|
+
'file_absent',
|
|
138
|
+
'grep_match',
|
|
139
|
+
'sibling_artifact',
|
|
140
|
+
'source_quote',
|
|
141
|
+
'pattern_rule',
|
|
142
|
+
]);
|
|
143
|
+
export const aiReviseEvidenceSchema = z.object({
|
|
144
|
+
type: aiReviseEvidenceTypeSchema,
|
|
145
|
+
ref: z.string().min(1),
|
|
146
|
+
quote: z.string().optional(),
|
|
147
|
+
});
|
|
148
|
+
export const aiReviseAmbiguitySchema = z.object({
|
|
149
|
+
section: z.string().min(1),
|
|
150
|
+
reason: z.string().min(1),
|
|
151
|
+
});
|
|
152
|
+
/**
|
|
153
|
+
* Schema for a single revise agent decision.
|
|
154
|
+
*
|
|
155
|
+
* Action-specific invariants (enforced via `superRefine`):
|
|
156
|
+
* - `revise` → non-empty `revisedMarkdown` AND at least one `evidence` entry
|
|
157
|
+
* - `flag` → at least one `ambiguous` entry (evidence encouraged but not required)
|
|
158
|
+
* - `skip` → no `revisedMarkdown`, no `ambiguous` entries
|
|
159
|
+
*
|
|
160
|
+
* The TS shape in `ReviseDecision` (src/models/types.ts) is the consumer-facing
|
|
161
|
+
* view; this schema is what the AI response is validated against before it
|
|
162
|
+
* reaches the post-flight verifier.
|
|
163
|
+
*/
|
|
164
|
+
export const aiReviseDecisionSchema = z
|
|
165
|
+
.object({
|
|
166
|
+
artifactId: z.string().min(1),
|
|
167
|
+
action: aiReviseActionSchema,
|
|
168
|
+
revisedMarkdown: z.string().optional(),
|
|
169
|
+
rationale: z.string().min(1),
|
|
170
|
+
evidence: z.array(aiReviseEvidenceSchema).default([]),
|
|
171
|
+
ambiguous: z.array(aiReviseAmbiguitySchema).default([]),
|
|
172
|
+
})
|
|
173
|
+
.superRefine((decision, ctx) => {
|
|
174
|
+
if (decision.action === 'revise') {
|
|
175
|
+
if (!decision.revisedMarkdown || decision.revisedMarkdown.length === 0) {
|
|
176
|
+
ctx.addIssue({
|
|
177
|
+
code: 'custom',
|
|
178
|
+
message: "action 'revise' requires non-empty revisedMarkdown",
|
|
179
|
+
path: ['revisedMarkdown'],
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
if (decision.evidence.length === 0) {
|
|
183
|
+
ctx.addIssue({
|
|
184
|
+
code: 'custom',
|
|
185
|
+
message: "action 'revise' requires at least one evidence citation",
|
|
186
|
+
path: ['evidence'],
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
if (decision.action === 'flag' && decision.ambiguous.length === 0) {
|
|
191
|
+
ctx.addIssue({
|
|
192
|
+
code: z.ZodIssueCode.custom,
|
|
193
|
+
message: "action 'flag' requires at least one ambiguity entry",
|
|
194
|
+
path: ['ambiguous'],
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
if (decision.action === 'skip') {
|
|
198
|
+
if (decision.revisedMarkdown && decision.revisedMarkdown.length > 0) {
|
|
199
|
+
ctx.addIssue({
|
|
200
|
+
code: 'custom',
|
|
201
|
+
message: "action 'skip' must not include revisedMarkdown",
|
|
202
|
+
path: ['revisedMarkdown'],
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
if (decision.ambiguous.length > 0) {
|
|
206
|
+
ctx.addIssue({
|
|
207
|
+
code: 'custom',
|
|
208
|
+
message: "action 'skip' must not include ambiguous entries",
|
|
209
|
+
path: ['ambiguous'],
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
});
|
|
133
214
|
//# sourceMappingURL=ai-response-schemas.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-response-schemas.js","sourceRoot":"","sources":["../../../src/ai/schemas/ai-response-schemas.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ai-response-schemas.js","sourceRoot":"","sources":["../../../src/ai/schemas/ai-response-schemas.ts"],"names":[],"mappings":"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"}
|
package/dist/ai/types.d.ts
CHANGED
|
@@ -46,6 +46,8 @@ export declare const TOKEN_BUDGETS: {
|
|
|
46
46
|
readonly estimate: 4096;
|
|
47
47
|
readonly backlogPrioritize: 8192;
|
|
48
48
|
readonly sprintAutoSelect: 8192;
|
|
49
|
+
/** `planr revise` — decision JSON is small, but revisedMarkdown may rewrite a full artifact. */
|
|
50
|
+
readonly revise: 16384;
|
|
49
51
|
};
|
|
50
52
|
export interface AIProvider {
|
|
51
53
|
readonly name: AIProviderName;
|
package/dist/ai/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ai/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,cAAc,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAC/D,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,yDAAyD;AACzD,MAAM,WAAW,OAAO;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,8EAA8E;IAC9E,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAMD,wEAAwE;AACxE,eAAO,MAAM,kBAAkB,OAAO,CAAC;AAEvC;;;GAGG;AACH,eAAO,MAAM,aAAa;;;;;;;IAOxB,uEAAuE;;;;;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ai/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,cAAc,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAC/D,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,yDAAyD;AACzD,MAAM,WAAW,OAAO;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,8EAA8E;IAC9E,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAMD,wEAAwE;AACxE,eAAO,MAAM,kBAAkB,OAAO,CAAC;AAEvC;;;GAGG;AACH,eAAO,MAAM,aAAa;;;;;;;IAOxB,uEAAuE;;;;;IAKvE,gGAAgG;;CAExF,CAAC;AAEX,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAE/E;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE7E;;;OAGG;IACH,YAAY,IAAI,OAAO,GAAG,SAAS,CAAC;CACrC;AAED,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAIhD,CAAC;AAEX,uGAAuG;AACvG,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAGrC,CAAC;AAEX,qDAAqD;AACrD,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAIjD,CAAC"}
|
package/dist/ai/types.js
CHANGED
|
@@ -25,6 +25,8 @@ export const TOKEN_BUDGETS = {
|
|
|
25
25
|
estimate: 4096,
|
|
26
26
|
backlogPrioritize: 8192,
|
|
27
27
|
sprintAutoSelect: 8192,
|
|
28
|
+
/** `planr revise` — decision JSON is small, but revisedMarkdown may rewrite a full artifact. */
|
|
29
|
+
revise: 16384,
|
|
28
30
|
};
|
|
29
31
|
export const DEFAULT_MODELS = {
|
|
30
32
|
anthropic: 'claude-sonnet-4-20250514',
|