From 66ac5fc775c7ac4ceb1bd62ae0bf0a1d4babf432 Mon Sep 17 00:00:00 2001 From: Vinta Chen Date: Sun, 23 Aug 2026 00:50:17 +0800 Subject: [PATCH] docs: record 2026-08-23 audit sitting outcomes Add a Stability Exceptions section to docs/audit-logs.md documenting the zensical override (admitted pre-1.0 to displace a dying mkdocs upstream). Add a matching evidence bullet to CLAUDE.md and AGENTS.md warning that a download count is not automatically independent demand when one listed entry depends on another, using mkdocs / mkdocs-material as the worked example. Both facts were discovered during this sitting and need to persist so the next audit doesn't rediscover them. Co-Authored-By: Claude --- AGENTS.md | 1 + CLAUDE.md | 1 + docs/audit-logs.md | 6 ++++++ 3 files changed, 8 insertions(+) diff --git a/AGENTS.md b/AGENTS.md index 49023b5d..9103b0f8 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -9,6 +9,7 @@ An opinionated guide to the best Python frameworks, libraries, and tools. [CONTRIBUTING.md](CONTRIBUTING.md) holds the admission rules, quality requirements, rejection rules, entry format, and ordering. Apply it whenever adding or removing an entry — direct commits included, not only PR reviews. - Every keep/drop reason must be verified against current online data at decision time — download counts, repo activity and archived status, PyPI metadata, project docs. Judging tiers — obvious choice vs challenger — also requires WebSearch evidence (adoption trajectory, community sentiment), not download counts alone. Training-data recollections are not evidence; label anything unverifiable as a judgment call. +- A download count is not automatically independent demand. When one listed entry depends on another, check `requires_dist` on PyPI before citing the depended-on entry's count: mkdocs-material hard-depends on mkdocs, so mkdocs' figure exceeded mkdocs-material's by only about one percent and nearly all of it was mkdocs-material pulling it in. - One entry per commit when adding or deleting entries. Exceptions: a prune sweep is one commit per section, its body listing each removal with its reason; format, wording, or categorization changes may be bundled. Cross-section re-homes ride the originating audit's commit (both sides of the move in one diff). - Resources sections are not project entries: out of audit scope, and the website never parses them. - Sponsor placement never influences which projects get listed — see [SPONSORSHIP.md](SPONSORSHIP.md). diff --git a/CLAUDE.md b/CLAUDE.md index 16e15f9b..2a599c49 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -9,6 +9,7 @@ An opinionated guide to the best Python frameworks, libraries, and tools. [CONTRIBUTING.md](CONTRIBUTING.md) holds the admission rules, quality requirements, rejection rules, entry format, and ordering. Apply it whenever adding or removing an entry — direct commits included, not only PR reviews. - Every keep/drop reason must be verified against current online data at decision time — download counts, repo activity and archived status, PyPI metadata, project docs. Judging tiers — obvious choice vs challenger — also requires WebSearch evidence (adoption trajectory, community sentiment), not download counts alone. Training-data recollections are not evidence; label anything unverifiable as a judgment call. +- A download count is not automatically independent demand. When one listed entry depends on another, check `requires_dist` on PyPI before citing the depended-on entry's count: mkdocs-material hard-depends on mkdocs, so mkdocs' figure exceeded mkdocs-material's by only about one percent and nearly all of it was mkdocs-material pulling it in. - One entry per commit when adding or deleting entries. Exceptions: a prune sweep is one commit per section, its body listing each removal with its reason; format, wording, or categorization changes may be bundled. Cross-section re-homes ride the originating audit's commit (both sides of the move in one diff). - Resources sections are not project entries: out of audit scope, and the website never parses them. - Sponsor placement never influences which projects get listed — see [SPONSORSHIP.md](SPONSORSHIP.md). diff --git a/docs/audit-logs.md b/docs/audit-logs.md index 80407a2f..cd069570 100644 --- a/docs/audit-logs.md +++ b/docs/audit-logs.md @@ -22,6 +22,12 @@ Display names follow the canonical PyPI package name. These entries keep a diffe - strawberry -- `strawberry-graphql`. - strawberry-django -- `strawberry-graphql-django`. +### Stability Exceptions + +Entries admitted despite the Stable quality requirement, by maintainer decision: + +- zensical -- admitted 2026-08-23 at version 0.0.57, PyPI classifier `Development Status :: 3 - Alpha`, with no 1.0 target announced. Admitted as a challenger displacing mkdocs because the Documentation section was carrying a dying upstream: the Material for MkDocs team's announcement of 2025-11-05 put Material into maintenance mode for twelve months and called MkDocs itself unmaintained since 2024-08 and a supply chain risk. Re-check when 1.0 lands. + ### Mature-stable Keeps These entries sit past the 12-month activity requirement without an override. Each one is kept by editorial judgment: mature, stable, and no successor exists.