Concepts
Core Concepts
The ideas that make HELIX work.
Artifact Authority Hierarchy
When HELIX artifacts disagree, resolve the conflict using this precedence:
- Product Vision (highest authority)
- Product Requirements (PRD)
- Feature Specs / User Stories
- Architecture / ADRs
- Solution Designs / Technical Designs
- Test Plans / Tests
- Implementation Plans
- Source Code / Build Artifacts (lowest authority)
Higher-authority artifacts govern lower-authority artifacts. Tests are executable specifications: code must satisfy tests, not the other way around. Source code is evidence of current state, not the source of truth for requirements.
If a lower-level artifact contradicts a higher one, fix the lower-level artifact. Only change higher-level artifacts when the evidence is strong and the governing artifacts are stale or incomplete.
Specification-First Development
HELIX asks teams to state intent before implementation. Tests are one way to turn intent into executable evidence. A common cycle is:
- Red (Test activity): write a failing test that defines desired behavior
- Green (Build activity): write minimal code to make the test pass
- Refactor (Build activity): simplify the implementation while keeping tests green
Tests connect design and implementation, but they are not the only authority. Runtime evidence records whether a work item is complete; tests prove the observable behavior named by the governing artifacts.
Principles
Design and engineering values that guide judgment calls throughout the project.
- Loaded from
docs/helix/01-frame/principles.md(project-specific) - Falls back to
workflows/principles.md(HELIX defaults) if no project file exists - Applied by every action that makes technology or quality choices
- Only the HELIX skill in
framemode may create or modify the principles file
Examples: “design for simplicity”, “tests first”, “local-first UX”, “prefer composition over inheritance”.
Runtime Work Context
A runtime assembles this compact summary at triage or polish time. DDx calls it a context digest and commonly prepends it to a bead description so the DDx work item is self-contained.
Contents:
- Principles: full list, compact format
- Concerns: area-matched concern names
- Practices: key conventions from matched concerns
- ADRs: decision statements and rationale from relevant ADRs
- Governing spec: the specific requirement or constraint this work item addresses
Format: XML-tagged block prepended to the work-item description:
<context-digest>
<principles>Simplicity · Tests first · Local-first UX</principles>
<concerns>rust-cargo | security-owasp</concerns>
<practices>clippy pedantic · cargo deny · parameterized queries</practices>
<adrs>ADR-003 chose Axum over Actix for async compatibility</adrs>
<governing>FEAT-002 §3.1: WAL must fsync before acknowledging writes</governing>
</context-digest>Agents read the digest as a bounded context package. The helix skill in
polish mode can propose digest updates when the runtime uses them.
Runtime-Tracked Execution
Some runtimes, including DDx, use tracked work items as the execution handoff:
- Operators steer by creating, prioritizing, and blocking issues
- Agents execute by claiming and closing issues
- The ready queue is the only durable hand-off mechanism between sessions
- File follow-up work as DDx beads before an action closes; prose suggestions without tracked work items disappear
Every execution issue should cite the canonical artifacts that authorize the
work via a field such as spec-id.
Bounded Execution
Every HELIX action is intentionally bounded:
buildhandles one issue and exitscheckreads the queue and recommends one actionreviewexamines one scope and files findingsdesignproduces one design document
A runtime supervisor such as ddx work can chain bounded actions based on queue
state. No HELIX action needs to run forever. This makes execution predictable,
auditable, and interruptible.
Cross-Model Verification
HELIX permits different AI models for implementation and review:
- The build agent implements code
- A different review agent examines the work with fresh perspective
- Alternating models creates adversarial review: the reviewer has no implementation blindness
Configured by the runtime. In DDx, review routing is runtime configuration, not a HELIX environment-variable contract.
Epic Focus
When the supervisor encounters a large scope (epic), it decomposes rather than deferring:
- Break the epic into subtask issues
- Implement the first subtask
- Review, then continue to the next
- Close the epic when all subtasks are done
Decomposition IS implementation work. The right response to a hard problem is to break it into smaller pieces, not to bail.
Continuous Useful Work
Agents should maximize forward progress:
- Absorb small adjacent work: if a fix requires updating a nearby test or doc, do it in the same issue
- Stay within scope: don’t expand beyond what the issue asks for
- Finish with blocker reports: if you can’t complete the work, explain exactly what’s blocked and create follow-on issues
- Never stop silently: a DDx bead must be closed with evidence, or left open with a precise status note
Quality Ratchets
A mechanism for keeping metric floors monotonic:
- A floor is a committed minimum value for a metric (e.g., 70% test coverage)
- The floor can only go up, never down
- If the metric drops below the floor, it’s a regression the team must fix
- Experiments can auto-bump the floor when improvement exceeds a threshold
Ratchet definitions live in workflows/ratchets.md and floor fixtures are committed to the repo.
Area Taxonomy
Areas scope which concerns apply to which runtime work items:
| Area | Typical scope | Example concerns |
|---|---|---|
all | Every work item | Tech stacks, security |
ui | Frontend, web | a11y, i18n |
api | Backend, server | o11y, rate limiting |
data | Database, storage | Data modeling |
infra | Deployment, CI | k8s, monitoring |
cli | CLI tools | CLI conventions |
Projects define their area labels in docs/helix/01-frame/concerns.md. A DDx
bead with area:ui gets a11y practices; a database migration work item does
not.
Innsigle seal: mixed by HELIX
The signature covers the markdown source of this page, not these HTML bytes. This page quotes that seal; verify it against the source file.
- Composition
- mixed
- Issuer
- HELIX
helix - Signing key
ed25519:d5a0b2d95482db5ff68fc8318a1ad4de(human key)- Signed source
reference/glossary/concepts.md- Signed
- 2026-09-16T02:47:05Z
- Content digest
sha256:c84d0241…42000b86
Human-controlled key, held outside CI; the signature is not a detector and not a truth guarantee.
Raw attestation JSON
{
"payload": {
"innsigle": "1",
"type": "https://innsigle.dev/claim/colophon/v1",
"issued_at": "2026-09-16T02:47:05Z",
"issuer": {
"id": "helix",
"name": "HELIX",
"key_id": "ed25519:d5a0b2d95482db5ff68fc8318a1ad4de",
"key_url": "https://documentdrivendx.github.io/helix/.well-known/innsigle/keys.json"
},
"subjects": [
{
"uri": "https://documentdrivendx.github.io/helix/reference/glossary/concepts.md",
"digest": {
"alg": "sha256",
"value": "c84d024141f15a89714264dd4e556c013ba8cd6acacf4d91ae9af6ce42000b86"
}
}
],
"colophon": {
"schema_version": "1",
"composition": "mixed",
"ingredients": [
{
"kind": "human",
"name": "operator",
"role": "outline"
},
{
"kind": "model",
"name": "Claude",
"role": "expand"
},
{
"kind": "human",
"name": "operator",
"role": "final-edit"
}
],
"notes": null
}
},
"payload_encoding": "json",
"signatures": [
{
"key_id": "ed25519:d5a0b2d95482db5ff68fc8318a1ad4de",
"alg": "ed25519",
"sig": "4Nav5WMrKAApEpVuavpnsDtWJiPoFpYrmbs1XLsFlEPcocjdIn8Mdy9Aav6g5INPbwnW5ZhxpSpjF06k4IwXAg",
"signed_at": "2026-09-16T02:47:05Z"
}
]
}