The public platform shell is being documented before real customer accounts are enabled.
Platform
Shared cloud primitives before customer activation.
Shared accounts, memberships, service subscriptions, entitlements, usage events, billing mirrors, and audit events for tenant-aware LinkRidge Cloud services.
External account activation, billing, invites, production service enablement, and paid access stay manual until Matthew approves them.
The first service contract proves tenant isolation, entitlement checks, usage events, and audit events.
Account model
One account boundary for people, services, plans, and history.
- Accounts own billing and customer-visible service subscriptions.
- Users join accounts through memberships, roles, and invite state.
- Entitlements are local records read before a service performs tenant work.
- Audit events capture actor, account, service, action, and target context.
Account states
- Draft
- Internal planning record for a possible account; no login, invite, billing, or service access exists.
- Pending approval
- Activation packet is locally complete and waiting for Matthew approval before any external action.
- Active
- Approved account with at least one owner membership and locally enabled services.
- Suspended
- Access is blocked while audit, billing, support, or operator review is unresolved.
Invite states
- Not created
- No external invite record exists during platform planning.
- Draft
- Invite recipient, role, account, and service scope are prepared locally but not sent.
- Sent
- Outbound invite delivery is allowed only after the invite flow is explicitly approved.
- Accepted
- User has joined the account and received platform-derived service permissions.
- Revoked
- Pending or accepted access was removed and should remain visible in audit history.
Service states
- Modeled
- Service contract and plan limits exist in the catalog but no account is provisioned.
- Requested
- Account has asked for the service and is waiting for operator review.
- Enabled
- Service workspace is provisioned and entitlements can be read by the service.
- Paused
- Service access is disabled without deleting tenant data or audit history.
Core records
Schema planning for the first account-aware services.
These records define the local platform contract before signup, billing, invite delivery, or external service access is enabled.
accounts
Customer, tenant, billing, and ownership boundary for LinkRidge Cloud services.
- Fields
- id, name, status, primary_owner_user_id, billing_customer_id, created_at, updated_at
- Guardrail
- Draft records are local planning objects until Matthew approves customer activation.
users
Login identity for a person or approved agent operator.
- Fields
- id, email, display_name, status, created_at, updated_at
- Guardrail
- No external auth-provider user or invite delivery is implied by this contract.
account_memberships
Account-scoped role assignment that services consume before loading tenant data.
- Fields
- id, account_id, user_id, role, status, created_at, updated_at
- Guardrail
- Memberships become active only after approved account activation or invite acceptance.
account_invites
Prepared invite packet for adding a user to an account and optional service scope.
- Fields
- id, account_id, email, role, service_scope, status, expires_at, created_by_user_id, created_at, updated_at
- Guardrail
- Invite creation and outbound delivery stay manual until the invite flow is approved.
account_services
Account-to-service enablement record that proves a service may provision tenant defaults.
- Fields
- id, account_id, service_id, plan_key, status, requested_by_user_id, approved_by_user_id, enabled_at, created_at, updated_at
- Guardrail
- Service enablement remains modeled or requested until operator approval creates an enabled local record.
service_entitlements
Effective feature and limit values read by services before tenant work is performed.
- Fields
- id, account_service_id, entitlement_key, kind, value, source, created_at, updated_at
- Guardrail
- Entitlements are local records first; billing-provider sync is a later approval-gated integration.
usage_events
Append-only service activity used for usage review, limits, billing export, and support history.
- Fields
- id, account_id, account_service_id, service_id, event_name, quantity, billable, occurred_at, metadata
- Guardrail
- Events are stored locally before any metered billing export is enabled.
support_cases
Account-service support and operator handoff records used before customer-visible ticketing or escalation workflows exist.
- Fields
- id, account_id, account_service_id, service_id, category, severity, status, subject, created_by_user_id, created_at, resolved_at, metadata
- Guardrail
- Support cases are local review records until Matthew approves external ticket creation, customer contact, escalation, or customer-visible timelines.
audit_events
Account-visible and operator-visible change history for platform and service actions.
- Fields
- id, actor_user_id, account_id, service_id, action, target_type, target_id, occurred_at, metadata
- Guardrail
- Audit history must be written for approval, activation, invite, entitlement, and service mutations before external access opens.
admin-only-planning
Activation packets stay local until operator approval.
Local review packet used before an account service can move toward operator approval.
- Account identity
- Draft account name, primary owner, support contact, and intended LinkRidge Cloud service are recorded locally.
- Membership plan
- Owner role, optional invited users, service roles, and invite status are prepared without sending external invitations.
- Service plan
- Requested service, plan key, entitlement defaults, workspace defaults, and usage-event expectations are selected from the manifest.
- Billing boundary
- Billing customer, product, price, subscription, and metered export actions are explicitly marked not created.
- Operator review
- Approval checklist records reviewer, reviewed-at timestamp, skipped external actions, and unresolved blockers before activation.
schema-planning
Service events share one platform envelope.
Common envelope every service usage or audit event must carry before platform billing, support, or customer-visible history can rely on it.
Events remain local records until Matthew approves any billing export, customer-visible timeline, or externally reachable service workflow.
admin-only-planning
Operator approvals require evidence before activation.
Checklist metadata an operator must complete before a modeled account service can become enabled or externally reachable.
- Account identity verified
- Draft account name, primary owner email, support contact, and intended service match the activation packet.
- Membership scope reviewed
- Owner, admin, editor, viewer, and invite scopes are prepared locally with no outbound invite delivery.
- Entitlement defaults reviewed
- Plan key, feature flags, and usage limits come from the service manifest and do not imply paid billing state.
- Usage and audit events ready
- Service actions identify account, account service, workspace, actor, event name, target, timestamp, quantity, and metadata.
- External actions skipped
- Billing writes, invite sends, external access, DNS, and production deploys are explicitly marked skipped unless separately approved.
planning
Rollout readiness moves one local phase at a time.
Ordered local milestones that turn a service manifest into a tenant-aware hosted service without opening billing, invites, DNS, or public customer access early.
- Contract ready
- Service manifest, tenant keys, entitlement map, event names, and operator gates are documented and rendered from repo data.
- Local schema ready
- Account, membership, account service, entitlement, usage, audit, and service workspace records can be created in a local/admin-only environment.
- Adapter ready
- The service can read platform account context, enforce entitlements, and emit usage/audit events while remaining separately deployable.
- Operator review ready
- Activation packet and approval checklist evidence are complete locally with every external action marked skipped.
- Beta candidate
- Matthew can review one proposed first account/service activation packet before any invite, billing write, DNS change, or production exposure happens.
admin-only-planning
Local schema scaffolding starts with seed records.
Minimum local records required to prove a tenant-aware account service can be prepared without creating external access.
- Draft account
- accounts: draft. Internal account identity with name, primary owner placeholder, support contact, and no billing provider customer.
- Owner user
- users: local_pending. Local identity placeholder used for membership planning without creating an external auth-provider user.
- Owner membership
- account_memberships: planned. Account owner role mapped locally so service permissions can be evaluated before invites are sent.
- Account service
- account_services: modeled. Requested service and plan key selected from the manifest while service enablement remains blocked.
- Entitlement defaults
- service_entitlements: local_default. Feature and limit values copied from the service manifest without syncing billing products, prices, or subscriptions.
- Activation audit
- audit_events: planned. Audit event shape for the local activation review, including skipped external actions and unresolved blockers.
contract-only
Seed packets make local schema evidence testable.
Admin-only JSON packet shape for proving local seed records can be prepared before a database migration, signup flow, invite delivery, billing sync, DNS change, or production route exists.
Use this packet as the fixture contract for local/admin-only schema tests before adding signup, billing, invite, or hosted service access code.
fixture-checked
Provisioning rehearsals prove what stays local.
Local-only rehearsal contract for preparing tenant-aware records from a seed packet without creating auth users, billing records, invites, DNS, external QR redirects, or production routes.
Statuses: rehearsal_only, ready_for_local_operator_review, blocked.
fixture-checked
Operator decisions stay local until Matthew approves activation.
Local-only operator decision record that captures whether a reviewed seed packet may move past review while customer activation, billing, invites, DNS, hosted redirects, and production deploys remain blocked.
Statuses: not_started, blocked_pending_matthew_approval, approved_local_only.
fixture-checked
Approval decisions must leave local audit evidence.
Local platform audit evidence that records the blocked operator decision before any activation, billing, invite, DNS, hosted redirect, or production deploy action is allowed.
Allowed actions: account_service.operator_decision_blocked, account_service.operator_decision_approved_local_only.
QR Codes
Tenant-aware hosted QR code workspaces based on the separately deployable Open QR seed app.
- Service id
- qr-codes
- Source
- makersridge/open-qr