Fitness Methodology¶
The Agent-Led Fitness Methodology is an optional V&V loop that checks
whether your Dazzle app is fit for the purpose described by your spec.md.
It differs from dazzle ux verify --contracts in that it asks semantic
questions — does this persona actually make progress through their lifecycles?
does the DSL cover everything the spec implies? — rather than mechanical ones.
When to use¶
- Run on every CI cycle if your project's
[dazzle.maturity].levelismvp - Run on every PR if your project's maturity is
beta - Run weekly (soft mode only) if your project's maturity is
stable
Running¶
# Full cycle
dazzle fitness run
# Just findings
dazzle fitness findings
# Story paraphrase-confirm loop
dazzle fitness confirm-stories
MCP users:
Configuration¶
Add to pyproject.toml:
[dazzle.maturity]
level = "mvp" # or "beta" / "stable"
[dazzle.fitness]
max_tokens_per_cycle = 100000
independence_threshold_jaccard = 0.85
[dazzle.fitness.independence_mechanism]
primary = "prompt_plus_model_family"
Required DSL additions¶
Every entity participating in fitness must declare fitness.repr_fields:
entity Ticket "Support Ticket":
id: uuid pk
title: str(200) required
status: enum[new, in_progress, resolved] required
assignee_id: ref User
fitness:
repr_fields: [title, status, assignee_id]
v1 emits a non-fatal lint warning if this is missing. v1.1 makes it fatal.
Entities with lifecycles must also declare a lifecycle: block (see
ADR-0020).
Findings¶
Findings live in dev_docs/fitness-backlog.md. Each row has:
axis: coverage vs conformancelocus: implementation | story_drift | spec_stale | lifecycleseverity,persona,capability_refevidence_embedded: self-contained evidence envelope, durable after the underlying ledger has expired
Three corners¶
The methodology triangulates across three independent sensors:
spec.md— your natural-language oracle- DSL stories — /bootstrap's interpretation of your intent
- Running app — what the code actually does
Each cycle measures independence_jaccard between corners 1 and 2 to verify
the sensors haven't collapsed into a single (correlated) signal. When they do,
all findings from that cycle are marked low_confidence=true and cannot
auto-correct.
Further reading¶
- Design spec:
docs/superpowers/specs/2026-04-13-agent-led-fitness-methodology-design.md - Lifecycle prerequisite: ADR-0020