paqad-ai
Version:
Spec-driven development framework — AI agents that think before they type
39 lines (35 loc) • 1.51 kB
Markdown
The output is a JSON object: the FR-4 two-layer question batch the spec
pipeline's `questions` step consumes. `questions[]` is the only required field;
each question is a `PipelineQuestion` (see `src/spec-pipeline/types.ts`).
```json
{
"questions": [
{
"business_text": "Today, an export includes the archived invoices too. Keep including them, or leave them out?",
"why_it_matters": "It changes what every downstream reader sees in the exported file.",
"options": [
"Keep the archived invoices in the export",
"Leave the archived invoices out of the export"
],
"grounded_in": "docs/modules/exports/overview.md",
"technical_note": "archived == status:archived rows in the export serializer"
},
{
"business_text": "When the export can't be delivered, what should happen?",
"why_it_matters": "It decides whether a stuck export fails loudly or waits.",
"options": [
"Keep trying quietly for an hour, then notify someone",
"Fail straight away and tell the user"
],
"grounded_in": null
}
]
}
```
Rules:
- `business_text` and every `options[]` entry use the project's own words,
grounding terms first, then the prompt's wording, then plain English.
- `options[]` are OUTCOMES, never mechanisms (no "exponential backoff").
- `grounded_in` is a doc/glossary ref, or `null` when the wording can't be tied
to project evidence.
- `technical_note` is optional and internal: never shown to the user.