Skip to content

Release v0.2.0

Choose a tag to compare

@verdantstack-mirror verdantstack-mirror released this 29 Aug 18:46
· 1 commit to main since this release

Fixed

  • Seat limits now enforced at invite acceptanceacceptInvite previously documented seat enforcement ("join time") but never called the billing adapter. It now counts the org's memberships and runs billing.assertSeatAvailable(orgId, count) before the single-use claim, so a full org never burns an invite it cannot honor.
  • createBillingAdapter guards invalid MOCK_PLAN_SEATS — a non-numeric value previously produced a NaN seat limit that silently allowed unlimited joins; it now falls back to the default (3).

Added

  • Service-level test suite — 51 new tests across tests/orgs-members.test.ts, tests/invites-seats.test.ts, tests/billing.test.ts, tests/audit.test.ts, backed by an in-memory fake Supabase client (tests/helpers/fake-supabase.ts). No database or network needed; suite 24 → 75 tests.
  • Documentation: docs/architecture.md, docs/rbac.md, docs/billing.md, docs/testing.md

Changed

  • README/AGENTS/CLAUDE testing sections updated to the real suite layout and count

Full change history: CHANGELOG.md