Skip to content

docs: write the threat model - #302

Merged
carlok merged 3 commits into
mainfrom
maintenance/threat-model
Sep 23, 2026
Merged

carlok merged 3 commits into
mainfrom
maintenance/threat-model

Conversation

@carlok

@carlok carlok commented Sep 23, 2026

Copy link
Copy Markdown
Owner

The last item from the plan, and the piece §3 called the publishable asset: the document another maintainer reads before deciding whether mechanical admission could work for them.

Structure

The closing point is the one worth making publicly: admission can be mechanical only if the checks cover what actually goes wrong, and that list is learned by running the thing in the open and writing down each failure.

Keeping it honest

A contract test asserts that every diagnostic code and sandbox flag the document advertises also appears in frontier_validate.py and validate-submission.yml, so the document cannot drift away from the code. Writing that test immediately caught the deprecation section describing the rule without naming DEPRECATED_API.

README.md links it. Full suite: 152 tests, 6 skipped.

🤖 Generated with Claude Code

carlok and others added 3 commits September 23, 2026 17:51
What mechanical admission establishes, what it does not, and the six
things that actually went wrong: import-time code execution, meaning
drift under a stable name, deprecation debt, a conjecture probe that
silently never ran, orphaned processes exhausting a contributor's host,
and a rejection that blamed a submitter for the maintainer's merges.
Each with the check that now catches it.

It also states the residual risks rather than leaving them implied:
nothing reads prose, maintenance pull requests bypass the receiver
entirely, upstream Mathlib and CI are trusted, and one producer's taste
shapes the corpus with nothing mechanical to notice.

A contract test keeps the document honest: every diagnostic code and
sandbox flag it advertises has to appear in the receiver and the
workflow. Writing that test caught the deprecation section describing a
rule without naming its code.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@carlok
carlok merged commit 60d380a into main Sep 23, 2026
7 checks passed
@carlok
carlok deleted the maintenance/threat-model branch September 23, 2026 16:42
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