# Next Batch Test Protocol

## Scope

The next extraction batch should cover exactly three companies beyond DLR: EQIX, APLD, and CRWV. Each extractor must produce canonical rows with the same required fields used in the DLR seed: company, period, metric_name, raw_value, normalized_value, unit, value_qualifier, ownership_basis, forecast_or_actual, is_derived, source_url, source_location, source_snippet, snippet_support_status, confidence, and caveat.

## Company-Specific Verification

### EQIX

- Start from quarterly results and supplemental packages.
- Verify at least one capex actual row, one pipeline/development row, and one revenue row against primary-source snippets.
- Reviewer must reject any conversion that treats cabinets, facilities, MW, and USD as interchangeable.

### APLD

- Start from SEC filings and investor press releases.
- Verify secured power, future capacity/pipeline, and customer lease or commitment rows.
- Reviewer must reject rows where announced campus power is classified as actual operating capacity.

### CRWV

- Start from SEC filings and investor news releases.
- Verify RPO/backlog, capex actuals, and cloud/customer commitments.
- Reviewer must classify public history as short and prevent look-ahead from later restatements.

## Machine Gates

- Each extractor must include a generated validator that compiles and exits 0 from its artifact directory.
- Validators must check required fields, row counts, period coverage, source URLs, snippets, allowed metric names, allowed units, and forecast-vs-actual class.
- Validators must reject secondary-source rows as canonical observations.

## Review Gates

- Reviewer samples at least three rows per company against primary snippets.
- Reviewer checks basis separation: capex, MW/power, RPO/backlog, commitments, and revenue are not combined.
- Reviewer flags any metric family that is sourced only from secondary discovery.
