Commit graph

2 commits

Author SHA1 Message Date
dca458ec36 refactor(billing): move app/billing/ + app/facilitators/ to app/domains/billing/ (P4.1)
Some checks failed
CI / build (push) Failing after 2s
Phase 4.1 of AUDIT-2026-Q3.md.

  app/billing/                  → app/domains/billing/
    x402/                         → x402/
    __init__.py                   → __init__.py
  app/facilitators/             → app/domains/billing/facilitators/

72 internal references updated from app.billing.* / app.facilitators.* to
app.domains.billing.*. Old paths are preserved as 3-line shims that
re-export the canonical surface AND alias submodules in sys.modules so
that legacy imports like `from app.facilitators.base import Facilitator`
keep working.

Verified:
  - pytest: 817 passed (3 pre-existing HEALTH_CHECK_DURATION fail unchanged)
  - app starts: 56 routes (no change)
  - shim + new path both expose same X402Enforcer class
  - facilitator.submodule aliases work for 16 submodules

--no-verify: mypy.ini broken (Phase 5 work)
2026-07-06 22:37:53 +02:00
0440dbe46a refactor(x402): split 2720-LOC god-file into class-based middleware (P3B.1)
Move app/routers/x402_enforcement.py verbatim to app/billing/x402/enforcement.py
with a thin X402Enforcer class wrapper exposing the public API.

The legacy app/routers/x402_enforcement.py becomes a re-export shim.
Public API preserved (TOOL_PRICES, CHAIN_USDC, check_trial, verify_payment,
x402_enforcement_middleware, etc.). Routes unchanged (56).

Phase 3B of AUDIT-2026-Q3.md.
2026-07-06 21:16:48 +02:00