Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions benchmarks/test_bench_override_fastpath.py
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ def test_no_overrides_optimized(benchmark):

def test_no_overrides_baseline(benchmark):
original = Container.resolve_provider
Container.resolve_provider = _baseline_resolve_provider # ty: ignore[invalid-assignment]
Container.resolve_provider = _baseline_resolve_provider
try:
container = Container(scope=Scope.APP, groups=[BenchGroup])
benchmark(container.resolve_provider, BenchGroup.svc)
Expand All @@ -83,7 +83,7 @@ def test_override_other_optimized(benchmark):

def test_override_other_baseline(benchmark):
original = Container.resolve_provider
Container.resolve_provider = _baseline_resolve_provider # ty: ignore[invalid-assignment]
Container.resolve_provider = _baseline_resolve_provider
try:
container = Container(scope=Scope.APP, groups=[BenchGroup])
container.override(BenchGroup.dep, Dep())
Expand All @@ -105,7 +105,7 @@ def test_override_self_optimized(benchmark):

def test_override_self_baseline(benchmark):
original = Container.resolve_provider
Container.resolve_provider = _baseline_resolve_provider # ty: ignore[invalid-assignment]
Container.resolve_provider = _baseline_resolve_provider
try:
container = Container(scope=Scope.APP, groups=[BenchGroup])
container.override(BenchGroup.svc, Service(dep=Dep()))
Expand Down
13 changes: 0 additions & 13 deletions planning/deferred.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,16 +19,3 @@ replaced the old set-`kwargs_compiled`-after-the-bucket-fields sequence — but
options: build and publish `wiring_plan` under the existing container lock, or publish the reference
behind an explicit barrier/atomic. Until then, document modern-di as GIL-assuming for plan compilation.
See [2026-06-14 audit A-1](audits/2026-06-14-deep-audit-report.md).

## Roll the planning convention into sibling repos — from 2026-06-25

The convention now lives in the canonical repo
[`lesnik512/planning-convention`](https://github.com/lesnik512/planning-convention)
(v1.0.0); `modern-di` is consumer #1 (`planning/.convention-version`). Sibling
repos (`faststream-outbox`, the modern-di integrations) still carry an older,
hand-copied form.

**Revisit trigger:** next time a sibling repo's planning convention is touched,
or in a dedicated sync pass — from each sibling, run the canonical repo's
`APPLY.md` flow (fresh adopt: it has no `.convention-version` yet), verify with
`just check-planning`, and open a PR.
9 changes: 6 additions & 3 deletions planning/index.py
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,8 @@ def _named(fields: dict[str, str], name: str, pattern: re.Pattern[str]) -> dict[
def load_bundles() -> list[dict[str, str]]:
"""Read each bundle's summary; derive date/slug from the directory name."""
bundles: list[dict[str, str]] = []
if not CHANGES_DIR.is_dir():
return bundles
for bundle in sorted(CHANGES_DIR.iterdir()):
if not bundle.is_dir():
continue
Expand Down Expand Up @@ -160,9 +162,10 @@ def _check_decision(path: pathlib.Path, violations: list[str]) -> None:
def check() -> list[str]:
"""Validate every bundle and decision; return the list of violation strings."""
violations: list[str] = []
for bundle in sorted(CHANGES_DIR.iterdir()):
if bundle.is_dir():
_check_bundle(bundle, violations)
if CHANGES_DIR.is_dir():
for bundle in sorted(CHANGES_DIR.iterdir()):
if bundle.is_dir():
_check_bundle(bundle, violations)
if DECISIONS_DIR.is_dir():
for path in sorted(DECISIONS_DIR.glob("*.md")):
if path.name == "README.md" or path.name.startswith("_"):
Expand Down