Skip to content

ADR-013: Cross-phase informs edges are valid when declared on the downstream artifact

Source identity (from 02-design/adr/ADR-013-cross-phase-informs-edges.md):

ddx:
  id: ADR-013
  depends_on:
    - helix.prd

ADR-013: Cross-phase informs edges are valid when declared on the downstream artifact

DateStatusDecidersRelatedConfidence
2026-05-30AcceptedHELIX maintainersartifact dependencies, schema validatorHigh

Context

AspectDescription
ProblemThe audit flagged the Deploy artifact monitoring-setup declaring informs: metrics-dashboard, an Iterate artifact in a later phase. It is unclear whether HELIX permits an artifact to declare an informs edge that crosses a phase boundary into a downstream phase, and whether the back-edge must also be declared on the consumer.
Current Stateworkflows/activities/05-deploy/artifacts/monitoring-setup/meta.yml declares informs: metrics-dashboard. workflows/activities/06-iterate/artifacts/metrics-dashboard/meta.yml declares both informed_by and informs lists but does not currently encode every back-edge for every upstream informs. The schema validator does not enforce edge symmetry across artifacts.
RequirementsThe methodology must not forbid real evidence-flow edges that cross phases (production telemetry feeding dashboards is a real flow). At the same time, cross-phase edges must be explicit on both ends so that walking from either side reveals the relationship.

Decision

An artifact may declare informs an artifact in a later phase. The cross-phase edge is valid when:

  1. The source artifact’s purpose produces evidence the target consumes (the edge encodes a real evidence flow, not a speculative association), and
  2. The edge is declared on both sides — informs on the source artifact and informed_by on the target artifact — or in a single canonical place chosen by the consumer when only one direction can be authoritative.

The monitoring-setupmetrics-dashboard edge is the canonical example: production telemetry configured in Deploy feeds the dashboards consumed in Iterate. The methodology accepts this as a valid cross-phase informs edge.

Key Points: cross-phase informs allowed | edge must be real evidence flow | declared on both ends (or canonical single place) | symmetry check is a follow-up validator concern, not required by this ADR

Alternatives

OptionProsConsEvaluation
Forbid cross-phase informs edges entirely; restrict informs to same-phase artifactsSimpler validator; clear phase boundaryErases real evidence flows (Deploy telemetry → Iterate dashboards); forces artifacts to invent intermediate hops or drop the edgeRejected: phase boundary is not a methodology firewall against evidence flow
Allow cross-phase informs but only when declared on the upstream sideSingle source of truthWalking from the consumer no longer reveals the upstream; reviewers must scan all earlier phases to find inbound edgesRejected: breaks bidirectional discoverability
Allow cross-phase informs; require declaration on both ends (or a canonical single place); leave symmetry enforcement as a follow-up validator concernPreserves real evidence flows; keeps edges discoverable from both ends; does not block this ADR on validator workPhase 3 walk must check both sides; some artifacts will need back-edges addedSelected: accepts the real flow without overcommitting the validator

Consequences

TypeImpact
PositiveReal cross-phase evidence flows (e.g., Deploy telemetry → Iterate dashboards) are recognized as first-class edges.
PositiveBoth-end declaration keeps the dependency graph walkable from either direction.
PositivePhase 3 has a clear rule: walk all artifacts for informs edges and ensure the back-edge is declared.
NegativePhase 3 must check edge symmetry across the full artifact set and add missing back-edges where the upstream declares informs but the downstream does not declare informed_by.
NeutralThe schema validator is unchanged in this ADR. Symmetry enforcement is a follow-up Phase 1B validator concern.

Risks

RiskProbImpactMitigation
Authors declare speculative cross-phase edges that are not real evidence flowsMMPhase 3 walk and reviewers reject edges that do not match the source artifact’s stated purpose
Back-edges drift out of sync as artifacts evolveMMFollow-up Phase 1B validator extension checks edge symmetry; until then, the Phase 3 walk establishes the baseline
Confusion about whether to declare on one end or bothLLThis ADR states the rule: both ends, or a single canonical place chosen by the consumer when only one direction can be authoritative

Validation

Success MetricReview Trigger
Every informs edge declared on an upstream artifact has a matching informed_by entry on the downstream artifact (or a documented canonical-single-place choice)A Phase 3 walk finds an upstream informs with no corresponding downstream informed_by
monitoring-setupmetrics-dashboard is preserved as a valid cross-phase informs edgeA review flags the edge as invalid because it crosses a phase boundary
Schema validator extension for edge symmetry is filed as a follow-up Phase 1B concernEdge symmetry drift recurs and is not surfaced mechanically

References