chore: add 'all' extra and planning/ workflow directory#41
Merged
Conversation
Captures the design for two project-hygiene changes: a self-referential `all` aggregate extra in pyproject.toml, and adoption of the planning/ specs/+plans/ workflow directory mirroring the sister httpware project. Implementation follows in a separate commit. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Implementation plan for spec 91201a2: bite-sized tasks for pyproject.toml 'all' extra, planning/{specs,plans}/.gitkeep, and the CLAUDE.md '## Workflow' section. Single implementation commit at the end. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- pyproject.toml: self-referential `all` aggregate so users can
`pip install faststream-outbox[all]` for the full feature set
(asyncpg + validate + fastapi + prometheus + opentelemetry).
- planning/{specs,plans}/: adopt the layout used by the sister
httpware project for superpowers spec/plan artifacts.
- CLAUDE.md: document the per-feature workflow lifecycle in a new
`## Workflow` section between `## Commands` and `## Architecture`.
Spec: planning/specs/2026-06-03-all-extra-and-planning-dir-design.md.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
faststream 0.7.0 ships breaking changes to the FastStream internals the outbox subclasses against: ProducerProto gained a `codec` member, SubscriberUsecase.add_call dropped the `middlewares_` kwarg, and TestBroker.create_publisher_fake_subscriber became an instance method. The outbox code targets the 0.6.x surface; upgrading to 0.7 is a separate piece of work. Pin <0.7 so fresh `uv sync` resolves to 0.6.x. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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
Two small project-hygiene changes, single implementation commit:
pyproject.toml— add a self-referentialallaggregate so users canpip install faststream-outbox[all]for the full feature set (asyncpg + validate + fastapi + prometheus + opentelemetry). Standard PyPI convention; references the extra names, not version pins, so individual extra pin bumps flow through automatically.planning/{specs,plans}/— adopt the layout used by the sisterhttpwareproject for superpowers spec/plan artifacts..gitkeepfiles keep both subdirs tracked.CLAUDE.md— document the per-feature workflow lifecycle in a new## Workflowsection (between## Commandsand## Architecture).No runtime code touched. No public API change. No
uv.lockchange.Branch contains three commits: spec → plan → implementation.
planning/specs/2026-06-03-all-extra-and-planning-dir-design.mdplanning/plans/2026-06-03-all-extra-and-planning-dir-plan.mdTest Plan
uv sync --extra allresolves cleanlyuv sync --extra allanduv sync --all-extrasproduce the same installed set (parity check passed)just lint-cipasses (eof-fixer,ruff format --check,ruff check,ty check)just testpasses — 390 passed, 100% coverage,--cov-fail-under=100gate satisfiedplanning/specs/andplanning/plans/exist and are tracked by gitCLAUDE.md## Workflowheading appears between## Commandsand## Architecture