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:
- 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). - 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