chore: adopt canonical planning convention + compact CLAUDE.md#115
Merged
Conversation
Fresh-adopt lesnik512/planning-convention v1.0.0 and compact the 32K CLAUDE.md onto the architecture/ truth home. Convention (fresh adopt): - vendor canonical planning/index.py + _templates/* (adds release.md) - migrate 16 plan.md spec links (slug -> actual spec filename) so the canonical validator passes - merge the convention prose into planning/README.md; refresh the stale Index/Other sections (flat newest-first; full capability list) - Justfile: add check-planning recipe, wire it into lint-ci - architecture/README.md: promotion rule + capability map - planning/.convention-version = 1.0.0 - pyproject: per-file RUF100 ignore for the vendored index.py (its canonical D212 noqa is unused under this repo's D213 choice) CLAUDE.md compaction (202 -> 45 lines): - promote the 8 orphan Architecture subsections (no architecture/ home) into 5 new capability pages: producer, schema, subscriber, integration, retry -- following the existing "implementation detail" convention - rewrite ## Architecture as terse invariant-summaries + a capability index over all 11 architecture/*.md (the file's stated role) - compact Commands + Workflow to pointers (Justfile / planning/README.md are the sources of truth) just lint-ci + check-planning green.
The canonical convention now derives date/slug from names and drops spec/outcome/pr/status. Re-copy canonical index.py + templates and migrate bundles accordingly (supersedes the earlier spec-link migration): - design.md/change.md: summary only (date/slug/outcome + legacy pr/status/supersedes/superseded_by/spec stripped) - plan.md: no frontmatter (16 files) - decisions: status/summary (+ supersedes/superseded_by); date/slug/pr stripped - README frontmatter prose updated to the lean form just lint-ci + check-planning green.
… hack faststream-outbox was the only repo inverting the docstring rule (ignoring D212 / enforcing D213), which left the vendored planning/index.py's file-level `noqa: D212` unused and forced a `RUF100` per-file ignore. Flip to the modern-python standard (enforce D212, ignore D213) so the vendored file is naturally clean and no special-casing is needed. ruff auto-applied the D213->D212 summary-line move across 39 files (mechanical; no logic change). just lint-ci green; no per-file RUF100 ignore.
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.
Pilot for the convention + CLAUDE.md-compaction rollout across
modern-python/*. Review this pattern before fan-out.What changed
Planning convention — adopt
lesnik512/planning-convention(lean frontmatter)planning/index.py+_templates/*.date/slugare derived from the dir/file name;design.md/change.mdcarrysummaryonly;plan.mdcarries no frontmatter; decisions keepstatus/summary(+supersedes links). Droppedspec,outcome, and legacypr/status/supersedes/superseded_byfrom change bundles.planning/README.md; refreshed stale Index/Other.Justfile: addedcheck-planning+ wired intolint-ci;architecture/README.md: promotion rule + capability map;planning/.convention-version=1.0.0.pyproject: per-fileRUF100ignore for the vendoredindex.py(its canonicalD212noqa is unused under this repo's invertedD213choice).CLAUDE.md compaction (202 → 45 lines)
Per the repo's own 3-tier model (
CLAUDE.md= invariant summary,architecture/X.md= detail,docs/= user-facing):architecture/pages:producer.md,schema.md,subscriber.md,integration.md,retry.md.## Architectureas invariant-summaries + an 11-capability index; compacted Commands/Workflow to pointers.Verification
just lint-ci→ ruff + ty +planning: OK, all green.Companion PRs: canonical convention edited in place (no version bump); modern-di slimmed in modern-python/modern-di#240.