[1.3.56] — 2026-07-03
- CHG-0175 email verification deployed v1.3.55 + full decision-logic map + roadmap update
- Session: deploy v1.3.55
- CHG-0173 (family-scan pagination, v1.3.54) + CHG-0174 (qa3 fixture reset) records
- Session: deploy v1.3.54
- CHG-0171 + CHG-0172 records: Phase 1 security fixes deployed v1.3.53
- Session: deploy v1.3.53
- CHG-0170: restore apex DNS + CE apex assertions; go-live audit + roadmap
- CHG-0169 closed: dashboard 'Needs attention' worklist
- Session: deploy v1.3.52
- CHG-0168 closed: dashboard recent-activity timeline
- Session: deploy v1.3.51
- Session: deploy v1.3.50
- CHG-0167 closed: dashboard growth metrics + user-detail back buttons
- Session: deploy v1.3.49
- CHG-0166b closed: undo button on create-user result page
- Session: deploy v1.3.48
- CHG-0166 closed: admin-create user for pre-signup gift accounts
- Session: deploy v1.3.47
- CHG-0162/0163/0164/0165 closed: admin user-mgmt feature batch
- Session: deploy v1.3.46
- CHG-0161 closed: unified admin search across email/username/RP-ID/Stripe IDs
- Session: deploy v1.3.45
- Session: deploy v1.3.44
- Session: deploy v1.3.44
- CHG-0155 / 0156 / 0157 / 0158 / 0160 closed: admin panel overhaul
- Session: deploy v1.3.43
- Session: deploy v1.3.42
- CHG-0154 closed: admin panel filters internal/test rows by default
- Session: deploy v1.3.41
- CHG-0153 closed: bootstrap rholzer-admin admin account
[1.3.55] — 2026-07-03
- CHG-0173 (family-scan pagination, v1.3.54) + CHG-0174 (qa3 fixture reset) records
- Session: deploy v1.3.54
- CHG-0171 + CHG-0172 records: Phase 1 security fixes deployed v1.3.53
- Session: deploy v1.3.53
- CHG-0170: restore apex DNS + CE apex assertions; go-live audit + roadmap
- CHG-0169 closed: dashboard 'Needs attention' worklist
- Session: deploy v1.3.52
- CHG-0168 closed: dashboard recent-activity timeline
- Session: deploy v1.3.51
- Session: deploy v1.3.50
- CHG-0167 closed: dashboard growth metrics + user-detail back buttons
- Session: deploy v1.3.49
- CHG-0166b closed: undo button on create-user result page
- Session: deploy v1.3.48
- CHG-0166 closed: admin-create user for pre-signup gift accounts
- Session: deploy v1.3.47
- CHG-0162/0163/0164/0165 closed: admin user-mgmt feature batch
- Session: deploy v1.3.46
- CHG-0161 closed: unified admin search across email/username/RP-ID/Stripe IDs
- Session: deploy v1.3.45
- Session: deploy v1.3.44
- Session: deploy v1.3.44
- CHG-0155 / 0156 / 0157 / 0158 / 0160 closed: admin panel overhaul
- Session: deploy v1.3.43
- Session: deploy v1.3.42
- CHG-0154 closed: admin panel filters internal/test rows by default
- Session: deploy v1.3.41
- CHG-0153 closed: bootstrap rholzer-admin admin account
- CHG-0152 closed: rangepulse submodule bump + record + pre-reset snapshot
- Session: deploy v1.3.40
[1.3.54] — 2026-07-03
- CHG-0171 + CHG-0172 records: Phase 1 security fixes deployed v1.3.53
- Session: deploy v1.3.53
- CHG-0170: restore apex DNS + CE apex assertions; go-live audit + roadmap
- CHG-0169 closed: dashboard 'Needs attention' worklist
- Session: deploy v1.3.52
- CHG-0168 closed: dashboard recent-activity timeline
- Session: deploy v1.3.51
- Session: deploy v1.3.50
- CHG-0167 closed: dashboard growth metrics + user-detail back buttons
- Session: deploy v1.3.49
- CHG-0166b closed: undo button on create-user result page
- Session: deploy v1.3.48
- CHG-0166 closed: admin-create user for pre-signup gift accounts
- Session: deploy v1.3.47
- CHG-0162/0163/0164/0165 closed: admin user-mgmt feature batch
- Session: deploy v1.3.46
- CHG-0161 closed: unified admin search across email/username/RP-ID/Stripe IDs
- Session: deploy v1.3.45
- Session: deploy v1.3.44
- Session: deploy v1.3.44
- CHG-0155 / 0156 / 0157 / 0158 / 0160 closed: admin panel overhaul
- Session: deploy v1.3.43
- Session: deploy v1.3.42
- CHG-0154 closed: admin panel filters internal/test rows by default
- Session: deploy v1.3.41
- CHG-0153 closed: bootstrap rholzer-admin admin account
- CHG-0152 closed: rangepulse submodule bump + record + pre-reset snapshot
- Session: deploy v1.3.40
- CHG-0149/0150/0151 closed records + rangepulse submodule bump
- CHG-0148 (closed) + CHG-0142 panel sign-offs + readiness refresh
[1.3.53] — 2026-07-03
- CHG-0170: restore apex DNS + CE apex assertions; go-live audit + roadmap
- CHG-0169 closed: dashboard 'Needs attention' worklist
- Session: deploy v1.3.52
- CHG-0168 closed: dashboard recent-activity timeline
- Session: deploy v1.3.51
- Session: deploy v1.3.50
- CHG-0167 closed: dashboard growth metrics + user-detail back buttons
- Session: deploy v1.3.49
- CHG-0166b closed: undo button on create-user result page
- Session: deploy v1.3.48
- CHG-0166 closed: admin-create user for pre-signup gift accounts
- Session: deploy v1.3.47
- CHG-0162/0163/0164/0165 closed: admin user-mgmt feature batch
- Session: deploy v1.3.46
- CHG-0161 closed: unified admin search across email/username/RP-ID/Stripe IDs
- Session: deploy v1.3.45
- Session: deploy v1.3.44
- Session: deploy v1.3.44
- CHG-0155 / 0156 / 0157 / 0158 / 0160 closed: admin panel overhaul
- Session: deploy v1.3.43
- Session: deploy v1.3.42
- CHG-0154 closed: admin panel filters internal/test rows by default
- Session: deploy v1.3.41
- CHG-0153 closed: bootstrap rholzer-admin admin account
- CHG-0152 closed: rangepulse submodule bump + record + pre-reset snapshot
- Session: deploy v1.3.40
- CHG-0149/0150/0151 closed records + rangepulse submodule bump
- CHG-0148 (closed) + CHG-0142 panel sign-offs + readiness refresh
- Session: deploy v1.3.39
- Session: deploy v1.3.38
[1.3.52] — 2026-06-19
- CHG-0168 closed: dashboard recent-activity timeline
- Session: deploy v1.3.51
- Session: deploy v1.3.50
- CHG-0167 closed: dashboard growth metrics + user-detail back buttons
- Session: deploy v1.3.49
- CHG-0166b closed: undo button on create-user result page
- Session: deploy v1.3.48
- CHG-0166 closed: admin-create user for pre-signup gift accounts
- Session: deploy v1.3.47
- CHG-0162/0163/0164/0165 closed: admin user-mgmt feature batch
- Session: deploy v1.3.46
- CHG-0161 closed: unified admin search across email/username/RP-ID/Stripe IDs
- Session: deploy v1.3.45
- Session: deploy v1.3.44
- Session: deploy v1.3.44
- CHG-0155 / 0156 / 0157 / 0158 / 0160 closed: admin panel overhaul
- Session: deploy v1.3.43
- Session: deploy v1.3.42
- CHG-0154 closed: admin panel filters internal/test rows by default
- Session: deploy v1.3.41
- CHG-0153 closed: bootstrap rholzer-admin admin account
- CHG-0152 closed: rangepulse submodule bump + record + pre-reset snapshot
- Session: deploy v1.3.40
- CHG-0149/0150/0151 closed records + rangepulse submodule bump
- CHG-0148 (closed) + CHG-0142 panel sign-offs + readiness refresh
- Session: deploy v1.3.39
- Session: deploy v1.3.38
- Session: deploy v1.3.37
- CHG-0143/0144/0145: skip-link CSS + demo reset auto-login + marketing landing refresh
- Session: deploy v1.3.36
[1.3.51] — 2026-06-19
- Session: deploy v1.3.50
- CHG-0167 closed: dashboard growth metrics + user-detail back buttons
- Session: deploy v1.3.49
- CHG-0166b closed: undo button on create-user result page
- Session: deploy v1.3.48
- CHG-0166 closed: admin-create user for pre-signup gift accounts
- Session: deploy v1.3.47
- CHG-0162/0163/0164/0165 closed: admin user-mgmt feature batch
- Session: deploy v1.3.46
- CHG-0161 closed: unified admin search across email/username/RP-ID/Stripe IDs
- Session: deploy v1.3.45
- Session: deploy v1.3.44
- Session: deploy v1.3.44
- CHG-0155 / 0156 / 0157 / 0158 / 0160 closed: admin panel overhaul
- Session: deploy v1.3.43
- Session: deploy v1.3.42
- CHG-0154 closed: admin panel filters internal/test rows by default
- Session: deploy v1.3.41
- CHG-0153 closed: bootstrap rholzer-admin admin account
- CHG-0152 closed: rangepulse submodule bump + record + pre-reset snapshot
- Session: deploy v1.3.40
- CHG-0149/0150/0151 closed records + rangepulse submodule bump
- CHG-0148 (closed) + CHG-0142 panel sign-offs + readiness refresh
- Session: deploy v1.3.39
- Session: deploy v1.3.38
- Session: deploy v1.3.37
- CHG-0143/0144/0145: skip-link CSS + demo reset auto-login + marketing landing refresh
- Session: deploy v1.3.36
- Add annual cadence + reactivation coverage (CHG-0142 prep)
- CHG-0139/0140/0141 records + CHG-0142 draft + test harness 3DS fix
[1.3.50] — 2026-06-19
- CHG-0167 closed: dashboard growth metrics + user-detail back buttons
- Session: deploy v1.3.49
- CHG-0166b closed: undo button on create-user result page
- Session: deploy v1.3.48
- CHG-0166 closed: admin-create user for pre-signup gift accounts
- Session: deploy v1.3.47
- CHG-0162/0163/0164/0165 closed: admin user-mgmt feature batch
- Session: deploy v1.3.46
- CHG-0161 closed: unified admin search across email/username/RP-ID/Stripe IDs
- Session: deploy v1.3.45
- Session: deploy v1.3.44
- Session: deploy v1.3.44
- CHG-0155 / 0156 / 0157 / 0158 / 0160 closed: admin panel overhaul
- Session: deploy v1.3.43
- Session: deploy v1.3.42
- CHG-0154 closed: admin panel filters internal/test rows by default
- Session: deploy v1.3.41
- CHG-0153 closed: bootstrap rholzer-admin admin account
- CHG-0152 closed: rangepulse submodule bump + record + pre-reset snapshot
- Session: deploy v1.3.40
- CHG-0149/0150/0151 closed records + rangepulse submodule bump
- CHG-0148 (closed) + CHG-0142 panel sign-offs + readiness refresh
- Session: deploy v1.3.39
- Session: deploy v1.3.38
- Session: deploy v1.3.37
- CHG-0143/0144/0145: skip-link CSS + demo reset auto-login + marketing landing refresh
- Session: deploy v1.3.36
- Add annual cadence + reactivation coverage (CHG-0142 prep)
- CHG-0139/0140/0141 records + CHG-0142 draft + test harness 3DS fix
- Session: deploy v1.3.35
[1.3.49] — 2026-06-19
- CHG-0166b closed: undo button on create-user result page
- Session: deploy v1.3.48
- CHG-0166 closed: admin-create user for pre-signup gift accounts
- Session: deploy v1.3.47
- CHG-0162/0163/0164/0165 closed: admin user-mgmt feature batch
- Session: deploy v1.3.46
- CHG-0161 closed: unified admin search across email/username/RP-ID/Stripe IDs
- Session: deploy v1.3.45
- Session: deploy v1.3.44
- Session: deploy v1.3.44
- CHG-0155 / 0156 / 0157 / 0158 / 0160 closed: admin panel overhaul
- Session: deploy v1.3.43
- Session: deploy v1.3.42
- CHG-0154 closed: admin panel filters internal/test rows by default
- Session: deploy v1.3.41
- CHG-0153 closed: bootstrap rholzer-admin admin account
- CHG-0152 closed: rangepulse submodule bump + record + pre-reset snapshot
- Session: deploy v1.3.40
- CHG-0149/0150/0151 closed records + rangepulse submodule bump
- CHG-0148 (closed) + CHG-0142 panel sign-offs + readiness refresh
- Session: deploy v1.3.39
- Session: deploy v1.3.38
- Session: deploy v1.3.37
- CHG-0143/0144/0145: skip-link CSS + demo reset auto-login + marketing landing refresh
- Session: deploy v1.3.36
- Add annual cadence + reactivation coverage (CHG-0142 prep)
- CHG-0139/0140/0141 records + CHG-0142 draft + test harness 3DS fix
- Session: deploy v1.3.35
- Session: deploy v1.3.34
- CHG-0138: nightly QA no longer aborts at first failing stage + named alert
[1.3.48] — 2026-06-19
- CHG-0166 closed: admin-create user for pre-signup gift accounts
- Session: deploy v1.3.47
- CHG-0162/0163/0164/0165 closed: admin user-mgmt feature batch
- Session: deploy v1.3.46
- CHG-0161 closed: unified admin search across email/username/RP-ID/Stripe IDs
- Session: deploy v1.3.45
- Session: deploy v1.3.44
- Session: deploy v1.3.44
- CHG-0155 / 0156 / 0157 / 0158 / 0160 closed: admin panel overhaul
- Session: deploy v1.3.43
- Session: deploy v1.3.42
- CHG-0154 closed: admin panel filters internal/test rows by default
- Session: deploy v1.3.41
- CHG-0153 closed: bootstrap rholzer-admin admin account
- CHG-0152 closed: rangepulse submodule bump + record + pre-reset snapshot
- Session: deploy v1.3.40
- CHG-0149/0150/0151 closed records + rangepulse submodule bump
- CHG-0148 (closed) + CHG-0142 panel sign-offs + readiness refresh
- Session: deploy v1.3.39
- Session: deploy v1.3.38
- Session: deploy v1.3.37
- CHG-0143/0144/0145: skip-link CSS + demo reset auto-login + marketing landing refresh
- Session: deploy v1.3.36
- Add annual cadence + reactivation coverage (CHG-0142 prep)
- CHG-0139/0140/0141 records + CHG-0142 draft + test harness 3DS fix
- Session: deploy v1.3.35
- Session: deploy v1.3.34
- CHG-0138: nightly QA no longer aborts at first failing stage + named alert
- CHG-0137 (CAB round 2): PII-safe alerts, relative-to-self RED model, tests
- CHG-0137: quiet perf-tracker noise + human-readable cron alerts
[1.3.47] — 2026-06-18
- CHG-0162/0163/0164/0165 closed: admin user-mgmt feature batch
- Session: deploy v1.3.46
- CHG-0161 closed: unified admin search across email/username/RP-ID/Stripe IDs
- Session: deploy v1.3.45
- Session: deploy v1.3.44
- Session: deploy v1.3.44
- CHG-0155 / 0156 / 0157 / 0158 / 0160 closed: admin panel overhaul
- Session: deploy v1.3.43
- Session: deploy v1.3.42
- CHG-0154 closed: admin panel filters internal/test rows by default
- Session: deploy v1.3.41
- CHG-0153 closed: bootstrap rholzer-admin admin account
- CHG-0152 closed: rangepulse submodule bump + record + pre-reset snapshot
- Session: deploy v1.3.40
- CHG-0149/0150/0151 closed records + rangepulse submodule bump
- CHG-0148 (closed) + CHG-0142 panel sign-offs + readiness refresh
- Session: deploy v1.3.39
- Session: deploy v1.3.38
- Session: deploy v1.3.37
- CHG-0143/0144/0145: skip-link CSS + demo reset auto-login + marketing landing refresh
- Session: deploy v1.3.36
- Add annual cadence + reactivation coverage (CHG-0142 prep)
- CHG-0139/0140/0141 records + CHG-0142 draft + test harness 3DS fix
- Session: deploy v1.3.35
- Session: deploy v1.3.34
- CHG-0138: nightly QA no longer aborts at first failing stage + named alert
- CHG-0137 (CAB round 2): PII-safe alerts, relative-to-self RED model, tests
- CHG-0137: quiet perf-tracker noise + human-readable cron alerts
- Items 4 & 5: multi-browser test infra + large-history latency
- Rollback CHG-0133 (public access) + Items 2/3 progress
[1.3.46] — 2026-06-18
- CHG-0161 closed: unified admin search across email/username/RP-ID/Stripe IDs
- Session: deploy v1.3.45
- Session: deploy v1.3.44
- Session: deploy v1.3.44
- CHG-0155 / 0156 / 0157 / 0158 / 0160 closed: admin panel overhaul
- Session: deploy v1.3.43
- Session: deploy v1.3.42
- CHG-0154 closed: admin panel filters internal/test rows by default
- Session: deploy v1.3.41
- CHG-0153 closed: bootstrap rholzer-admin admin account
- CHG-0152 closed: rangepulse submodule bump + record + pre-reset snapshot
- Session: deploy v1.3.40
- CHG-0149/0150/0151 closed records + rangepulse submodule bump
- CHG-0148 (closed) + CHG-0142 panel sign-offs + readiness refresh
- Session: deploy v1.3.39
- Session: deploy v1.3.38
- Session: deploy v1.3.37
- CHG-0143/0144/0145: skip-link CSS + demo reset auto-login + marketing landing refresh
- Session: deploy v1.3.36
- Add annual cadence + reactivation coverage (CHG-0142 prep)
- CHG-0139/0140/0141 records + CHG-0142 draft + test harness 3DS fix
- Session: deploy v1.3.35
- Session: deploy v1.3.34
- CHG-0138: nightly QA no longer aborts at first failing stage + named alert
- CHG-0137 (CAB round 2): PII-safe alerts, relative-to-self RED model, tests
- CHG-0137: quiet perf-tracker noise + human-readable cron alerts
- Items 4 & 5: multi-browser test infra + large-history latency
- Rollback CHG-0133 (public access) + Items 2/3 progress
- Item 2 closed: DDB PITR runbook + restore rehearsal
- Phase II Pass 2/3/4 sign-offs + CHG paperwork sweep + GO-LIVE
[1.3.45] — 2026-06-18
- Session: deploy v1.3.44
- Session: deploy v1.3.44
- CHG-0155 / 0156 / 0157 / 0158 / 0160 closed: admin panel overhaul
- Session: deploy v1.3.43
- Session: deploy v1.3.42
- CHG-0154 closed: admin panel filters internal/test rows by default
- Session: deploy v1.3.41
- CHG-0153 closed: bootstrap rholzer-admin admin account
- CHG-0152 closed: rangepulse submodule bump + record + pre-reset snapshot
- Session: deploy v1.3.40
- CHG-0149/0150/0151 closed records + rangepulse submodule bump
- CHG-0148 (closed) + CHG-0142 panel sign-offs + readiness refresh
- Session: deploy v1.3.39
- Session: deploy v1.3.38
- Session: deploy v1.3.37
- CHG-0143/0144/0145: skip-link CSS + demo reset auto-login + marketing landing refresh
- Session: deploy v1.3.36
- Add annual cadence + reactivation coverage (CHG-0142 prep)
- CHG-0139/0140/0141 records + CHG-0142 draft + test harness 3DS fix
- Session: deploy v1.3.35
- Session: deploy v1.3.34
- CHG-0138: nightly QA no longer aborts at first failing stage + named alert
- CHG-0137 (CAB round 2): PII-safe alerts, relative-to-self RED model, tests
- CHG-0137: quiet perf-tracker noise + human-readable cron alerts
- Items 4 & 5: multi-browser test infra + large-history latency
- Rollback CHG-0133 (public access) + Items 2/3 progress
- Item 2 closed: DDB PITR runbook + restore rehearsal
- Phase II Pass 2/3/4 sign-offs + CHG paperwork sweep + GO-LIVE
- Session: deploy v1.3.34
- Session: deploy v1.3.33
[1.3.44] — 2026-06-18
- CHG-0155 / 0156 / 0157 / 0158 / 0160 closed: admin panel overhaul
- Session: deploy v1.3.43
- Session: deploy v1.3.42
- CHG-0154 closed: admin panel filters internal/test rows by default
- Session: deploy v1.3.41
- CHG-0153 closed: bootstrap rholzer-admin admin account
- CHG-0152 closed: rangepulse submodule bump + record + pre-reset snapshot
- Session: deploy v1.3.40
- CHG-0149/0150/0151 closed records + rangepulse submodule bump
- CHG-0148 (closed) + CHG-0142 panel sign-offs + readiness refresh
- Session: deploy v1.3.39
- Session: deploy v1.3.38
- Session: deploy v1.3.37
- CHG-0143/0144/0145: skip-link CSS + demo reset auto-login + marketing landing refresh
- Session: deploy v1.3.36
- Add annual cadence + reactivation coverage (CHG-0142 prep)
- CHG-0139/0140/0141 records + CHG-0142 draft + test harness 3DS fix
- Session: deploy v1.3.35
- Session: deploy v1.3.34
- CHG-0138: nightly QA no longer aborts at first failing stage + named alert
- CHG-0137 (CAB round 2): PII-safe alerts, relative-to-self RED model, tests
- CHG-0137: quiet perf-tracker noise + human-readable cron alerts
- Items 4 & 5: multi-browser test infra + large-history latency
- Rollback CHG-0133 (public access) + Items 2/3 progress
- Item 2 closed: DDB PITR runbook + restore rehearsal
- Phase II Pass 2/3/4 sign-offs + CHG paperwork sweep + GO-LIVE
- Session: deploy v1.3.34
- Session: deploy v1.3.33
- Eve +1 intent: eve_account_lockout_after_5_failures
- Test-user cleanup: extract shared cascade helper, route 5 leak sites
[1.3.43] — 2026-06-18
- Session: deploy v1.3.42
- CHG-0154 closed: admin panel filters internal/test rows by default
- Session: deploy v1.3.41
- CHG-0153 closed: bootstrap rholzer-admin admin account
- CHG-0152 closed: rangepulse submodule bump + record + pre-reset snapshot
- Session: deploy v1.3.40
- CHG-0149/0150/0151 closed records + rangepulse submodule bump
- CHG-0148 (closed) + CHG-0142 panel sign-offs + readiness refresh
- Session: deploy v1.3.39
- Session: deploy v1.3.38
- Session: deploy v1.3.37
- CHG-0143/0144/0145: skip-link CSS + demo reset auto-login + marketing landing refresh
- Session: deploy v1.3.36
- Add annual cadence + reactivation coverage (CHG-0142 prep)
- CHG-0139/0140/0141 records + CHG-0142 draft + test harness 3DS fix
- Session: deploy v1.3.35
- Session: deploy v1.3.34
- CHG-0138: nightly QA no longer aborts at first failing stage + named alert
- CHG-0137 (CAB round 2): PII-safe alerts, relative-to-self RED model, tests
- CHG-0137: quiet perf-tracker noise + human-readable cron alerts
- Items 4 & 5: multi-browser test infra + large-history latency
- Rollback CHG-0133 (public access) + Items 2/3 progress
- Item 2 closed: DDB PITR runbook + restore rehearsal
- Phase II Pass 2/3/4 sign-offs + CHG paperwork sweep + GO-LIVE
- Session: deploy v1.3.34
- Session: deploy v1.3.33
- Eve +1 intent: eve_account_lockout_after_5_failures
- Test-user cleanup: extract shared cascade helper, route 5 leak sites
- Cron-alert exec summary + DDB orphan cascade fix
- Nightly Playwright 2-fail triage: qa2 test fixture + flash partial path
[1.3.42] — 2026-06-18
- CHG-0154 closed: admin panel filters internal/test rows by default
- Session: deploy v1.3.41
- CHG-0153 closed: bootstrap rholzer-admin admin account
- CHG-0152 closed: rangepulse submodule bump + record + pre-reset snapshot
- Session: deploy v1.3.40
- CHG-0149/0150/0151 closed records + rangepulse submodule bump
- CHG-0148 (closed) + CHG-0142 panel sign-offs + readiness refresh
- Session: deploy v1.3.39
- Session: deploy v1.3.38
- Session: deploy v1.3.37
- CHG-0143/0144/0145: skip-link CSS + demo reset auto-login + marketing landing refresh
- Session: deploy v1.3.36
- Add annual cadence + reactivation coverage (CHG-0142 prep)
- CHG-0139/0140/0141 records + CHG-0142 draft + test harness 3DS fix
- Session: deploy v1.3.35
- Session: deploy v1.3.34
- CHG-0138: nightly QA no longer aborts at first failing stage + named alert
- CHG-0137 (CAB round 2): PII-safe alerts, relative-to-self RED model, tests
- CHG-0137: quiet perf-tracker noise + human-readable cron alerts
- Items 4 & 5: multi-browser test infra + large-history latency
- Rollback CHG-0133 (public access) + Items 2/3 progress
- Item 2 closed: DDB PITR runbook + restore rehearsal
- Phase II Pass 2/3/4 sign-offs + CHG paperwork sweep + GO-LIVE
- Session: deploy v1.3.34
- Session: deploy v1.3.33
- Eve +1 intent: eve_account_lockout_after_5_failures
- Test-user cleanup: extract shared cascade helper, route 5 leak sites
- Cron-alert exec summary + DDB orphan cascade fix
- Nightly Playwright 2-fail triage: qa2 test fixture + flash partial path
- CHG-0129: urllib3 2.6.3 -> 2.7.0 (CVE-2026-44431/44432) + lambda_build sync
[1.3.41] — 2026-06-18
- CHG-0153 closed: bootstrap rholzer-admin admin account
- CHG-0152 closed: rangepulse submodule bump + record + pre-reset snapshot
- Session: deploy v1.3.40
- CHG-0149/0150/0151 closed records + rangepulse submodule bump
- CHG-0148 (closed) + CHG-0142 panel sign-offs + readiness refresh
- Session: deploy v1.3.39
- Session: deploy v1.3.38
- Session: deploy v1.3.37
- CHG-0143/0144/0145: skip-link CSS + demo reset auto-login + marketing landing refresh
- Session: deploy v1.3.36
- Add annual cadence + reactivation coverage (CHG-0142 prep)
- CHG-0139/0140/0141 records + CHG-0142 draft + test harness 3DS fix
- Session: deploy v1.3.35
- Session: deploy v1.3.34
- CHG-0138: nightly QA no longer aborts at first failing stage + named alert
- CHG-0137 (CAB round 2): PII-safe alerts, relative-to-self RED model, tests
- CHG-0137: quiet perf-tracker noise + human-readable cron alerts
- Items 4 & 5: multi-browser test infra + large-history latency
- Rollback CHG-0133 (public access) + Items 2/3 progress
- Item 2 closed: DDB PITR runbook + restore rehearsal
- Phase II Pass 2/3/4 sign-offs + CHG paperwork sweep + GO-LIVE
- Session: deploy v1.3.34
- Session: deploy v1.3.33
- Eve +1 intent: eve_account_lockout_after_5_failures
- Test-user cleanup: extract shared cascade helper, route 5 leak sites
- Cron-alert exec summary + DDB orphan cascade fix
- Nightly Playwright 2-fail triage: qa2 test fixture + flash partial path
- CHG-0129: urllib3 2.6.3 -> 2.7.0 (CVE-2026-44431/44432) + lambda_build sync
- Session: deploy v1.3.32
- Persona-trends post-9-persona-run: 139/0/0, Quinn+Frank+Renee+Pat all 100%
[1.3.40] — 2026-06-13
- CHG-0149/0150/0151 closed records + rangepulse submodule bump
- CHG-0148 (closed) + CHG-0142 panel sign-offs + readiness refresh
- Session: deploy v1.3.39
- Session: deploy v1.3.38
- Session: deploy v1.3.37
- CHG-0143/0144/0145: skip-link CSS + demo reset auto-login + marketing landing refresh
- Session: deploy v1.3.36
- Add annual cadence + reactivation coverage (CHG-0142 prep)
- CHG-0139/0140/0141 records + CHG-0142 draft + test harness 3DS fix
- Session: deploy v1.3.35
- Session: deploy v1.3.34
- CHG-0138: nightly QA no longer aborts at first failing stage + named alert
- CHG-0137 (CAB round 2): PII-safe alerts, relative-to-self RED model, tests
- CHG-0137: quiet perf-tracker noise + human-readable cron alerts
- Items 4 & 5: multi-browser test infra + large-history latency
- Rollback CHG-0133 (public access) + Items 2/3 progress
- Item 2 closed: DDB PITR runbook + restore rehearsal
- Phase II Pass 2/3/4 sign-offs + CHG paperwork sweep + GO-LIVE
- Session: deploy v1.3.34
- Session: deploy v1.3.33
- Eve +1 intent: eve_account_lockout_after_5_failures
- Test-user cleanup: extract shared cascade helper, route 5 leak sites
- Cron-alert exec summary + DDB orphan cascade fix
- Nightly Playwright 2-fail triage: qa2 test fixture + flash partial path
- CHG-0129: urllib3 2.6.3 -> 2.7.0 (CVE-2026-44431/44432) + lambda_build sync
- Session: deploy v1.3.32
- Persona-trends post-9-persona-run: 139/0/0, Quinn+Frank+Renee+Pat all 100%
- Memory: shutdown state + core update for 2026-05-12 session
- Two new personas: Quinn_Demo_Visitor + Frank_Family_Owner_Cancels
- CHG-0128 / F86 + F87: grace warnings reach every authenticated landing
[1.3.39] — 2026-06-11
- Session: deploy v1.3.38
- Session: deploy v1.3.37
- CHG-0143/0144/0145: skip-link CSS + demo reset auto-login + marketing landing refresh
- Session: deploy v1.3.36
- Add annual cadence + reactivation coverage (CHG-0142 prep)
- CHG-0139/0140/0141 records + CHG-0142 draft + test harness 3DS fix
- Session: deploy v1.3.35
- Session: deploy v1.3.34
- CHG-0138: nightly QA no longer aborts at first failing stage + named alert
- CHG-0137 (CAB round 2): PII-safe alerts, relative-to-self RED model, tests
- CHG-0137: quiet perf-tracker noise + human-readable cron alerts
- Items 4 & 5: multi-browser test infra + large-history latency
- Rollback CHG-0133 (public access) + Items 2/3 progress
- Item 2 closed: DDB PITR runbook + restore rehearsal
- Phase II Pass 2/3/4 sign-offs + CHG paperwork sweep + GO-LIVE
- Session: deploy v1.3.34
- Session: deploy v1.3.33
- Eve +1 intent: eve_account_lockout_after_5_failures
- Test-user cleanup: extract shared cascade helper, route 5 leak sites
- Cron-alert exec summary + DDB orphan cascade fix
- Nightly Playwright 2-fail triage: qa2 test fixture + flash partial path
- CHG-0129: urllib3 2.6.3 -> 2.7.0 (CVE-2026-44431/44432) + lambda_build sync
- Session: deploy v1.3.32
- Persona-trends post-9-persona-run: 139/0/0, Quinn+Frank+Renee+Pat all 100%
- Memory: shutdown state + core update for 2026-05-12 session
- Two new personas: Quinn_Demo_Visitor + Frank_Family_Owner_Cancels
- CHG-0128 / F86 + F87: grace warnings reach every authenticated landing
- Session: deploy v1.3.31
- CHG-0127 / F85: grace-period users can export regardless of tier
- Session: deploy v1.3.30
[1.3.38] — 2026-06-08
- Session: deploy v1.3.37
- CHG-0143/0144/0145: skip-link CSS + demo reset auto-login + marketing landing refresh
- Session: deploy v1.3.36
- Add annual cadence + reactivation coverage (CHG-0142 prep)
- CHG-0139/0140/0141 records + CHG-0142 draft + test harness 3DS fix
- Session: deploy v1.3.35
- Session: deploy v1.3.34
- CHG-0138: nightly QA no longer aborts at first failing stage + named alert
- CHG-0137 (CAB round 2): PII-safe alerts, relative-to-self RED model, tests
- CHG-0137: quiet perf-tracker noise + human-readable cron alerts
- Items 4 & 5: multi-browser test infra + large-history latency
- Rollback CHG-0133 (public access) + Items 2/3 progress
- Item 2 closed: DDB PITR runbook + restore rehearsal
- Phase II Pass 2/3/4 sign-offs + CHG paperwork sweep + GO-LIVE
- Session: deploy v1.3.34
- Session: deploy v1.3.33
- Eve +1 intent: eve_account_lockout_after_5_failures
- Test-user cleanup: extract shared cascade helper, route 5 leak sites
- Cron-alert exec summary + DDB orphan cascade fix
- Nightly Playwright 2-fail triage: qa2 test fixture + flash partial path
- CHG-0129: urllib3 2.6.3 -> 2.7.0 (CVE-2026-44431/44432) + lambda_build sync
- Session: deploy v1.3.32
- Persona-trends post-9-persona-run: 139/0/0, Quinn+Frank+Renee+Pat all 100%
- Memory: shutdown state + core update for 2026-05-12 session
- Two new personas: Quinn_Demo_Visitor + Frank_Family_Owner_Cancels
- CHG-0128 / F86 + F87: grace warnings reach every authenticated landing
- Session: deploy v1.3.31
- CHG-0127 / F85: grace-period users can export regardless of tier
- Session: deploy v1.3.30
- Add Renee_Returning_User persona — surfaces F85/F86/F87 on first run
[1.3.37] — 2026-06-08
- CHG-0143/0144/0145: skip-link CSS + demo reset auto-login + marketing landing refresh
- Session: deploy v1.3.36
- Add annual cadence + reactivation coverage (CHG-0142 prep)
- CHG-0139/0140/0141 records + CHG-0142 draft + test harness 3DS fix
- Session: deploy v1.3.35
- Session: deploy v1.3.34
- CHG-0138: nightly QA no longer aborts at first failing stage + named alert
- CHG-0137 (CAB round 2): PII-safe alerts, relative-to-self RED model, tests
- CHG-0137: quiet perf-tracker noise + human-readable cron alerts
- Items 4 & 5: multi-browser test infra + large-history latency
- Rollback CHG-0133 (public access) + Items 2/3 progress
- Item 2 closed: DDB PITR runbook + restore rehearsal
- Phase II Pass 2/3/4 sign-offs + CHG paperwork sweep + GO-LIVE
- Session: deploy v1.3.34
- Session: deploy v1.3.33
- Eve +1 intent: eve_account_lockout_after_5_failures
- Test-user cleanup: extract shared cascade helper, route 5 leak sites
- Cron-alert exec summary + DDB orphan cascade fix
- Nightly Playwright 2-fail triage: qa2 test fixture + flash partial path
- CHG-0129: urllib3 2.6.3 -> 2.7.0 (CVE-2026-44431/44432) + lambda_build sync
- Session: deploy v1.3.32
- Persona-trends post-9-persona-run: 139/0/0, Quinn+Frank+Renee+Pat all 100%
- Memory: shutdown state + core update for 2026-05-12 session
- Two new personas: Quinn_Demo_Visitor + Frank_Family_Owner_Cancels
- CHG-0128 / F86 + F87: grace warnings reach every authenticated landing
- Session: deploy v1.3.31
- CHG-0127 / F85: grace-period users can export regardless of tier
- Session: deploy v1.3.30
- Add Renee_Returning_User persona — surfaces F85/F86/F87 on first run
-
2 self-host docs + #3 explicit applies_to lists
[1.3.36] — 2026-06-08
- Add annual cadence + reactivation coverage (CHG-0142 prep)
- CHG-0139/0140/0141 records + CHG-0142 draft + test harness 3DS fix
- Session: deploy v1.3.35
- Session: deploy v1.3.34
- CHG-0138: nightly QA no longer aborts at first failing stage + named alert
- CHG-0137 (CAB round 2): PII-safe alerts, relative-to-self RED model, tests
- CHG-0137: quiet perf-tracker noise + human-readable cron alerts
- Items 4 & 5: multi-browser test infra + large-history latency
- Rollback CHG-0133 (public access) + Items 2/3 progress
- Item 2 closed: DDB PITR runbook + restore rehearsal
- Phase II Pass 2/3/4 sign-offs + CHG paperwork sweep + GO-LIVE
- Session: deploy v1.3.34
- Session: deploy v1.3.33
- Eve +1 intent: eve_account_lockout_after_5_failures
- Test-user cleanup: extract shared cascade helper, route 5 leak sites
- Cron-alert exec summary + DDB orphan cascade fix
- Nightly Playwright 2-fail triage: qa2 test fixture + flash partial path
- CHG-0129: urllib3 2.6.3 -> 2.7.0 (CVE-2026-44431/44432) + lambda_build sync
- Session: deploy v1.3.32
- Persona-trends post-9-persona-run: 139/0/0, Quinn+Frank+Renee+Pat all 100%
- Memory: shutdown state + core update for 2026-05-12 session
- Two new personas: Quinn_Demo_Visitor + Frank_Family_Owner_Cancels
- CHG-0128 / F86 + F87: grace warnings reach every authenticated landing
- Session: deploy v1.3.31
- CHG-0127 / F85: grace-period users can export regardless of tier
- Session: deploy v1.3.30
- Add Renee_Returning_User persona — surfaces F85/F86/F87 on first run
-
2 self-host docs + #3 explicit applies_to lists
- Lee stabilization: GSI 30s -> 60s + _skip_if_unlinked guard
- Persona engine run-trend dashboard
[1.3.35] — 2026-06-07
- Session: deploy v1.3.34
- CHG-0138: nightly QA no longer aborts at first failing stage + named alert
- CHG-0137 (CAB round 2): PII-safe alerts, relative-to-self RED model, tests
- CHG-0137: quiet perf-tracker noise + human-readable cron alerts
- Items 4 & 5: multi-browser test infra + large-history latency
- Rollback CHG-0133 (public access) + Items 2/3 progress
- Item 2 closed: DDB PITR runbook + restore rehearsal
- Phase II Pass 2/3/4 sign-offs + CHG paperwork sweep + GO-LIVE
- Session: deploy v1.3.34
- Session: deploy v1.3.33
- Eve +1 intent: eve_account_lockout_after_5_failures
- Test-user cleanup: extract shared cascade helper, route 5 leak sites
- Cron-alert exec summary + DDB orphan cascade fix
- Nightly Playwright 2-fail triage: qa2 test fixture + flash partial path
- CHG-0129: urllib3 2.6.3 -> 2.7.0 (CVE-2026-44431/44432) + lambda_build sync
- Session: deploy v1.3.32
- Persona-trends post-9-persona-run: 139/0/0, Quinn+Frank+Renee+Pat all 100%
- Memory: shutdown state + core update for 2026-05-12 session
- Two new personas: Quinn_Demo_Visitor + Frank_Family_Owner_Cancels
- CHG-0128 / F86 + F87: grace warnings reach every authenticated landing
- Session: deploy v1.3.31
- CHG-0127 / F85: grace-period users can export regardless of tier
- Session: deploy v1.3.30
- Add Renee_Returning_User persona — surfaces F85/F86/F87 on first run
-
2 self-host docs + #3 explicit applies_to lists
- Lee stabilization: GSI 30s -> 60s + _skip_if_unlinked guard
- Persona engine run-trend dashboard
- Eve: +4 adversarial intents + module-level dotenv load fix
- Phase B: ephemeral Docker harness for fresh-pull self-host validation
- SVT gate: add persona-engine sentinel as Stage 4 (~20s)
[1.3.34] — 2026-05-18
- Session: deploy v1.3.33
- Eve +1 intent: eve_account_lockout_after_5_failures
- Test-user cleanup: extract shared cascade helper, route 5 leak sites
- Cron-alert exec summary + DDB orphan cascade fix
- Nightly Playwright 2-fail triage: qa2 test fixture + flash partial path
- CHG-0129: urllib3 2.6.3 -> 2.7.0 (CVE-2026-44431/44432) + lambda_build sync
- Session: deploy v1.3.32
- Persona-trends post-9-persona-run: 139/0/0, Quinn+Frank+Renee+Pat all 100%
- Memory: shutdown state + core update for 2026-05-12 session
- Two new personas: Quinn_Demo_Visitor + Frank_Family_Owner_Cancels
- CHG-0128 / F86 + F87: grace warnings reach every authenticated landing
- Session: deploy v1.3.31
- CHG-0127 / F85: grace-period users can export regardless of tier
- Session: deploy v1.3.30
- Add Renee_Returning_User persona — surfaces F85/F86/F87 on first run
-
2 self-host docs + #3 explicit applies_to lists
- Lee stabilization: GSI 30s -> 60s + _skip_if_unlinked guard
- Persona engine run-trend dashboard
- Eve: +4 adversarial intents + module-level dotenv load fix
- Phase B: ephemeral Docker harness for fresh-pull self-host validation
- SVT gate: add persona-engine sentinel as Stage 4 (~20s)
- CHG-0126: F84 closed — SECRET_KEY persists across container restarts
- Session: deploy v1.3.29
- Lee: import _wait_for_gsi_token_propagation from diane post-modularize
- Modularize persona engine: 2679 -> 695 lines, 6 persona modules
- Engine: wire Pat_Privacy_Conscious into PERSONA_ORDER (117/0)
- Persona engine: add Pat_Privacy_Conscious (self-host coverage)
- Reconcile drifted accounts: qa2 + cancel-test to free tier
- Reset perf baseline (148 routes) to clear yesterday's P3 noise
- F84 filed: self-host SECRET_KEY rotates on every container restart
[1.3.33] — 2026-05-18
- Eve +1 intent: eve_account_lockout_after_5_failures
- Test-user cleanup: extract shared cascade helper, route 5 leak sites
- Cron-alert exec summary + DDB orphan cascade fix
- Nightly Playwright 2-fail triage: qa2 test fixture + flash partial path
- CHG-0129: urllib3 2.6.3 -> 2.7.0 (CVE-2026-44431/44432) + lambda_build sync
- Session: deploy v1.3.32
- Persona-trends post-9-persona-run: 139/0/0, Quinn+Frank+Renee+Pat all 100%
- Memory: shutdown state + core update for 2026-05-12 session
- Two new personas: Quinn_Demo_Visitor + Frank_Family_Owner_Cancels
- CHG-0128 / F86 + F87: grace warnings reach every authenticated landing
- Session: deploy v1.3.31
- CHG-0127 / F85: grace-period users can export regardless of tier
- Session: deploy v1.3.30
- Add Renee_Returning_User persona — surfaces F85/F86/F87 on first run
-
2 self-host docs + #3 explicit applies_to lists
- Lee stabilization: GSI 30s -> 60s + _skip_if_unlinked guard
- Persona engine run-trend dashboard
- Eve: +4 adversarial intents + module-level dotenv load fix
- Phase B: ephemeral Docker harness for fresh-pull self-host validation
- SVT gate: add persona-engine sentinel as Stage 4 (~20s)
- CHG-0126: F84 closed — SECRET_KEY persists across container restarts
- Session: deploy v1.3.29
- Lee: import _wait_for_gsi_token_propagation from diane post-modularize
- Modularize persona engine: 2679 -> 695 lines, 6 persona modules
- Engine: wire Pat_Privacy_Conscious into PERSONA_ORDER (117/0)
- Persona engine: add Pat_Privacy_Conscious (self-host coverage)
- Reconcile drifted accounts: qa2 + cancel-test to free tier
- Reset perf baseline (148 routes) to clear yesterday's P3 noise
- F84 filed: self-host SECRET_KEY rotates on every container restart
- Playwright nightly: 71/17/162 -> 250/0/0 (test-only)
[1.3.32] — 2026-05-13
- Persona-trends post-9-persona-run: 139/0/0, Quinn+Frank+Renee+Pat all 100%
- Memory: shutdown state + core update for 2026-05-12 session
- Two new personas: Quinn_Demo_Visitor + Frank_Family_Owner_Cancels
- CHG-0128 / F86 + F87: grace warnings reach every authenticated landing
- Session: deploy v1.3.31
- CHG-0127 / F85: grace-period users can export regardless of tier
- Session: deploy v1.3.30
- Add Renee_Returning_User persona — surfaces F85/F86/F87 on first run
-
2 self-host docs + #3 explicit applies_to lists
- Lee stabilization: GSI 30s -> 60s + _skip_if_unlinked guard
- Persona engine run-trend dashboard
- Eve: +4 adversarial intents + module-level dotenv load fix
- Phase B: ephemeral Docker harness for fresh-pull self-host validation
- SVT gate: add persona-engine sentinel as Stage 4 (~20s)
- CHG-0126: F84 closed — SECRET_KEY persists across container restarts
- Session: deploy v1.3.29
- Lee: import _wait_for_gsi_token_propagation from diane post-modularize
- Modularize persona engine: 2679 -> 695 lines, 6 persona modules
- Engine: wire Pat_Privacy_Conscious into PERSONA_ORDER (117/0)
- Persona engine: add Pat_Privacy_Conscious (self-host coverage)
- Reconcile drifted accounts: qa2 + cancel-test to free tier
- Reset perf baseline (148 routes) to clear yesterday's P3 noise
- F84 filed: self-host SECRET_KEY rotates on every container restart
- Playwright nightly: 71/17/162 -> 250/0/0 (test-only)
- Session shutdown 2026-05-08: 7 prod bugs fixed, 8 CHGs, F83 verified
- CHG-0125 verification: F83 closed end-to-end (v1.3.28)
- F83 round 2: StripeObject->dict guard on dispute handlers (v1.3.28)
- Session: deploy v1.3.28
- Engine: F83 fix (dispute customer_id) + CORS noise filter
- Session: deploy v1.3.27
[1.3.31] — 2026-05-12
- CHG-0127 / F85: grace-period users can export regardless of tier
- Session: deploy v1.3.30
- Add Renee_Returning_User persona — surfaces F85/F86/F87 on first run
-
2 self-host docs + #3 explicit applies_to lists
- Lee stabilization: GSI 30s -> 60s + _skip_if_unlinked guard
- Persona engine run-trend dashboard
- Eve: +4 adversarial intents + module-level dotenv load fix
- Phase B: ephemeral Docker harness for fresh-pull self-host validation
- SVT gate: add persona-engine sentinel as Stage 4 (~20s)
- CHG-0126: F84 closed — SECRET_KEY persists across container restarts
- Session: deploy v1.3.29
- Lee: import _wait_for_gsi_token_propagation from diane post-modularize
- Modularize persona engine: 2679 -> 695 lines, 6 persona modules
- Engine: wire Pat_Privacy_Conscious into PERSONA_ORDER (117/0)
- Persona engine: add Pat_Privacy_Conscious (self-host coverage)
- Reconcile drifted accounts: qa2 + cancel-test to free tier
- Reset perf baseline (148 routes) to clear yesterday's P3 noise
- F84 filed: self-host SECRET_KEY rotates on every container restart
- Playwright nightly: 71/17/162 -> 250/0/0 (test-only)
- Session shutdown 2026-05-08: 7 prod bugs fixed, 8 CHGs, F83 verified
- CHG-0125 verification: F83 closed end-to-end (v1.3.28)
- F83 round 2: StripeObject->dict guard on dispute handlers (v1.3.28)
- Session: deploy v1.3.28
- Engine: F83 fix (dispute customer_id) + CORS noise filter
- Session: deploy v1.3.27
- Engine: F82 fix + Eve bypass-leak fix
- CHG-0124 deployed: test-source rate-limit bypass (v1.3.26)
- Session: deploy v1.3.26
- Persona engine: fix Eve assertion + Sam dispute logic (test-only)
- CHG-0123: F81 fix — %d -> %s for entry_id/goal_id loggers (v1.3.25)
[1.3.30] — 2026-05-12
- Add Renee_Returning_User persona — surfaces F85/F86/F87 on first run
-
2 self-host docs + #3 explicit applies_to lists
- Lee stabilization: GSI 30s -> 60s + _skip_if_unlinked guard
- Persona engine run-trend dashboard
- Eve: +4 adversarial intents + module-level dotenv load fix
- Phase B: ephemeral Docker harness for fresh-pull self-host validation
- SVT gate: add persona-engine sentinel as Stage 4 (~20s)
- CHG-0126: F84 closed — SECRET_KEY persists across container restarts
- Session: deploy v1.3.29
- Lee: import _wait_for_gsi_token_propagation from diane post-modularize
- Modularize persona engine: 2679 -> 695 lines, 6 persona modules
- Engine: wire Pat_Privacy_Conscious into PERSONA_ORDER (117/0)
- Persona engine: add Pat_Privacy_Conscious (self-host coverage)
- Reconcile drifted accounts: qa2 + cancel-test to free tier
- Reset perf baseline (148 routes) to clear yesterday's P3 noise
- F84 filed: self-host SECRET_KEY rotates on every container restart
- Playwright nightly: 71/17/162 -> 250/0/0 (test-only)
- Session shutdown 2026-05-08: 7 prod bugs fixed, 8 CHGs, F83 verified
- CHG-0125 verification: F83 closed end-to-end (v1.3.28)
- F83 round 2: StripeObject->dict guard on dispute handlers (v1.3.28)
- Session: deploy v1.3.28
- Engine: F83 fix (dispute customer_id) + CORS noise filter
- Session: deploy v1.3.27
- Engine: F82 fix + Eve bypass-leak fix
- CHG-0124 deployed: test-source rate-limit bypass (v1.3.26)
- Session: deploy v1.3.26
- Persona engine: fix Eve assertion + Sam dispute logic (test-only)
- CHG-0123: F81 fix — %d -> %s for entry_id/goal_id loggers (v1.3.25)
- CHG-0122 deployed: pre-launch passphrase bypass live (Emergency)
- Session: deploy v1.3.24
[1.3.29] — 2026-05-11
- Lee: import _wait_for_gsi_token_propagation from diane post-modularize
- Modularize persona engine: 2679 -> 695 lines, 6 persona modules
- Engine: wire Pat_Privacy_Conscious into PERSONA_ORDER (117/0)
- Persona engine: add Pat_Privacy_Conscious (self-host coverage)
- Reconcile drifted accounts: qa2 + cancel-test to free tier
- Reset perf baseline (148 routes) to clear yesterday's P3 noise
- F84 filed: self-host SECRET_KEY rotates on every container restart
- Playwright nightly: 71/17/162 -> 250/0/0 (test-only)
- Session shutdown 2026-05-08: 7 prod bugs fixed, 8 CHGs, F83 verified
- CHG-0125 verification: F83 closed end-to-end (v1.3.28)
- F83 round 2: StripeObject->dict guard on dispute handlers (v1.3.28)
- Session: deploy v1.3.28
- Engine: F83 fix (dispute customer_id) + CORS noise filter
- Session: deploy v1.3.27
- Engine: F82 fix + Eve bypass-leak fix
- CHG-0124 deployed: test-source rate-limit bypass (v1.3.26)
- Session: deploy v1.3.26
- Persona engine: fix Eve assertion + Sam dispute logic (test-only)
- CHG-0123: F81 fix — %d -> %s for entry_id/goal_id loggers (v1.3.25)
- CHG-0122 deployed: pre-launch passphrase bypass live (Emergency)
- Session: deploy v1.3.24
- Sam dispute intent: bump poll window 90s -> 180s
- CHG-0121 closed: logger.info reaches CloudWatch with explicit root level
- Session: deploy v1.3.23
- Session: deploy v1.3.22
- CHG-0120: staging disk-pressure check in nightly QA
- CHG-0119 verification: F80 closed, logger.info reaches CloudWatch
- Session: deploy v1.3.21
- Session: deploy v1.3.20
- F79 closed: Eve fresh-session brute + CHG-0118 backfill
[1.3.28] — 2026-05-08
- Engine: F83 fix (dispute customer_id) + CORS noise filter
- Session: deploy v1.3.27
- Engine: F82 fix + Eve bypass-leak fix
- CHG-0124 deployed: test-source rate-limit bypass (v1.3.26)
- Session: deploy v1.3.26
- Persona engine: fix Eve assertion + Sam dispute logic (test-only)
- CHG-0123: F81 fix — %d -> %s for entry_id/goal_id loggers (v1.3.25)
- CHG-0122 deployed: pre-launch passphrase bypass live (Emergency)
- Session: deploy v1.3.24
- Sam dispute intent: bump poll window 90s -> 180s
- CHG-0121 closed: logger.info reaches CloudWatch with explicit root level
- Session: deploy v1.3.23
- Session: deploy v1.3.22
- CHG-0120: staging disk-pressure check in nightly QA
- CHG-0119 verification: F80 closed, logger.info reaches CloudWatch
- Session: deploy v1.3.21
- Session: deploy v1.3.20
- F79 closed: Eve fresh-session brute + CHG-0118 backfill
- Session: deploy v1.3.20
- Session: deploy v1.3.19
- Session: deploy v1.3.18
- Phase 2 intent expansion: 5 new intents + F79 documented
- F76 cleanup: reset perf baseline + filter CE-self-probes from log_scanner
- Phase 2 Chunk D: Eve_Adversary persona + F78 username validation
- Session: deploy v1.3.17
- Session: deploy v1.3.16
- F75 + F77: cron alerting PATH fix + Stripe deleted-customer handling
- Session: deploy v1.3.15
- F73: filter synthetic addresses from SES delivery (sender-rep protection)
- Session: deploy v1.3.14
[1.3.27] — 2026-05-08
- Engine: F82 fix + Eve bypass-leak fix
- CHG-0124 deployed: test-source rate-limit bypass (v1.3.26)
- Session: deploy v1.3.26
- Persona engine: fix Eve assertion + Sam dispute logic (test-only)
- CHG-0123: F81 fix — %d -> %s for entry_id/goal_id loggers (v1.3.25)
- CHG-0122 deployed: pre-launch passphrase bypass live (Emergency)
- Session: deploy v1.3.24
- Sam dispute intent: bump poll window 90s -> 180s
- CHG-0121 closed: logger.info reaches CloudWatch with explicit root level
- Session: deploy v1.3.23
- Session: deploy v1.3.22
- CHG-0120: staging disk-pressure check in nightly QA
- CHG-0119 verification: F80 closed, logger.info reaches CloudWatch
- Session: deploy v1.3.21
- Session: deploy v1.3.20
- F79 closed: Eve fresh-session brute + CHG-0118 backfill
- Session: deploy v1.3.20
- Session: deploy v1.3.19
- Session: deploy v1.3.18
- Phase 2 intent expansion: 5 new intents + F79 documented
- F76 cleanup: reset perf baseline + filter CE-self-probes from log_scanner
- Phase 2 Chunk D: Eve_Adversary persona + F78 username validation
- Session: deploy v1.3.17
- Session: deploy v1.3.16
- F75 + F77: cron alerting PATH fix + Stripe deleted-customer handling
- Session: deploy v1.3.15
- F73: filter synthetic addresses from SES delivery (sender-rep protection)
- Session: deploy v1.3.14
- F71 + F72: SES IAM fix + reset-link-resurrects-user fix
- Session: deploy v1.3.13
[1.3.26] — 2026-05-08
- Persona engine: fix Eve assertion + Sam dispute logic (test-only)
- CHG-0123: F81 fix — %d -> %s for entry_id/goal_id loggers (v1.3.25)
- CHG-0122 deployed: pre-launch passphrase bypass live (Emergency)
- Session: deploy v1.3.24
- Sam dispute intent: bump poll window 90s -> 180s
- CHG-0121 closed: logger.info reaches CloudWatch with explicit root level
- Session: deploy v1.3.23
- Session: deploy v1.3.22
- CHG-0120: staging disk-pressure check in nightly QA
- CHG-0119 verification: F80 closed, logger.info reaches CloudWatch
- Session: deploy v1.3.21
- Session: deploy v1.3.20
- F79 closed: Eve fresh-session brute + CHG-0118 backfill
- Session: deploy v1.3.20
- Session: deploy v1.3.19
- Session: deploy v1.3.18
- Phase 2 intent expansion: 5 new intents + F79 documented
- F76 cleanup: reset perf baseline + filter CE-self-probes from log_scanner
- Phase 2 Chunk D: Eve_Adversary persona + F78 username validation
- Session: deploy v1.3.17
- Session: deploy v1.3.16
- F75 + F77: cron alerting PATH fix + Stripe deleted-customer handling
- Session: deploy v1.3.15
- F73: filter synthetic addresses from SES delivery (sender-rep protection)
- Session: deploy v1.3.14
- F71 + F72: SES IAM fix + reset-link-resurrects-user fix
- Session: deploy v1.3.13
- Session: deploy v1.3.12
- Phase 2 Chunk B: Sam_Cancellation persona — full Stripe lifecycle
- F70 + Phase 2 Chunk A complete: Lee_Family_Member persona
[1.3.24] — 2026-05-08
- Sam dispute intent: bump poll window 90s -> 180s
- CHG-0121 closed: logger.info reaches CloudWatch with explicit root level
- Session: deploy v1.3.23
- Session: deploy v1.3.22
- CHG-0120: staging disk-pressure check in nightly QA
- CHG-0119 verification: F80 closed, logger.info reaches CloudWatch
- Session: deploy v1.3.21
- Session: deploy v1.3.20
- F79 closed: Eve fresh-session brute + CHG-0118 backfill
- Session: deploy v1.3.20
- Session: deploy v1.3.19
- Session: deploy v1.3.18
- Phase 2 intent expansion: 5 new intents + F79 documented
- F76 cleanup: reset perf baseline + filter CE-self-probes from log_scanner
- Phase 2 Chunk D: Eve_Adversary persona + F78 username validation
- Session: deploy v1.3.17
- Session: deploy v1.3.16
- F75 + F77: cron alerting PATH fix + Stripe deleted-customer handling
- Session: deploy v1.3.15
- F73: filter synthetic addresses from SES delivery (sender-rep protection)
- Session: deploy v1.3.14
- F71 + F72: SES IAM fix + reset-link-resurrects-user fix
- Session: deploy v1.3.13
- Session: deploy v1.3.12
- Phase 2 Chunk B: Sam_Cancellation persona — full Stripe lifecycle
- F70 + Phase 2 Chunk A complete: Lee_Family_Member persona
- Session: deploy v1.3.11
- Session: deploy v1.3.10
- Phase 2 Chunk A: Lee_Family_Member persona + intent ordering
- QA Persona Engine: clean 32/0 + scheduled every 4h via cron
[1.3.23] — 2026-05-08
- Session: deploy v1.3.22
- CHG-0120: staging disk-pressure check in nightly QA
- CHG-0119 verification: F80 closed, logger.info reaches CloudWatch
- Session: deploy v1.3.21
- Session: deploy v1.3.20
- F79 closed: Eve fresh-session brute + CHG-0118 backfill
- Session: deploy v1.3.20
- Session: deploy v1.3.19
- Session: deploy v1.3.18
- Phase 2 intent expansion: 5 new intents + F79 documented
- F76 cleanup: reset perf baseline + filter CE-self-probes from log_scanner
- Phase 2 Chunk D: Eve_Adversary persona + F78 username validation
- Session: deploy v1.3.17
- Session: deploy v1.3.16
- F75 + F77: cron alerting PATH fix + Stripe deleted-customer handling
- Session: deploy v1.3.15
- F73: filter synthetic addresses from SES delivery (sender-rep protection)
- Session: deploy v1.3.14
- F71 + F72: SES IAM fix + reset-link-resurrects-user fix
- Session: deploy v1.3.13
- Session: deploy v1.3.12
- Phase 2 Chunk B: Sam_Cancellation persona — full Stripe lifecycle
- F70 + Phase 2 Chunk A complete: Lee_Family_Member persona
- Session: deploy v1.3.11
- Session: deploy v1.3.10
- Phase 2 Chunk A: Lee_Family_Member persona + intent ordering
- QA Persona Engine: clean 32/0 + scheduled every 4h via cron
- Phase 1: QA Persona Engine
- Session: deploy v1.3.9
- Session: deploy v1.3.8
[1.3.22] — 2026-05-08
- CHG-0120: staging disk-pressure check in nightly QA
- CHG-0119 verification: F80 closed, logger.info reaches CloudWatch
- Session: deploy v1.3.21
- Session: deploy v1.3.20
- F79 closed: Eve fresh-session brute + CHG-0118 backfill
- Session: deploy v1.3.20
- Session: deploy v1.3.19
- Session: deploy v1.3.18
- Phase 2 intent expansion: 5 new intents + F79 documented
- F76 cleanup: reset perf baseline + filter CE-self-probes from log_scanner
- Phase 2 Chunk D: Eve_Adversary persona + F78 username validation
- Session: deploy v1.3.17
- Session: deploy v1.3.16
- F75 + F77: cron alerting PATH fix + Stripe deleted-customer handling
- Session: deploy v1.3.15
- F73: filter synthetic addresses from SES delivery (sender-rep protection)
- Session: deploy v1.3.14
- F71 + F72: SES IAM fix + reset-link-resurrects-user fix
- Session: deploy v1.3.13
- Session: deploy v1.3.12
- Phase 2 Chunk B: Sam_Cancellation persona — full Stripe lifecycle
- F70 + Phase 2 Chunk A complete: Lee_Family_Member persona
- Session: deploy v1.3.11
- Session: deploy v1.3.10
- Phase 2 Chunk A: Lee_Family_Member persona + intent ordering
- QA Persona Engine: clean 32/0 + scheduled every 4h via cron
- Phase 1: QA Persona Engine
- Session: deploy v1.3.9
- Session: deploy v1.3.8
- Session: deploy v1.3.7
[1.3.21] — 2026-05-08
- Session: deploy v1.3.20
- F79 closed: Eve fresh-session brute + CHG-0118 backfill
- Session: deploy v1.3.20
- Session: deploy v1.3.19
- Session: deploy v1.3.18
- Phase 2 intent expansion: 5 new intents + F79 documented
- F76 cleanup: reset perf baseline + filter CE-self-probes from log_scanner
- Phase 2 Chunk D: Eve_Adversary persona + F78 username validation
- Session: deploy v1.3.17
- Session: deploy v1.3.16
- F75 + F77: cron alerting PATH fix + Stripe deleted-customer handling
- Session: deploy v1.3.15
- F73: filter synthetic addresses from SES delivery (sender-rep protection)
- Session: deploy v1.3.14
- F71 + F72: SES IAM fix + reset-link-resurrects-user fix
- Session: deploy v1.3.13
- Session: deploy v1.3.12
- Phase 2 Chunk B: Sam_Cancellation persona — full Stripe lifecycle
- F70 + Phase 2 Chunk A complete: Lee_Family_Member persona
- Session: deploy v1.3.11
- Session: deploy v1.3.10
- Phase 2 Chunk A: Lee_Family_Member persona + intent ordering
- QA Persona Engine: clean 32/0 + scheduled every 4h via cron
- Phase 1: QA Persona Engine
- Session: deploy v1.3.9
- Session: deploy v1.3.8
- Session: deploy v1.3.7
- Session: deploy v1.3.6
- Session: deploy v1.3.5
- Session: deploy v1.3.4
[1.3.20] — 2026-05-08
- Session: deploy v1.3.19
- Session: deploy v1.3.18
- Phase 2 intent expansion: 5 new intents + F79 documented
- F76 cleanup: reset perf baseline + filter CE-self-probes from log_scanner
- Phase 2 Chunk D: Eve_Adversary persona + F78 username validation
- Session: deploy v1.3.17
- Session: deploy v1.3.16
- F75 + F77: cron alerting PATH fix + Stripe deleted-customer handling
- Session: deploy v1.3.15
- F73: filter synthetic addresses from SES delivery (sender-rep protection)
- Session: deploy v1.3.14
- F71 + F72: SES IAM fix + reset-link-resurrects-user fix
- Session: deploy v1.3.13
- Session: deploy v1.3.12
- Phase 2 Chunk B: Sam_Cancellation persona — full Stripe lifecycle
- F70 + Phase 2 Chunk A complete: Lee_Family_Member persona
- Session: deploy v1.3.11
- Session: deploy v1.3.10
- Phase 2 Chunk A: Lee_Family_Member persona + intent ordering
- QA Persona Engine: clean 32/0 + scheduled every 4h via cron
- Phase 1: QA Persona Engine
- Session: deploy v1.3.9
- Session: deploy v1.3.8
- Session: deploy v1.3.7
- Session: deploy v1.3.6
- Session: deploy v1.3.5
- Session: deploy v1.3.4
- Add weekly smoke test cron — Sunday 04:00 UTC
- Promote v1.3.3-rc1 → v1.3.3 (Launch)
- Smoke verification green: 18 PASS / 0 FAIL on v1.3.3-rc1
[1.3.19] — 2026-05-08
- Session: deploy v1.3.18
- Phase 2 intent expansion: 5 new intents + F79 documented
- F76 cleanup: reset perf baseline + filter CE-self-probes from log_scanner
- Phase 2 Chunk D: Eve_Adversary persona + F78 username validation
- Session: deploy v1.3.17
- Session: deploy v1.3.16
- F75 + F77: cron alerting PATH fix + Stripe deleted-customer handling
- Session: deploy v1.3.15
- F73: filter synthetic addresses from SES delivery (sender-rep protection)
- Session: deploy v1.3.14
- F71 + F72: SES IAM fix + reset-link-resurrects-user fix
- Session: deploy v1.3.13
- Session: deploy v1.3.12
- Phase 2 Chunk B: Sam_Cancellation persona — full Stripe lifecycle
- F70 + Phase 2 Chunk A complete: Lee_Family_Member persona
- Session: deploy v1.3.11
- Session: deploy v1.3.10
- Phase 2 Chunk A: Lee_Family_Member persona + intent ordering
- QA Persona Engine: clean 32/0 + scheduled every 4h via cron
- Phase 1: QA Persona Engine
- Session: deploy v1.3.9
- Session: deploy v1.3.8
- Session: deploy v1.3.7
- Session: deploy v1.3.6
- Session: deploy v1.3.5
- Session: deploy v1.3.4
- Add weekly smoke test cron — Sunday 04:00 UTC
- Promote v1.3.3-rc1 → v1.3.3 (Launch)
- Smoke verification green: 18 PASS / 0 FAIL on v1.3.3-rc1
- Session: deploy v1.3.3
[1.3.18] — 2026-05-08
- Phase 2 intent expansion: 5 new intents + F79 documented
- F76 cleanup: reset perf baseline + filter CE-self-probes from log_scanner
- Phase 2 Chunk D: Eve_Adversary persona + F78 username validation
- Session: deploy v1.3.17
- Session: deploy v1.3.16
- F75 + F77: cron alerting PATH fix + Stripe deleted-customer handling
- Session: deploy v1.3.15
- F73: filter synthetic addresses from SES delivery (sender-rep protection)
- Session: deploy v1.3.14
- F71 + F72: SES IAM fix + reset-link-resurrects-user fix
- Session: deploy v1.3.13
- Session: deploy v1.3.12
- Phase 2 Chunk B: Sam_Cancellation persona — full Stripe lifecycle
- F70 + Phase 2 Chunk A complete: Lee_Family_Member persona
- Session: deploy v1.3.11
- Session: deploy v1.3.10
- Phase 2 Chunk A: Lee_Family_Member persona + intent ordering
- QA Persona Engine: clean 32/0 + scheduled every 4h via cron
- Phase 1: QA Persona Engine
- Session: deploy v1.3.9
- Session: deploy v1.3.8
- Session: deploy v1.3.7
- Session: deploy v1.3.6
- Session: deploy v1.3.5
- Session: deploy v1.3.4
- Add weekly smoke test cron — Sunday 04:00 UTC
- Promote v1.3.3-rc1 → v1.3.3 (Launch)
- Smoke verification green: 18 PASS / 0 FAIL on v1.3.3-rc1
- Session: deploy v1.3.3
- Option 1+2: virtual_smoke_test.py + launch-readiness audit coverage
[1.3.17] — 2026-05-08
- Session: deploy v1.3.16
- F75 + F77: cron alerting PATH fix + Stripe deleted-customer handling
- Session: deploy v1.3.15
- F73: filter synthetic addresses from SES delivery (sender-rep protection)
- Session: deploy v1.3.14
- F71 + F72: SES IAM fix + reset-link-resurrects-user fix
- Session: deploy v1.3.13
- Session: deploy v1.3.12
- Phase 2 Chunk B: Sam_Cancellation persona — full Stripe lifecycle
- F70 + Phase 2 Chunk A complete: Lee_Family_Member persona
- Session: deploy v1.3.11
- Session: deploy v1.3.10
- Phase 2 Chunk A: Lee_Family_Member persona + intent ordering
- QA Persona Engine: clean 32/0 + scheduled every 4h via cron
- Phase 1: QA Persona Engine
- Session: deploy v1.3.9
- Session: deploy v1.3.8
- Session: deploy v1.3.7
- Session: deploy v1.3.6
- Session: deploy v1.3.5
- Session: deploy v1.3.4
- Add weekly smoke test cron — Sunday 04:00 UTC
- Promote v1.3.3-rc1 → v1.3.3 (Launch)
- Smoke verification green: 18 PASS / 0 FAIL on v1.3.3-rc1
- Session: deploy v1.3.3
- Option 1+2: virtual_smoke_test.py + launch-readiness audit coverage
- F64+F65 fixed: webhook subscription expanded + restore logic working
- Session: deploy v1.2.81
- Session: deploy v1.2.80
- F63 + CHG-0108: Cron-alert SNS IAM policy applied
[1.3.16] — 2026-05-08
- F75 + F77: cron alerting PATH fix + Stripe deleted-customer handling
- Session: deploy v1.3.15
- F73: filter synthetic addresses from SES delivery (sender-rep protection)
- Session: deploy v1.3.14
- F71 + F72: SES IAM fix + reset-link-resurrects-user fix
- Session: deploy v1.3.13
- Session: deploy v1.3.12
- Phase 2 Chunk B: Sam_Cancellation persona — full Stripe lifecycle
- F70 + Phase 2 Chunk A complete: Lee_Family_Member persona
- Session: deploy v1.3.11
- Session: deploy v1.3.10
- Phase 2 Chunk A: Lee_Family_Member persona + intent ordering
- QA Persona Engine: clean 32/0 + scheduled every 4h via cron
- Phase 1: QA Persona Engine
- Session: deploy v1.3.9
- Session: deploy v1.3.8
- Session: deploy v1.3.7
- Session: deploy v1.3.6
- Session: deploy v1.3.5
- Session: deploy v1.3.4
- Add weekly smoke test cron — Sunday 04:00 UTC
- Promote v1.3.3-rc1 → v1.3.3 (Launch)
- Smoke verification green: 18 PASS / 0 FAIL on v1.3.3-rc1
- Session: deploy v1.3.3
- Option 1+2: virtual_smoke_test.py + launch-readiness audit coverage
- F64+F65 fixed: webhook subscription expanded + restore logic working
- Session: deploy v1.2.81
- Session: deploy v1.2.80
- F63 + CHG-0108: Cron-alert SNS IAM policy applied
- Critical Fix #1: Launch smoke-test checklist (panel-driven)
[1.3.15] — 2026-05-08
- F73: filter synthetic addresses from SES delivery (sender-rep protection)
- Session: deploy v1.3.14
- F71 + F72: SES IAM fix + reset-link-resurrects-user fix
- Session: deploy v1.3.13
- Session: deploy v1.3.12
- Phase 2 Chunk B: Sam_Cancellation persona — full Stripe lifecycle
- F70 + Phase 2 Chunk A complete: Lee_Family_Member persona
- Session: deploy v1.3.11
- Session: deploy v1.3.10
- Phase 2 Chunk A: Lee_Family_Member persona + intent ordering
- QA Persona Engine: clean 32/0 + scheduled every 4h via cron
- Phase 1: QA Persona Engine
- Session: deploy v1.3.9
- Session: deploy v1.3.8
- Session: deploy v1.3.7
- Session: deploy v1.3.6
- Session: deploy v1.3.5
- Session: deploy v1.3.4
- Add weekly smoke test cron — Sunday 04:00 UTC
- Promote v1.3.3-rc1 → v1.3.3 (Launch)
- Smoke verification green: 18 PASS / 0 FAIL on v1.3.3-rc1
- Session: deploy v1.3.3
- Option 1+2: virtual_smoke_test.py + launch-readiness audit coverage
- F64+F65 fixed: webhook subscription expanded + restore logic working
- Session: deploy v1.2.81
- Session: deploy v1.2.80
- F63 + CHG-0108: Cron-alert SNS IAM policy applied
- Critical Fix #1: Launch smoke-test checklist (panel-driven)
- Session: deploy v1.2.79
- Session: deploy v1.2.78
[1.3.14] — 2026-05-07
- F71 + F72: SES IAM fix + reset-link-resurrects-user fix
- Session: deploy v1.3.13
- Session: deploy v1.3.12
- Phase 2 Chunk B: Sam_Cancellation persona — full Stripe lifecycle
- F70 + Phase 2 Chunk A complete: Lee_Family_Member persona
- Session: deploy v1.3.11
- Session: deploy v1.3.10
- Phase 2 Chunk A: Lee_Family_Member persona + intent ordering
- QA Persona Engine: clean 32/0 + scheduled every 4h via cron
- Phase 1: QA Persona Engine
- Session: deploy v1.3.9
- Session: deploy v1.3.8
- Session: deploy v1.3.7
- Session: deploy v1.3.6
- Session: deploy v1.3.5
- Session: deploy v1.3.4
- Add weekly smoke test cron — Sunday 04:00 UTC
- Promote v1.3.3-rc1 → v1.3.3 (Launch)
- Smoke verification green: 18 PASS / 0 FAIL on v1.3.3-rc1
- Session: deploy v1.3.3
- Option 1+2: virtual_smoke_test.py + launch-readiness audit coverage
- F64+F65 fixed: webhook subscription expanded + restore logic working
- Session: deploy v1.2.81
- Session: deploy v1.2.80
- F63 + CHG-0108: Cron-alert SNS IAM policy applied
- Critical Fix #1: Launch smoke-test checklist (panel-driven)
- Session: deploy v1.2.79
- Session: deploy v1.2.78
- Session: deploy v1.2.77
- CHG-0105: H-harden audit DOM-driven probes (no Lambda redeploy)
[1.3.13] — 2026-05-07
- Session: deploy v1.3.12
- Phase 2 Chunk B: Sam_Cancellation persona — full Stripe lifecycle
- F70 + Phase 2 Chunk A complete: Lee_Family_Member persona
- Session: deploy v1.3.11
- Session: deploy v1.3.10
- Phase 2 Chunk A: Lee_Family_Member persona + intent ordering
- QA Persona Engine: clean 32/0 + scheduled every 4h via cron
- Phase 1: QA Persona Engine
- Session: deploy v1.3.9
- Session: deploy v1.3.8
- Session: deploy v1.3.7
- Session: deploy v1.3.6
- Session: deploy v1.3.5
- Session: deploy v1.3.4
- Add weekly smoke test cron — Sunday 04:00 UTC
- Promote v1.3.3-rc1 → v1.3.3 (Launch)
- Smoke verification green: 18 PASS / 0 FAIL on v1.3.3-rc1
- Session: deploy v1.3.3
- Option 1+2: virtual_smoke_test.py + launch-readiness audit coverage
- F64+F65 fixed: webhook subscription expanded + restore logic working
- Session: deploy v1.2.81
- Session: deploy v1.2.80
- F63 + CHG-0108: Cron-alert SNS IAM policy applied
- Critical Fix #1: Launch smoke-test checklist (panel-driven)
- Session: deploy v1.2.79
- Session: deploy v1.2.78
- Session: deploy v1.2.77
- CHG-0105: H-harden audit DOM-driven probes (no Lambda redeploy)
- Session: deploy v1.2.76
- Session: deploy v1.2.75
[1.3.12] — 2026-05-07
- Phase 2 Chunk B: Sam_Cancellation persona — full Stripe lifecycle
- F70 + Phase 2 Chunk A complete: Lee_Family_Member persona
- Session: deploy v1.3.11
- Session: deploy v1.3.10
- Phase 2 Chunk A: Lee_Family_Member persona + intent ordering
- QA Persona Engine: clean 32/0 + scheduled every 4h via cron
- Phase 1: QA Persona Engine
- Session: deploy v1.3.9
- Session: deploy v1.3.8
- Session: deploy v1.3.7
- Session: deploy v1.3.6
- Session: deploy v1.3.5
- Session: deploy v1.3.4
- Add weekly smoke test cron — Sunday 04:00 UTC
- Promote v1.3.3-rc1 → v1.3.3 (Launch)
- Smoke verification green: 18 PASS / 0 FAIL on v1.3.3-rc1
- Session: deploy v1.3.3
- Option 1+2: virtual_smoke_test.py + launch-readiness audit coverage
- F64+F65 fixed: webhook subscription expanded + restore logic working
- Session: deploy v1.2.81
- Session: deploy v1.2.80
- F63 + CHG-0108: Cron-alert SNS IAM policy applied
- Critical Fix #1: Launch smoke-test checklist (panel-driven)
- Session: deploy v1.2.79
- Session: deploy v1.2.78
- Session: deploy v1.2.77
- CHG-0105: H-harden audit DOM-driven probes (no Lambda redeploy)
- Session: deploy v1.2.76
- Session: deploy v1.2.75
- Session: deploy v1.2.74
[1.3.11] — 2026-05-06
- Session: deploy v1.3.10
- Phase 2 Chunk A: Lee_Family_Member persona + intent ordering
- QA Persona Engine: clean 32/0 + scheduled every 4h via cron
- Phase 1: QA Persona Engine
- Session: deploy v1.3.9
- Session: deploy v1.3.8
- Session: deploy v1.3.7
- Session: deploy v1.3.6
- Session: deploy v1.3.5
- Session: deploy v1.3.4
- Add weekly smoke test cron — Sunday 04:00 UTC
- Promote v1.3.3-rc1 → v1.3.3 (Launch)
- Smoke verification green: 18 PASS / 0 FAIL on v1.3.3-rc1
- Session: deploy v1.3.3
- Option 1+2: virtual_smoke_test.py + launch-readiness audit coverage
- F64+F65 fixed: webhook subscription expanded + restore logic working
- Session: deploy v1.2.81
- Session: deploy v1.2.80
- F63 + CHG-0108: Cron-alert SNS IAM policy applied
- Critical Fix #1: Launch smoke-test checklist (panel-driven)
- Session: deploy v1.2.79
- Session: deploy v1.2.78
- Session: deploy v1.2.77
- CHG-0105: H-harden audit DOM-driven probes (no Lambda redeploy)
- Session: deploy v1.2.76
- Session: deploy v1.2.75
- Session: deploy v1.2.74
- Session: deploy v1.2.73
- CHG-0100: CSP-vs-template origin drift detector (E-harden)
- Session: deploy v1.2.72
[1.3.10] — 2026-05-06
- Phase 2 Chunk A: Lee_Family_Member persona + intent ordering
- QA Persona Engine: clean 32/0 + scheduled every 4h via cron
- Phase 1: QA Persona Engine
- Session: deploy v1.3.9
- Session: deploy v1.3.8
- Session: deploy v1.3.7
- Session: deploy v1.3.6
- Session: deploy v1.3.5
- Session: deploy v1.3.4
- Add weekly smoke test cron — Sunday 04:00 UTC
- Promote v1.3.3-rc1 → v1.3.3 (Launch)
- Smoke verification green: 18 PASS / 0 FAIL on v1.3.3-rc1
- Session: deploy v1.3.3
- Option 1+2: virtual_smoke_test.py + launch-readiness audit coverage
- F64+F65 fixed: webhook subscription expanded + restore logic working
- Session: deploy v1.2.81
- Session: deploy v1.2.80
- F63 + CHG-0108: Cron-alert SNS IAM policy applied
- Critical Fix #1: Launch smoke-test checklist (panel-driven)
- Session: deploy v1.2.79
- Session: deploy v1.2.78
- Session: deploy v1.2.77
- CHG-0105: H-harden audit DOM-driven probes (no Lambda redeploy)
- Session: deploy v1.2.76
- Session: deploy v1.2.75
- Session: deploy v1.2.74
- Session: deploy v1.2.73
- CHG-0100: CSP-vs-template origin drift detector (E-harden)
- Session: deploy v1.2.72
- Session: deploy v1.2.71
[1.3.9] — 2026-05-06
- Session: deploy v1.3.8
- Session: deploy v1.3.7
- Session: deploy v1.3.6
- Session: deploy v1.3.5
- Session: deploy v1.3.4
- Add weekly smoke test cron — Sunday 04:00 UTC
- Promote v1.3.3-rc1 → v1.3.3 (Launch)
- Smoke verification green: 18 PASS / 0 FAIL on v1.3.3-rc1
- Session: deploy v1.3.3
- Option 1+2: virtual_smoke_test.py + launch-readiness audit coverage
- F64+F65 fixed: webhook subscription expanded + restore logic working
- Session: deploy v1.2.81
- Session: deploy v1.2.80
- F63 + CHG-0108: Cron-alert SNS IAM policy applied
- Critical Fix #1: Launch smoke-test checklist (panel-driven)
- Session: deploy v1.2.79
- Session: deploy v1.2.78
- Session: deploy v1.2.77
- CHG-0105: H-harden audit DOM-driven probes (no Lambda redeploy)
- Session: deploy v1.2.76
- Session: deploy v1.2.75
- Session: deploy v1.2.74
- Session: deploy v1.2.73
- CHG-0100: CSP-vs-template origin drift detector (E-harden)
- Session: deploy v1.2.72
- Session: deploy v1.2.71
- v1.2.70 follow-up records: CHG-0096 (family-member visibility scope) + CHG-0097 (goal-toast cooldown)
- Session: deploy v1.2.70
- Session: deploy v1.2.69
- Session: deploy v1.2.68
[1.3.8] — 2026-05-06
- Session: deploy v1.3.7
- Session: deploy v1.3.6
- Session: deploy v1.3.5
- Session: deploy v1.3.4
- Add weekly smoke test cron — Sunday 04:00 UTC
- Promote v1.3.3-rc1 → v1.3.3 (Launch)
- Smoke verification green: 18 PASS / 0 FAIL on v1.3.3-rc1
- Session: deploy v1.3.3
- Option 1+2: virtual_smoke_test.py + launch-readiness audit coverage
- F64+F65 fixed: webhook subscription expanded + restore logic working
- Session: deploy v1.2.81
- Session: deploy v1.2.80
- F63 + CHG-0108: Cron-alert SNS IAM policy applied
- Critical Fix #1: Launch smoke-test checklist (panel-driven)
- Session: deploy v1.2.79
- Session: deploy v1.2.78
- Session: deploy v1.2.77
- CHG-0105: H-harden audit DOM-driven probes (no Lambda redeploy)
- Session: deploy v1.2.76
- Session: deploy v1.2.75
- Session: deploy v1.2.74
- Session: deploy v1.2.73
- CHG-0100: CSP-vs-template origin drift detector (E-harden)
- Session: deploy v1.2.72
- Session: deploy v1.2.71
- v1.2.70 follow-up records: CHG-0096 (family-member visibility scope) + CHG-0097 (goal-toast cooldown)
- Session: deploy v1.2.70
- Session: deploy v1.2.69
- Session: deploy v1.2.68
- 🚨 v1.2.68: 3 backer-reported real-world bugs FIXED + audit masks closed
[1.3.7] — 2026-05-06
- Session: deploy v1.3.6
- Session: deploy v1.3.5
- Session: deploy v1.3.4
- Add weekly smoke test cron — Sunday 04:00 UTC
- Promote v1.3.3-rc1 → v1.3.3 (Launch)
- Smoke verification green: 18 PASS / 0 FAIL on v1.3.3-rc1
- Session: deploy v1.3.3
- Option 1+2: virtual_smoke_test.py + launch-readiness audit coverage
- F64+F65 fixed: webhook subscription expanded + restore logic working
- Session: deploy v1.2.81
- Session: deploy v1.2.80
- F63 + CHG-0108: Cron-alert SNS IAM policy applied
- Critical Fix #1: Launch smoke-test checklist (panel-driven)
- Session: deploy v1.2.79
- Session: deploy v1.2.78
- Session: deploy v1.2.77
- CHG-0105: H-harden audit DOM-driven probes (no Lambda redeploy)
- Session: deploy v1.2.76
- Session: deploy v1.2.75
- Session: deploy v1.2.74
- Session: deploy v1.2.73
- CHG-0100: CSP-vs-template origin drift detector (E-harden)
- Session: deploy v1.2.72
- Session: deploy v1.2.71
- v1.2.70 follow-up records: CHG-0096 (family-member visibility scope) + CHG-0097 (goal-toast cooldown)
- Session: deploy v1.2.70
- Session: deploy v1.2.69
- Session: deploy v1.2.68
- 🚨 v1.2.68: 3 backer-reported real-world bugs FIXED + audit masks closed
- Session: deploy v1.2.68
[1.3.6] — 2026-05-06
- Session: deploy v1.3.5
- Session: deploy v1.3.4
- Add weekly smoke test cron — Sunday 04:00 UTC
- Promote v1.3.3-rc1 → v1.3.3 (Launch)
- Smoke verification green: 18 PASS / 0 FAIL on v1.3.3-rc1
- Session: deploy v1.3.3
- Option 1+2: virtual_smoke_test.py + launch-readiness audit coverage
- F64+F65 fixed: webhook subscription expanded + restore logic working
- Session: deploy v1.2.81
- Session: deploy v1.2.80
- F63 + CHG-0108: Cron-alert SNS IAM policy applied
- Critical Fix #1: Launch smoke-test checklist (panel-driven)
- Session: deploy v1.2.79
- Session: deploy v1.2.78
- Session: deploy v1.2.77
- CHG-0105: H-harden audit DOM-driven probes (no Lambda redeploy)
- Session: deploy v1.2.76
- Session: deploy v1.2.75
- Session: deploy v1.2.74
- Session: deploy v1.2.73
- CHG-0100: CSP-vs-template origin drift detector (E-harden)
- Session: deploy v1.2.72
- Session: deploy v1.2.71
- v1.2.70 follow-up records: CHG-0096 (family-member visibility scope) + CHG-0097 (goal-toast cooldown)
- Session: deploy v1.2.70
- Session: deploy v1.2.69
- Session: deploy v1.2.68
- 🚨 v1.2.68: 3 backer-reported real-world bugs FIXED + audit masks closed
- Session: deploy v1.2.68
- Session: deploy v1.2.67
[1.3.5] — 2026-05-06
- Session: deploy v1.3.4
- Add weekly smoke test cron — Sunday 04:00 UTC
- Promote v1.3.3-rc1 → v1.3.3 (Launch)
- Smoke verification green: 18 PASS / 0 FAIL on v1.3.3-rc1
- Session: deploy v1.3.3
- Option 1+2: virtual_smoke_test.py + launch-readiness audit coverage
- F64+F65 fixed: webhook subscription expanded + restore logic working
- Session: deploy v1.2.81
- Session: deploy v1.2.80
- F63 + CHG-0108: Cron-alert SNS IAM policy applied
- Critical Fix #1: Launch smoke-test checklist (panel-driven)
- Session: deploy v1.2.79
- Session: deploy v1.2.78
- Session: deploy v1.2.77
- CHG-0105: H-harden audit DOM-driven probes (no Lambda redeploy)
- Session: deploy v1.2.76
- Session: deploy v1.2.75
- Session: deploy v1.2.74
- Session: deploy v1.2.73
- CHG-0100: CSP-vs-template origin drift detector (E-harden)
- Session: deploy v1.2.72
- Session: deploy v1.2.71
- v1.2.70 follow-up records: CHG-0096 (family-member visibility scope) + CHG-0097 (goal-toast cooldown)
- Session: deploy v1.2.70
- Session: deploy v1.2.69
- Session: deploy v1.2.68
- 🚨 v1.2.68: 3 backer-reported real-world bugs FIXED + audit masks closed
- Session: deploy v1.2.68
- Session: deploy v1.2.67
- Session: deploy v1.2.66
[1.3.4] — 2026-05-06
- Add weekly smoke test cron — Sunday 04:00 UTC
[1.3.3] — 2026-05-06 — 🚀 Launch
Promoted from v1.3.3-rc1 after virtual_smoke_test passed 18/18 against
production Lambda. Builds on v1.3.2 with 27 deploys of panel-driven
hardening across 9 hunt rounds. 20 panel-found bugs caught and fixed before public launch; 3 systemic detectors active to prevent regression of those bug classes; 4 panel critical fixes complete (#1 manual smoke-test → automated as virtual_smoke_test.py; #2 comment sweep clean; #3 audit-log coverage on every state-mutating route; #4 cron alerting end-to-end via SNS; #5 Stripe webhook subscription expanded + recovery tier-restore).
Highlights since v1.3.2
Security (CHG-0099, 0101, 0102, 0103)
- HSTS header (1y, includeSubDomains)
- Session cookie Secure + HttpOnly explicit (F53)
- Register + forgot-password rate-limit (F51, F52)
- Error-response leak fix — 'details': str(e) removed (F50)
- Portal route tier guard (AB-defense)
Reliability (CHG-0106, 0109)
- Share-link cross-container fix — DynamoDB-primary storage so doctor-scan QR works regardless of which Lambda container handles the request (F59 — was structurally broken since the share feature shipped)
- Past-due → recovery now restores tier via invoice.payment_succeeded handler (F64)
- Stripe webhook subscription expanded to all 9 needed event types (F65 — refund/dispute handlers were dead code)
DoS hardening (CHG-0104)
- /import upload size cap 5MB, gzip-bomb decompression cap, row-count cap 10K (F56/57/58)
Privacy & UX (CHG-0096, 0099)
- Family-member /account panel + Leave Family button + Contact Owner mailto
- Family-member /billing shows "you're a member" not broken Manage Billing CTA (F49)
- Dunning banner now also fires for canceled state (F48)
- API endpoints enforce free-tier 30-day clamp (F60)
Audit + observability (CHG-0107, 0108)
- 13 state-mutating routes now emit log_event
- All burt crons wrapped with cron_runner.sh → SNS alert on failure (F55, F63)
- Stripe webhook handlers added for charge.refunded, charge.dispute.created, charge.dispute.closed
Detection infrastructure
- E-harden: CSP-vs-template origin drift detector in correction_engine — F36/F45 class blocked at SVT gate
- H-harden: 3 audits refactored to DOM-driven POSTs via _audit_helpers.py — F30/F43 class can't recur
- Cron→SNS alerting + IAM policy applied — cron rot now visible
Documentation
- docs/launch-smoke-test.md — 13-section, 60-item manual checklist
- docs/launch-readiness-audit-coverage.md — gap analysis
- scripts/virtual_smoke_test.py — automation covering ~80% of the manual checklist
Status
Promoted to v1.3.3 final on 2026-05-06 after virtual_smoke_test ran
18/18 PASS against production Lambda (CSP, HSTS, cookie flags, F44
regression net, F45 qrserver, F48 banner, F51 rate-limit, F60 API clamp,
email enumeration safety, open redirect, free-tier gates). Backer
sign-off recorded.
[1.2.81] — 2026-05-06
- Session: deploy v1.2.80
- F63 + CHG-0108: Cron-alert SNS IAM policy applied
- Critical Fix #1: Launch smoke-test checklist (panel-driven)
- Session: deploy v1.2.79
- Session: deploy v1.2.78
- Session: deploy v1.2.77
- CHG-0105: H-harden audit DOM-driven probes (no Lambda redeploy)
- Session: deploy v1.2.76
- Session: deploy v1.2.75
- Session: deploy v1.2.74
- Session: deploy v1.2.73
- CHG-0100: CSP-vs-template origin drift detector (E-harden)
- Session: deploy v1.2.72
- Session: deploy v1.2.71
- v1.2.70 follow-up records: CHG-0096 (family-member visibility scope) + CHG-0097 (goal-toast cooldown)
- Session: deploy v1.2.70
- Session: deploy v1.2.69
- Session: deploy v1.2.68
- 🚨 v1.2.68: 3 backer-reported real-world bugs FIXED + audit masks closed
- Session: deploy v1.2.68
- Session: deploy v1.2.67
- Session: deploy v1.2.66
- v1.3.2 + CHG-0078: nightly_qa wires 9 audit scripts as regression nets
- 🚨 G5 Pass 6: 2 latent C1/C2 production bugs caught and FIXED
- Session: deploy v1.2.65
- CHG-0079: extended lifecycle audit covers G1+G2+G3+G4 — 17/19 PASS
- G7 + G8: email deliverability + self-host install audits — both clean
- 3-CHG batch: CHG-0053 + CHG-0067 + CHG-0070
- v1.3.1 release notes — account correctness + defense-in-depth
- CHG-0058 (F34) + CHG-0046+0047 (F20+F21) + CHG-0050 (F25) + CHG-0059 (F14)
[1.2.80] — 2026-05-06
- F63 + CHG-0108: Cron-alert SNS IAM policy applied
- Critical Fix #1: Launch smoke-test checklist (panel-driven)
- Session: deploy v1.2.79
- Session: deploy v1.2.78
- Session: deploy v1.2.77
- CHG-0105: H-harden audit DOM-driven probes (no Lambda redeploy)
- Session: deploy v1.2.76
- Session: deploy v1.2.75
- Session: deploy v1.2.74
- Session: deploy v1.2.73
- CHG-0100: CSP-vs-template origin drift detector (E-harden)
- Session: deploy v1.2.72
- Session: deploy v1.2.71
- v1.2.70 follow-up records: CHG-0096 (family-member visibility scope) + CHG-0097 (goal-toast cooldown)
- Session: deploy v1.2.70
- Session: deploy v1.2.69
- Session: deploy v1.2.68
- 🚨 v1.2.68: 3 backer-reported real-world bugs FIXED + audit masks closed
- Session: deploy v1.2.68
- Session: deploy v1.2.67
- Session: deploy v1.2.66
- v1.3.2 + CHG-0078: nightly_qa wires 9 audit scripts as regression nets
- 🚨 G5 Pass 6: 2 latent C1/C2 production bugs caught and FIXED
- Session: deploy v1.2.65
- CHG-0079: extended lifecycle audit covers G1+G2+G3+G4 — 17/19 PASS
- G7 + G8: email deliverability + self-host install audits — both clean
- 3-CHG batch: CHG-0053 + CHG-0067 + CHG-0070
- v1.3.1 release notes — account correctness + defense-in-depth
- CHG-0058 (F34) + CHG-0046+0047 (F20+F21) + CHG-0050 (F25) + CHG-0059 (F14)
- Session: deploy v1.2.64
[1.2.79] — 2026-05-06
- Session: deploy v1.2.78
- Session: deploy v1.2.77
- CHG-0105: H-harden audit DOM-driven probes (no Lambda redeploy)
- Session: deploy v1.2.76
- Session: deploy v1.2.75
- Session: deploy v1.2.74
- Session: deploy v1.2.73
- CHG-0100: CSP-vs-template origin drift detector (E-harden)
- Session: deploy v1.2.72
- Session: deploy v1.2.71
- v1.2.70 follow-up records: CHG-0096 (family-member visibility scope) + CHG-0097 (goal-toast cooldown)
- Session: deploy v1.2.70
- Session: deploy v1.2.69
- Session: deploy v1.2.68
- 🚨 v1.2.68: 3 backer-reported real-world bugs FIXED + audit masks closed
- Session: deploy v1.2.68
- Session: deploy v1.2.67
- Session: deploy v1.2.66
- v1.3.2 + CHG-0078: nightly_qa wires 9 audit scripts as regression nets
- 🚨 G5 Pass 6: 2 latent C1/C2 production bugs caught and FIXED
- Session: deploy v1.2.65
- CHG-0079: extended lifecycle audit covers G1+G2+G3+G4 — 17/19 PASS
- G7 + G8: email deliverability + self-host install audits — both clean
- 3-CHG batch: CHG-0053 + CHG-0067 + CHG-0070
- v1.3.1 release notes — account correctness + defense-in-depth
- CHG-0058 (F34) + CHG-0046+0047 (F20+F21) + CHG-0050 (F25) + CHG-0059 (F14)
- Session: deploy v1.2.64
- Session: deploy v1.2.63
- Session: deploy v1.2.62
- CHG-0057 + ITIL Practices runbook
[1.2.78] — 2026-05-06
- Session: deploy v1.2.77
- CHG-0105: H-harden audit DOM-driven probes (no Lambda redeploy)
- Session: deploy v1.2.76
- Session: deploy v1.2.75
- Session: deploy v1.2.74
- Session: deploy v1.2.73
- CHG-0100: CSP-vs-template origin drift detector (E-harden)
- Session: deploy v1.2.72
- Session: deploy v1.2.71
- v1.2.70 follow-up records: CHG-0096 (family-member visibility scope) + CHG-0097 (goal-toast cooldown)
- Session: deploy v1.2.70
- Session: deploy v1.2.69
- Session: deploy v1.2.68
- 🚨 v1.2.68: 3 backer-reported real-world bugs FIXED + audit masks closed
- Session: deploy v1.2.68
- Session: deploy v1.2.67
- Session: deploy v1.2.66
- v1.3.2 + CHG-0078: nightly_qa wires 9 audit scripts as regression nets
- 🚨 G5 Pass 6: 2 latent C1/C2 production bugs caught and FIXED
- Session: deploy v1.2.65
- CHG-0079: extended lifecycle audit covers G1+G2+G3+G4 — 17/19 PASS
- G7 + G8: email deliverability + self-host install audits — both clean
- 3-CHG batch: CHG-0053 + CHG-0067 + CHG-0070
- v1.3.1 release notes — account correctness + defense-in-depth
- CHG-0058 (F34) + CHG-0046+0047 (F20+F21) + CHG-0050 (F25) + CHG-0059 (F14)
- Session: deploy v1.2.64
- Session: deploy v1.2.63
- Session: deploy v1.2.62
- CHG-0057 + ITIL Practices runbook
- CHG-0056: family-tier backfill + permanent CE regression net (F30 historical)
[1.2.77] — 2026-05-06
- CHG-0105: H-harden audit DOM-driven probes (no Lambda redeploy)
- Session: deploy v1.2.76
- Session: deploy v1.2.75
- Session: deploy v1.2.74
- Session: deploy v1.2.73
- CHG-0100: CSP-vs-template origin drift detector (E-harden)
- Session: deploy v1.2.72
- Session: deploy v1.2.71
- v1.2.70 follow-up records: CHG-0096 (family-member visibility scope) + CHG-0097 (goal-toast cooldown)
- Session: deploy v1.2.70
- Session: deploy v1.2.69
- Session: deploy v1.2.68
- 🚨 v1.2.68: 3 backer-reported real-world bugs FIXED + audit masks closed
- Session: deploy v1.2.68
- Session: deploy v1.2.67
- Session: deploy v1.2.66
- v1.3.2 + CHG-0078: nightly_qa wires 9 audit scripts as regression nets
- 🚨 G5 Pass 6: 2 latent C1/C2 production bugs caught and FIXED
- Session: deploy v1.2.65
- CHG-0079: extended lifecycle audit covers G1+G2+G3+G4 — 17/19 PASS
- G7 + G8: email deliverability + self-host install audits — both clean
- 3-CHG batch: CHG-0053 + CHG-0067 + CHG-0070
- v1.3.1 release notes — account correctness + defense-in-depth
- CHG-0058 (F34) + CHG-0046+0047 (F20+F21) + CHG-0050 (F25) + CHG-0059 (F14)
- Session: deploy v1.2.64
- Session: deploy v1.2.63
- Session: deploy v1.2.62
- CHG-0057 + ITIL Practices runbook
- CHG-0056: family-tier backfill + permanent CE regression net (F30 historical)
- Account lifecycle audit: 26/26 PASS across T1-T8
[1.2.76] — 2026-05-06
- Session: deploy v1.2.75
- Session: deploy v1.2.74
- Session: deploy v1.2.73
- CHG-0100: CSP-vs-template origin drift detector (E-harden)
- Session: deploy v1.2.72
- Session: deploy v1.2.71
- v1.2.70 follow-up records: CHG-0096 (family-member visibility scope) + CHG-0097 (goal-toast cooldown)
- Session: deploy v1.2.70
- Session: deploy v1.2.69
- Session: deploy v1.2.68
- 🚨 v1.2.68: 3 backer-reported real-world bugs FIXED + audit masks closed
- Session: deploy v1.2.68
- Session: deploy v1.2.67
- Session: deploy v1.2.66
- v1.3.2 + CHG-0078: nightly_qa wires 9 audit scripts as regression nets
- 🚨 G5 Pass 6: 2 latent C1/C2 production bugs caught and FIXED
- Session: deploy v1.2.65
- CHG-0079: extended lifecycle audit covers G1+G2+G3+G4 — 17/19 PASS
- G7 + G8: email deliverability + self-host install audits — both clean
- 3-CHG batch: CHG-0053 + CHG-0067 + CHG-0070
- v1.3.1 release notes — account correctness + defense-in-depth
- CHG-0058 (F34) + CHG-0046+0047 (F20+F21) + CHG-0050 (F25) + CHG-0059 (F14)
- Session: deploy v1.2.64
- Session: deploy v1.2.63
- Session: deploy v1.2.62
- CHG-0057 + ITIL Practices runbook
- CHG-0056: family-tier backfill + permanent CE regression net (F30 historical)
- Account lifecycle audit: 26/26 PASS across T1-T8
- 🚨 CRITICAL: 2 latent C1 bugs caught by E2E account lifecycle audit
- Session: deploy v1.2.61
[1.2.75] — 2026-05-06
- Session: deploy v1.2.74
- Session: deploy v1.2.73
- CHG-0100: CSP-vs-template origin drift detector (E-harden)
- Session: deploy v1.2.72
- Session: deploy v1.2.71
- v1.2.70 follow-up records: CHG-0096 (family-member visibility scope) + CHG-0097 (goal-toast cooldown)
- Session: deploy v1.2.70
- Session: deploy v1.2.69
- Session: deploy v1.2.68
- 🚨 v1.2.68: 3 backer-reported real-world bugs FIXED + audit masks closed
- Session: deploy v1.2.68
- Session: deploy v1.2.67
- Session: deploy v1.2.66
- v1.3.2 + CHG-0078: nightly_qa wires 9 audit scripts as regression nets
- 🚨 G5 Pass 6: 2 latent C1/C2 production bugs caught and FIXED
- Session: deploy v1.2.65
- CHG-0079: extended lifecycle audit covers G1+G2+G3+G4 — 17/19 PASS
- G7 + G8: email deliverability + self-host install audits — both clean
- 3-CHG batch: CHG-0053 + CHG-0067 + CHG-0070
- v1.3.1 release notes — account correctness + defense-in-depth
- CHG-0058 (F34) + CHG-0046+0047 (F20+F21) + CHG-0050 (F25) + CHG-0059 (F14)
- Session: deploy v1.2.64
- Session: deploy v1.2.63
- Session: deploy v1.2.62
- CHG-0057 + ITIL Practices runbook
- CHG-0056: family-tier backfill + permanent CE regression net (F30 historical)
- Account lifecycle audit: 26/26 PASS across T1-T8
- 🚨 CRITICAL: 2 latent C1 bugs caught by E2E account lifecycle audit
- Session: deploy v1.2.61
- Session: deploy v1.2.60
[1.2.74] — 2026-05-06
- Session: deploy v1.2.73
- CHG-0100: CSP-vs-template origin drift detector (E-harden)
- Session: deploy v1.2.72
- Session: deploy v1.2.71
- v1.2.70 follow-up records: CHG-0096 (family-member visibility scope) + CHG-0097 (goal-toast cooldown)
- Session: deploy v1.2.70
- Session: deploy v1.2.69
- Session: deploy v1.2.68
- 🚨 v1.2.68: 3 backer-reported real-world bugs FIXED + audit masks closed
- Session: deploy v1.2.68
- Session: deploy v1.2.67
- Session: deploy v1.2.66
- v1.3.2 + CHG-0078: nightly_qa wires 9 audit scripts as regression nets
- 🚨 G5 Pass 6: 2 latent C1/C2 production bugs caught and FIXED
- Session: deploy v1.2.65
- CHG-0079: extended lifecycle audit covers G1+G2+G3+G4 — 17/19 PASS
- G7 + G8: email deliverability + self-host install audits — both clean
- 3-CHG batch: CHG-0053 + CHG-0067 + CHG-0070
- v1.3.1 release notes — account correctness + defense-in-depth
- CHG-0058 (F34) + CHG-0046+0047 (F20+F21) + CHG-0050 (F25) + CHG-0059 (F14)
- Session: deploy v1.2.64
- Session: deploy v1.2.63
- Session: deploy v1.2.62
- CHG-0057 + ITIL Practices runbook
- CHG-0056: family-tier backfill + permanent CE regression net (F30 historical)
- Account lifecycle audit: 26/26 PASS across T1-T8
- 🚨 CRITICAL: 2 latent C1 bugs caught by E2E account lifecycle audit
- Session: deploy v1.2.61
- Session: deploy v1.2.60
[1.2.73] — 2026-05-06
- CHG-0100: CSP-vs-template origin drift detector (E-harden)
- Session: deploy v1.2.72
- Session: deploy v1.2.71
- v1.2.70 follow-up records: CHG-0096 (family-member visibility scope) + CHG-0097 (goal-toast cooldown)
- Session: deploy v1.2.70
- Session: deploy v1.2.69
- Session: deploy v1.2.68
- 🚨 v1.2.68: 3 backer-reported real-world bugs FIXED + audit masks closed
- Session: deploy v1.2.68
- Session: deploy v1.2.67
- Session: deploy v1.2.66
- v1.3.2 + CHG-0078: nightly_qa wires 9 audit scripts as regression nets
- 🚨 G5 Pass 6: 2 latent C1/C2 production bugs caught and FIXED
- Session: deploy v1.2.65
- CHG-0079: extended lifecycle audit covers G1+G2+G3+G4 — 17/19 PASS
- G7 + G8: email deliverability + self-host install audits — both clean
- 3-CHG batch: CHG-0053 + CHG-0067 + CHG-0070
- v1.3.1 release notes — account correctness + defense-in-depth
- CHG-0058 (F34) + CHG-0046+0047 (F20+F21) + CHG-0050 (F25) + CHG-0059 (F14)
- Session: deploy v1.2.64
- Session: deploy v1.2.63
- Session: deploy v1.2.62
- CHG-0057 + ITIL Practices runbook
- CHG-0056: family-tier backfill + permanent CE regression net (F30 historical)
- Account lifecycle audit: 26/26 PASS across T1-T8
- 🚨 CRITICAL: 2 latent C1 bugs caught by E2E account lifecycle audit
- Session: deploy v1.2.61
- Session: deploy v1.2.60
- 🥇 GOLD v1.3.0 READY — F1 demo-prod parity (CHG-0028) shipped
[1.2.72] — 2026-05-06
- Session: deploy v1.2.71
- v1.2.70 follow-up records: CHG-0096 (family-member visibility scope) + CHG-0097 (goal-toast cooldown)
- Session: deploy v1.2.70
- Session: deploy v1.2.69
- Session: deploy v1.2.68
- 🚨 v1.2.68: 3 backer-reported real-world bugs FIXED + audit masks closed
- Session: deploy v1.2.68
- Session: deploy v1.2.67
- Session: deploy v1.2.66
- v1.3.2 + CHG-0078: nightly_qa wires 9 audit scripts as regression nets
- 🚨 G5 Pass 6: 2 latent C1/C2 production bugs caught and FIXED
- Session: deploy v1.2.65
- CHG-0079: extended lifecycle audit covers G1+G2+G3+G4 — 17/19 PASS
- G7 + G8: email deliverability + self-host install audits — both clean
- 3-CHG batch: CHG-0053 + CHG-0067 + CHG-0070
- v1.3.1 release notes — account correctness + defense-in-depth
- CHG-0058 (F34) + CHG-0046+0047 (F20+F21) + CHG-0050 (F25) + CHG-0059 (F14)
- Session: deploy v1.2.64
- Session: deploy v1.2.63
- Session: deploy v1.2.62
- CHG-0057 + ITIL Practices runbook
- CHG-0056: family-tier backfill + permanent CE regression net (F30 historical)
- Account lifecycle audit: 26/26 PASS across T1-T8
- 🚨 CRITICAL: 2 latent C1 bugs caught by E2E account lifecycle audit
- Session: deploy v1.2.61
- Session: deploy v1.2.60
- 🥇 GOLD v1.3.0 READY — F1 demo-prod parity (CHG-0028) shipped
- Session: deploy v1.2.59
- F3 + F6 closed + Phase II Pass 5 real-browser harness clean
[1.2.71] — 2026-05-06
- v1.2.70 follow-up records: CHG-0096 (family-member visibility scope) + CHG-0097 (goal-toast cooldown)
- Session: deploy v1.2.70
- Session: deploy v1.2.69
- Session: deploy v1.2.68
- 🚨 v1.2.68: 3 backer-reported real-world bugs FIXED + audit masks closed
- Session: deploy v1.2.68
- Session: deploy v1.2.67
- Session: deploy v1.2.66
- v1.3.2 + CHG-0078: nightly_qa wires 9 audit scripts as regression nets
- 🚨 G5 Pass 6: 2 latent C1/C2 production bugs caught and FIXED
- Session: deploy v1.2.65
- CHG-0079: extended lifecycle audit covers G1+G2+G3+G4 — 17/19 PASS
- G7 + G8: email deliverability + self-host install audits — both clean
- 3-CHG batch: CHG-0053 + CHG-0067 + CHG-0070
- v1.3.1 release notes — account correctness + defense-in-depth
- CHG-0058 (F34) + CHG-0046+0047 (F20+F21) + CHG-0050 (F25) + CHG-0059 (F14)
- Session: deploy v1.2.64
- Session: deploy v1.2.63
- Session: deploy v1.2.62
- CHG-0057 + ITIL Practices runbook
- CHG-0056: family-tier backfill + permanent CE regression net (F30 historical)
- Account lifecycle audit: 26/26 PASS across T1-T8
- 🚨 CRITICAL: 2 latent C1 bugs caught by E2E account lifecycle audit
- Session: deploy v1.2.61
- Session: deploy v1.2.60
- 🥇 GOLD v1.3.0 READY — F1 demo-prod parity (CHG-0028) shipped
- Session: deploy v1.2.59
- F3 + F6 closed + Phase II Pass 5 real-browser harness clean
- WCAG batch: CHG-0044/0045/0048/0049
[1.2.70] — 2026-05-06
- Session: deploy v1.2.69
- Session: deploy v1.2.68
- 🚨 v1.2.68: 3 backer-reported real-world bugs FIXED + audit masks closed
- Session: deploy v1.2.68
- Session: deploy v1.2.67
- Session: deploy v1.2.66
- v1.3.2 + CHG-0078: nightly_qa wires 9 audit scripts as regression nets
- 🚨 G5 Pass 6: 2 latent C1/C2 production bugs caught and FIXED
- Session: deploy v1.2.65
- CHG-0079: extended lifecycle audit covers G1+G2+G3+G4 — 17/19 PASS
- G7 + G8: email deliverability + self-host install audits — both clean
- 3-CHG batch: CHG-0053 + CHG-0067 + CHG-0070
- v1.3.1 release notes — account correctness + defense-in-depth
- CHG-0058 (F34) + CHG-0046+0047 (F20+F21) + CHG-0050 (F25) + CHG-0059 (F14)
- Session: deploy v1.2.64
- Session: deploy v1.2.63
- Session: deploy v1.2.62
- CHG-0057 + ITIL Practices runbook
- CHG-0056: family-tier backfill + permanent CE regression net (F30 historical)
- Account lifecycle audit: 26/26 PASS across T1-T8
- 🚨 CRITICAL: 2 latent C1 bugs caught by E2E account lifecycle audit
- Session: deploy v1.2.61
- Session: deploy v1.2.60
- 🥇 GOLD v1.3.0 READY — F1 demo-prod parity (CHG-0028) shipped
- Session: deploy v1.2.59
- F3 + F6 closed + Phase II Pass 5 real-browser harness clean
- WCAG batch: CHG-0044/0045/0048/0049
- Phase II Pass 4 — a11y + frontend + perf + conversion sweep complete
- CHG-0031: F4 AWS sub-processor citations - verified intent (no-op)
[1.2.69] — 2026-05-06
- Session: deploy v1.2.68
- 🚨 v1.2.68: 3 backer-reported real-world bugs FIXED + audit masks closed
- Session: deploy v1.2.68
- Session: deploy v1.2.67
- Session: deploy v1.2.66
- v1.3.2 + CHG-0078: nightly_qa wires 9 audit scripts as regression nets
- 🚨 G5 Pass 6: 2 latent C1/C2 production bugs caught and FIXED
- Session: deploy v1.2.65
- CHG-0079: extended lifecycle audit covers G1+G2+G3+G4 — 17/19 PASS
- G7 + G8: email deliverability + self-host install audits — both clean
- 3-CHG batch: CHG-0053 + CHG-0067 + CHG-0070
- v1.3.1 release notes — account correctness + defense-in-depth
- CHG-0058 (F34) + CHG-0046+0047 (F20+F21) + CHG-0050 (F25) + CHG-0059 (F14)
- Session: deploy v1.2.64
- Session: deploy v1.2.63
- Session: deploy v1.2.62
- CHG-0057 + ITIL Practices runbook
- CHG-0056: family-tier backfill + permanent CE regression net (F30 historical)
- Account lifecycle audit: 26/26 PASS across T1-T8
- 🚨 CRITICAL: 2 latent C1 bugs caught by E2E account lifecycle audit
- Session: deploy v1.2.61
- Session: deploy v1.2.60
- 🥇 GOLD v1.3.0 READY — F1 demo-prod parity (CHG-0028) shipped
- Session: deploy v1.2.59
- F3 + F6 closed + Phase II Pass 5 real-browser harness clean
- WCAG batch: CHG-0044/0045/0048/0049
- Phase II Pass 4 — a11y + frontend + perf + conversion sweep complete
- CHG-0031: F4 AWS sub-processor citations - verified intent (no-op)
- Phase II XS-polish batch: CHG-0033/0034/0035/0036
[1.2.68] — 2026-05-05
- Session: deploy v1.2.67
- Session: deploy v1.2.66
- v1.3.2 + CHG-0078: nightly_qa wires 9 audit scripts as regression nets
- 🚨 G5 Pass 6: 2 latent C1/C2 production bugs caught and FIXED
- Session: deploy v1.2.65
- CHG-0079: extended lifecycle audit covers G1+G2+G3+G4 — 17/19 PASS
- G7 + G8: email deliverability + self-host install audits — both clean
- 3-CHG batch: CHG-0053 + CHG-0067 + CHG-0070
- v1.3.1 release notes — account correctness + defense-in-depth
- CHG-0058 (F34) + CHG-0046+0047 (F20+F21) + CHG-0050 (F25) + CHG-0059 (F14)
- Session: deploy v1.2.64
- Session: deploy v1.2.63
- Session: deploy v1.2.62
- CHG-0057 + ITIL Practices runbook
- CHG-0056: family-tier backfill + permanent CE regression net (F30 historical)
- Account lifecycle audit: 26/26 PASS across T1-T8
- 🚨 CRITICAL: 2 latent C1 bugs caught by E2E account lifecycle audit
- Session: deploy v1.2.61
- Session: deploy v1.2.60
- 🥇 GOLD v1.3.0 READY — F1 demo-prod parity (CHG-0028) shipped
- Session: deploy v1.2.59
- F3 + F6 closed + Phase II Pass 5 real-browser harness clean
- WCAG batch: CHG-0044/0045/0048/0049
- Phase II Pass 4 — a11y + frontend + perf + conversion sweep complete
- CHG-0031: F4 AWS sub-processor citations - verified intent (no-op)
- Phase II XS-polish batch: CHG-0033/0034/0035/0036
- CHG-0038: homepage editorial pass for density + jargon (Phase II F11/F12)
- CHG-0039: env-vars reference in help.html (Phase II Pass-2 F13)
- CHG-0037 + Phase II Pass 2.5: sample-PDF link + methodology revalidation
[1.2.67] — 2026-05-05
- Session: deploy v1.2.66
- v1.3.2 + CHG-0078: nightly_qa wires 9 audit scripts as regression nets
- 🚨 G5 Pass 6: 2 latent C1/C2 production bugs caught and FIXED
- Session: deploy v1.2.65
- CHG-0079: extended lifecycle audit covers G1+G2+G3+G4 — 17/19 PASS
- G7 + G8: email deliverability + self-host install audits — both clean
- 3-CHG batch: CHG-0053 + CHG-0067 + CHG-0070
- v1.3.1 release notes — account correctness + defense-in-depth
- CHG-0058 (F34) + CHG-0046+0047 (F20+F21) + CHG-0050 (F25) + CHG-0059 (F14)
- Session: deploy v1.2.64
- Session: deploy v1.2.63
- Session: deploy v1.2.62
- CHG-0057 + ITIL Practices runbook
- CHG-0056: family-tier backfill + permanent CE regression net (F30 historical)
- Account lifecycle audit: 26/26 PASS across T1-T8
- 🚨 CRITICAL: 2 latent C1 bugs caught by E2E account lifecycle audit
- Session: deploy v1.2.61
- Session: deploy v1.2.60
- 🥇 GOLD v1.3.0 READY — F1 demo-prod parity (CHG-0028) shipped
- Session: deploy v1.2.59
- F3 + F6 closed + Phase II Pass 5 real-browser harness clean
- WCAG batch: CHG-0044/0045/0048/0049
- Phase II Pass 4 — a11y + frontend + perf + conversion sweep complete
- CHG-0031: F4 AWS sub-processor citations - verified intent (no-op)
- Phase II XS-polish batch: CHG-0033/0034/0035/0036
- CHG-0038: homepage editorial pass for density + jargon (Phase II F11/F12)
- CHG-0039: env-vars reference in help.html (Phase II Pass-2 F13)
- CHG-0037 + Phase II Pass 2.5: sample-PDF link + methodology revalidation
- Phase II Pass 2 — persona click-path matrix complete
[1.2.66] — 2026-05-05
- (no new commits since last release)
[1.3.2] — 2026-05-05 — Phase IV correctness release
Patch on top of v1.3.1. Phase IV audit work caught two more latent C1/C2 production bugs before customers hit them. Plus 9 audit scripts wired into nightly_qa.sh so the same bug class cannot silently recur.
Critical fixes
- F35 / CHG-0082 —
/export/pdf was returning HTTP 500 with ModuleNotFoundError: reportlab for premium and family_owner users. Premium tier's primary entitlement (clinical doctor-PDF) was broken in production for an unknown duration — likely the entire life of the cloud premium tier. Caught by Phase II Pass 6 authenticated UX audit. Fixed by adding reportlab to deploy.sh pip install. Lambda zip 40MB. Backer-action CHG-0088: customer outreach to active premium subscribers.
- F36 / CHG-0083 — Self-inflicted regression. CHG-0046's CSP didn't allow
cdn.jsdelivr.net, blocking Tailwind on mobile.html since v1.2.62. Fixed by adding cdn.jsdelivr.net to CSP. Lesson captured: any CSP change requires Pass 6 re-run as a gate.
Permanent regression nets (CHG-0078)
9 audit scripts wired into nightly_qa.sh to run unattended every night at 2am UTC:
- account_lifecycle_audit.py (T1-T11, 36 assertions)
- lifecycle_extended_audit.py (G1 test_clock + G3 owner-deletes + G4 Checkout)
- pass6_authenticated_ux.py (authenticated real-browser walk — caught F35)
- email_deliverability_audit.py (SES + DNS + suppression + outbound test)
- self_host_install_audit.py (Docker pull + run + register on rpulse.local)
- admin_endpoint_audit.py (gating across 9 routes × 3 identity classes)
- family_tier_backfill.py (dry-run; F30 historical-impact regression net)
- phase2_pass4_a11y_perf_conv.py (static a11y/perf scan)
- phase2_pass5_real_browser.py (FCP/console/viewport sweep)
Phase IV gap closures
| Gap |
Status |
| G1 — time-driven Stripe (test_clock period-end cancel) |
✅ 7/7 |
| G3 — owner-deletes-with-active-family |
✅ 5/5 |
| G4 — Checkout Session path |
✅ 4/4 |
| G5 — Pass 6 authenticated UX |
✅ 0 C1; F35+F36 fixed; F37-F40 tracked |
| G7 — email deliverability + manual round-trip |
✅ 12/12 + backer-confirmed |
| G8 — self-host Docker install |
✅ 7/7 on rpulse.local |
| G9 — admin endpoint gating |
✅ 18/18 deny-path |
Total bugs caught + fixed today (v1.3.0 → v1.3.2)
7 latent C1/C2 production bugs caught before customer impact:
1. 2× P1 in dynamo_integrity.py (CHG-0022)
2. F1 demo-prod parity (CHG-0028)
3. F26 stripe customer_id storage (CHG-0054)
4. F30 family-tier dispatch (CHG-0055)
5. F35 reportlab missing — premium PDF feature (CHG-0082)
6. F36 CSP blocking Tailwind (CHG-0083)
Deploy track record
11 consecutive flawless deploys through the hardened pipeline (v1.2.55 → v1.2.65). Zero retries, zero false positives, zero rollbacks, zero production alerts.
Final state at cut
- Lambda app + demo + staging + Docker Hub + version.json: all v1.2.65
- CE: 363/363 PASS hourly
- 9 audit scripts running automatically every night
- 8/8 personas + 36/36 lifecycle transitions verified
[1.2.65] — 2026-05-05
- CHG-0079: extended lifecycle audit covers G1+G2+G3+G4 — 17/19 PASS
- G7 + G8: email deliverability + self-host install audits — both clean
- 3-CHG batch: CHG-0053 + CHG-0067 + CHG-0070
[1.3.1] — 2026-05-05 — Account-correctness + defense-in-depth release
Patch release on top of Gold v1.3.0. Every change in this cut is post-Gold hardening — driven by Phase III account-lifecycle audit and the panel's deferred maintenance items. Two latent C1 bugs (one of which had been live since family-plan launch) caught and fixed before causing customer impact.
Critical fixes (account correctness)
- F26 / CHG-0054 —
customer.subscription.updated/deleted Stripe webhook handler now persists stripe_customer_id and stripe_subscription_id on every transition (previously only checkout.session.completed set them). API-created subscriptions (admin tools, dunning re-subscribe paths, future CLI) no longer leave users with tier=premium but stripe_customer_id=None.
- F30 / CHG-0055 —
store.create_user was dropping subscription_tier when dispatching to dynamo.create_user on cloud, so every cloud family-member registration silently wrote tier=free. Family plan was broken end-to-end since launch. Members got the right family_owner_email link but never the premium entitlements they paid for. Pre-flight scope check confirmed zero historical victims (caught before any real customer signed up via family invite). One-word fix: pass subscription_tier through.
- CHG-0056 — Defensive backfill primitive (
scripts/family_tier_backfill.py) with --dry-run/--apply, owner-active and orphan checks, idempotent, audit-event emission. Plus permanent hourly CE assertion for the F30 regression class.
Lifecycle E2E audit (NEW permanent regression net)
scripts/account_lifecycle_audit.py — full T1-T11 transition matrix verified end-to-end against real Stripe (test mode) + real Lambda webhook + real DynamoDB. 36/36 PASS:
- T1 register → free
- T2 free → Solo (Stripe monthly subscribe)
- T3 Solo → free (cancel — customer_id preserved)
- T4 free → Family (Stripe family-monthly subscribe)
- T5 Family + 2 members via single-use invite tokens
- T6 Family → free (cancel + member fan-out)
- T7 owner kicks member (/family/remove-member)
- T8 member self-deletes (soft-delete pending_deletion_at)
- T9 Solo → Family upgrade via Subscription.modify (price change without cancel/recreate)
- T10 Family → Solo downgrade with member revocation
- T11 cap-reached blocking (4 members succeed, 5th rejected)
Family plan correctness
- F34 / CHG-0058 — soft-deleted-but-in-grace members no longer count toward family cap-of-4. Owner can immediately invite a fresh member to replace abandoned-then-soft-deleted accounts.
FilterExpression(pending_deletion_at).not_exists() added to both cap-check sites in auth.py.
- F20+F21 / CHG-0046+0047 —
Content-Security-Policy, X-Frame-Options: DENY, X-Content-Type-Options: nosniff, Referrer-Policy: strict-origin-when-cross-origin set on every Lambda response via app.py:after_request. CSP allows self + Stripe (checkout iframe) + CloudFront origin; 'unsafe-inline' retained as transitional for inline JS/CSS pending CHG-0061 nonce migration.
- F25 / CHG-0050 —
defer added to chart.min.js and chartjs-plugin-annotation.min.js in both index.html and mobile.html templates. Demo no longer has render-blocking scripts.
- F14 / CHG-0059 — extracted ~1,700-line inline CSS from landing
index.html into /css/landing.css (33KB, 24h immutable cache). HTML size 83KB → 50KB (40% reduction). Nav and CTAs now reachable in first 5KB of HTML instead of past 30KB — directly improves Lighthouse "above-the-fold" analysis, social-card scrapers, and SEO crawlers.
Documentation
docs/ITIL-PRACTICES.md — comprehensive runbook of the 8 active ITIL 4 practices (Change Enablement, Service Validation & Testing, Deployment Management, Release Management, Continual Improvement, Problem Management, Service Configuration Management, Knowledge Management), the deploy lifecycle, the operator runbook procedures, and the active observability stack.
Bugs caught + fixed by today's audits (all pre-merge)
- 2× P1 in
dynamo_integrity.py (CHG-0022) — wrong primary-key user lookup + broken composite-key delete; ~5,200 production rows would have been deleted on first cron --fix run
- F26 stripe customer_id storage (CHG-0054)
- F30 family-tier dispatch (CHG-0055) — most impactful catch; family-plan members on cloud have always been getting wrong tier
- 1× fixture bug in synthetic-password-reset probe (caught on first run)
- 2× test-methodology errors in lifecycle audit (T7 inverted assertion, T8 wrong form-field)
Deploy track record
9 consecutive flawless deploys through the hardened deploy pipeline (CHG-0016): v1.2.55 → 1.2.56 → 1.2.57 → 1.2.58 → 1.2.59 → 1.2.60 → 1.2.61 → 1.2.62 → 1.2.63 → 1.2.64. Strict version-match assertions, auto-republish version.json + changelog, --lambda-only WARN banner, all firing as designed. Zero retries. Zero false positives. Zero rollbacks.
Final state at cut
- Lambda app + demo + staging + Docker Hub + version.json: all v1.2.64
- CE: 363/363 PASS hourly with 11 defensive assertions
- Lifecycle audit: 36/36 PASS across T1-T11
- Personas: 8 of 8 clear primary journey
- Phase II findings register: 0 C1, 0 C2, 23 C3 (all on demo/app templates lacking landing chrome — separate scope, deferred)
[1.2.64] — 2026-05-05
- Session: deploy v1.2.63
- Session: deploy v1.2.62
- CHG-0057 + ITIL Practices runbook
- CHG-0056: family-tier backfill + permanent CE regression net (F30 historical)
- Account lifecycle audit: 26/26 PASS across T1-T8
- 🚨 CRITICAL: 2 latent C1 bugs caught by E2E account lifecycle audit
- Session: deploy v1.2.61
- Session: deploy v1.2.60
- 🥇 GOLD v1.3.0 READY — F1 demo-prod parity (CHG-0028) shipped
- Session: deploy v1.2.59
- F3 + F6 closed + Phase II Pass 5 real-browser harness clean
- WCAG batch: CHG-0044/0045/0048/0049
- Phase II Pass 4 — a11y + frontend + perf + conversion sweep complete
- CHG-0031: F4 AWS sub-processor citations - verified intent (no-op)
- Phase II XS-polish batch: CHG-0033/0034/0035/0036
- CHG-0038: homepage editorial pass for density + jargon (Phase II F11/F12)
- CHG-0039: env-vars reference in help.html (Phase II Pass-2 F13)
- CHG-0037 + Phase II Pass 2.5: sample-PDF link + methodology revalidation
- Phase II Pass 2 — persona click-path matrix complete
- CHG-0029: blog HTML charset=utf-8 header (Phase II Pass-1 F2/F9)
- Phase II Panel — Pass 1 link & page integrity sweep complete
- CHG-0027 phase I wrap: L2.6 selfheal events + L3.5 Stripe roundtrip closed
- Session: deploy v1.2.58
- CHG-0026: panel L3.4 synthetic password-reset probe every 30 min
- CHG-0024: hourly CE assertion that Stripe webhook endpoint is enabled
- CHG-0025: audit 3 reapers under CHG-0022 discipline + fix alerts.md noise
- CHG-0022: dynamo_integrity nightly auto-fix + 2 latent P1 bug fixes
[1.2.63] — 2026-05-05
- Session: deploy v1.2.62
- CHG-0057 + ITIL Practices runbook
- CHG-0056: family-tier backfill + permanent CE regression net (F30 historical)
- Account lifecycle audit: 26/26 PASS across T1-T8
- 🚨 CRITICAL: 2 latent C1 bugs caught by E2E account lifecycle audit
- Session: deploy v1.2.61
- Session: deploy v1.2.60
- 🥇 GOLD v1.3.0 READY — F1 demo-prod parity (CHG-0028) shipped
- Session: deploy v1.2.59
- F3 + F6 closed + Phase II Pass 5 real-browser harness clean
- WCAG batch: CHG-0044/0045/0048/0049
- Phase II Pass 4 — a11y + frontend + perf + conversion sweep complete
- CHG-0031: F4 AWS sub-processor citations - verified intent (no-op)
- Phase II XS-polish batch: CHG-0033/0034/0035/0036
- CHG-0038: homepage editorial pass for density + jargon (Phase II F11/F12)
- CHG-0039: env-vars reference in help.html (Phase II Pass-2 F13)
- CHG-0037 + Phase II Pass 2.5: sample-PDF link + methodology revalidation
- Phase II Pass 2 — persona click-path matrix complete
- CHG-0029: blog HTML charset=utf-8 header (Phase II Pass-1 F2/F9)
- Phase II Panel — Pass 1 link & page integrity sweep complete
- CHG-0027 phase I wrap: L2.6 selfheal events + L3.5 Stripe roundtrip closed
- Session: deploy v1.2.58
- CHG-0026: panel L3.4 synthetic password-reset probe every 30 min
- CHG-0024: hourly CE assertion that Stripe webhook endpoint is enabled
- CHG-0025: audit 3 reapers under CHG-0022 discipline + fix alerts.md noise
- CHG-0022: dynamo_integrity nightly auto-fix + 2 latent P1 bug fixes
- CHG-0020 closed: panel L2.4 session fingerprint binding shipped
[1.2.62] — 2026-05-05
- CHG-0057 + ITIL Practices runbook
- CHG-0056: family-tier backfill + permanent CE regression net (F30 historical)
- Account lifecycle audit: 26/26 PASS across T1-T8
- 🚨 CRITICAL: 2 latent C1 bugs caught by E2E account lifecycle audit
- Session: deploy v1.2.61
- Session: deploy v1.2.60
- 🥇 GOLD v1.3.0 READY — F1 demo-prod parity (CHG-0028) shipped
- Session: deploy v1.2.59
- F3 + F6 closed + Phase II Pass 5 real-browser harness clean
- WCAG batch: CHG-0044/0045/0048/0049
- Phase II Pass 4 — a11y + frontend + perf + conversion sweep complete
- CHG-0031: F4 AWS sub-processor citations - verified intent (no-op)
- Phase II XS-polish batch: CHG-0033/0034/0035/0036
- CHG-0038: homepage editorial pass for density + jargon (Phase II F11/F12)
- CHG-0039: env-vars reference in help.html (Phase II Pass-2 F13)
- CHG-0037 + Phase II Pass 2.5: sample-PDF link + methodology revalidation
- Phase II Pass 2 — persona click-path matrix complete
- CHG-0029: blog HTML charset=utf-8 header (Phase II Pass-1 F2/F9)
- Phase II Panel — Pass 1 link & page integrity sweep complete
- CHG-0027 phase I wrap: L2.6 selfheal events + L3.5 Stripe roundtrip closed
- Session: deploy v1.2.58
- CHG-0026: panel L3.4 synthetic password-reset probe every 30 min
- CHG-0024: hourly CE assertion that Stripe webhook endpoint is enabled
- CHG-0025: audit 3 reapers under CHG-0022 discipline + fix alerts.md noise
- CHG-0022: dynamo_integrity nightly auto-fix + 2 latent P1 bug fixes
- CHG-0020 closed: panel L2.4 session fingerprint binding shipped
- Session: deploy v1.2.57
[1.2.61] — 2026-05-05
- Session: deploy v1.2.60
- 🥇 GOLD v1.3.0 READY — F1 demo-prod parity (CHG-0028) shipped
- Session: deploy v1.2.59
- F3 + F6 closed + Phase II Pass 5 real-browser harness clean
- WCAG batch: CHG-0044/0045/0048/0049
- Phase II Pass 4 — a11y + frontend + perf + conversion sweep complete
- CHG-0031: F4 AWS sub-processor citations - verified intent (no-op)
- Phase II XS-polish batch: CHG-0033/0034/0035/0036
- CHG-0038: homepage editorial pass for density + jargon (Phase II F11/F12)
- CHG-0039: env-vars reference in help.html (Phase II Pass-2 F13)
- CHG-0037 + Phase II Pass 2.5: sample-PDF link + methodology revalidation
- Phase II Pass 2 — persona click-path matrix complete
- CHG-0029: blog HTML charset=utf-8 header (Phase II Pass-1 F2/F9)
- Phase II Panel — Pass 1 link & page integrity sweep complete
- CHG-0027 phase I wrap: L2.6 selfheal events + L3.5 Stripe roundtrip closed
- Session: deploy v1.2.58
- CHG-0026: panel L3.4 synthetic password-reset probe every 30 min
- CHG-0024: hourly CE assertion that Stripe webhook endpoint is enabled
- CHG-0025: audit 3 reapers under CHG-0022 discipline + fix alerts.md noise
- CHG-0022: dynamo_integrity nightly auto-fix + 2 latent P1 bug fixes
- CHG-0020 closed: panel L2.4 session fingerprint binding shipped
- Session: deploy v1.2.57
- CHG-0018 closed: SNS alarm pipeline verified end-to-end
- CHG-0018 + CHG-0019 close-out records
- Session: deploy v1.2.56
- Sweep: CHG-0015 + CHG-0016 + CHG-0017 (staging drift, deploy hardening, CE fixture)
- CHG-0014: publish version.json + CE assertion (Normal Change, CAB unanimous)
[1.2.60] — 2026-05-05
- (no new commits since last release)
[1.3.0] — 2026-05-05 — 🥇 Gold release
The first release-readiness Gold cut. Two-phase audit completed in a single intensive session. All 8 Gold readiness criteria met (zero open C1, zero open C2, all 8 personas pass primary journey, demo-prod parity, WCAG 2.2 AA strict via real-browser harness, performance budget met, 5th consecutive flawless deploy).
Phase I — Account self-heal blueprint (panel of 2026-05-02)
36 expert-panel recommendations across 5 layers all closed:
- L1 architectural seams (1.1–1.7): removed entry-data _query_cache, moved reset-tokens to DynamoDB, unified user-identity helper, moved CSRF to a before_request enforcer with allowlist, soft-delete grace + reaper, Stripe webhook idempotency via event.id dedup, sparse GSIs for family-invite + family-owner.
- L2 login-time heals (2.1–2.6): per-user Stripe customer-id heal at login, 15-min TTL on pending-2FA session keys, lockout clamp to 24h ceiling, session fingerprint binding (UA + IP /24) via CHG-0020, ConsistentRead=True on write-then-read user paths via CHG-0019, selfheal.{name} audit-event channel.
- L3 background reconcilers (3.1–3.6): daily grace-period reaper, 15-min Stripe ↔ DynamoDB tier reconciler, dynamo_integrity.py --fix with allowlist + circuit breaker (CHG-0022 caught two latent P1 bugs that would have deleted ~5,200 production rows had --fix been enabled unsupervised), synthetic password-reset probe every 30 min (CHG-0026), synthetic Stripe checkout roundtrip (CHG-0027), partial-deletion retry reaper.
- L4 admin tooling (4.1–4.8): Account State Bundle endpoint, per-user health badges, reset-token replay tool, force-tier-reconcile button, request outcome tagging, auth-pathway tagging, class-aware audit retention (365d security / 180d operational), permanent deletion-audits sink with hashed-email survivability.
- L5 UX (5.1–5.7): three-state reset-token error messages, lockout flash with reset-password CTA, support-error includes rp_customer_id, family-invite explicit failure messaging, one-time self-heal toast, anti-enumeration register flow, "export-and-delete" combo button.
Phase II — UX/QA/release-readiness audit (panel of 2026-05-05)
5-pass expert-panel audit closing every Gold-blocking finding:
- Pass 1 — Link & page integrity sweep: crawled 91 URLs across landing/demo/prod surfaces. Real findings F1–F9.
- Pass 2 — 8-persona click-path matrix: Marcus (hypertension), Priya (privacy), James (post-cardiac, low literacy), Homelabber (Docker-native) deep-dives + Daniela (gestational), Linda+Rosa (caregiver), Garmin Refugee, Skeptic light passes. Findings F10–F15.
- Pass 2.5 — methodology re-validation: corrected probe artifacts; closed F10/F14/F15 plus dissolved Marcus #7 false alarm.
- Pass 4 — static a11y/perf/conversion: WCAG 2.2 AA structural checks across all surfaces. Findings F18–F25.
- Pass 5 — real-browser harness (Playwright + Chromium): 11 pages × 3 viewports (360/768/1280). 0 C1, 0 C2, 0 C3. Every page FCP < 828ms ("Good" Web Vitals), 0 JS console errors, 0 broken sub-resources, 0 mobile-viewport overflow.
Deploy-pipeline hardening
- Strict version-match assertion (CHG-0016) in
deploy.sh Stages 3 + 4d (replaces the substring "ok" check that allowed CHG-0015's silent staging drift)
- Stage 4e auto-republishes
s3://rangepulse.com/version.json on every Lambda deploy (closes CHG-0014's regression class)
- Stage 4f auto-republishes
/changelog page on every deploy
--lambda-only now emits a visible WARN banner + log line (no longer silently drifts Docker Hub)
- 5 consecutive flawless deploys (1.2.55 → 1.2.56 → 1.2.57 → 1.2.58 → 1.2.59) — zero retries, zero false positives, zero rollbacks
Observability shipped
- CE 357 → 362/362 with 9 new defensive assertions: version.json shape, cross-target version-drift, SNS subscription state, Stripe webhook endpoint state, blog/changelog/sitemap content-types
- Memory captured:
feedback_publish_artifacts.md, feedback_strict_health_check.md, feedback_dryrun_destructive_changes.md
CHG-0028 — F1 demo-prod parity (the last Gold-blocker)
Demo's /login, /register, /forgot-password now render real auth forms (parity with prod). Auto-login on / is preserved for frictionless preview. Implementation via DEMO_AUTH_UI_PATHS allowlist in app.py:demo_auto_login before_request handler. Discovered + corrected the 3-week drift on rangepulse-demo Lambda (deploy.sh historically only updated rangepulse-app); follow-up CHG-0053 will fix the pipeline gap permanently.
What's deferred (post-Gold maintenance release)
- CSP header (CHG-0046) and X-Frame-Options (CHG-0047) — defense-in-depth, deferred per Imran review
- Inline-CSS bloat reduction (F14) — perf optimization
- Demo render-blocking script defer (CHG-0050)
- External apex-DNS prober (CHG-0042)
- axe-core integration in Pass 5 (CHG-0052)
See changes/GOLD-1.3.0-RELEASE-MANIFEST.md for the full readiness-gate evidence.
[1.2.59] — 2026-05-05
- F3 + F6 closed + Phase II Pass 5 real-browser harness clean
- WCAG batch: CHG-0044/0045/0048/0049
- Phase II Pass 4 — a11y + frontend + perf + conversion sweep complete
- CHG-0031: F4 AWS sub-processor citations - verified intent (no-op)
- Phase II XS-polish batch: CHG-0033/0034/0035/0036
- CHG-0038: homepage editorial pass for density + jargon (Phase II F11/F12)
- CHG-0039: env-vars reference in help.html (Phase II Pass-2 F13)
- CHG-0037 + Phase II Pass 2.5: sample-PDF link + methodology revalidation
- Phase II Pass 2 — persona click-path matrix complete
- CHG-0029: blog HTML charset=utf-8 header (Phase II Pass-1 F2/F9)
- Phase II Panel — Pass 1 link & page integrity sweep complete
- CHG-0027 phase I wrap: L2.6 selfheal events + L3.5 Stripe roundtrip closed
- Session: deploy v1.2.58
- CHG-0026: panel L3.4 synthetic password-reset probe every 30 min
- CHG-0024: hourly CE assertion that Stripe webhook endpoint is enabled
- CHG-0025: audit 3 reapers under CHG-0022 discipline + fix alerts.md noise
- CHG-0022: dynamo_integrity nightly auto-fix + 2 latent P1 bug fixes
- CHG-0020 closed: panel L2.4 session fingerprint binding shipped
- Session: deploy v1.2.57
- CHG-0018 closed: SNS alarm pipeline verified end-to-end
- CHG-0018 + CHG-0019 close-out records
- Session: deploy v1.2.56
- Sweep: CHG-0015 + CHG-0016 + CHG-0017 (staging drift, deploy hardening, CE fixture)
- CHG-0014: publish version.json + CE assertion (Normal Change, CAB unanimous)
- CHG-0011: family_invite_token + family_owner_email sparse GSIs
- Session: deploy v1.2.55
- CHG-0012: CE state hygiene (Standard SCM-1)
- CHG-0013: pagination audit + 5 silent-data-loss fixes (Normal CAB)
[1.2.58] — 2026-05-05
- CHG-0026: panel L3.4 synthetic password-reset probe every 30 min
- CHG-0024: hourly CE assertion that Stripe webhook endpoint is enabled
- CHG-0025: audit 3 reapers under CHG-0022 discipline + fix alerts.md noise
- CHG-0022: dynamo_integrity nightly auto-fix + 2 latent P1 bug fixes
- CHG-0020 closed: panel L2.4 session fingerprint binding shipped
- Session: deploy v1.2.57
- CHG-0018 closed: SNS alarm pipeline verified end-to-end
- CHG-0018 + CHG-0019 close-out records
- Session: deploy v1.2.56
- Sweep: CHG-0015 + CHG-0016 + CHG-0017 (staging drift, deploy hardening, CE fixture)
- CHG-0014: publish version.json + CE assertion (Normal Change, CAB unanimous)
- CHG-0011: family_invite_token + family_owner_email sparse GSIs
- Session: deploy v1.2.55
- CHG-0012: CE state hygiene (Standard SCM-1)
- CHG-0013: pagination audit + 5 silent-data-loss fixes (Normal CAB)
- Session: deploy v1.2.54
- CHG-0009: BatchWriteItem bulk ops + closure of CHG-0008
- Session: deploy v1.2.53
- Session: deploy v1.2.52
- CHG-0008: Phase 1 instrumentation deployed (v1.2.51); partial closure
- Session: deploy v1.2.51
- Session: deploy v1.2.50
- CHG-0007: multi-step rollback walk + --target + --min-version (Normal CAB)
- CHG-0006: deploy.sh stage reorder + rollback script bug fixes
- Session: deploy v1.2.49
- Session: deploy v1.2.48
- CHG-0005: honest descriptions on pinned Lambda versions (Standard SCM-1)
- CHG-0004: CE template-csrf coverage assertion (Standard SCM-4 closed)
[1.2.57] — 2026-05-05
- CHG-0018 closed: SNS alarm pipeline verified end-to-end
- CHG-0018 + CHG-0019 close-out records
- Session: deploy v1.2.56
- Sweep: CHG-0015 + CHG-0016 + CHG-0017 (staging drift, deploy hardening, CE fixture)
- CHG-0014: publish version.json + CE assertion (Normal Change, CAB unanimous)
- CHG-0011: family_invite_token + family_owner_email sparse GSIs
- Session: deploy v1.2.55
- CHG-0012: CE state hygiene (Standard SCM-1)
- CHG-0013: pagination audit + 5 silent-data-loss fixes (Normal CAB)
- Session: deploy v1.2.54
- CHG-0009: BatchWriteItem bulk ops + closure of CHG-0008
- Session: deploy v1.2.53
- Session: deploy v1.2.52
- CHG-0008: Phase 1 instrumentation deployed (v1.2.51); partial closure
- Session: deploy v1.2.51
- Session: deploy v1.2.50
- CHG-0007: multi-step rollback walk + --target + --min-version (Normal CAB)
- CHG-0006: deploy.sh stage reorder + rollback script bug fixes
- Session: deploy v1.2.49
- Session: deploy v1.2.48
- CHG-0005: honest descriptions on pinned Lambda versions (Standard SCM-1)
- CHG-0004: CE template-csrf coverage assertion (Standard SCM-4 closed)
- CHG-0003: wire API Gateway → Lambda live alias (CAB approved)
- Session 15: ITIL 4 Change Enablement + CHG-0001 (L1.4) shipped (v1.2.47)
- Session: deploy v1.2.47
- Session: deploy v1.2.46
- Session 14 cont'd: L4.8 + L3.6 + cron-env fix (v1.2.45)
- Session: deploy v1.2.45
- Session 14 cont'd: L4.2 + L4.3 admin tooling (v1.2.44)
- Session: deploy v1.2.44
[1.2.56] — 2026-05-05
- Sweep: CHG-0015 + CHG-0016 + CHG-0017 (staging drift, deploy hardening, CE fixture)
- CHG-0014: publish version.json + CE assertion (Normal Change, CAB unanimous)
- CHG-0011: family_invite_token + family_owner_email sparse GSIs
- Session: deploy v1.2.55
- CHG-0012: CE state hygiene (Standard SCM-1)
- CHG-0013: pagination audit + 5 silent-data-loss fixes (Normal CAB)
- Session: deploy v1.2.54
- CHG-0009: BatchWriteItem bulk ops + closure of CHG-0008
- Session: deploy v1.2.53
- Session: deploy v1.2.52
- CHG-0008: Phase 1 instrumentation deployed (v1.2.51); partial closure
- Session: deploy v1.2.51
- Session: deploy v1.2.50
- CHG-0007: multi-step rollback walk + --target + --min-version (Normal CAB)
- CHG-0006: deploy.sh stage reorder + rollback script bug fixes
- Session: deploy v1.2.49
- Session: deploy v1.2.48
- CHG-0005: honest descriptions on pinned Lambda versions (Standard SCM-1)
- CHG-0004: CE template-csrf coverage assertion (Standard SCM-4 closed)
- CHG-0003: wire API Gateway → Lambda live alias (CAB approved)
- Session 15: ITIL 4 Change Enablement + CHG-0001 (L1.4) shipped (v1.2.47)
- Session: deploy v1.2.47
- Session: deploy v1.2.46
- Session 14 cont'd: L4.8 + L3.6 + cron-env fix (v1.2.45)
- Session: deploy v1.2.45
- Session 14 cont'd: L4.2 + L4.3 admin tooling (v1.2.44)
- Session: deploy v1.2.44
- Session 14 cont'd: L4.7 + L5.5 + L5.6 (v1.2.43)
- Session: deploy v1.2.43
- Session 14 cont'd: L2.2 + L4.6 + L5.2-7 batch (v1.2.42)
[1.2.55] — 2026-05-04
- CHG-0012: CE state hygiene (Standard SCM-1)
- CHG-0013: pagination audit + 5 silent-data-loss fixes (Normal CAB)
- Session: deploy v1.2.54
- CHG-0009: BatchWriteItem bulk ops + closure of CHG-0008
- Session: deploy v1.2.53
- Session: deploy v1.2.52
- CHG-0008: Phase 1 instrumentation deployed (v1.2.51); partial closure
- Session: deploy v1.2.51
- Session: deploy v1.2.50
- CHG-0007: multi-step rollback walk + --target + --min-version (Normal CAB)
- CHG-0006: deploy.sh stage reorder + rollback script bug fixes
- Session: deploy v1.2.49
- Session: deploy v1.2.48
- CHG-0005: honest descriptions on pinned Lambda versions (Standard SCM-1)
- CHG-0004: CE template-csrf coverage assertion (Standard SCM-4 closed)
- CHG-0003: wire API Gateway → Lambda live alias (CAB approved)
- Session 15: ITIL 4 Change Enablement + CHG-0001 (L1.4) shipped (v1.2.47)
- Session: deploy v1.2.47
- Session: deploy v1.2.46
- Session 14 cont'd: L4.8 + L3.6 + cron-env fix (v1.2.45)
- Session: deploy v1.2.45
- Session 14 cont'd: L4.2 + L4.3 admin tooling (v1.2.44)
- Session: deploy v1.2.44
- Session 14 cont'd: L4.7 + L5.5 + L5.6 (v1.2.43)
- Session: deploy v1.2.43
- Session 14 cont'd: L2.2 + L4.6 + L5.2-7 batch (v1.2.42)
- Session: deploy v1.2.42
- Session 14 cont'd: L2.1 + L2.3 + L4.5 (v1.2.41)
- Session: deploy v1.2.41
- Session 14 cont'd: L1.5 + L3.1 + L3.2 (v1.2.40)
[1.2.54] — 2026-05-04
- CHG-0009: BatchWriteItem bulk ops + closure of CHG-0008
- Session: deploy v1.2.53
- Session: deploy v1.2.52
- CHG-0008: Phase 1 instrumentation deployed (v1.2.51); partial closure
- Session: deploy v1.2.51
- Session: deploy v1.2.50
- CHG-0007: multi-step rollback walk + --target + --min-version (Normal CAB)
- CHG-0006: deploy.sh stage reorder + rollback script bug fixes
- Session: deploy v1.2.49
- Session: deploy v1.2.48
- CHG-0005: honest descriptions on pinned Lambda versions (Standard SCM-1)
- CHG-0004: CE template-csrf coverage assertion (Standard SCM-4 closed)
- CHG-0003: wire API Gateway → Lambda live alias (CAB approved)
- Session 15: ITIL 4 Change Enablement + CHG-0001 (L1.4) shipped (v1.2.47)
- Session: deploy v1.2.47
- Session: deploy v1.2.46
- Session 14 cont'd: L4.8 + L3.6 + cron-env fix (v1.2.45)
- Session: deploy v1.2.45
- Session 14 cont'd: L4.2 + L4.3 admin tooling (v1.2.44)
- Session: deploy v1.2.44
- Session 14 cont'd: L4.7 + L5.5 + L5.6 (v1.2.43)
- Session: deploy v1.2.43
- Session 14 cont'd: L2.2 + L4.6 + L5.2-7 batch (v1.2.42)
- Session: deploy v1.2.42
- Session 14 cont'd: L2.1 + L2.3 + L4.5 (v1.2.41)
- Session: deploy v1.2.41
- Session 14 cont'd: L1.5 + L3.1 + L3.2 (v1.2.40)
- Session: deploy v1.2.40
- Session 14 cont'd: L4.1 + L4.4 notes (v1.2.39)
- Session: deploy v1.2.39
[1.2.53] — 2026-05-04
- Session: deploy v1.2.52
- CHG-0008: Phase 1 instrumentation deployed (v1.2.51); partial closure
- Session: deploy v1.2.51
- Session: deploy v1.2.50
- CHG-0007: multi-step rollback walk + --target + --min-version (Normal CAB)
- CHG-0006: deploy.sh stage reorder + rollback script bug fixes
- Session: deploy v1.2.49
- Session: deploy v1.2.48
- CHG-0005: honest descriptions on pinned Lambda versions (Standard SCM-1)
- CHG-0004: CE template-csrf coverage assertion (Standard SCM-4 closed)
- CHG-0003: wire API Gateway → Lambda live alias (CAB approved)
- Session 15: ITIL 4 Change Enablement + CHG-0001 (L1.4) shipped (v1.2.47)
- Session: deploy v1.2.47
- Session: deploy v1.2.46
- Session 14 cont'd: L4.8 + L3.6 + cron-env fix (v1.2.45)
- Session: deploy v1.2.45
- Session 14 cont'd: L4.2 + L4.3 admin tooling (v1.2.44)
- Session: deploy v1.2.44
- Session 14 cont'd: L4.7 + L5.5 + L5.6 (v1.2.43)
- Session: deploy v1.2.43
- Session 14 cont'd: L2.2 + L4.6 + L5.2-7 batch (v1.2.42)
- Session: deploy v1.2.42
- Session 14 cont'd: L2.1 + L2.3 + L4.5 (v1.2.41)
- Session: deploy v1.2.41
- Session 14 cont'd: L1.5 + L3.1 + L3.2 (v1.2.40)
- Session: deploy v1.2.40
- Session 14 cont'd: L4.1 + L4.4 notes (v1.2.39)
- Session: deploy v1.2.39
- Session: deploy v1.2.38
- Session 14 cont'd: L1.6 Stripe webhook idempotency notes (v1.2.37)
[1.2.52] — 2026-05-04
- CHG-0008: Phase 1 instrumentation deployed (v1.2.51); partial closure
- Session: deploy v1.2.51
- Session: deploy v1.2.50
- CHG-0007: multi-step rollback walk + --target + --min-version (Normal CAB)
- CHG-0006: deploy.sh stage reorder + rollback script bug fixes
- Session: deploy v1.2.49
- Session: deploy v1.2.48
- CHG-0005: honest descriptions on pinned Lambda versions (Standard SCM-1)
- CHG-0004: CE template-csrf coverage assertion (Standard SCM-4 closed)
- CHG-0003: wire API Gateway → Lambda live alias (CAB approved)
- Session 15: ITIL 4 Change Enablement + CHG-0001 (L1.4) shipped (v1.2.47)
- Session: deploy v1.2.47
- Session: deploy v1.2.46
- Session 14 cont'd: L4.8 + L3.6 + cron-env fix (v1.2.45)
- Session: deploy v1.2.45
- Session 14 cont'd: L4.2 + L4.3 admin tooling (v1.2.44)
- Session: deploy v1.2.44
- Session 14 cont'd: L4.7 + L5.5 + L5.6 (v1.2.43)
- Session: deploy v1.2.43
- Session 14 cont'd: L2.2 + L4.6 + L5.2-7 batch (v1.2.42)
- Session: deploy v1.2.42
- Session 14 cont'd: L2.1 + L2.3 + L4.5 (v1.2.41)
- Session: deploy v1.2.41
- Session 14 cont'd: L1.5 + L3.1 + L3.2 (v1.2.40)
- Session: deploy v1.2.40
- Session 14 cont'd: L4.1 + L4.4 notes (v1.2.39)
- Session: deploy v1.2.39
- Session: deploy v1.2.38
- Session 14 cont'd: L1.6 Stripe webhook idempotency notes (v1.2.37)
- Session: deploy v1.2.37
[1.2.51] — 2026-05-04
- Session: deploy v1.2.50
- CHG-0007: multi-step rollback walk + --target + --min-version (Normal CAB)
- CHG-0006: deploy.sh stage reorder + rollback script bug fixes
- Session: deploy v1.2.49
- Session: deploy v1.2.48
- CHG-0005: honest descriptions on pinned Lambda versions (Standard SCM-1)
- CHG-0004: CE template-csrf coverage assertion (Standard SCM-4 closed)
- CHG-0003: wire API Gateway → Lambda live alias (CAB approved)
- Session 15: ITIL 4 Change Enablement + CHG-0001 (L1.4) shipped (v1.2.47)
- Session: deploy v1.2.47
- Session: deploy v1.2.46
- Session 14 cont'd: L4.8 + L3.6 + cron-env fix (v1.2.45)
- Session: deploy v1.2.45
- Session 14 cont'd: L4.2 + L4.3 admin tooling (v1.2.44)
- Session: deploy v1.2.44
- Session 14 cont'd: L4.7 + L5.5 + L5.6 (v1.2.43)
- Session: deploy v1.2.43
- Session 14 cont'd: L2.2 + L4.6 + L5.2-7 batch (v1.2.42)
- Session: deploy v1.2.42
- Session 14 cont'd: L2.1 + L2.3 + L4.5 (v1.2.41)
- Session: deploy v1.2.41
- Session 14 cont'd: L1.5 + L3.1 + L3.2 (v1.2.40)
- Session: deploy v1.2.40
- Session 14 cont'd: L4.1 + L4.4 notes (v1.2.39)
- Session: deploy v1.2.39
- Session: deploy v1.2.38
- Session 14 cont'd: L1.6 Stripe webhook idempotency notes (v1.2.37)
- Session: deploy v1.2.37
- Session: deploy v1.2.36
- Session 14 cont'd: L1.2 reset-token hardening notes (v1.2.35)
[1.2.50] — 2026-05-04
- CHG-0007: multi-step rollback walk + --target + --min-version (Normal CAB)
- CHG-0006: deploy.sh stage reorder + rollback script bug fixes
- Session: deploy v1.2.49
- Session: deploy v1.2.48
- CHG-0005: honest descriptions on pinned Lambda versions (Standard SCM-1)
- CHG-0004: CE template-csrf coverage assertion (Standard SCM-4 closed)
- CHG-0003: wire API Gateway → Lambda live alias (CAB approved)
- Session 15: ITIL 4 Change Enablement + CHG-0001 (L1.4) shipped (v1.2.47)
- Session: deploy v1.2.47
- Session: deploy v1.2.46
- Session 14 cont'd: L4.8 + L3.6 + cron-env fix (v1.2.45)
- Session: deploy v1.2.45
- Session 14 cont'd: L4.2 + L4.3 admin tooling (v1.2.44)
- Session: deploy v1.2.44
- Session 14 cont'd: L4.7 + L5.5 + L5.6 (v1.2.43)
- Session: deploy v1.2.43
- Session 14 cont'd: L2.2 + L4.6 + L5.2-7 batch (v1.2.42)
- Session: deploy v1.2.42
- Session 14 cont'd: L2.1 + L2.3 + L4.5 (v1.2.41)
- Session: deploy v1.2.41
- Session 14 cont'd: L1.5 + L3.1 + L3.2 (v1.2.40)
- Session: deploy v1.2.40
- Session 14 cont'd: L4.1 + L4.4 notes (v1.2.39)
- Session: deploy v1.2.39
- Session: deploy v1.2.38
- Session 14 cont'd: L1.6 Stripe webhook idempotency notes (v1.2.37)
- Session: deploy v1.2.37
- Session: deploy v1.2.36
- Session 14 cont'd: L1.2 reset-token hardening notes (v1.2.35)
- Session: deploy v1.2.35
[1.2.49] — 2026-05-04
- Session: deploy v1.2.48
- CHG-0005: honest descriptions on pinned Lambda versions (Standard SCM-1)
- CHG-0004: CE template-csrf coverage assertion (Standard SCM-4 closed)
- CHG-0003: wire API Gateway → Lambda live alias (CAB approved)
- Session 15: ITIL 4 Change Enablement + CHG-0001 (L1.4) shipped (v1.2.47)
- Session: deploy v1.2.47
- Session: deploy v1.2.46
- Session 14 cont'd: L4.8 + L3.6 + cron-env fix (v1.2.45)
- Session: deploy v1.2.45
- Session 14 cont'd: L4.2 + L4.3 admin tooling (v1.2.44)
- Session: deploy v1.2.44
- Session 14 cont'd: L4.7 + L5.5 + L5.6 (v1.2.43)
- Session: deploy v1.2.43
- Session 14 cont'd: L2.2 + L4.6 + L5.2-7 batch (v1.2.42)
- Session: deploy v1.2.42
- Session 14 cont'd: L2.1 + L2.3 + L4.5 (v1.2.41)
- Session: deploy v1.2.41
- Session 14 cont'd: L1.5 + L3.1 + L3.2 (v1.2.40)
- Session: deploy v1.2.40
- Session 14 cont'd: L4.1 + L4.4 notes (v1.2.39)
- Session: deploy v1.2.39
- Session: deploy v1.2.38
- Session 14 cont'd: L1.6 Stripe webhook idempotency notes (v1.2.37)
- Session: deploy v1.2.37
- Session: deploy v1.2.36
- Session 14 cont'd: L1.2 reset-token hardening notes (v1.2.35)
- Session: deploy v1.2.35
- Session 14: CE chart-refresh date fix + L1.1 cache removal + panel review
- Session: deploy v1.2.34
- Session: deploy v1.2.33
[1.2.48] — 2026-05-04
- CHG-0005: honest descriptions on pinned Lambda versions (Standard SCM-1)
- CHG-0004: CE template-csrf coverage assertion (Standard SCM-4 closed)
- CHG-0003: wire API Gateway → Lambda live alias (CAB approved)
- Session 15: ITIL 4 Change Enablement + CHG-0001 (L1.4) shipped (v1.2.47)
- Session: deploy v1.2.47
- Session: deploy v1.2.46
- Session 14 cont'd: L4.8 + L3.6 + cron-env fix (v1.2.45)
- Session: deploy v1.2.45
- Session 14 cont'd: L4.2 + L4.3 admin tooling (v1.2.44)
- Session: deploy v1.2.44
- Session 14 cont'd: L4.7 + L5.5 + L5.6 (v1.2.43)
- Session: deploy v1.2.43
- Session 14 cont'd: L2.2 + L4.6 + L5.2-7 batch (v1.2.42)
- Session: deploy v1.2.42
- Session 14 cont'd: L2.1 + L2.3 + L4.5 (v1.2.41)
- Session: deploy v1.2.41
- Session 14 cont'd: L1.5 + L3.1 + L3.2 (v1.2.40)
- Session: deploy v1.2.40
- Session 14 cont'd: L4.1 + L4.4 notes (v1.2.39)
- Session: deploy v1.2.39
- Session: deploy v1.2.38
- Session 14 cont'd: L1.6 Stripe webhook idempotency notes (v1.2.37)
- Session: deploy v1.2.37
- Session: deploy v1.2.36
- Session 14 cont'd: L1.2 reset-token hardening notes (v1.2.35)
- Session: deploy v1.2.35
- Session 14: CE chart-refresh date fix + L1.1 cache removal + panel review
- Session: deploy v1.2.34
- Session: deploy v1.2.33
- Session: deploy v1.2.32
[1.2.47] — 2026-05-04
- Session: deploy v1.2.46
- Session 14 cont'd: L4.8 + L3.6 + cron-env fix (v1.2.45)
- Session: deploy v1.2.45
- Session 14 cont'd: L4.2 + L4.3 admin tooling (v1.2.44)
- Session: deploy v1.2.44
- Session 14 cont'd: L4.7 + L5.5 + L5.6 (v1.2.43)
- Session: deploy v1.2.43
- Session 14 cont'd: L2.2 + L4.6 + L5.2-7 batch (v1.2.42)
- Session: deploy v1.2.42
- Session 14 cont'd: L2.1 + L2.3 + L4.5 (v1.2.41)
- Session: deploy v1.2.41
- Session 14 cont'd: L1.5 + L3.1 + L3.2 (v1.2.40)
- Session: deploy v1.2.40
- Session 14 cont'd: L4.1 + L4.4 notes (v1.2.39)
- Session: deploy v1.2.39
- Session: deploy v1.2.38
- Session 14 cont'd: L1.6 Stripe webhook idempotency notes (v1.2.37)
- Session: deploy v1.2.37
- Session: deploy v1.2.36
- Session 14 cont'd: L1.2 reset-token hardening notes (v1.2.35)
- Session: deploy v1.2.35
- Session 14: CE chart-refresh date fix + L1.1 cache removal + panel review
- Session: deploy v1.2.34
- Session: deploy v1.2.33
- Session: deploy v1.2.32
- Session: deploy v1.2.31
- Session: deploy v1.2.30
- Session: deploy v1.2.29
- Session: deploy v1.2.28
- CE: enforce 14-day CloudWatch log retention on all Lambda groups
[1.2.46] — 2026-05-04
- Session 14 cont'd: L4.8 + L3.6 + cron-env fix (v1.2.45)
- Session: deploy v1.2.45
- Session 14 cont'd: L4.2 + L4.3 admin tooling (v1.2.44)
- Session: deploy v1.2.44
- Session 14 cont'd: L4.7 + L5.5 + L5.6 (v1.2.43)
- Session: deploy v1.2.43
- Session 14 cont'd: L2.2 + L4.6 + L5.2-7 batch (v1.2.42)
- Session: deploy v1.2.42
- Session 14 cont'd: L2.1 + L2.3 + L4.5 (v1.2.41)
- Session: deploy v1.2.41
- Session 14 cont'd: L1.5 + L3.1 + L3.2 (v1.2.40)
- Session: deploy v1.2.40
- Session 14 cont'd: L4.1 + L4.4 notes (v1.2.39)
- Session: deploy v1.2.39
- Session: deploy v1.2.38
- Session 14 cont'd: L1.6 Stripe webhook idempotency notes (v1.2.37)
- Session: deploy v1.2.37
- Session: deploy v1.2.36
- Session 14 cont'd: L1.2 reset-token hardening notes (v1.2.35)
- Session: deploy v1.2.35
- Session 14: CE chart-refresh date fix + L1.1 cache removal + panel review
- Session: deploy v1.2.34
- Session: deploy v1.2.33
- Session: deploy v1.2.32
- Session: deploy v1.2.31
- Session: deploy v1.2.30
- Session: deploy v1.2.29
- Session: deploy v1.2.28
- CE: enforce 14-day CloudWatch log retention on all Lambda groups
- CE: add DynamoDB PITR check for 7 tables
[1.2.45] — 2026-05-02
- Session 14 cont'd: L4.2 + L4.3 admin tooling (v1.2.44)
- Session: deploy v1.2.44
- Session 14 cont'd: L4.7 + L5.5 + L5.6 (v1.2.43)
- Session: deploy v1.2.43
- Session 14 cont'd: L2.2 + L4.6 + L5.2-7 batch (v1.2.42)
- Session: deploy v1.2.42
- Session 14 cont'd: L2.1 + L2.3 + L4.5 (v1.2.41)
- Session: deploy v1.2.41
- Session 14 cont'd: L1.5 + L3.1 + L3.2 (v1.2.40)
- Session: deploy v1.2.40
- Session 14 cont'd: L4.1 + L4.4 notes (v1.2.39)
- Session: deploy v1.2.39
- Session: deploy v1.2.38
- Session 14 cont'd: L1.6 Stripe webhook idempotency notes (v1.2.37)
- Session: deploy v1.2.37
- Session: deploy v1.2.36
- Session 14 cont'd: L1.2 reset-token hardening notes (v1.2.35)
- Session: deploy v1.2.35
- Session 14: CE chart-refresh date fix + L1.1 cache removal + panel review
- Session: deploy v1.2.34
- Session: deploy v1.2.33
- Session: deploy v1.2.32
- Session: deploy v1.2.31
- Session: deploy v1.2.30
- Session: deploy v1.2.29
- Session: deploy v1.2.28
- CE: enforce 14-day CloudWatch log retention on all Lambda groups
- CE: add DynamoDB PITR check for 7 tables
- Session: deploy v1.2.27
- Session 13 shutdown: Blocks 5/7/8 — audit log, a11y, onboarding
[1.2.44] — 2026-05-02
- Session 14 cont'd: L4.7 + L5.5 + L5.6 (v1.2.43)
- Session: deploy v1.2.43
- Session 14 cont'd: L2.2 + L4.6 + L5.2-7 batch (v1.2.42)
- Session: deploy v1.2.42
- Session 14 cont'd: L2.1 + L2.3 + L4.5 (v1.2.41)
- Session: deploy v1.2.41
- Session 14 cont'd: L1.5 + L3.1 + L3.2 (v1.2.40)
- Session: deploy v1.2.40
- Session 14 cont'd: L4.1 + L4.4 notes (v1.2.39)
- Session: deploy v1.2.39
- Session: deploy v1.2.38
- Session 14 cont'd: L1.6 Stripe webhook idempotency notes (v1.2.37)
- Session: deploy v1.2.37
- Session: deploy v1.2.36
- Session 14 cont'd: L1.2 reset-token hardening notes (v1.2.35)
- Session: deploy v1.2.35
- Session 14: CE chart-refresh date fix + L1.1 cache removal + panel review
- Session: deploy v1.2.34
- Session: deploy v1.2.33
- Session: deploy v1.2.32
- Session: deploy v1.2.31
- Session: deploy v1.2.30
- Session: deploy v1.2.29
- Session: deploy v1.2.28
- CE: enforce 14-day CloudWatch log retention on all Lambda groups
- CE: add DynamoDB PITR check for 7 tables
- Session: deploy v1.2.27
- Session 13 shutdown: Blocks 5/7/8 — audit log, a11y, onboarding
- Session: deploy v1.2.26
- Session: deploy v1.2.25
[1.2.43] — 2026-05-02
- Session 14 cont'd: L2.2 + L4.6 + L5.2-7 batch (v1.2.42)
- Session: deploy v1.2.42
- Session 14 cont'd: L2.1 + L2.3 + L4.5 (v1.2.41)
- Session: deploy v1.2.41
- Session 14 cont'd: L1.5 + L3.1 + L3.2 (v1.2.40)
- Session: deploy v1.2.40
- Session 14 cont'd: L4.1 + L4.4 notes (v1.2.39)
- Session: deploy v1.2.39
- Session: deploy v1.2.38
- Session 14 cont'd: L1.6 Stripe webhook idempotency notes (v1.2.37)
- Session: deploy v1.2.37
- Session: deploy v1.2.36
- Session 14 cont'd: L1.2 reset-token hardening notes (v1.2.35)
- Session: deploy v1.2.35
- Session 14: CE chart-refresh date fix + L1.1 cache removal + panel review
- Session: deploy v1.2.34
- Session: deploy v1.2.33
- Session: deploy v1.2.32
- Session: deploy v1.2.31
- Session: deploy v1.2.30
- Session: deploy v1.2.29
- Session: deploy v1.2.28
- CE: enforce 14-day CloudWatch log retention on all Lambda groups
- CE: add DynamoDB PITR check for 7 tables
- Session: deploy v1.2.27
- Session 13 shutdown: Blocks 5/7/8 — audit log, a11y, onboarding
- Session: deploy v1.2.26
- Session: deploy v1.2.25
- Session: deploy v1.2.24
- Session: deploy v1.2.23
[1.2.42] — 2026-05-02
- Session 14 cont'd: L2.1 + L2.3 + L4.5 (v1.2.41)
- Session: deploy v1.2.41
- Session 14 cont'd: L1.5 + L3.1 + L3.2 (v1.2.40)
- Session: deploy v1.2.40
- Session 14 cont'd: L4.1 + L4.4 notes (v1.2.39)
- Session: deploy v1.2.39
- Session: deploy v1.2.38
- Session 14 cont'd: L1.6 Stripe webhook idempotency notes (v1.2.37)
- Session: deploy v1.2.37
- Session: deploy v1.2.36
- Session 14 cont'd: L1.2 reset-token hardening notes (v1.2.35)
- Session: deploy v1.2.35
- Session 14: CE chart-refresh date fix + L1.1 cache removal + panel review
- Session: deploy v1.2.34
- Session: deploy v1.2.33
- Session: deploy v1.2.32
- Session: deploy v1.2.31
- Session: deploy v1.2.30
- Session: deploy v1.2.29
- Session: deploy v1.2.28
- CE: enforce 14-day CloudWatch log retention on all Lambda groups
- CE: add DynamoDB PITR check for 7 tables
- Session: deploy v1.2.27
- Session 13 shutdown: Blocks 5/7/8 — audit log, a11y, onboarding
- Session: deploy v1.2.26
- Session: deploy v1.2.25
- Session: deploy v1.2.24
- Session: deploy v1.2.23
- Session: deploy v1.2.22
- Session: deploy v1.2.21
[1.2.41] — 2026-05-02
- Session 14 cont'd: L1.5 + L3.1 + L3.2 (v1.2.40)
- Session: deploy v1.2.40
- Session 14 cont'd: L4.1 + L4.4 notes (v1.2.39)
- Session: deploy v1.2.39
- Session: deploy v1.2.38
- Session 14 cont'd: L1.6 Stripe webhook idempotency notes (v1.2.37)
- Session: deploy v1.2.37
- Session: deploy v1.2.36
- Session 14 cont'd: L1.2 reset-token hardening notes (v1.2.35)
- Session: deploy v1.2.35
- Session 14: CE chart-refresh date fix + L1.1 cache removal + panel review
- Session: deploy v1.2.34
- Session: deploy v1.2.33
- Session: deploy v1.2.32
- Session: deploy v1.2.31
- Session: deploy v1.2.30
- Session: deploy v1.2.29
- Session: deploy v1.2.28
- CE: enforce 14-day CloudWatch log retention on all Lambda groups
- CE: add DynamoDB PITR check for 7 tables
- Session: deploy v1.2.27
- Session 13 shutdown: Blocks 5/7/8 — audit log, a11y, onboarding
- Session: deploy v1.2.26
- Session: deploy v1.2.25
- Session: deploy v1.2.24
- Session: deploy v1.2.23
- Session: deploy v1.2.22
- Session: deploy v1.2.21
- Session: deploy v1.2.20
- Session: deploy v1.2.19
[1.2.40] — 2026-05-02
- Session 14 cont'd: L4.1 + L4.4 notes (v1.2.39)
- Session: deploy v1.2.39
- Session: deploy v1.2.38
- Session 14 cont'd: L1.6 Stripe webhook idempotency notes (v1.2.37)
- Session: deploy v1.2.37
- Session: deploy v1.2.36
- Session 14 cont'd: L1.2 reset-token hardening notes (v1.2.35)
- Session: deploy v1.2.35
- Session 14: CE chart-refresh date fix + L1.1 cache removal + panel review
- Session: deploy v1.2.34
- Session: deploy v1.2.33
- Session: deploy v1.2.32
- Session: deploy v1.2.31
- Session: deploy v1.2.30
- Session: deploy v1.2.29
- Session: deploy v1.2.28
- CE: enforce 14-day CloudWatch log retention on all Lambda groups
- CE: add DynamoDB PITR check for 7 tables
- Session: deploy v1.2.27
- Session 13 shutdown: Blocks 5/7/8 — audit log, a11y, onboarding
- Session: deploy v1.2.26
- Session: deploy v1.2.25
- Session: deploy v1.2.24
- Session: deploy v1.2.23
- Session: deploy v1.2.22
- Session: deploy v1.2.21
- Session: deploy v1.2.20
- Session: deploy v1.2.19
- Session: deploy v1.2.18
- Session: deploy v1.2.18
[1.2.39] — 2026-05-02
- Session: deploy v1.2.38
- Session 14 cont'd: L1.6 Stripe webhook idempotency notes (v1.2.37)
- Session: deploy v1.2.37
- Session: deploy v1.2.36
- Session 14 cont'd: L1.2 reset-token hardening notes (v1.2.35)
- Session: deploy v1.2.35
- Session 14: CE chart-refresh date fix + L1.1 cache removal + panel review
- Session: deploy v1.2.34
- Session: deploy v1.2.33
- Session: deploy v1.2.32
- Session: deploy v1.2.31
- Session: deploy v1.2.30
- Session: deploy v1.2.29
- Session: deploy v1.2.28
- CE: enforce 14-day CloudWatch log retention on all Lambda groups
- CE: add DynamoDB PITR check for 7 tables
- Session: deploy v1.2.27
- Session 13 shutdown: Blocks 5/7/8 — audit log, a11y, onboarding
- Session: deploy v1.2.26
- Session: deploy v1.2.25
- Session: deploy v1.2.24
- Session: deploy v1.2.23
- Session: deploy v1.2.22
- Session: deploy v1.2.21
- Session: deploy v1.2.20
- Session: deploy v1.2.19
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session: deploy v1.2.18
[1.2.38] — 2026-05-02
- Session 14 cont'd: L1.6 Stripe webhook idempotency notes (v1.2.37)
- Session: deploy v1.2.37
- Session: deploy v1.2.36
- Session 14 cont'd: L1.2 reset-token hardening notes (v1.2.35)
- Session: deploy v1.2.35
- Session 14: CE chart-refresh date fix + L1.1 cache removal + panel review
- Session: deploy v1.2.34
- Session: deploy v1.2.33
- Session: deploy v1.2.32
- Session: deploy v1.2.31
- Session: deploy v1.2.30
- Session: deploy v1.2.29
- Session: deploy v1.2.28
- CE: enforce 14-day CloudWatch log retention on all Lambda groups
- CE: add DynamoDB PITR check for 7 tables
- Session: deploy v1.2.27
- Session 13 shutdown: Blocks 5/7/8 — audit log, a11y, onboarding
- Session: deploy v1.2.26
- Session: deploy v1.2.25
- Session: deploy v1.2.24
- Session: deploy v1.2.23
- Session: deploy v1.2.22
- Session: deploy v1.2.21
- Session: deploy v1.2.20
- Session: deploy v1.2.19
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session: deploy v1.2.18
[1.2.37] — 2026-05-02
- Session: deploy v1.2.36
- Session 14 cont'd: L1.2 reset-token hardening notes (v1.2.35)
- Session: deploy v1.2.35
- Session 14: CE chart-refresh date fix + L1.1 cache removal + panel review
- Session: deploy v1.2.34
- Session: deploy v1.2.33
- Session: deploy v1.2.32
- Session: deploy v1.2.31
- Session: deploy v1.2.30
- Session: deploy v1.2.29
- Session: deploy v1.2.28
- CE: enforce 14-day CloudWatch log retention on all Lambda groups
- CE: add DynamoDB PITR check for 7 tables
- Session: deploy v1.2.27
- Session 13 shutdown: Blocks 5/7/8 — audit log, a11y, onboarding
- Session: deploy v1.2.26
- Session: deploy v1.2.25
- Session: deploy v1.2.24
- Session: deploy v1.2.23
- Session: deploy v1.2.22
- Session: deploy v1.2.21
- Session: deploy v1.2.20
- Session: deploy v1.2.19
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session 12: security test suite (items 4-9), CSRF+reset fixes, rate-limit hardening
- Add settings unit persistence tests (10/10)
[1.2.36] — 2026-05-02
- Session 14 cont'd: L1.2 reset-token hardening notes (v1.2.35)
- Session: deploy v1.2.35
- Session 14: CE chart-refresh date fix + L1.1 cache removal + panel review
- Session: deploy v1.2.34
- Session: deploy v1.2.33
- Session: deploy v1.2.32
- Session: deploy v1.2.31
- Session: deploy v1.2.30
- Session: deploy v1.2.29
- Session: deploy v1.2.28
- CE: enforce 14-day CloudWatch log retention on all Lambda groups
- CE: add DynamoDB PITR check for 7 tables
- Session: deploy v1.2.27
- Session 13 shutdown: Blocks 5/7/8 — audit log, a11y, onboarding
- Session: deploy v1.2.26
- Session: deploy v1.2.25
- Session: deploy v1.2.24
- Session: deploy v1.2.23
- Session: deploy v1.2.22
- Session: deploy v1.2.21
- Session: deploy v1.2.20
- Session: deploy v1.2.19
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session 12: security test suite (items 4-9), CSRF+reset fixes, rate-limit hardening
- Add settings unit persistence tests (10/10)
- Add edit validation test suite (15/15) + nightly_qa update
[1.2.35] — 2026-05-02
- Session 14: CE chart-refresh date fix + L1.1 cache removal + panel review
- Session: deploy v1.2.34
- Session: deploy v1.2.33
- Session: deploy v1.2.32
- Session: deploy v1.2.31
- Session: deploy v1.2.30
- Session: deploy v1.2.29
- Session: deploy v1.2.28
- CE: enforce 14-day CloudWatch log retention on all Lambda groups
- CE: add DynamoDB PITR check for 7 tables
- Session: deploy v1.2.27
- Session 13 shutdown: Blocks 5/7/8 — audit log, a11y, onboarding
- Session: deploy v1.2.26
- Session: deploy v1.2.25
- Session: deploy v1.2.24
- Session: deploy v1.2.23
- Session: deploy v1.2.22
- Session: deploy v1.2.21
- Session: deploy v1.2.20
- Session: deploy v1.2.19
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session 12: security test suite (items 4-9), CSRF+reset fixes, rate-limit hardening
- Add settings unit persistence tests (10/10)
- Add edit validation test suite (15/15) + nightly_qa update
- Security: add authenticated IDOR test suite (7/7 passing)
- Add billing lifecycle test suite (20 tests, all passing)
[1.2.34] — 2026-05-02
- Session: deploy v1.2.33
- Session: deploy v1.2.32
- Session: deploy v1.2.31
- Session: deploy v1.2.30
- Session: deploy v1.2.29
- Session: deploy v1.2.28
- CE: enforce 14-day CloudWatch log retention on all Lambda groups
- CE: add DynamoDB PITR check for 7 tables
- Session: deploy v1.2.27
- Session 13 shutdown: Blocks 5/7/8 — audit log, a11y, onboarding
- Session: deploy v1.2.26
- Session: deploy v1.2.25
- Session: deploy v1.2.24
- Session: deploy v1.2.23
- Session: deploy v1.2.22
- Session: deploy v1.2.21
- Session: deploy v1.2.20
- Session: deploy v1.2.19
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session 12: security test suite (items 4-9), CSRF+reset fixes, rate-limit hardening
- Add settings unit persistence tests (10/10)
- Add edit validation test suite (15/15) + nightly_qa update
- Security: add authenticated IDOR test suite (7/7 passing)
- Add billing lifecycle test suite (20 tests, all passing)
- Add user journey Playwright test suite (32 tests, all passing)
- Fix 11 Playwright failures + pip audit false positives
[1.2.33] — 2026-04-20
- Session: deploy v1.2.32
- Session: deploy v1.2.31
- Session: deploy v1.2.30
- Session: deploy v1.2.29
- Session: deploy v1.2.28
- CE: enforce 14-day CloudWatch log retention on all Lambda groups
- CE: add DynamoDB PITR check for 7 tables
- Session: deploy v1.2.27
- Session 13 shutdown: Blocks 5/7/8 — audit log, a11y, onboarding
- Session: deploy v1.2.26
- Session: deploy v1.2.25
- Session: deploy v1.2.24
- Session: deploy v1.2.23
- Session: deploy v1.2.22
- Session: deploy v1.2.21
- Session: deploy v1.2.20
- Session: deploy v1.2.19
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session 12: security test suite (items 4-9), CSRF+reset fixes, rate-limit hardening
- Add settings unit persistence tests (10/10)
- Add edit validation test suite (15/15) + nightly_qa update
- Security: add authenticated IDOR test suite (7/7 passing)
- Add billing lifecycle test suite (20 tests, all passing)
- Add user journey Playwright test suite (32 tests, all passing)
- Fix 11 Playwright failures + pip audit false positives
- Update shutdown state: v1.2.18, 318 tests, full detection loop
[1.2.32] — 2026-04-19
- Session: deploy v1.2.31
- Session: deploy v1.2.30
- Session: deploy v1.2.29
- Session: deploy v1.2.28
- CE: enforce 14-day CloudWatch log retention on all Lambda groups
- CE: add DynamoDB PITR check for 7 tables
- Session: deploy v1.2.27
- Session 13 shutdown: Blocks 5/7/8 — audit log, a11y, onboarding
- Session: deploy v1.2.26
- Session: deploy v1.2.25
- Session: deploy v1.2.24
- Session: deploy v1.2.23
- Session: deploy v1.2.22
- Session: deploy v1.2.21
- Session: deploy v1.2.20
- Session: deploy v1.2.19
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session 12: security test suite (items 4-9), CSRF+reset fixes, rate-limit hardening
- Add settings unit persistence tests (10/10)
- Add edit validation test suite (15/15) + nightly_qa update
- Security: add authenticated IDOR test suite (7/7 passing)
- Add billing lifecycle test suite (20 tests, all passing)
- Add user journey Playwright test suite (32 tests, all passing)
- Fix 11 Playwright failures + pip audit false positives
- Update shutdown state: v1.2.18, 318 tests, full detection loop
- v1.2.18 deployed: full error detection loop complete
[1.2.31] — 2026-04-19
- Session: deploy v1.2.30
- Session: deploy v1.2.29
- Session: deploy v1.2.28
- CE: enforce 14-day CloudWatch log retention on all Lambda groups
- CE: add DynamoDB PITR check for 7 tables
- Session: deploy v1.2.27
- Session 13 shutdown: Blocks 5/7/8 — audit log, a11y, onboarding
- Session: deploy v1.2.26
- Session: deploy v1.2.25
- Session: deploy v1.2.24
- Session: deploy v1.2.23
- Session: deploy v1.2.22
- Session: deploy v1.2.21
- Session: deploy v1.2.20
- Session: deploy v1.2.19
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session 12: security test suite (items 4-9), CSRF+reset fixes, rate-limit hardening
- Add settings unit persistence tests (10/10)
- Add edit validation test suite (15/15) + nightly_qa update
- Security: add authenticated IDOR test suite (7/7 passing)
- Add billing lifecycle test suite (20 tests, all passing)
- Add user journey Playwright test suite (32 tests, all passing)
- Fix 11 Playwright failures + pip audit false positives
- Update shutdown state: v1.2.18, 318 tests, full detection loop
- v1.2.18 deployed: full error detection loop complete
- Update shutdown state: 316 CE tests, issue detection tools added
[1.2.30] — 2026-04-19
- Session: deploy v1.2.29
- Session: deploy v1.2.28
- CE: enforce 14-day CloudWatch log retention on all Lambda groups
- CE: add DynamoDB PITR check for 7 tables
- Session: deploy v1.2.27
- Session 13 shutdown: Blocks 5/7/8 — audit log, a11y, onboarding
- Session: deploy v1.2.26
- Session: deploy v1.2.25
- Session: deploy v1.2.24
- Session: deploy v1.2.23
- Session: deploy v1.2.22
- Session: deploy v1.2.21
- Session: deploy v1.2.20
- Session: deploy v1.2.19
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session 12: security test suite (items 4-9), CSRF+reset fixes, rate-limit hardening
- Add settings unit persistence tests (10/10)
- Add edit validation test suite (15/15) + nightly_qa update
- Security: add authenticated IDOR test suite (7/7 passing)
- Add billing lifecycle test suite (20 tests, all passing)
- Add user journey Playwright test suite (32 tests, all passing)
- Fix 11 Playwright failures + pip audit false positives
- Update shutdown state: v1.2.18, 318 tests, full detection loop
- v1.2.18 deployed: full error detection loop complete
- Update shutdown state: 316 CE tests, issue detection tools added
- Automated issue detection: Lambda log scanner, performance regression tracker, JS template analyzer
[1.2.29] — 2026-04-19
- Session: deploy v1.2.28
- CE: enforce 14-day CloudWatch log retention on all Lambda groups
- CE: add DynamoDB PITR check for 7 tables
- Session: deploy v1.2.27
- Session 13 shutdown: Blocks 5/7/8 — audit log, a11y, onboarding
- Session: deploy v1.2.26
- Session: deploy v1.2.25
- Session: deploy v1.2.24
- Session: deploy v1.2.23
- Session: deploy v1.2.22
- Session: deploy v1.2.21
- Session: deploy v1.2.20
- Session: deploy v1.2.19
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session 12: security test suite (items 4-9), CSRF+reset fixes, rate-limit hardening
- Add settings unit persistence tests (10/10)
- Add edit validation test suite (15/15) + nightly_qa update
- Security: add authenticated IDOR test suite (7/7 passing)
- Add billing lifecycle test suite (20 tests, all passing)
- Add user journey Playwright test suite (32 tests, all passing)
- Fix 11 Playwright failures + pip audit false positives
- Update shutdown state: v1.2.18, 318 tests, full detection loop
- v1.2.18 deployed: full error detection loop complete
- Update shutdown state: 316 CE tests, issue detection tools added
- Automated issue detection: Lambda log scanner, performance regression tracker, JS template analyzer
- Session 16 shutdown: ITIL automation suite complete, 314 CE tests, CloudWatch alarms live
[1.2.28] — 2026-04-19
- CE: enforce 14-day CloudWatch log retention on all Lambda groups
- CE: add DynamoDB PITR check for 7 tables
- Session: deploy v1.2.27
- Session 13 shutdown: Blocks 5/7/8 — audit log, a11y, onboarding
- Session: deploy v1.2.26
- Session: deploy v1.2.25
- Session: deploy v1.2.24
- Session: deploy v1.2.23
- Session: deploy v1.2.22
- Session: deploy v1.2.21
- Session: deploy v1.2.20
- Session: deploy v1.2.19
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session 12: security test suite (items 4-9), CSRF+reset fixes, rate-limit hardening
- Add settings unit persistence tests (10/10)
- Add edit validation test suite (15/15) + nightly_qa update
- Security: add authenticated IDOR test suite (7/7 passing)
- Add billing lifecycle test suite (20 tests, all passing)
- Add user journey Playwright test suite (32 tests, all passing)
- Fix 11 Playwright failures + pip audit false positives
- Update shutdown state: v1.2.18, 318 tests, full detection loop
- v1.2.18 deployed: full error detection loop complete
- Update shutdown state: 316 CE tests, issue detection tools added
- Automated issue detection: Lambda log scanner, performance regression tracker, JS template analyzer
- Session 16 shutdown: ITIL automation suite complete, 314 CE tests, CloudWatch alarms live
- ITIL 4 automation suite: SVT gate, deploy pipeline, rollback, warmer, self-heal, nightly QA, CloudWatch alarms
[1.2.27] — 2026-04-19
- Session 13 shutdown: Blocks 5/7/8 — audit log, a11y, onboarding
- Session: deploy v1.2.26
- Session: deploy v1.2.25
- Session: deploy v1.2.24
- Session: deploy v1.2.23
- Session: deploy v1.2.22
- Session: deploy v1.2.21
- Session: deploy v1.2.20
- Session: deploy v1.2.19
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session 12: security test suite (items 4-9), CSRF+reset fixes, rate-limit hardening
- Add settings unit persistence tests (10/10)
- Add edit validation test suite (15/15) + nightly_qa update
- Security: add authenticated IDOR test suite (7/7 passing)
- Add billing lifecycle test suite (20 tests, all passing)
- Add user journey Playwright test suite (32 tests, all passing)
- Fix 11 Playwright failures + pip audit false positives
- Update shutdown state: v1.2.18, 318 tests, full detection loop
- v1.2.18 deployed: full error detection loop complete
- Update shutdown state: 316 CE tests, issue detection tools added
- Automated issue detection: Lambda log scanner, performance regression tracker, JS template analyzer
- Session 16 shutdown: ITIL automation suite complete, 314 CE tests, CloudWatch alarms live
- ITIL 4 automation suite: SVT gate, deploy pipeline, rollback, warmer, self-heal, nightly QA, CloudWatch alarms
- Session 15: CE headers (304 tests), Playwright mobile suite (19 tests), v1.2.17
- Session 15: update memory and logs for v1.2.16
- CE: add pull-to-refresh and BFCache regression guards (296 tests)
[1.2.26] — 2026-04-19
- Session: deploy v1.2.25
- Session: deploy v1.2.24
- Session: deploy v1.2.23
- Session: deploy v1.2.22
- Session: deploy v1.2.21
- Session: deploy v1.2.20
- Session: deploy v1.2.19
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session 12: security test suite (items 4-9), CSRF+reset fixes, rate-limit hardening
- Add settings unit persistence tests (10/10)
- Add edit validation test suite (15/15) + nightly_qa update
- Security: add authenticated IDOR test suite (7/7 passing)
- Add billing lifecycle test suite (20 tests, all passing)
- Add user journey Playwright test suite (32 tests, all passing)
- Fix 11 Playwright failures + pip audit false positives
- Update shutdown state: v1.2.18, 318 tests, full detection loop
- v1.2.18 deployed: full error detection loop complete
- Update shutdown state: 316 CE tests, issue detection tools added
- Automated issue detection: Lambda log scanner, performance regression tracker, JS template analyzer
- Session 16 shutdown: ITIL automation suite complete, 314 CE tests, CloudWatch alarms live
- ITIL 4 automation suite: SVT gate, deploy pipeline, rollback, warmer, self-heal, nightly QA, CloudWatch alarms
- Session 15: CE headers (304 tests), Playwright mobile suite (19 tests), v1.2.17
- Session 15: update memory and logs for v1.2.16
- CE: add pull-to-refresh and BFCache regression guards (296 tests)
- Session 14d: sw.js logout fix + CE 294 tests
- Session 14c: mock checkout fix + 290 CE tests
[1.2.25] — 2026-04-19
- Session: deploy v1.2.24
- Session: deploy v1.2.23
- Session: deploy v1.2.22
- Session: deploy v1.2.21
- Session: deploy v1.2.20
- Session: deploy v1.2.19
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session 12: security test suite (items 4-9), CSRF+reset fixes, rate-limit hardening
- Add settings unit persistence tests (10/10)
- Add edit validation test suite (15/15) + nightly_qa update
- Security: add authenticated IDOR test suite (7/7 passing)
- Add billing lifecycle test suite (20 tests, all passing)
- Add user journey Playwright test suite (32 tests, all passing)
- Fix 11 Playwright failures + pip audit false positives
- Update shutdown state: v1.2.18, 318 tests, full detection loop
- v1.2.18 deployed: full error detection loop complete
- Update shutdown state: 316 CE tests, issue detection tools added
- Automated issue detection: Lambda log scanner, performance regression tracker, JS template analyzer
- Session 16 shutdown: ITIL automation suite complete, 314 CE tests, CloudWatch alarms live
- ITIL 4 automation suite: SVT gate, deploy pipeline, rollback, warmer, self-heal, nightly QA, CloudWatch alarms
- Session 15: CE headers (304 tests), Playwright mobile suite (19 tests), v1.2.17
- Session 15: update memory and logs for v1.2.16
- CE: add pull-to-refresh and BFCache regression guards (296 tests)
- Session 14d: sw.js logout fix + CE 294 tests
- Session 14c: mock checkout fix + 290 CE tests
- Session 14b: success redirect + Stripe v15 fix + family invite UX
[1.2.24] — 2026-04-19
- Session: deploy v1.2.23
- Session: deploy v1.2.22
- Session: deploy v1.2.21
- Session: deploy v1.2.20
- Session: deploy v1.2.19
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session 12: security test suite (items 4-9), CSRF+reset fixes, rate-limit hardening
- Add settings unit persistence tests (10/10)
- Add edit validation test suite (15/15) + nightly_qa update
- Security: add authenticated IDOR test suite (7/7 passing)
- Add billing lifecycle test suite (20 tests, all passing)
- Add user journey Playwright test suite (32 tests, all passing)
- Fix 11 Playwright failures + pip audit false positives
- Update shutdown state: v1.2.18, 318 tests, full detection loop
- v1.2.18 deployed: full error detection loop complete
- Update shutdown state: 316 CE tests, issue detection tools added
- Automated issue detection: Lambda log scanner, performance regression tracker, JS template analyzer
- Session 16 shutdown: ITIL automation suite complete, 314 CE tests, CloudWatch alarms live
- ITIL 4 automation suite: SVT gate, deploy pipeline, rollback, warmer, self-heal, nightly QA, CloudWatch alarms
- Session 15: CE headers (304 tests), Playwright mobile suite (19 tests), v1.2.17
- Session 15: update memory and logs for v1.2.16
- CE: add pull-to-refresh and BFCache regression guards (296 tests)
- Session 14d: sw.js logout fix + CE 294 tests
- Session 14c: mock checkout fix + 290 CE tests
- Session 14b: success redirect + Stripe v15 fix + family invite UX
- Session 14: family plan upgrade + CE 284 tests
[1.2.23] — 2026-04-19
- Session: deploy v1.2.22
- Session: deploy v1.2.21
- Session: deploy v1.2.20
- Session: deploy v1.2.19
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session 12: security test suite (items 4-9), CSRF+reset fixes, rate-limit hardening
- Add settings unit persistence tests (10/10)
- Add edit validation test suite (15/15) + nightly_qa update
- Security: add authenticated IDOR test suite (7/7 passing)
- Add billing lifecycle test suite (20 tests, all passing)
- Add user journey Playwright test suite (32 tests, all passing)
- Fix 11 Playwright failures + pip audit false positives
- Update shutdown state: v1.2.18, 318 tests, full detection loop
- v1.2.18 deployed: full error detection loop complete
- Update shutdown state: 316 CE tests, issue detection tools added
- Automated issue detection: Lambda log scanner, performance regression tracker, JS template analyzer
- Session 16 shutdown: ITIL automation suite complete, 314 CE tests, CloudWatch alarms live
- ITIL 4 automation suite: SVT gate, deploy pipeline, rollback, warmer, self-heal, nightly QA, CloudWatch alarms
- Session 15: CE headers (304 tests), Playwright mobile suite (19 tests), v1.2.17
- Session 15: update memory and logs for v1.2.16
- CE: add pull-to-refresh and BFCache regression guards (296 tests)
- Session 14d: sw.js logout fix + CE 294 tests
- Session 14c: mock checkout fix + 290 CE tests
- Session 14b: success redirect + Stripe v15 fix + family invite UX
- Session 14: family plan upgrade + CE 284 tests
- Fix billing portal_available guard (all branches); CE 279 → 282
[1.2.22] — 2026-04-19
- Session: deploy v1.2.21
- Session: deploy v1.2.20
- Session: deploy v1.2.19
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session 12: security test suite (items 4-9), CSRF+reset fixes, rate-limit hardening
- Add settings unit persistence tests (10/10)
- Add edit validation test suite (15/15) + nightly_qa update
- Security: add authenticated IDOR test suite (7/7 passing)
- Add billing lifecycle test suite (20 tests, all passing)
- Add user journey Playwright test suite (32 tests, all passing)
- Fix 11 Playwright failures + pip audit false positives
- Update shutdown state: v1.2.18, 318 tests, full detection loop
- v1.2.18 deployed: full error detection loop complete
- Update shutdown state: 316 CE tests, issue detection tools added
- Automated issue detection: Lambda log scanner, performance regression tracker, JS template analyzer
- Session 16 shutdown: ITIL automation suite complete, 314 CE tests, CloudWatch alarms live
- ITIL 4 automation suite: SVT gate, deploy pipeline, rollback, warmer, self-heal, nightly QA, CloudWatch alarms
- Session 15: CE headers (304 tests), Playwright mobile suite (19 tests), v1.2.17
- Session 15: update memory and logs for v1.2.16
- CE: add pull-to-refresh and BFCache regression guards (296 tests)
- Session 14d: sw.js logout fix + CE 294 tests
- Session 14c: mock checkout fix + 290 CE tests
- Session 14b: success redirect + Stripe v15 fix + family invite UX
- Session 14: family plan upgrade + CE 284 tests
- Fix billing portal_available guard (all branches); CE 279 → 282
- Session 13 continued: dropdown sync fix, v1.2.14
[1.2.21] — 2026-04-19
- Session: deploy v1.2.20
- Session: deploy v1.2.19
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session 12: security test suite (items 4-9), CSRF+reset fixes, rate-limit hardening
- Add settings unit persistence tests (10/10)
- Add edit validation test suite (15/15) + nightly_qa update
- Security: add authenticated IDOR test suite (7/7 passing)
- Add billing lifecycle test suite (20 tests, all passing)
- Add user journey Playwright test suite (32 tests, all passing)
- Fix 11 Playwright failures + pip audit false positives
- Update shutdown state: v1.2.18, 318 tests, full detection loop
- v1.2.18 deployed: full error detection loop complete
- Update shutdown state: 316 CE tests, issue detection tools added
- Automated issue detection: Lambda log scanner, performance regression tracker, JS template analyzer
- Session 16 shutdown: ITIL automation suite complete, 314 CE tests, CloudWatch alarms live
- ITIL 4 automation suite: SVT gate, deploy pipeline, rollback, warmer, self-heal, nightly QA, CloudWatch alarms
- Session 15: CE headers (304 tests), Playwright mobile suite (19 tests), v1.2.17
- Session 15: update memory and logs for v1.2.16
- CE: add pull-to-refresh and BFCache regression guards (296 tests)
- Session 14d: sw.js logout fix + CE 294 tests
- Session 14c: mock checkout fix + 290 CE tests
- Session 14b: success redirect + Stripe v15 fix + family invite UX
- Session 14: family plan upgrade + CE 284 tests
- Fix billing portal_available guard (all branches); CE 279 → 282
- Session 13 continued: dropdown sync fix, v1.2.14
- Session 13: fix billing nav + portal for manually-provisioned accounts
[1.2.20] — 2026-04-19
- Session: deploy v1.2.19
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session 12: security test suite (items 4-9), CSRF+reset fixes, rate-limit hardening
- Add settings unit persistence tests (10/10)
- Add edit validation test suite (15/15) + nightly_qa update
- Security: add authenticated IDOR test suite (7/7 passing)
- Add billing lifecycle test suite (20 tests, all passing)
- Add user journey Playwright test suite (32 tests, all passing)
- Fix 11 Playwright failures + pip audit false positives
- Update shutdown state: v1.2.18, 318 tests, full detection loop
- v1.2.18 deployed: full error detection loop complete
- Update shutdown state: 316 CE tests, issue detection tools added
- Automated issue detection: Lambda log scanner, performance regression tracker, JS template analyzer
- Session 16 shutdown: ITIL automation suite complete, 314 CE tests, CloudWatch alarms live
- ITIL 4 automation suite: SVT gate, deploy pipeline, rollback, warmer, self-heal, nightly QA, CloudWatch alarms
- Session 15: CE headers (304 tests), Playwright mobile suite (19 tests), v1.2.17
- Session 15: update memory and logs for v1.2.16
- CE: add pull-to-refresh and BFCache regression guards (296 tests)
- Session 14d: sw.js logout fix + CE 294 tests
- Session 14c: mock checkout fix + 290 CE tests
- Session 14b: success redirect + Stripe v15 fix + family invite UX
- Session 14: family plan upgrade + CE 284 tests
- Fix billing portal_available guard (all branches); CE 279 → 282
- Session 13 continued: dropdown sync fix, v1.2.14
- Session 13: fix billing nav + portal for manually-provisioned accounts
- Session 12 complete: memory + logs updated, awesome-selfhosted removed
[1.2.19] — 2026-04-19
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session: deploy v1.2.18
- Session 12: security test suite (items 4-9), CSRF+reset fixes, rate-limit hardening
- Add settings unit persistence tests (10/10)
- Add edit validation test suite (15/15) + nightly_qa update
- Security: add authenticated IDOR test suite (7/7 passing)
- Add billing lifecycle test suite (20 tests, all passing)
- Add user journey Playwright test suite (32 tests, all passing)
- Fix 11 Playwright failures + pip audit false positives
- Update shutdown state: v1.2.18, 318 tests, full detection loop
- v1.2.18 deployed: full error detection loop complete
- Update shutdown state: 316 CE tests, issue detection tools added
- Automated issue detection: Lambda log scanner, performance regression tracker, JS template analyzer
- Session 16 shutdown: ITIL automation suite complete, 314 CE tests, CloudWatch alarms live
- ITIL 4 automation suite: SVT gate, deploy pipeline, rollback, warmer, self-heal, nightly QA, CloudWatch alarms
- Session 15: CE headers (304 tests), Playwright mobile suite (19 tests), v1.2.17
- Session 15: update memory and logs for v1.2.16
- CE: add pull-to-refresh and BFCache regression guards (296 tests)
- Session 14d: sw.js logout fix + CE 294 tests
- Session 14c: mock checkout fix + 290 CE tests
- Session 14b: success redirect + Stripe v15 fix + family invite UX
- Session 14: family plan upgrade + CE 284 tests
- Fix billing portal_available guard (all branches); CE 279 → 282
- Session 13 continued: dropdown sync fix, v1.2.14
- Session 13: fix billing nav + portal for manually-provisioned accounts
- Session 12 complete: memory + logs updated, awesome-selfhosted removed
- CE: add restore_all count + offset reachability tests (259 total)
[1.2.18] — 2026-04-18
- Session 12: security test suite (items 4-9), CSRF+reset fixes, rate-limit hardening
- Add settings unit persistence tests (10/10)
- Add edit validation test suite (15/15) + nightly_qa update
- Security: add authenticated IDOR test suite (7/7 passing)
- Add billing lifecycle test suite (20 tests, all passing)
- Add user journey Playwright test suite (32 tests, all passing)
- Fix 11 Playwright failures + pip audit false positives
- Update shutdown state: v1.2.18, 318 tests, full detection loop
- v1.2.18 deployed: full error detection loop complete
- Update shutdown state: 316 CE tests, issue detection tools added
- Automated issue detection: Lambda log scanner, performance regression tracker, JS template analyzer
- Session 16 shutdown: ITIL automation suite complete, 314 CE tests, CloudWatch alarms live
- ITIL 4 automation suite: SVT gate, deploy pipeline, rollback, warmer, self-heal, nightly QA, CloudWatch alarms
- Session 15: CE headers (304 tests), Playwright mobile suite (19 tests), v1.2.17
- Session 15: update memory and logs for v1.2.16
- CE: add pull-to-refresh and BFCache regression guards (296 tests)
- Session 14d: sw.js logout fix + CE 294 tests
- Session 14c: mock checkout fix + 290 CE tests
- Session 14b: success redirect + Stripe v15 fix + family invite UX
- Session 14: family plan upgrade + CE 284 tests
- Fix billing portal_available guard (all branches); CE 279 → 282
- Session 13 continued: dropdown sync fix, v1.2.14
- Session 13: fix billing nav + portal for manually-provisioned accounts
- Session 12 complete: memory + logs updated, awesome-selfhosted removed
- CE: add restore_all count + offset reachability tests (259 total)
- Session 12: restore bug fixed, landing custom domains, screenshots
- Update rangepulse submodule to v1.2.12
- Update rangepulse submodule: custom domain fix in landing pages
- Session 11 shutdown: Playwright suite complete, memory updated
- Add Playwright billing test suite (58 tests, all passing)