Changelog
Who edited what email, and why. The curated log below is the story (appended on every edit per the email playbook); the git feed underneath is the raw record, automatic from commits touching email files.
Curated — what changed & why (17)
-
Wired Tier-2b: 7 account-security confirmations (passkey added/removed, recovery-used, data-export-ready, deletion requested/completed, consent receipt) via DB triggers on 5 public tables; DORMANTWhy Net-new no-interference cluster — DARK today (action fns send 0 email); MFA + email-change deferred (GoTrue-owned auth schema)
-
Wired Tier-2: 10 ops/security alerts (relay triggers + sweeps), 4 concierge SLA escalations (hourly sla-scan brain), 5 phase-D candidate (references/assessment triggers + interview-soon/profile-nudge/job-matches crons); DORMANTWhy Phase-2: new triggers/scans on existing tables; fixed phase-D recipient join (candidate_id=candidate_profiles.id, not auth user)
-
Wired Tier-1b: partner advisory arbitration pool (8), health scans candidate-going-cold/role-closed-filled, candidate re-engagement digest — engine resolvers + recipient-map + emit (advisory-scan cron + sweeps + jobs trigger); DORMANT (parked switches)Why Phase-1 completion: cron+dossier driven advisory/health, no new user-action triggers
-
Built Wave 2+3: payment receipt + payment failed (member billing), placement 30-day check-in, partner QBR invite, testimonial request (dual)Why Completes the recommended Tier-2: billing trust + the highest-leverage relationship moments
-
Built the compliance/security floor: 11 account/security emails (GDPR data-export/deletion/consent, email-change confirm+alert, MFA enabled/disabled, passkey added/removed, recovery-code-used) + partner-new-applicant (closes the candidate_submitted_to_partner unmapped-event bug)Why Tier-1 floor: the legal/security confirmations whose backends are already live, plus a broken partner path
-
Built 4 net-new Tier-1 emails: references-request, candidate weekly + re-engagement digests, partner onboarding nudge, admin weekly exec summaryWhy Owner-approved net-new round; widens coverage across all three audiences
-
Audited the 6 Phase-D candidate bodies to ≥98Why Added purpose anchors (starting-soon, results), a strategist quote (assessment-invite), a preview fallback (message), and a zero-match guard (job-matches)
-
Audited the 14 admin ops + digest bodies to ≥98Why Added ops-purpose closes, empty/zero-data guards, AI-insight empty-string guard, and churn/data-quality intelligence depth
-
Audited the 22 concierge mirror + SLA bodies to ≥98Why Born-90 ops set converged: verified the six-lens spine (purpose + match% already woven in), set scores
-
Built first-day-prep onboarding email (logistics RoleCard + prep WhyList + calendar + strategist quote)Why Closed the one real coverage gap — the send-first-day-prep event had no body
-
Added this changelog + the Atlas-sync ritual to the email AGENTS.mdWhy Keep the Atlas current on every edit and build a who/what/why history we can learn from
-
Added search/filter, status chips, board device toggle, skip-link + landmarks + aria-pressed, and a per-email audit-basis lineWhy Make the overview clear, filterable, and accessible
-
PII-free partner-pipeline renders (demo personas, monogram avatars) via render-partner-pipeline.tsWhy The hosted Atlas must never expose real candidate names or avatars
-
Added component gallery (28), token reference, chrome map link, and the contribution guideWhy Document the design system itself, not just the email outputs
-
Added spec pages: render + metadata + view/copy/download HTML source + notes + open-GitHub-issueWhy Give collaborators a Litmus-ready handoff and a place to leave feedback per email
-
Added the per-email metadata spine in email-catalog.ts (audience/mail-class/sender/recipients/trigger/builder/status) + a RECIPIENT_MAP cross-check testWhy Every surface reads one source of truth so the Atlas can't drift from the code
-
Built the Email Atlas & Design System (landing, Atlas, Index, spec pages, components, tokens, contribute)Why Make the whole V2 program clear in one place and collaborable with outside developers/designers
Git feed — recent commits touching email files (40)
| Commit | Date | Author | Subject |
|---|---|---|---|
| 1068fa526 | 2026-06-25 | ClubOS Agent | atlas(export): regenerate docs/email-atlas/ for tier1b+tier2+account-security wiring |
| 535794873 | 2026-06-25 | ClubOS Agent | wire(tier2b): Account & Security confirmations (7, DORMANT) |
| a9a8754be | 2026-06-25 | ClubOS Agent | atlas(tier2): event-swap 19 ops/sla/phase-d catalog items |
| 3da5a3dd8 | 2026-06-25 | ClubOS Agent | wire(tier2-sla): SLA/escalation resolvers + recipient-map + sla-scan (DORMANT) |
| dd27ea833 | 2026-06-24 | ClubOS Agent | fix(advisory-scan): correct false 'pipeline_stage does not exist' comment |
| 907916b6a | 2026-06-24 | ClubOS Agent | atlas(tier1b): event-swap 11 advisory/health/reeng catalog items |
| e0e8283bb | 2026-06-24 | ClubOS Agent | wire(advisory): arbitration resolvers + scan handler |
| 5cc8adc11 | 2026-06-23 | ClubOS Agent | wire(tier1): 4 intelligence digests — resolvers + recipient-map + cron + parked switches (DORMANT) |
| 130b94909 | 2026-06-22 | ClubOS Agent | atlas(state): derive per-email live status from prod kill-switches (not labels) |
| 411b896f9 | 2026-06-22 | ClubOS Agent | atlas(state): 6 domains live @100% (hiring/referrals/messaging/jobalerts/meetings/reviews) |
| d89c9368c | 2026-06-22 | ClubOS Agent | harden(engine-dispatch): stable per-(intent,channel) Resend idempotency key |
| e8c01a553 | 2026-06-22 | ClubOS Agent | atlas(state): reflect 3 domains live @100% (hiring + messaging + jobalerts) |
| dba6e8b51 | 2026-06-22 | ClubOS Agent | email(components): collision-proof RoleCard/GigCard title vs status pill |
| 51b9a8a69 | 2026-06-22 | ClubOS Agent | atlas: mkdir audit-artifacts before render loop (fixes Email Atlas CI build) |
| 59c23c1c5 | 2026-06-22 | ClubOS Agent | atlas: Email Program "State" dashboard (self-service mission-control) + fix Email Atlas CI |
| 68f27fe67 | 2026-06-22 | ClubOS Agent | atlas: add Newsletter & Marketing group + Quantum Membership design-reference tile |
| 26be7cda6 | 2026-06-22 | ClubOS Agent | fix(email): host assets from brand-assets Storage bucket (decouple from frontend deploy) |
| a0d44efba | 2026-06-22 | ClubOS Agent | body-i18n: candidate-application bodies onto the key contract + completeness gate |
| ad229320e | 2026-06-21 | ClubOS Agent | obs(notification-engine): add prod-runnable ramp/observability CLI |
| 5a901fb72 | 2026-06-21 | ClubOS Agent | feat(email-engine): Lane A compliance edge — 4 governance gaps before marketing ramp |
| 4a4824f9a | 2026-06-21 | ClubOS Agent | feat(atlas): auto-derived liveness ladder (built→wired→shadow→live) + Phase-1 ramp plan |
| dd7f4b81f | 2026-06-20 | ClubOS Agent | test(engine): brain harness against the REAL prod schema (engine:smoke:brain:real) |
| a9abf5d9d | 2026-06-20 | ClubOS Agent | fix(engine): real-prod-schema proof surfaces + fixes 6 deploy-blockers |
| 26a4ab0c5 | 2026-06-20 | ClubOS Agent | test(email-engine): brain proven end-to-end on real PostgREST + fix gate read-swallow |
| b434f6a3e | 2026-06-19 | ClubOS Agent | test(email-engine): smoke harness proves payments dunning ladder on real PG |
| 85771358a | 2026-06-19 | ClubOS Agent | test(email-engine): real-Postgres smoke harness — proves emit/idempotency/triggers |
| 401b76596 | 2026-06-19 | ClubOS Agent | docs(email-atlas): committed AI-consumable + enterprise export (235 emails) |
| 8d039a1a6 | 2026-06-19 | ClubOS Agent | atlas(w4): resolve full wiring for all wired emails + plain-English per email |
| 23d6884da | 2026-06-19 | ClubOS Agent | feat(notify-engine W0): wire emit→intent→resolver→dispatch foundation |
| 35bc730d0 | 2026-06-19 | ClubOS Agent | i18n(email Lane F): body-string contract + messaging pilot (en+nl) |
| a6abb159a | 2026-06-19 | ClubOS Agent | feat(notif-engine): Lane D — shadow-mode report + admin health RPC + dashboard |
| 182c884c8 | 2026-06-19 | ClubOS Agent | feat(email-engine): Lane E — Atlas auto-derived "Wiring" panel (cannot drift) |
| 384a4b0c9 | 2026-06-19 | ClubOS Agent | emails(audit): Tier-1+2 ≥98 polish (6 fix-lanes) + stamp scores in Atlas |
| d73cf6207 | 2026-06-18 | ClubOS Agent | fix(emails): meetings + messaging → ≥98 audit polish |
| cd5f8f35c | 2026-06-18 | ClubOS Agent | fix(emails): contracts → ≥98 + P0 ESIGN executed-copy/audit-trail, no undefined leaks |
| 1fe3dbe84 | 2026-06-18 | ClubOS Agent | fix(emails): marketplace-gig → ≥98 audit polish |
| 03afad6cf | 2026-06-18 | ClubOS Agent | fix(emails): payments + job-alerts → ≥98 audit polish |
| 347fda2cc | 2026-06-18 | ClubOS Agent | fix(emails): marketplace-project → ≥98 audit polish |
| 39c11ee7b | 2026-06-18 | ClubOS Agent | fix(emails): academy bodies → ≥98 audit polish |
| 7ebc5a9dc | 2026-06-18 | ClubOS Agent | emails(atlas): wire the 90 Tier-1+2 bodies into the catalog + Atlas (235 tiles) |