8.3Bloom · AnNot started

The exemption baseline

Reading depth

What you'll learn

A baseline freezes today's findings as accepted debt so ATC only flags new debt — and it can be transported so the whole landscape shares one line.

  • A baseline snapshots today's debt so ATC warns only about NEW debt.
  • Workflow: run → Create Baseline → future runs show only deltas.
  • Maintain or re-baseline as you fix findings so accepted debt only shrinks.

When you first point a Clean Core or readiness variant at a mature codebase, you get thousands of findings — all of it pre-existing debt. If every run shows that wall, developers stop reading the results, and a finding they actually introduced today drowns. A baseline solves this by snapshotting the findings that exist right now and declaring them the accepted starting point, so future runs warn you only about debt that is *new* relative to the snapshot.

The workflow is simple and repeatable: run ATC across the relevant packages, choose 'Create Baseline' from the result list to store the snapshot system-side, and from then on every run compares against it and surfaces only the deltas. A new violation that did not exist at baseline time shows up immediately and can gate a transport; everything already in the baseline stays quiet. As you genuinely fix old findings, you maintain or re-baseline so the snapshot keeps shrinking and the accepted debt only ever goes down.

Baselines are not trapped on the system that created them — they can be exported and imported, so the same accepted-debt picture travels across the landscape (for example from the central ATC system to a project sandbox). That portability is what lets a whole team share one definition of 'new debt' instead of each system drawing its own line.

Key points

  • A baseline snapshots today's debt so ATC warns only about NEW debt.
  • Workflow: run → Create Baseline → future runs show only deltas.
  • Maintain or re-baseline as you fix findings so accepted debt only shrinks.
  • Baselines can be transported across systems, so the whole landscape shares one line.
  • New violations surface immediately and can gate a transport; baselined ones stay quiet.

Examples

Baseline then chip away

Run the variant, hit Create Baseline, and the next run is near-empty — only code written after the snapshot appears. Each sprint you fix some baselined items and re-baseline, so the accepted total only ever drops.

Source notes: clean-core-curriculum §8.3

Ask Claude

Build a prompt from this lesson + your question and open a fresh Claude chat with it pre-filled — handy for adapting a before/after pattern to your own object.