Skip to content

Tests are selected by the impact of a change, derived from what each case declares it reads, and a change of unknown impact runs every case

Tests are selected by the impact of a change, derived from what each case declares it reads, and a change of unknown impact runs every case

majordomus://adr/adr-0187proposed derive-performancechatgpt-project

it references

referenced by

Nothing in the layer names it. Backlinks are derived, so an empty list is an answer rather than an omission.

187. Tests are selected by the impact of a change, derived from what each case declares it reads, and a change of unknown impact runs every case

Context

Gates are selected by hand-kept path classes; cases are not selected at all. 431 of 527 cases carry # majordomus-covers: (282 'none').

Decision

A case's reads are declared in its header or derived from the commands and features it covers through the feature-to-module map (ADR 0026). scripts/ci-plan computes the closure from changed paths to cases and lists each selection with its reason. A case that declares nothing is always selected. A mutation case proves that a case whose input changed is never skipped. Historical shard timing balances shards but never selects.

Alternatives rejected

  • Manual giant path lists (c195#2)
  • Sharding by historical time as the only lever (c228#3)

Consequences

Selection starts conservative (282 'none' cases always run) and narrows only as cases declare. The full suite stays on the proof lane.

Sources

Promoted on 2026-10-18 from the owner's ChatGPT project (workspace chatgpt-majordomus, issue I3100). The owner has not accepted it; it is proposed for the owner's decision.

  • chatgpt-majordomus:c130#3
  • chatgpt-majordomus:c195#2
  • chatgpt-majordomus:c228#3

Where this comes from

canonical file
.ai/repo/adrs/0187-tests-are-selected-by-the-impact-of-a-change-derived-from-what-e.md
identity
adr-0187
also served as
MCP resource majordomus://adr/adr-0187 · majordomus entity show adr/adr-0187 · GET /api/v1/entity?uri=majordomus://adr/adr-0187
in the Cockpit
/cockpit/objects/adr/adr-0187

This page is generated from the file above by scripts/generate-site-data; editing the page changes nothing, editing the file changes every surface. The relations above are edges of docs/generated/graph.json, which the executable writes from the same index.

Searches the titles and descriptions of every page this site publishes.