Skip to content

AlphOne 0.12.0

Choose a tag to compare

@SirLouen SirLouen released this 14 Aug 13:59
· 306 commits to main since this release
44edcad

Every caller stands in a tenant.

Added

  • core.tenants and core.tenant_members, with one tenant named Default seeded by the migration. Every user belongs to it and the graph answers each caller its own tenant.
  • Query.tenant, answering the caller's own tenant with no argument, derived from the authenticated identity.

Notes and fixes

  • Nothing is enrolled anywhere. A user with no membership row is answered the default, so there is no backfill, nothing to run at the call sites, and no path that can forget a user. Rows exist only for users deliberately placed elsewhere.
  • The fallback lives in the SQL. One left join ordered by membership presence returns either the placed tenant or the default in a single round trip.
  • Resolution happens in the resolver rather than in middleware, so the session, the API token and the in process MCP paths all reach it.
  • An upgraded install needs no action. The migration adds the tables and the default tenant, reads nothing across schemas, and every existing user is answered the default from the first request.
  • Tenant management is not in this release. Creating, renaming and moving members lives outside core.
  • The build moves to Go 1.26.6, clearing seven standard library advisories reported against 1.26.5.