Files
Moko Consulting 804b131ccb
Cascade Main -> Dev / Cascade main -> dev (push) Successful in 3s
Generic: Standards Compliance / Secret Scanning (push) Successful in 3s
Universal: Push Notifications / push-notify (push) Successful in 7s
Generic: Standards Compliance / License Header Validation (push) Successful in 3s
Generic: Standards Compliance / Repository Structure Validation (push) Failing after 5s
Generic: Standards Compliance / Coding Standards Check (push) Successful in 5s
Generic: Standards Compliance / Workflow Configuration Check (push) Failing after 4s
Generic: Standards Compliance / Documentation Quality Check (push) Failing after 3s
Generic: Standards Compliance / README Completeness Check (push) Failing after 3s
Deploy (Prod) / Deploy to Prod (push) Successful in 24s
Generic: Standards Compliance / Git Repository Hygiene (push) Successful in 4s
Generic: Standards Compliance / Line Length Check (push) Successful in 4s
Generic: Standards Compliance / Script Integrity Validation (push) Successful in 8s
Generic: Standards Compliance / File Naming Standards (push) Successful in 3s
Generic: Standards Compliance / Insecure Code Pattern Detection (push) Successful in 3s
Generic: Standards Compliance / Version Consistency Check (push) Successful in 41s
Generic: Standards Compliance / Dead Code Detection (push) Successful in 5s
Generic: Standards Compliance / File Size Limits (push) Successful in 3s
Generic: Standards Compliance / Binary File Detection (push) Successful in 4s
Generic: Standards Compliance / TODO/FIXME Tracking (push) Successful in 3s
Generic: Standards Compliance / Code Duplication Detection (push) Successful in 38s
Generic: Standards Compliance / Unused Dependencies Check (push) Successful in 37s
Generic: Standards Compliance / Dependency Vulnerability Scanning (push) Successful in 43s
Generic: Standards Compliance / Broken Link Detection (push) Successful in 3s
Generic: Standards Compliance / API Documentation Coverage (push) Successful in 3s
Generic: Standards Compliance / Accessibility Check (push) Successful in 3s
Generic: Standards Compliance / Performance Metrics (push) Successful in 3s
Generic: Standards Compliance / Enterprise Readiness Check (push) Successful in 40s
Generic: Standards Compliance / Repository Health Check (push) Successful in 39s
Generic: Standards Compliance / Terraform Configuration Validation (push) Successful in 7s
Generic: Standards Compliance / Code Complexity Analysis (push) Successful in 2m11s
Generic: Standards Compliance / Compliance Summary (push) Has been cancelled
feat(admin): access control — signup policy + multi-domain allow-list
Add an admin "Access" page to gate who can sign into the admin GUI via Google
OAuth. Replaces the single env-var domain check with GUI-managed policy:

- Signup mode (per-login decision): open (domain match auto-approves),
  approval (domain sign-ins queue as pending for admin approval), or
  allowlist/closed (only pre-approved emails).
- Multiple allowed domains (seeded once from MT_OAUTH_ALLOWED_DOMAIN).
- User allow-list: approve pending, add, block (kept so open-mode can't
  silently re-provision), remove. All actions audited.
- adminAuth re-validates the OAuth session against the store each request, so a
  block/removal revokes access immediately rather than at 12h cookie expiry.
  HTTP basic auth still bypasses (no lockout risk while tightening policy).

New store tables: settings (signup_mode, allowed_domains) + users. Blocked/
queued logins re-render the sign-in page with a status banner.

Tests cover domain matching (incl. suffix-spoof) and all three signup modes.

Authored-by: Moko Consulting
Claude-Session: https://claude.ai/code/session_015UauDPfYC8S2mdUhoSK8zQ
2026-07-22 08:53:41 -05:00
..