Skip to content

Improvement Backlog — HELIX 2026-Q3

Example from HELIX’s own docs. This generated page comes from docs/helix/. Use it to see the method in practice; start with the artifact-type catalog for reusable templates. Historical plans and reports may describe retired architecture.

Source identity (from 06-iterate/improvement-backlog.md):

ddx:
  id: improvement-backlog
  authoring:
    home: repo
  depends_on:
    - metrics-dashboard
  review:
    self_hash: 952df3e5bbb6e967cd0e3d485ae7106893c464008ecda327e9c0c6a33527e2cd
    deps:
      metrics-dashboard: 486cd18a01712b15850ce7dd808d432a8a52cc56d1db22a8939ed31b633191c0
    reviewed_at: "2026-09-16T03:20:07Z"

Improvement Backlog — HELIX 2026-Q3

Iteration: 2026-Q3 (post-v0.12.0; the human-outputs branch feat/helix-human-outputs) Source Learnings: the 2026-09-10 top-to-bottom evaluation that produced the human-outputs plan (docs/helix/01-frame/prd.md non-goals and R-4; docs/helix/00-discover/product-vision.md success definition), the first present run (docs/helix/06-iterate/deliverables/DEL-001-helix-evaluation-deck.md Assumptions and gaps), and docs/helix/06-iterate/metrics-dashboard.md.

Prioritization Rules

  • Rank by authority leverage: items that keep the skill inside the PRD’s non-goals (content plus one skill, no execution engine, no imposed technology) rank above cosmetic improvements.
  • Rank by evidence leverage: items that make a success metric measurable rank above items that add surface.
  • Rank by public-surface impact: items that make the published reference more accurate rank above internal cleanups.
  • Items without tracker references stay at the bottom until they are filed; the backlog does not retain unsourced ideas.

Backlog Items

PriorityItemEvidenceTracker RefWhy NowStatus
P1Build the evaluation the PRD promises: fixed corpus, headless run per host, validate-instance.py plus a rubric, results published; retire the 922-file family-test/ scaffold that does not runevals/results/20260915-2202/summary.md: nine briefs at commit 20315d5c, 33/36 checks, rubric 57/62, about $32 per full run; family-test/ removedthis branchThe present mode and the deliverable gate gave the eval something concrete to gradedone
P1Rasterize .pptx renders in the deliverable gate on the authoring host (LibreOffice, or PowerPoint automation permission)skills/helix/scripts/deck-qa.py rasterizes through LibreOffice and writes a contact sheet; DEL-001 Render section records the inspectionthis branchA deck nobody looked at is not finished; the gate says sodone
P2Sub-agent fan-out in align, review, and converge: one agent per review dimension or artifact family, fan-in through workflows/modes/_report.mdworkflows/modes/align.md Fan-out section; review and converge likewisethis branchThe report shape exists, so fan-in has a contractdone
P2Read governing artifacts that live in a connector-backed tool (Google Docs, Notion, Jira) directly, instead of only through the checkout stubworkflows/conventions.md Reading through a connector; authoring.connector in the schemathis branchHosts expose document connectors; read-only access removes a manual copy stepdone
P2Consolidate the install index and six host guides (1,946 lines across seven files on main) into one guide plus per-host deltas, and test .github/copilot-instructions.md against the routerdocs/install/README.md (886 lines across three files); tests/validate-install-consistency.sh keeps the Copilot file a pointerthis branchThe router split changed what every guide must describedone
P2Port Sloptimizer’s slide target into the deliverable gate: shape.slop and restatement checks on bullets, labels, captions, and verdicts, kept in sync with the upstream fixtureskills/helix/scripts/check-deliverable.py; tests/validate-headline-sync.sh; DEL-001 Render, Gatethis branchThe headline port left shapes unchecked; the deck rebuild showed the same slop below the titlesdone
P2Add a healthy-set align brief (a fixture with no seeded drift, or docs/helix/ itself) so the PRD’s fewer-than-three-findings target has a readingdocs/helix/06-iterate/metrics-dashboard.md alignment row: the only sample is the seeded recipe-app/baseline fixture (28 findings)pending beadThe eval runs; one brief closes the only PRD metric still unmeasuredopen
P3One-pagers and briefs render end to end: scripts/render-doc.js builds a masthead-plus-introduction document flow (the title unit’s Body is authored introduction prose, not a field dump) and HTML section patterns for table, two-column-comparison, stat-callout, claim-evidence visualized as panels/icon-list, and risk-matrix; a one-pager packs into a weight-balanced two-column grid with wide units spanning full width; output is HTML plus PDF via a local Chrome/Chromium headless print-to-pdf, no native dependencyskills/helix/scripts/render-doc.js; workflows/modes/present.md §Kinds; workflows/activities/06-iterate/artifacts/deliverable/prompt.md §Writing a documentthis branchThe deck pipeline showed the shape; the gap was a real renderer and real authoring guidance, not a research questiondone
P3Kind-aware limits in check-deliverable.py: per-pattern word/bullet caps now scale up for a document instead of applying the slide’s own numbers, consecutive_same_pattern_max is relaxed for a document, and a one-pager’s word budget (theme.yml’s max_words_one_pager) and a brief’s estimated page count (a weight heuristic shared with render-doc.js’s one-pager grid balancer) are checked at gate time, all as warnings — the actual render-and-look step stays the ground truthskills/helix/scripts/check-deliverable.py (is_doc, WORD_SCALE/COUNT_SCALE, unit_weight, DOC_WEIGHT_PER_PAGE)this branchThe HTML render path landed; a gate that still checked every kind against slide caps was the obvious next gapdone
P3.docx renderer for one-pagers and briefsskills/helix/scripts/render-doc.js (HTML/PDF only)pending beadThe HTML path is done and in daily use; .docx is a separate, narrower, unrequested formatopen
P3Prune overlapping catalog types: fold test-suites and test-procedures into test-plan; decide whether market-analysis stays separate from competitive-analysis03-test carries six types; discover carries four market documentspending beadThe catalog table and graph regenerate cleanly now, so a prune is mechanicalopen
P3Sloptimizer adapter section for the human-facing profileeasel-skills skills/sloptimizer/references/adapters-helix.md § “Deliverable Titles (human-facing profile)” ties the adapter to workflows/voice.yml’s human-facing profile by name instead of the prior artifact-signal hard-codeeasel-skills eb13ce6, f5de158A rewrite now lands inside the deck voice instead of fighting itdone
P3Add ddx.type to every catalog example.md so type resolution never falls back to the directory heuristictests/validate-instance.sh asserts the heuristic; every example emits a frontmatter.type warningpending beadCheap once, removes 53 warningsopen

Selection for Next Iteration

  • Closed this iteration: P3 — the Sloptimizer adapter section for the human-facing profile landed in easel-skills (eb13ce6, f5de158), so hosts with Sloptimizer installed now get the same title rules the HELIX gate ports; see the Backlog Items row above for evidence.
  • Next candidate: P2 — a healthy-set align brief, the only PRD metric still unmeasured (see Backlog Items).

Review Checklist

  • Each item cites evidence
  • Tracker references are included (or marked as “pending bead” where not yet filed)
  • Ordering is deterministic (priority + position within priority)
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
artifacts/improvement-backlog.md
Signed
2026-09-23T14:11:58Z
Content digest
sha256:d2bf4d19…d40a394c

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/artifacts/improvement-backlog/",
        "digest": {
          "alg": "sha256",
          "value": "d2bf4d199ad75c00f41ee5a015d4242e9b73cf16da8ac92480d6ddb0d40a394c"
        }
      }
    ],
    "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": "hMaBHDbe_-R568h96ZRoQSy9Agqp3HWdTpYl6PGrStL46HnKkb1mWmXuG17rVjFVc-iTaoXzFr7lZIXDnJGqAg",
      "signed_at": "2026-09-23T14:11:58Z"
    }
  ]
}