Files
member-console/status
cgalo5758 8c0fb4ae42 Archive the suspended-plans and reconcile pool-lock changes
reconcile-takes-pool-lock (#193) and suspended-plans-stay-held (#148)
move to openspec/changes/archive/ with every task ticked, and their
deltas are synced into the main specs:

- plan-transitions: 1 requirement modified (#193).
- member-dashboard, member-entitlement-view, member-offer: 1 modified
  each; member-plan-upgrade: 1 renamed ("active" to "live" ladder
  attachments) and 1 modified; member-invoice-history: 2 added;
  member-product-discovery, stripe-subscription-creation: 1 added each;
  plan-enrollment-administration: 1 added, 3 modified;
  stripe-subscription-management: 1 added, 2 modified (#148).

What #148's research and sandbox check taught, written into the pages
that own each topic:

- docs/models/plan-ladders-transitions.md: the member position's readers,
  all eight, each holding a suspended position as the organization's plan.
- docs/models/payments-billing.md: pausing collection is not the paused
  status, so the plan keeps delivering.
- docs/stripe.md: an expired pending upgrade's invoice is voided; a
  period-end cancellation stops retrying only that subscription's open
  invoice; only a subscription made outside the console reaches paused;
  paying on Stripe's page leaves the subscription's own default card in
  place; an uncollectible invoice's page still takes payment.
- docs/testing.md: what a break record's wanted message must be, and how
  to drive a failed renewal in the Stripe sandbox.
- status/design-feedback.md: the data model delivers through a past_due
  grace period, the console suspends at once (#255).
- The archived design gains three reasons: why the immediate-cancel
  refusal comes first, the https-only redirect, and the paused badge's
  tone.
2026-10-26 15:45:27 -05:00
..

Status

A thin index of where member-console development stands. Detail lives in the linked files — this page stays short on purpose.

Where we are

Pre-production. A working Go/HTMX app with OIDC auth, FedWiki site management (create / delete / archive / restore with entitlement-gated quotas and downgrade read-only parking), a core domains registry (verify-once DNS claims, generic placements, entitlement-gated custom domains served through FedWiki), a Discourse forum integration (org-held entitlement, per-person delivery via group membership, live SSO + commerce loop proven), an operator MPA admin panel (curated landing overview, catalog, plan ladders, auto-provisioning, per-org enrollment, unified integrations section with runtime-managed settings), first-class plan management (ladders + the Transition supersession primitive + transition audit), Stripe billing (Checkout upgrade, cancel downgrade, subscription/invoice/payment sync), and Temporal workflows for site/group sync, domain verification, and Stripe fulfillment. Integrations live in registered trees behind an explicit contract; the database spans a single core domain schema plus a domains stream and the stripe, fedwiki, and discourse provider integration schemas with per-stream migration ledgers.

Milestones 1 to 9 complete; Public launch is the active milestone. Milestones and issues live on the forge tracker; the completed ones are recorded in archive/milestones-completed.md.

Current focus

Public launch, the milestone that makes the console presentable to a stranger: what it still needs is on the forge. The next milestones, in order, are Audit log and observability, Operator API, and Usage metering.

Key files

File Purpose
the forge tracker The home for issues and milestones
design-feedback.md Asks of the upstream design repository
strategy.md Design-alignment philosophy, the four-roadmaps lens, migration strategy, repo structure
fedwiki-service.md FedWiki Service tier → implementation mapping
archive/ Resolved issues and completed-milestone detail
explorations/ Local lab notebooks, one directory per decision; ignored by git and harvested into docs/ or the change's design.md when the decision lands
MAINTAINING.md Conventions for keeping status/ healthy
log/ Per-session development logs
../design/ Normative data model and design documents (read-only, synced from membcons-db)
../docs/ Conventions and as-built model cards; the durable home for anything a reader needs without the history

Keeping it organized

status/ tracks where things stand. It is not where decisions, conventions, or research live once they are settled: conventions go to docs/, normative model rules to design/ via upstream, changes to openspec/, and the records of an investigation to explorations/<topic>-<yyyy-mm>/, a local notebook git ignores that no tracked file cites. Decide a file's home by what it is before writing it; the table in MAINTAINING.md is the rule.