Skip to content

ADR-0030 — Deferred-but-non-viable source: treated as dropped for rule-retirement purposes

Date: 2026-05-24 Status: Accepted Decider: Rob Supersedes:Superseded by:Related: ADR-0027 (CORP-WEBSITE permanent drop; Pass B retirement mechanism)


Context

Background: ADR-0027 and Pass B

ADR-0027 (2026-05-24) permanently dropped CORP-WEBSITE and IFRS-S2-CORP. Every rule whose only source was CORP-WEBSITE became permanently dark. Pass B (migration 062) retired nine such rules: G1, G2, S2, S3, UN-G2, UN-G3, NF-E1, NF-E2, NF-E7-STAP. The retirement mechanism — rule_status column, CHECK ('active','retired'), DEFAULT 'active' — filters retired rules from the scoring denominator and dispatch while preserving them in the DB and listing them on /methodology with a "retired" chip (display option d).

The grey-zone: rules with a second source at status 'deferred'

Two rules were held back from Pass B because each had a second source beyond CORP-WEBSITE:

Rule Second source Source ID Source status at Pass B
UN-G1 (Sustainability reporting quality) CDP Corporate CDP-CORPORATE deferred
G4 (Transparency & disclosure quality) CDP Public CDP-PUBLIC deferred

A source at status 'deferred' is not 'dropped'; the Pass B criterion ("only source is de-scoped and will never fire") was not obviously met. UN-G1 and G4 were therefore marked "leave alone — CDP-deferred — later-session call" pending an explicit non-viability assessment.

CDP non-viability assessment (obs-1)

The obs-1 scraper-sufficiency review (docs/design/obs-1-scraper-sufficiency-review.md) assessed CDP-CORPORATE and CDP-PUBLIC:

"CDP dropped, not viable at this stage (licence-gated; reconsider if a free tier returns or a paid dependency is accepted; A-List-as-flag possible)."

Both sources are licence-gated with no free tier. There is no realistic path to live under the current operating model (external-only, no paid data dependencies). Status 'deferred' was never intended to mean "buildable given time" — it means "too uncertain to call; assess later." The obs-1 assessment is now complete and is negative: CDP is not coming back under current conditions.


Decision

The general principle

A source at status 'deferred' that has been explicitly assessed non-viable — licence-gated, no free tier, no realistic path to live under the current operating model — may be treated as effectively 'dropped' for rule-retirement purposes.

A rule whose only non-dead source is such a deferred-but-non-viable source is permanently dark and eligible for retirement on the same basis as a rule whose only source is formally 'dropped'.

Retirement still requires an explicit non-viability assessment. This ADR is the standard for that judgment, not an automatic trigger. A 'deferred' source that has not been assessed, or that may plausibly become viable as circumstances change, does not trigger retirement.

Instantiation: UN-G1 and G4

Applying this principle to the grey-zone pair:

  • CDP-CORPORATE and CDP-PUBLIC are deferred and explicitly assessed non-viable (obs-1; licence-gated).
  • UN-G1's only remaining non-dead source is CDP-CORPORATE → UN-G1 is permanently dark.
  • G4's only remaining non-dead source is CDP-PUBLIC → G4 is permanently dark.
  • Both are eligible for retirement on the same basis as the Pass B nine.

UN-G1 and G4 are retired via migration 063, using the same rule_status = 'retired' mechanism as Pass B.


Scope guards

Does NOT reach the three remaining grey-zone rules

The three rules not yet retired each have a source that is live, pending, or candidate — not a non-viable deferred one:

Rule Source Source status
E2 (Operational exposure to high-carbon assets) BOCC-REPORT pending — live stub, awaiting annual data drop
NF-E3 (Energy efficiency targets) EP100 candidate
NF-E5-IND (Enabled emissions, Industrials) TPI-SECTOR pending

None of these sources has been assessed non-viable. This ADR does not affect them.

Does NOT authorise a blanket sweep of deferred sources

This ADR does not retire all rules with any deferred source. Both conditions must hold:

  1. The source has been explicitly assessed non-viable (a distinct session-level judgment, recorded in a design note or ADR — not assumed from 'deferred' status alone).
  2. The rule has no other non-dead source (every other source is 'dropped' or similarly assessed non-viable).

The 'deferred' status alone is not sufficient to trigger retirement.


Consequences

Score impact

Score-neutral. UN-G1 and G4 had no live signals in any run — both sources were deferred with no scraper built. Retiring them removes zero-contribution rules from the denominator; score_value is unchanged.

Confidence change (by design)

G-pillar confidence rises. The confidence-weighted mean in pillar.js includes rules in the applicable set. UN-G1 and G4, with no signals, produced confidence = 0.0 when included. Removing two conf=0 rules from the applicable set lifts the G-pillar confidence mean. This is documented behaviour of the coverage-confidence model — the denominator now more accurately reflects what the screen can actually assess — and is the correct direction, not a scoring anomaly.

Live rule count

liveRuleCount 22 → 20. Both rules remain in the DB and appear on /methodology with a "retired" chip (display option d).

Reversibility

The rule_status mechanism preserves the retired rows — they are not deleted. If CDP ever becomes viable (a free tier returns, or a paid dependency is accepted via a future operator decision), UN-G1 and G4 can be reactivated by resetting rule_status = 'active' and building the corresponding scrapers. No schema change required.


References

  • ADR-0027 — CORP-WEBSITE permanent drop; established Pass B retirement mechanism and display option d (referenced, not amended — distinct sources, distinct judgment)
  • Migration 062 — Pass B: retired G1, G2, S2, S3, UN-G2, UN-G3, NF-E1, NF-E2, NF-E7-STAP
  • Migration 063 — Retired UN-G1, G4 (instantiation of this ADR)
  • docs/design/obs-1-scraper-sufficiency-review.md — CDP non-viability assessment