feat(website): launch Mastermind Council experience - #6429
Conversation
There was a problem hiding this comment.
Ladon verdict: Approve
Approve — platform-only PR (server/**) with no blocking or Medium findings.
This PR renames Industry Councils to Mastermind Councils and adds a fail-closed paid-membership gate on self-serve council joins, plus a markdown-to-plain-text summary sanitizer. No protocol/schema/dist/docs surface is touched, so changeset, schema↔docs coherence, oneOf, and artifact-immutability rules do not apply.
Decision-table walkthrough:
- Row 1 (critical/high): no such findings — falls through.
- Row 2 (gated_paths): gated_paths is false — does not apply.
- Row 3/5 (high_risk + deleted/modified with medium): high_risk is true (member-tools.ts and committees.ts modified), but there are no Medium-or-higher findings, so the modified-file escalation triggers do not fire.
- Row 4 (medium data-loss/schema/infra): no Medium findings.
- Row 6 (sticky escalate): no prior decision.
- Row 7 (no-auto-approve team): no team match.
- Row 8 (≥3 medium): only two Low findings, zero Medium.
- Row 9: approve.
The new authorization boundary is well-shaped: a single self-serve chokepoint (joinWorkingGroup), fail-closed on DB/resolver error, cache-bypassing, per-org checks, and comprehensively unit-tested.
Non-blocking nits (Low): council rename left some admin/dashboard/onboarding surfaces on 'Industry Council'; and a transient DB failure denies a paying member with the $50 upsell copy — worth a follow-up but neither blocks.
|
Addressed the CI finding in 0a5607a by completing the org-filters mock used by the Addie admin boundary suite. On the two Ladon low-severity notes:
No unresolved review thread remains on the current head. |
Summary
Closes #6366
Testing
Review
Product, website UI, code quality, and security experts reviewed this implementation. All findings were addressed before publication.
No changeset: this changes server/public website and Addie surfaces only.