Skip to content

chore: adopt canonical planning convention + compact CLAUDE.md#115

Merged
lesnik512 merged 3 commits into
mainfrom
chore/adopt-canonical-convention
Jun 25, 2026
Merged

chore: adopt canonical planning convention + compact CLAUDE.md#115
lesnik512 merged 3 commits into
mainfrom
chore/adopt-canonical-convention

Conversation

@lesnik512

@lesnik512 lesnik512 commented Jun 25, 2026

Copy link
Copy Markdown
Member

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)

  • Vendored canonical planning/index.py + _templates/*.
  • Slimmed all bundle frontmatter to the new lean form: date/slug are derived from the dir/file name; design.md/change.md carry summary only; plan.md carries no frontmatter; decisions keep status/summary (+supersedes links). Dropped spec, outcome, and legacy pr/status/supersedes/superseded_by from change bundles.
  • Merged the convention prose into planning/README.md; refreshed stale Index/Other.
  • Justfile: added check-planning + wired 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 inverted D213 choice).

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):

  • Promoted the 8 orphan subsections into 5 new architecture/ pages: producer.md, schema.md, subscriber.md, integration.md, retry.md.
  • Rewrote ## Architecture as 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.

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.
@lesnik512 lesnik512 merged commit e2a17f2 into main Jun 25, 2026
3 checks passed
@lesnik512 lesnik512 deleted the chore/adopt-canonical-convention branch June 25, 2026 16:32
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