chore(inventory): retire public-pii-gate from the contract (backend#1409) - #183
Merged
Merged
Conversation
…409)
Completes the retirement Lukas decided on 2026-08-06. The 7 callers were
removed first (cli#466, client#638, docs#96, data-ingestors#462, model-zoo#130,
start-training#44, .github#182, all merged); this drops the reusable from the
inventory so the contract matches reality.
ORDERING MATTERS AND WAS NOT INCIDENTAL. The audit reads the inventory from the
checkout but every repo's state over the API, so callers and inventory cannot
change in one commit - the docstring says as much for the ADD direction, and the
remove direction has the same hazard inverted. Callers first, then this. In
between, the audit would have reported "MISSING required caller" for 7 repos;
that window is now closed. Verified before pushing by running caller-drift.py
locally against the live fleet: "20 repos x 8 reusables + 2 copies. Audited 20
of 20. No drift."
Removed:
- public-pii-gate.yml from the `reusables` list
- all 20 per-repo `callers` entries for it (7 required, 13 exempt)
- the `private_repo_no_public_exposure` shared reason, now referenced by
nothing
- the stale claim in the MATCHING header that public-pii-gate uses the
`-caller.yml` convention; it no longer has callers to have a convention
The .github entry's long red-inert explanation is replaced by a short
retirement note rather than deleted outright: WHY a guard was withdrawn is the
part a future reader needs, and it is the only place that records that the
denylist never existed.
The reusable workflow and its selftest stay in this repo, dormant with no
callers, so restoring is three steps rather than a rebuild.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Completes the retirement Lukas decided today. The 7 callers went first — cli#466, client#638, docs#96, data-ingestors#462, model-zoo#130, start-training#44, .github#182, all merged — and this drops the reusable from the inventory so the contract matches reality.
The ordering was not incidental
The audit reads the inventory from the checkout but every repo's state over the API, so callers and inventory cannot change in one commit.
caller-drift.py's docstring documents that hazard for the add direction; the remove direction has it inverted. Callers first, then this. In between, the audit would have reportedMISSING required callerfor 7 repos — that window is now closed.Verified before pushing, by running the audit locally against the live fleet:
That matters here more than usual:
gateis now a required check on this branch and it keys on exactly these files, so an inventory that disagreed with reality would have blocked this PR — correctly.Removed
public-pii-gate.ymlfrom thereusableslistcallersentries for it (7required, 13exempt)private_repo_no_public_exposureshared reason, now referenced by nothing-caller.ymlconvention — it no longer has callers to have a conventionKept deliberately
The
.githubentry's long red-inert explanation is replaced by a short retirement note rather than deleted. Why a guard was withdrawn is the part a future reader needs, and that comment is the only place recording that the denylist never existed at all.The reusable workflow and its selftest stay in this repo, dormant with no callers, so restoring is three steps — set the org secret, restore the 7 callers, re-add the reusable here — rather than a rebuild.
Parent backend#1405.
Note
Low Risk
Inventory-only documentation of an already-merged fleet change; no runtime workflow or guard logic changes in this diff.
Overview
Retires
public-pii-gatefromrepo-inventory.ymlso the caller-drift contract matches the fleet after the seven caller workflows were already removed in other repos.The reusable is dropped from the global
reusableslist, and every per-repopublic-pii-gate.ymlcaller entry is removed (formerly sevenrequiredon public repos and thirteenexempton private repos). The unusedprivate_repo_no_public_exposureshared exemption anchor goes away with it.Docs in the inventory are updated: the MATCHING header no longer names
public-pii-gate, and the.githubentry replaces the long “required / red-inert” note with a short retirement comment (why it was withdrawn and how to restore it). The workflow files themselves are untouched in this PR.Reviewed by Cursor Bugbot for commit 4dcfbce. Bugbot is set up for automated code reviews on this repo. Configure here.