Skip to content

Evolve

Generated from workflows/modes/evolve.md, the mode contract the HELIX skill loads. Edit that file, not this page.

Use when the user wants to add, remove, amend, or thread a requirement through the HELIX artifact stack.

  1. Read the entry artifact’s frontmatter; collect its ddx.id and ddx.links list. ddx.links is the canonical instance-edge field used by both authoring and Evolve.
  2. Build the impact graph from every governing artifact’s ddx.links entries, then walk it in both directions:
    • typed downstream entries (kind: informs, contains, or enables) point from the current artifact to the target they inform;
    • typed upstream entries (kind: informed_by, depends_on, requires, or references) point from the current artifact to the authority it relies on;
    • untyped string entries are accepted as upstream shorthand for existing project documents. The upstream impact set is every artifact reachable through upstream edges; the downstream impact set is every artifact reached by reversing upstream edges and following downstream entries.
  3. Compatibility: if ddx.links is absent, Evolve MAY read legacy ddx.depends_on, top-level depends_on, or relationships.depends_on as upstream edges, and relationships.informs / relationships.referenced_by as downstream edges. If canonical ddx.links is present, it wins; preserve legacy fields byte-for-byte but do not silently translate or mass-migrate them during an incidental Evolve pass.
  4. When ddx: frontmatter is absent, fall back to filesystem traversal: activity-numbered directories in the project’s HELIX layout supply the authority hierarchy; artifact-type directories supply the type relationships.
  5. Detect conflicts with existing artifacts and open work.
  6. Apply updates from the highest-authority artifact down: vision, PRD, feature specs/stories, architecture/ADRs, solution and technical designs, test plans, implementation plans, then code.
  7. Surface conflicts explicitly when a downstream artifact contradicts an updated upstream — do not silently overwrite the downstream; route it through a handoff (the four fields in modes/_report.md) instead.
  8. Create follow-up work with dependencies where ordering matters.
  9. Prefer progressive evolution of the specific affected artifacts over re-generating the stack. Converge on “verified + each finding-class folded into a gate” (a template check, an acceptance criterion, a concern propagation check, or a ratchet) — not on a bare reviewer “SHIP” verdict. Intrinsic gates (build, test, conformance, phantom-claim count) block; external adversarial review is advisory and never a hard gate.

Procedure: workflows/actions/evolve.md (deeper step detail; this file is the contract).

Innsigle seal: model-primary 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
model-primary
Issuer
HELIX helix
Signing key
ed25519:b0865d76d834a52c48506414d16f4e5a (build key)
Signed source
reference/workflow-modes/evolve.md
Signed
2026-09-23T14:11:58Z
Content digest
sha256:9289f4eb…0feb612c

This build key is endorsed by the human key for build signing; 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-23T14:11:58Z",
    "issuer": {
      "id": "helix",
      "name": "HELIX",
      "key_id": "ed25519:b0865d76d834a52c48506414d16f4e5a",
      "key_url": "https://documentdrivendx.github.io/helix/.well-known/innsigle/keys.json"
    },
    "subjects": [
      {
        "uri": "https://documentdrivendx.github.io/helix/reference/workflow-modes/evolve/",
        "digest": {
          "alg": "sha256",
          "value": "9289f4ebd65d3ff0d73ad7ff9715652aa5f799c0aac277b4048a6a9c0feb612c"
        }
      }
    ],
    "colophon": {
      "schema_version": "1",
      "composition": "model-primary",
      "ingredients": [
        {
          "kind": "model",
          "name": "Claude",
          "role": "draft"
        },
        {
          "kind": "tool",
          "name": "sloptimizer",
          "role": "rewrite"
        },
        {
          "kind": "human",
          "name": "operator",
          "role": "structure-edit"
        }
      ],
      "notes": null
    }
  },
  "payload_encoding": "json",
  "signatures": [
    {
      "key_id": "ed25519:b0865d76d834a52c48506414d16f4e5a",
      "alg": "ed25519",
      "sig": "rXIKunV36KAjW3ZGSEI1TsqRPgtrhSYUlZ4t1vfEABqLQVpRSejpy8nbOLgqDq1GcFOFgS19mZMgs8EehK-eCQ",
      "signed_at": "2026-09-23T14:11:58Z"
    }
  ]
}