* feat: /gsd:ai-phase + /gsd:eval-review — AI evals and framework selection layer Adds a structured AI development layer to GSD with 5 new agents, 2 new commands, 2 new workflows, 2 reference files, and 1 template. Commands: - /gsd:ai-phase [N] — pre-planning AI design contract (inserts between discuss-phase and plan-phase). Orchestrates 4 agents in sequence: framework-selector → ai-researcher → domain-researcher → eval-planner. Output: AI-SPEC.md with framework decision, implementation guidance, domain expert context, and evaluation strategy. - /gsd:eval-review [N] — retroactive eval coverage audit. Scores each planned eval dimension as COVERED/PARTIAL/MISSING. Output: EVAL-REVIEW.md with 0-100 score, verdict, and remediation plan. Agents: - gsd-framework-selector: interactive decision matrix (6 questions) → scored framework recommendation for CrewAI, LlamaIndex, LangChain, LangGraph, OpenAI Agents SDK, Claude Agent SDK, AutoGen/AG2, Haystack - gsd-ai-researcher: fetches official framework docs + writes AI systems best practices (Pydantic structured outputs, async-first, prompt discipline, context window management, cost/latency budget) - gsd-domain-researcher: researches business domain and use-case context — surfaces domain expert evaluation criteria, industry failure modes, regulatory constraints, and practitioner rubric ingredients before eval-planner writes measurable criteria - gsd-eval-planner: designs evaluation strategy grounded in domain context; defaults to Arize Phoenix (tracing) + RAGAS (RAG eval) with detect-first guard for existing tooling - gsd-eval-auditor: retroactive codebase scan → scores eval coverage Integration points: - plan-phase: non-blocking nudge (step 4.5) when AI keywords detected and no AI-SPEC.md present - settings: new workflow.ai_phase toggle (default on) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix: refine ai-integration-phase layer — rename, house style, consistency fixes Amends the ai-evals framework layer (df8cb6c) with post-review improvements before opening upstream PR. Rename /gsd:ai-phase → /gsd:ai-integration-phase: - Renamed commands/gsd/ai-phase.md → ai-integration-phase.md - Renamed get-shit-done/workflows/ai-phase.md → ai-integration-phase.md - Updated config key: workflow.ai_phase → workflow.ai_integration_phase - Updated repair action: addAiPhaseKey → addAiIntegrationPhaseKey - Updated all 84 cross-references across agents, workflows, templates, tests Consistency fixes (same class as PR #1380 review): - commands/gsd: objective described 3-agent chain, missing gsd-domain-researcher - workflows/ai-integration-phase: purpose tag described 3-agent chain + "locks three things" — updated to 4 agents + 4 outputs - workflows/ai-integration-phase: missing DOMAIN_MODEL resolve-model call in step 1 (domain-researcher was spawned in step 7.5 with no model variable) - workflows/ai-integration-phase: fractional step ## 7.5 renumbered to integers (steps 8–12 shifted) Agent house style (GSD meta-prompting conformance): - All 5 new agents refactored to execution_flow + step name="" structure - Role blocks compressed to 2 lines (removed verbose "Core responsibilities") - Added skills: frontmatter to all 5 agents (agent-frontmatter tests) - Added # hooks: commented pattern to file-writing agents - Added ALWAYS use Write tool anti-heredoc instruction to file-writing agents - Line reductions: ai-researcher −41%, domain-researcher −25%, eval-planner −26%, eval-auditor −25%, framework-selector −9% Test coverage (tests/ai-evals.test.cjs — 48 tests): - CONFIG: workflow.ai_integration_phase defaults and config-set/get - HEALTH: W010 warning emission and addAiIntegrationPhaseKey repair - TEMPLATE: AI-SPEC.md section completeness (10 sections) - COMMAND: ai-integration-phase + eval-review frontmatter validity - AGENTS: all 5 new agent files exist - REFERENCES: ai-evals.md + ai-frameworks.md exist and are non-empty - WORKFLOW: plan-phase nudge integration, workflow files exist + agent coverage 603/603 tests passing. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * feat: add Google ADK to framework selector and reference matrix Google ADK (released March 2025) was missing from the framework options. Adds Python + Java multi-agent framework optimised for Gemini / Vertex AI. - get-shit-done/references/ai-frameworks.md: add Google ADK profile (type, language, model support, best for, avoid if, strengths, weaknesses, eval concerns); update Quick Picks, By System Type, and By Model Commitment tables - agents/gsd-framework-selector.md: add "Google (Gemini)" to model provider interview question - agents/gsd-ai-researcher.md: add Google ADK docs URL to documentation_sources Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix: adapt to upstream conventions post-rebase - Remove skills: frontmatter from all 5 new agents (upstream changed convention — skills: breaks Gemini CLI and must not be present) - Add workflow.ai_integration_phase to VALID_CONFIG_KEYS whitelist in config.cjs (config-set blocked unknown keys) - Add ai_integration_phase: true to CONFIG_DEFAULTS in core.cjs Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix: rephrase 4b.1 line to avoid false-positive in prompt-injection scan "contract as a Pydantic model" matched the `act as a` pattern case-insensitively. Rephrased to "output schema using a Pydantic model". Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix: adapt to upstream conventions (W016, colon refs, config docs) - Replace verify.cjs from upstream to restore W010-W015 + cmdValidateAgents, lost when rebase conflict was resolved with --theirs - Add W016 (workflow.ai_integration_phase absent) inside the config try block, avoids collision with upstream's W010 agent-installation check - Add addAiIntegrationPhaseKey repair case mirroring addNyquistKey pattern - Replace /gsd: colon format with /gsd- hyphen format across all new files (agents, workflows, templates, verify.cjs) per stale-colon-refs guard (#1748) - Add workflow.ai_integration_phase to planning-config.md reference table - Add ai_integration_phase → workflow.ai_integration_phase to NAMESPACE_MAP in config-field-docs.test.cjs so CONFIG_DEFAULTS coverage check passes - Update ai-evals tests to use W016 instead of W010 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix: add 5 new agents to E2E Copilot install expected list gsd-ai-researcher, gsd-domain-researcher, gsd-eval-auditor, gsd-eval-planner, gsd-framework-selector added to the hardcoded expected agent list in copilot-install.test.cjs (#1890). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
247 lines
6.7 KiB
Markdown
247 lines
6.7 KiB
Markdown
# AI-SPEC — Phase {N}: {phase_name}
|
|
|
|
> AI design contract generated by `/gsd-ai-integration-phase`. Consumed by `gsd-planner` and `gsd-eval-auditor`.
|
|
> Locks framework selection, implementation guidance, and evaluation strategy before planning begins.
|
|
|
|
---
|
|
|
|
## 1. System Classification
|
|
|
|
**System Type:** <!-- RAG | Multi-Agent | Conversational | Extraction | Autonomous Agent | Content Generation | Code Automation | Hybrid -->
|
|
|
|
**Description:**
|
|
<!-- One-paragraph description of what this AI system does, who uses it, and what "good" looks like -->
|
|
|
|
**Critical Failure Modes:**
|
|
<!-- The 3-5 behaviors that absolutely cannot go wrong in this system -->
|
|
1.
|
|
2.
|
|
3.
|
|
|
|
---
|
|
|
|
## 1b. Domain Context
|
|
|
|
> Researched by `gsd-domain-researcher`. Grounds the evaluation strategy in domain expert knowledge.
|
|
|
|
**Industry Vertical:** <!-- healthcare | legal | finance | customer service | education | developer tooling | e-commerce | etc. -->
|
|
|
|
**User Population:** <!-- who uses this system and in what context -->
|
|
|
|
**Stakes Level:** <!-- Low | Medium | High | Critical -->
|
|
|
|
**Output Consequence:** <!-- what happens downstream when the AI output is acted on -->
|
|
|
|
### What Domain Experts Evaluate Against
|
|
|
|
<!-- Domain-specific rubric ingredients — in practitioner language, not AI jargon -->
|
|
<!-- Format: Dimension / Good (expert accepts) / Bad (expert flags) / Stakes / Source -->
|
|
|
|
### Known Failure Modes in This Domain
|
|
|
|
<!-- Domain-specific failure modes from research — not generic hallucination, but how it manifests here -->
|
|
|
|
### Regulatory / Compliance Context
|
|
|
|
<!-- Relevant regulations or constraints — or "None identified" if genuinely none apply -->
|
|
|
|
### Domain Expert Roles for Evaluation
|
|
|
|
| Role | Responsibility |
|
|
|------|---------------|
|
|
| <!-- e.g., Senior practitioner --> | <!-- Dataset labeling / rubric calibration / production sampling --> |
|
|
|
|
---
|
|
|
|
## 2. Framework Decision
|
|
|
|
**Selected Framework:** <!-- e.g., LlamaIndex v0.10.x -->
|
|
|
|
**Version:** <!-- Pin the version -->
|
|
|
|
**Rationale:**
|
|
<!-- Why this framework fits this system type, team context, and production requirements -->
|
|
|
|
**Alternatives Considered:**
|
|
|
|
| Framework | Ruled Out Because |
|
|
|-----------|------------------|
|
|
| | |
|
|
|
|
**Vendor Lock-In Accepted:** <!-- Yes / No / Partial — document the trade-off consciously -->
|
|
|
|
---
|
|
|
|
## 3. Framework Quick Reference
|
|
|
|
> Fetched from official docs by `gsd-ai-researcher`. Distilled for this specific use case.
|
|
|
|
### Installation
|
|
```bash
|
|
# Install command(s)
|
|
```
|
|
|
|
### Core Imports
|
|
```python
|
|
# Key imports for this use case
|
|
```
|
|
|
|
### Entry Point Pattern
|
|
```python
|
|
# Minimal working example for this system type
|
|
```
|
|
|
|
### Key Abstractions
|
|
<!-- Framework-specific concepts the developer must understand before coding -->
|
|
| Concept | What It Is | When You Use It |
|
|
|---------|-----------|-----------------|
|
|
| | | |
|
|
|
|
### Common Pitfalls
|
|
<!-- Gotchas specific to this framework and system type — from docs, issues, and community reports -->
|
|
1.
|
|
2.
|
|
3.
|
|
|
|
### Recommended Project Structure
|
|
```
|
|
project/
|
|
├── # Framework-specific folder layout
|
|
```
|
|
|
|
---
|
|
|
|
## 4. Implementation Guidance
|
|
|
|
**Model Configuration:**
|
|
<!-- Which model(s), temperature, max tokens, and other key parameters -->
|
|
|
|
**Core Pattern:**
|
|
<!-- The primary implementation pattern for this system type in this framework -->
|
|
|
|
**Tool Use:**
|
|
<!-- Tools/integrations needed and how to configure them -->
|
|
|
|
**State Management:**
|
|
<!-- How state is persisted, retrieved, and updated -->
|
|
|
|
**Context Window Strategy:**
|
|
<!-- How to manage context limits for this system type -->
|
|
|
|
---
|
|
|
|
## 4b. AI Systems Best Practices
|
|
|
|
> Written by `gsd-ai-researcher`. Cross-cutting patterns every developer building AI systems needs — independent of framework choice.
|
|
|
|
### Structured Outputs with Pydantic
|
|
|
|
<!-- Framework-specific Pydantic integration pattern for this use case -->
|
|
<!-- Include: output model definition, how the framework uses it, retry logic on validation failure -->
|
|
|
|
```python
|
|
# Pydantic output model for this system type
|
|
```
|
|
|
|
### Async-First Design
|
|
|
|
<!-- How async is handled in this framework, the one common mistake, and when to stream vs. await -->
|
|
|
|
### Prompt Engineering Discipline
|
|
|
|
<!-- System vs. user prompt separation, few-shot guidance, token budget strategy -->
|
|
|
|
### Context Window Management
|
|
|
|
<!-- Strategy specific to this system type: RAG chunking / conversation summarisation / agent compaction -->
|
|
|
|
### Cost and Latency Budget
|
|
|
|
<!-- Per-call cost estimate, caching strategy, sub-task model routing -->
|
|
|
|
---
|
|
|
|
## 5. Evaluation Strategy
|
|
|
|
### Dimensions
|
|
|
|
| Dimension | Rubric (Pass/Fail or 1-5) | Measurement Approach | Priority |
|
|
|-----------|--------------------------|---------------------|----------|
|
|
| | | Code / LLM Judge / Human | Critical / High / Medium |
|
|
|
|
### Eval Tooling
|
|
|
|
**Primary Tool:** <!-- e.g., RAGAS + Langfuse -->
|
|
|
|
**Setup:**
|
|
```bash
|
|
# Install and configure
|
|
```
|
|
|
|
**CI/CD Integration:**
|
|
```bash
|
|
# Command to run evals in CI/CD pipeline
|
|
```
|
|
|
|
### Reference Dataset
|
|
|
|
**Size:** <!-- e.g., 20 examples to start -->
|
|
|
|
**Composition:**
|
|
<!-- What scenario types the dataset covers: critical paths, edge cases, failure modes -->
|
|
|
|
**Labeling:**
|
|
<!-- Who labels examples and how (domain expert, LLM judge with calibration, etc.) -->
|
|
|
|
---
|
|
|
|
## 6. Guardrails
|
|
|
|
### Online (Real-Time)
|
|
|
|
| Guardrail | Trigger | Intervention |
|
|
|-----------|---------|--------------|
|
|
| | | Block / Escalate / Flag |
|
|
|
|
### Offline (Flywheel)
|
|
|
|
| Metric | Sampling Strategy | Action on Degradation |
|
|
|--------|------------------|----------------------|
|
|
| | | |
|
|
|
|
---
|
|
|
|
## 7. Production Monitoring
|
|
|
|
**Tracing Tool:** <!-- e.g., Langfuse self-hosted -->
|
|
|
|
**Key Metrics to Track:**
|
|
<!-- 3-5 metrics that will be monitored in production -->
|
|
|
|
**Alert Thresholds:**
|
|
<!-- When to page/alert -->
|
|
|
|
**Smart Sampling Strategy:**
|
|
<!-- How to select interactions for human review — signal-based filters -->
|
|
|
|
---
|
|
|
|
## Checklist
|
|
|
|
- [ ] System type classified
|
|
- [ ] Critical failure modes identified (≥ 3)
|
|
- [ ] Domain context researched (Section 1b: vertical, stakes, expert criteria, failure modes)
|
|
- [ ] Regulatory/compliance context identified or explicitly noted as none
|
|
- [ ] Domain expert roles defined for evaluation involvement
|
|
- [ ] Framework selected with rationale documented
|
|
- [ ] Alternatives considered and ruled out
|
|
- [ ] Framework quick reference written (install, imports, pattern, pitfalls)
|
|
- [ ] AI systems best practices written (Section 4b: Pydantic, async, prompt discipline, context)
|
|
- [ ] Evaluation dimensions grounded in domain rubric ingredients
|
|
- [ ] Each eval dimension has a concrete rubric (Good/Bad in domain language)
|
|
- [ ] Eval tooling selected — Arize Phoenix default confirmed or override noted
|
|
- [ ] Reference dataset spec written (size ≥ 10, composition + labeling defined)
|
|
- [ ] CI/CD eval integration specified
|
|
- [ ] Online guardrails defined
|
|
- [ ] Production monitoring configured (tracing tool + sampling strategy)
|