Execute the tier_trial → participant downgrade (operator-gated, 30-day notice first) #270
Etiketter
Inga etiketter
area/backups
area/ci
area/control-panel
area/identity
area/infra
area/observability
area/payments
area/security
area/storage
area/web
blocked
needs-info
needs-triage
ready-for-implementation
type
bug
type
chore
type
docs
type
epic
type
feature
type
task
wontfix
Ingen milstolpe
Inget projekt
Inga tilldelade
1 deltagare
Notiser
Förfallodatum
Inget förfallodatum satt.
Beroenden
Inga beroenden satta
Referens
bitborg/bitborg-infra#270
Läser in…
Hänvisa till i nytt ärende
Ingen beskrivning angiven.
Ta bort grenen "%!s()"
Borttagning av en gren är permanent. Även om den borttagna grenen kan fortsätta existera en kort tid innan den faktiskt tas bort, kan det INTE ångras i de flesta fall. Vill du fortsätta?
The sign-up trial (ADR 0036) grants full paid capabilities to
tier_trialmembers until an operatorruns the downgrade. Everything needed to run it shipped with #232; what remains is the
operational act of running it, which is deliberately manual and operator-gated.
This issue exists so that step is tracked rather than living only in the runbook.
No date, anywhere
The trial used to be described as ending on an announced date, later softened to a floor of
31 August 2026. Both are gone. No user-facing surface states a date, nothing in the system holds
one, and the trigger is paid subscriptions launching for everyone.
The gate
Do not run this until paid subscriptions are live, or until you have explicitly decided to end
the trial. Never revoke capabilities before users have a way to subscribe.
The public promise is at least 30 days' notice before the trial ends. Nothing enforces that for
you. Send the notice and let the 30 days elapse before the irreversible step, and close the trial
door first so a trial started during the notice window cannot be downgraded without ever having
been told.
What to do
Follow
docs/runbook.md§ Sign-up trial & the trial downgrade (ADR 0036). In outline:web_trial_open: "false"+ansible-playbook site.yml --tags web) so theset of people owed notice stops growing.
kanidm group list-members tier_trial), send them the 30-daytrial-end notice, and wait out the 30 days.
tier_trialtotier_participant(idempotent; re-running is safe).tier_trialis empty.participantquota group with no org-create andno Actions.
Done when
tier_trialhas no members (the group stays defined; the reconciler is inert over an empty group).Epic: gitborg/gitborg-docs#51. Also gates opening checkout to everyone: bitborg-docs#5.
Decision: hold the downgrade. There is no deadline to hold against.
Reviewed ahead of 31 August. This issue's premise is wrong, and correcting it removes the time
pressure entirely.
The premise
/trial-termsdoes not state that. §2 says the trial "runs until sign ups for paid subscriptionson Bitborg are launched for everyone, regardless of when you sign up. It runs at least until
31 August 2026, even if paid subscriptions are launched before then."
31 August is a floor, not an end date. Every other user-facing surface agrees: the sign-up
checkbox notice, the account panel, the accounts guide and the trial-end FAQ, in both languages.
src/i18n/ui.tscarries a comment confirming the floor framing is deliberate.What follows
no announcement. The terms promise notice for shortening the trial or moving the floor, and
neither is happening.
and the runbook confirms there is no timer. No date forces anyone's hand.
not live. The remaining path is #46 here, plus bitborg-payment and the portal's upgrade
surface, several of which are still blocked or untriaged.
So: hold. No user communication, no page change, no operator action.
Done
an operator reading them before an irreversible, capability-revoking batch would think a
deadline had passed. Corrected in #422.
Follow-up
ADR 0036 §3 describes the sign-up checkbox as "in-form text stating the trial ends at the end of
August 2026". The shipped copy says "no earlier than 31 August 2026". The implementation refined
the decision and the ADR was never amended; filing that separately rather than editing a decision
record in passing.
Board
Moving back to Backlog. This is gated on paid subscriptions, so it is not actionable work.
Execute the end-of-August tier_trial → participant downgrade (operator-gated)till Execute the tier_trial → participant downgrade (operator-gated, 30-day notice first)