Skip to content

docs(deps): warn that ADL conformance fork bumps need inspection - #145

Merged
emmanuel merged 1 commit into
mainfrom
docs/adl-fork-supply-chain-warning
Aug 8, 2026
Merged

docs(deps): warn that ADL conformance fork bumps need inspection#145
emmanuel merged 1 commit into
mainfrom
docs/adl-fork-supply-chain-warning

Conversation

@emmanuel

@emmanuel emmanuel commented Aug 8, 2026

Copy link
Copy Markdown
Collaborator

Records, next to the pins themselves, that these two overrides are not ordinary dependencies and that any future Renovate bump must be inspected rather than merged on green.

Why

upstream forwardemail/supertest 14,390 stars, actively released
rchadwic/supertest, rchadwic/super-request 0 stars, last pushed 2017-01, 278 commits behind
the entire fork delta ~36 lines in lib/test.js — a debug logger feeding process.postMessage so the ADL runner can print HTTP traffic

The code is benign. The risk is structural: an unmaintained fork under a third-party personal account, which a takeover, force-push or revived branch can move underneath us — and Renovate will present that as a routine "digest update".

Not hypothetical. Both PRs Renovate opened were rejected on inspection, and neither was a normal upgrade:

What the note says

Read the fork's diff and the branch it came from before merging any bump, and confirm the conformance matrix is green — those tests are the only thing exercising this code. Closing a bad PR is the right move; Renovate won't re-propose an unchanged digest.

It also records the durable fixes in preference order: get the logger upstreamed (or replaced with a superagent plugin) so the forks can go entirely; failing that, mirror both forks into this org.

Placement

Deliberately inside the overrides: mapping. A comment in the document prelude is dropped by the YAML writeback on the first bump — the same trap documented at the top of the file. Verified by simulating a digest bump against this exact file:

comments before: 70   after bump: 70
warning intact: true    allowBuilds intact: true    lines changed: 1

pnpm install --frozen-lockfile and fmt:check still pass.

The two overrides pin personal forks under a third-party account: 0 stars,
last pushed January 2017, ~278 commits behind a maintained upstream. Their
whole substantive delta is ~36 lines in lib/test.js — a debug logger the ADL
runner uses to print HTTP traffic. The code is benign; the risk is structural,
because a takeover, force-push or revived branch on that account changes what
Renovate offers as a routine digest update.

Both PRs Renovate opened in August 2026 were rejected on inspection, and
neither was a normal upgrade: the supertest one proposed moving BACKWARDS (the
pin tracks the ipc branch, Renovate followed the stale master HEAD, and the
'update' was four months older, dropping a 'try to avoid crash' commit), and
the super-request one broke all eight conformance cells with 0 of 1364 tests
executed — the battery failed to start.

Records that history next to the pins, where a reviewer of the next bump will
actually see it, along with what to check and the durable fixes: upstream the
logger so the forks can go, or mirror them into this org so a third-party
account cannot move them underneath us.

Placed inside the overrides mapping deliberately — a comment in the document
prelude is dropped by the YAML writeback on the first bump. Verified by
simulating a digest bump against this file: 70 comments in, 70 out, warning
intact, one line changed.
@emmanuel
emmanuel merged commit 4d18e0c into main Aug 8, 2026
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant