Stacked on #66; implements ADR-001 backend boundary only. New payable orders bind verified Zitadel tenant + buyer subject; buyer list/detail/status/deposit/release are tenant-scoped in SQL; legacy anonymous orders are unpayable and signed Stripe webhook refuses to acknowledge them. Additive sql/011 migration smoke-tested twice on throwaway pgvector/Postgres 16. Local typecheck, Next production build, 1051 tests passed (184 real-infra skipped). DO NOT MERGE/CUT OVER until #66 is merged, production migration is applied/verified, real browser Zitadel SSO is wired, and staging purchase/refund proves end-to-end. Current UI has no production Bearer session and would fail to create orders after this PR. Issue #67 remains open.
Stacked on #66; implements ADR-001 backend boundary only. New payable orders bind verified Zitadel tenant + buyer subject; buyer list/detail/status/deposit/release are tenant-scoped in SQL; legacy anonymous orders are unpayable and signed Stripe webhook refuses to acknowledge them. Additive sql/011 migration smoke-tested twice on throwaway pgvector/Postgres 16. Local typecheck, Next production build, 1051 tests passed (184 real-infra skipped). DO NOT MERGE/CUT OVER until #66 is merged, production migration is applied/verified, real browser Zitadel SSO is wired, and staging purchase/refund proves end-to-end. Current UI has no production Bearer session and would fail to create orders after this PR. Issue #67 remains open.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Stacked on #66; implements ADR-001 backend boundary only. New payable orders bind verified Zitadel tenant + buyer subject; buyer list/detail/status/deposit/release are tenant-scoped in SQL; legacy anonymous orders are unpayable and signed Stripe webhook refuses to acknowledge them. Additive sql/011 migration smoke-tested twice on throwaway pgvector/Postgres 16. Local typecheck, Next production build, 1051 tests passed (184 real-infra skipped). DO NOT MERGE/CUT OVER until #66 is merged, production migration is applied/verified, real browser Zitadel SSO is wired, and staging purchase/refund proves end-to-end. Current UI has no production Bearer session and would fail to create orders after this PR. Issue #67 remains open.
siax-bot