Files
derek.holloway 7502bf64a4
CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
Flatten subprojects into a single base monorepo
2026-09-02 16:34:47 -07:00
..

Architecture Decision Records (ADRs)

This directory holds the Architecture Decision Records for the TensileLite characterization suite: one short file per genuine decision, in Michael Nygard's format. An ADR captures why a decision was made, so a future reader — or a reviewer of a PR that touches the tests or goldens next to it — can recover the intent without archaeology.

See the characterization README.md for the suite protocol and the snapshot/golden discipline; this file covers only the ADR mechanics.

When to write an ADR

Write one for a genuine decision fork, e.g.:

  • Pinning a known-wrong behavior — assert the current crash/wrong result instead of "fixing" it in a characterization test (the suite is add-only). The ADR records the bug and links a filed defect that tracks the real fix.
  • Accepting a module below the coverage bar for a structural reason (fork/IPC paths, GPU/asm emit, integration-only builders).
  • A departure from the add-only rule (e.g. deleting verified-dead source).
  • An accepted-equivalent-mutant policy call (why a survivor is genuinely unkillable).

Routine "wrote tests, hit the bar, committed" steps are not ADRs. The running catalog of pinned behaviors, coverage ceilings, and accepted mutants lives in ../DECISIONS.md (the registry); an ADR is the per-decision rationale behind a catalog entry.

Format

  • One file per decision, named NNNN-short-slug.md (zero-padded, monotonic) — e.g. 0001-pin-results-only-boolop-crash.md.
  • Nygard sections: Status, Context, Decision, Consequences. Add a Defect: line when the decision pins a behavior that looks wrong.
  • Status is one of Proposed, Accepted, or Superseded by adr/NNNN.
  • Append-only. Never rewrite an accepted ADR's decision. If the world changes (e.g. a pinned bug is fixed and its golden flips), write a new ADR that supersedes the old one and set the old one's status to Superseded by adr/NNNN.

Template

# ADR NNNN: <short title>

Status:  Accepted
Defect:  <TRACKER-ID, or "none — behavior is intended">

## Context
<What forced a decision? The behavior observed, why it is ambiguous or
costly, and the constraints (e.g. add-only).>

## Decision
<What we decided to do, in one or two sentences.>

## Consequences
<What this costs and enables, and what a future change must do to revisit
it — e.g. "if the defect is fixed, flip the golden and supersede this ADR".>