Skip to content

Archive shared teams with billing shutdown and held deletion - #142

Merged
rafiki270 merged 3 commits into
mainfrom
feat/held-team-archive
Nov 7, 2026
Merged

rafiki270 merged 3 commits into
mainfrom
feat/held-team-archive

Conversation

@rafiki270

@rafiki270 rafiki270 commented Nov 7, 2026 •

Copy link
Copy Markdown
Contributor

Summary Archive a shared UOA team across connected products without erasing it. Organisation owners and administrators confirm the selected team through a fresh exact-team human assertion. The team leaves active directories, its sessions and assurances are revoked across consuming products, and an immutable operation holds permanent deletion. - Stop exact-team billing with durable reconciliation: cancel subscriptions immediately without proration or a final invoice, expire checkouts, pause automatic invoice collection and cancel unsettled payment intents. Receipt reads can advance pending work after the human session ends. - Fence provider creates, usage meter dispatch and cancellation-recovery collection against the archive. Ordinary disabled teams remain eligible to settle earned usage. Disable automatic reload through its consent-generation rules, end seat evidence through canonical roster triggers, and preserve financial history, sibling teams and shared organisation billing. - Refuse reactivation and permanent erasure while held. Add the terminal archive state to the existing administration panel. No erasure job or purge timer is created. Nessie's Advanced → Danger flow consumes this contract. This API must be deployed before that doorway is merged. ## Testing On Maxis, with isolated PostgreSQL on 127.0.0.1:6313: - 113 focused API unit and PostgreSQL cases passed: shared archive/RLS/role refusal, cross-product revocation, lifecycle regressions, provider cancellation and recovery, consent disable, seat evidence, correction collection fencing, organisation responsibility, funding/region pricing and active/disabled/archived usage export. The archive, seat and split usage suites passed their final focused reruns. - API and Admin typechecks; focused ESLint; OpenAPI lint (valid, 43 existing warnings). - Headless Chromium at 1280 and 390 px: rendered the real archived administration panel with fixture state; confirmed that reactivation and erasure actions are absent. - Nessie's consuming headless journey covers the two confirmations and signed-out receipt recovery in all seven locales. Provider effects there are fixtures. The wider local database-free run had 2,772 passes and six failures caused by the missing local Auth/dist/index.html. That unchanged Auth bundle was not built locally; CI builds it before these entrypoint tests.

No real team was archived. Live Stripe effects and logout in a second production product were not exercised. Cross-product consumers retain their existing live-admission and revocation contracts; offline JWT acceptance requires introspection/revocation or bounded expiry. ## Screenshots Only the new Archived state visibly changes in the administration panel. Screenshots use fixture state, the same light theme, and 900 px height. | Before | After | | --- | --- | | Archived team · desktop, 1280 px
New held-archive state; no prior equivalent. | Archived team · desktop, 1280 px
After: UOA archived team at 1280 px | | Archived team · phone, 390 px
New held-archive state; no prior equivalent. | Archived team · phone, 390 px
After: UOA archived team at 390 px |

Copilot AI balanced review requested due to automatic review settings November 7, 2026 19:23

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota. Try requesting a review at a lower effort level.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 7, 2026 •

Copy link
Copy Markdown
Codex Review Summary: ✅ Completed

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-11-07T19:26:58.773970Z 2975348 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 2975348015

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Copilot AI balanced review requested due to automatic review settings November 7, 2026 19:39

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota. Try requesting a review at a lower effort level.

@rafiki270
rafiki270 merged commit 81f39d7 into main Nov 7, 2026
2 checks passed
@rafiki270
rafiki270 deleted the feat/held-team-archive branch November 7, 2026 20:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants