- name
- validation-diagnostics
- description
- Validation and diagnostic skill for HASTE. Compare planned vs implemented work, generate diagnostic reports, and feed misses back into skill refinement. Use when: 'validate implementation', 'compare to spec', 'diagnostic report', 'drift analysis', 'coverage check', 'implementation review'.
- source
- HASTE validation practices
- domain
- quality
- level
- intermediate
- agents
- ["backend-validation","ui-validation","security-validation","orchestrator"]
- created_date
- 2026-04-27
- last_validated
- validated_by
- status
- draft
# Validation & Diagnostics
## Overview
Structured process for comparing planned vs implemented work, generating diagnostic reports, and identifying gaps. Used by validation agents to provide concrete, evidence-based assessments.
## Key Concepts
### The Trust Problem
Agents will claim work is complete when it isn't. Validation must be:
- **Observable** — Based on test output, not agent claims
- **Deterministic** — Same input produces same verdict
- **Evidence-based** — Every finding references concrete code or test results
- **Structured** — Consistent format for easy human review
## Patterns & Techniques
### Planned vs Implemented Comparison
**Step 1: Extract planned items**
From the spec, issue, or plan, extract a checklist of:
- Acceptance criteria
- Required endpoints/functions
- Expected model fields
- Required test coverage
- UI components specified
**Step 2: Verify each item**
For each planned item, check:
- Does the code exist? (file search, grep)
- Does it match the specification? (read and compare)
- Is it tested? (find corresponding test)
- Does the test pass? (run and capture output)
**Step 3: Generate drift report**
```markdown
## Drift Analysis: [Feature]
| Planned Item | Status | Evidence |
|-------------|--------|----------|
| [spec item] | ✅ Implemented | [file:line] |
| [spec item] | ⚠️ Partial | [what's missing] |
| [spec item] | ❌ Not found | [searched in...] |
| [unplanned] | ⚡ Scope creep | [file:line] |
```
### Diagnostic Report Template
```markdown
## Diagnostic Report: [Component/Feature]
### Summary
[1-2 sentence verdict]
### Test Results
```
[Actual test output — copy/paste, not paraphrased]
```
### Code Quality
| Metric | Result |
|--------|--------|
| Type hints present | ✅ / ❌ |
| Pydantic models used | ✅ / ❌ |
| Config class used (no hardcoded secrets) | ✅ / ❌ |
| Error handling present | ✅ / ❌ |
| Logger used (not print) | ✅ / ❌ |
### Findings
| # | Severity | Finding | Location | Recommendation |
|---|----------|---------|----------|----------------|
| 1 | [High/Med/Low] | [what] | [file:line] | [fix] |
### Coverage Gaps
[Code paths without tests]
### Verdict
✅ PASS | ⚠️ CONDITIONAL PASS | ❌ FAIL
[Explanation with evidence]
```
### HASTE-Specific Validation Checks
| Component | Must Verify |
|-----------|-------------|
| New API endpoint | Auth level, Pydantic validation, error codes, CORS |
| New processor | Config injection, logger usage, error handling |
| New data model | Pydantic BaseModel, field types, validation rules |
| New data layer | Abstract interface compliance, connection handling |
| New UI component | FluentUI usage, no alt frameworks, responsive |
| Geospatial code | CRS preservation, COG compliance, GDAL/rasterio usage |
### Feedback Loop
When validation reveals a miss:
1. Document the miss in the diagnostic report
2. Identify the pattern (was it a convention violation? missing test? spec ambiguity?)
3. Propose a skill update or instruction addition to prevent recurrence
4. Flag to the Orchestrator for tracking
## Decision Framework
| Validation Result | Action |
|-------------------|--------|
| All checks pass, tests green | ✅ Approve |
| Minor issues, tests pass | ⚠️ Conditional — list issues for human review |
| Tests fail | ❌ Block — must fix before proceeding |
| Scope creep detected | ⚠️ Flag — human decides if extra work is acceptable |
| Spec ambiguity found | ⚠️ Flag — needs clarification before validation |
## Common Pitfalls
- **Accepting "tests passed" without seeing output** — Always run and capture
- **Validating only happy path** — Check error handling and edge cases
- **Skipping convention checks** — HASTE has specific patterns that must be followed
- **Not checking for scope creep** — Extra changes can introduce regressions
View on GitHub