docs: retire planning/ and the doc validators, route deferred work to GitHub Issues - #25
Merged
Merged
Conversation
The nine items in planning/deferred/ become issues #16-#24, labelled needs-triage. Bodies are the files verbatim; the summary frontmatter is the opening sentence and relative links become absolute GitHub URLs. docs/agents/issue-tracker.md flips from local .scratch/ markdown to GitHub, so the tracker AGENTS.md now routes deferred work to is the one the repo documents. The five canonical triage roles become real labels rather than a Status: line in a file that no longer exists. links.py and just check-links go with planning/, on the same reasoning that retires the directory: the checker existed to guard a tree the repo no longer has. Closes modern-python/.github#70
check.py, `just check-adrs` and the CI step go. docs/adr/README.md no longer claims the set is validated or the revisit trigger enforced: a reviewer is what holds the standard up now. With links.py already gone the repo has no doc validators, so the coverage omit list drops its last non-app entry and the lint job is ruff and ty alone.
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.
Summary
AGENTS.mdstated the PR-body-as-spec convention while, in the same file, keepingthe convention it replaces: deferred work to
planning/deferred/, validated byjust check-planningas a merge gate. The convention is explicit that exactly twothings outlive a PR — an ADR in
docs/adr/and a GitHub issue.planning/deferred/was the third state it says does not exist, and
chat-appwas the only repo in theorg still running one.
This completes the migration
modern-di#439 did, and finishes what #14 startedwhen it deleted the PR template that stated the
planning/deferred/route.Closes modern-python/.github#70
Changes
needs-triageand nothingelse, so each gets re-decided rather than inherited unexamined. Bodies are the
files verbatim,
## Why it is openand## Revisit triggerincluded; thesummary:frontmatter is the opening sentence; relative links become absoluteGitHub URLs, since a relative path does not resolve in an issue body. Litestar channels: empty channel entries retained after unsubscribe #17 and Litestar channels: subscriber orphaned on mid-subscribe disconnect #16
cross-reference each other.
planning/is deleted —deferred/,index.py,README.md,_templates/,.convention-version.just indexandjust check-planninggo with it, alongwith the
planning/index.py --checkCI step.docs/agents/issue-tracker.mdflips from.scratch/markdown to GitHub.Routing deferred work to "a GitHub issue" while the repo's own tracker doc says
issues live as gitignored files is the same half-migration this PR exists to end.
Adapted from
modern-di's copy, including the GitHub translation of the/wayfinderprotocol.triage-labels.mdclaimedits right-hand column held "the actual label strings used in this repo's issue
tracker"; only
wontfixexisted. AStatus:line in a Markdown file needs noregistration, a label does, so
gh issue edit --add-label "ready-for-agent"wouldhave failed.
needs-triage,needs-info,ready-for-agentandready-for-humancreated, matching
modern-di's colours and descriptions.AGENTS.md: the Workflow section now states the two-homes rule and routesunscheduled work to a GitHub issue.
planning/README.md's Where a fact goestable and admission check move here rather than dying with the file —
docs/adr/README.mdlinked at that anchor, and it now resolves within the repo.The Commands section drops the deleted recipes, and the triage-labels entry stops
describing a
Status:line in issue files that no longer exist.docs/adr/README.md→AGENTS.md#where-a-fact-goes.pyproject.toml's coverageomitdrops everynon-
app/entry, because no Python outsideapp/,tests/andmigrations/survives this PR.
Both doc validators are deleted — a deliberate deviation from #70
#70 lists
just check-linksandjust check-adrsunder Keep, and givesreasoning for the second: it is "the only mechanical enforcement of the ADR revisit
trigger anywhere in the org." Both are deleted here anyway, on the maintainer's
call. Recorded rather than buried, because it is the part of this PR the issue
argues against:
planning/links.py+just check-links+ its CI step. The checker existed toguard
architecture/andplanning/— trees a site builder does not publish andthis repo no longer has. It was run one final time against the finished tree
(
links: OK) before deletion, which is what verifies the four hand-rewrittencross-references.
docs/adr/check.py+just check-adrs+ its CI step.docs/adr/README.mdnolonger claims the set is validated, and its
## Revisit triggersection no longerclaims to be "enforced" — that word was true only while the checker existed.
Consequence, stated plainly: the repo now has no mechanical gate on any
Markdown. A broken relative link, a duplicate ADR number, an ADR shipped without a
revisit trigger, and a stale cross-reference are all merge-clean from here. The lint
job is
ruffandtyalone. The standard indocs/adr/README.mdis now held up byreview, and the README says so.
Non-goals
needs-triage; several are strongwontfixcandidates on their own text, and awontfixwrites an ADR. Triage-timejudgement, not a migration decision.
deferredlabel or an issue template. A repo-local.github/ISSUE_TEMPLATE/would suppress the org's inherited templates.
deferredgoes intodocs/agents/issue-tracker.md.The point, not a side effect: after this the repo has no concept of deferred work.
An item is an open issue, or an ADR recording why it will not be done. The nine
surviving
## Revisit triggersections are prose carried along for the reader andestablish no convention.
Verification
No new tests: this PR creates issues and edits Markdown, TOML comments, a justfile
and a workflow, and deletes two checkers.
links.py --root .against the final tree, immediately before deleting it —the gate here. Every reference that pointed into
planning/either resolvesor is gone.
links: OK. Re-run against the tree after the ADR-checker commit:still
OK.eof-fixer,ruff format,ruff check --no-fix,ty check— all clean.just test— 110 passed, 100% line coverage, on both commits. Unaffected, asexpected: no test read
planning/ordocs/adr/check.py.git grep -E "check-planning|check-links|check-adrs|just index|planning"returnsnothing outside
uv.lock;git ls-files '*.py'outsideapp/,tests/andmigrations/returns nothing.Checklist
ruff)ty)uv build) if packaging or build config changed — n/a, no packaging change