Merge remote-tracking branch 'origin/main' into multi-region-steering
# Conflicts: # internal/console/server.go
AGENTS.md+195 −0CLAUDE.md+4 −185apimode.go+271 −18apimode_test.go+71 −6auth_e2e_test.go+16 −1cli.go+18 −11cmd/console/mailbackends_test.go+128 −0cmd/console/main.go+190 −1color.go+12 −0deploy.go+71 −15deploy_test.go+164 −15deploy_wizard_test.go+4 −4docs/superpowers/plans/2026-08-16-woodstar-cutover-runbook.md+37 −6docs/superpowers/plans/2026-08-19-tenant-email.md+5505 −0docs/superpowers/plans/2026-08-20-release-pipelines-v2.md+974 −0docs/superpowers/specs/2026-08-03-cli-console-api-design.md+27 −4docs/superpowers/specs/2026-08-19-cli-flag-conventions-design.md+211 −0docs/superpowers/specs/2026-08-19-tenant-email-design.md+759 −0docs/superpowers/specs/2026-08-20-release-pipelines-v2-design.md+238 −0domains_cli_test.go+2 −2fleets_cli_test.go+1 −1go.mod+9 −8go.sum+18 −16internal/appconfig/syncexec.go+2 −2internal/appconfig/syncexec_test.go+1 −1internal/applog/record.go+1 −1internal/applog/record_test.go+1 −1internal/console/apicli.go+235 −31internal/console/apicli_test.go+188 −16internal/console/apimail.go+1148 −0internal/console/apimail_test.go+1085 −0internal/console/apipipeline.go+340 −0internal/console/apipipeline_test.go+399 −0internal/console/apiservices.go+1 −1internal/console/apiservices_test.go+1 −1internal/console/apistore.go+1 −1internal/console/appsettings.go+130 −0internal/console/appsettings_test.go+364 −0internal/console/authcli.go+96 −15internal/console/authcli_test.go+49 −0internal/console/confirm.go+19 −4internal/console/confirm_test.go+45 −1internal/console/deletion_test.go+104 −0internal/console/economicspage_test.go+1 −1internal/console/flow.go+61 −15internal/console/ladder.go+113 −2internal/console/ladder_test.go+2 −2internal/console/mailcounts.go+275 −0internal/console/mailcounts_test.go+458 −0internal/console/ownership.go+62 −0internal/console/pending.go+335 −0internal/console/pending_test.go+185 −0internal/console/pendingflow_test.go+943 −0internal/console/pendinghandlers.go+640 −0internal/console/pipelinepage.go+331 −0internal/console/pipelinepage_test.go+446 −0internal/console/server.go+374 −53internal/console/server_test.go+96 −3internal/console/sesevents.go+694 −0internal/console/sesevents_test.go+677 −0internal/console/store.go+22 −1internal/console/svcprincipal.go+14 −3internal/console/svcroutes_test.go+37 −4internal/console/templates/app_overview.html+8 −0internal/console/templates/app_releases.html+10 −3internal/console/templates/app_settings.html+66 −0internal/console/templates/ladder.html+8 −1internal/console/templates/pending.html+22 −0internal/console/templates/pipeline.html+60 −0internal/console/view.go+37 −6internal/dnsrec/dnsrec.go+90 −0internal/dnsrec/dnsrec_test.go+75 −0internal/dnsrec/route53.go+165 −0internal/dnsrec/route53_test.go+35 −0internal/mail/aws.go+470 −0internal/mail/aws_test.go+351 −0internal/mail/dnsrecords.go+93 −0internal/mail/dnsrecords_test.go+107 −0internal/mail/domain.go+178 −0internal/mail/domain_test.go+107 −0internal/mail/domainclaim.go+209 −0internal/mail/events.go+128 −0internal/mail/events_test.go+163 −0internal/mail/mail.go+162 −0internal/mail/mail_test.go+105 −0internal/mail/memprovisioner.go+300 −0internal/mail/memprovisioner_test.go+133 −0internal/mail/policy.go+134 −0internal/mail/policy_test.go+201 −0internal/mail/provisioner.go+77 −0internal/mail/smtppass.go+43 −0internal/mail/smtppass_test.go+55 −0internal/mail/walk.go+1165 −0internal/mail/walk_domain_test.go+372 −0internal/mail/walk_domainclaim_test.go+624 −0internal/mail/walk_enable_test.go+423 −0internal/mail/walk_grant_test.go+86 −0internal/mail/walk_lifecycle_test.go+539 −0internal/mail/walk_verify_test.go+129 −0internal/release/adopt.go+222 −32internal/release/adopt_test.go+476 −0internal/release/bake.go+266 −0internal/release/bake_test.go+333 −0internal/release/pipeline.go+346 −0internal/release/pipeline_test.go+234 −0internal/release/release.go+24 −2internal/status/status_test.go+1 −1mail_cli.go+1331 −0mail_cli_test.go+1110 −0main.go+7 −0pipeline.go+470 −0pipeline_test.go+549 −0services_cli_test.go+2 −2store.go+1 −1store_test.go+1 −1
AGENTS.mdLoading diff…
CLAUDE.mdLoading diff…
apimode.goLoading diff…
apimode_test.goLoading diff…
auth_e2e_test.goLoading diff…
cli.goLoading diff…
cmd/console/mailbackends_test.goLoading diff…
cmd/console/main.goLoading diff…
color.goLoading diff…
deploy.goLoading diff…
deploy_test.goLoading diff…
deploy_wizard_test.goLoading diff…
docs/superpowers/plans/2026-08-16-woodstar-cutover-runbook.mdLoading diff…
docs/superpowers/plans/2026-08-19-tenant-email.mdLoading diff…
docs/superpowers/plans/2026-08-20-release-pipelines-v2.mdLoading diff…
docs/superpowers/specs/2026-08-03-cli-console-api-design.mdLoading diff…
docs/superpowers/specs/2026-08-19-cli-flag-conventions-design.mdLoading diff…
docs/superpowers/specs/2026-08-19-tenant-email-design.mdLoading diff…
docs/superpowers/specs/2026-08-20-release-pipelines-v2-design.mdLoading diff…
domains_cli_test.goLoading diff…
fleets_cli_test.goLoading diff…
go.modLoading diff…
go.sumLoading diff…
internal/appconfig/syncexec.goLoading diff…
internal/appconfig/syncexec_test.goLoading diff…
internal/applog/record.goLoading diff…
internal/applog/record_test.goLoading diff…
internal/console/apicli.goLoading diff…
internal/console/apicli_test.goLoading diff…
internal/console/apimail.goLoading diff…
internal/console/apimail_test.goLoading diff…
internal/console/apipipeline.goLoading diff…
internal/console/apipipeline_test.goLoading diff…
internal/console/apiservices.goLoading diff…
internal/console/apiservices_test.goLoading diff…
internal/console/apistore.goLoading diff…
internal/console/appsettings.goLoading diff…
internal/console/appsettings_test.goLoading diff…
internal/console/authcli.goLoading diff…
internal/console/authcli_test.goLoading diff…
internal/console/confirm.goLoading diff…
internal/console/confirm_test.goLoading diff…
internal/console/deletion_test.goLoading diff…
internal/console/economicspage_test.goLoading diff…
internal/console/flow.goLoading diff…
internal/console/ladder.goLoading diff…
internal/console/ladder_test.goLoading diff…
internal/console/mailcounts.goLoading diff…
internal/console/mailcounts_test.goLoading diff…
internal/console/ownership.goLoading diff…
internal/console/pending.goLoading diff…
internal/console/pending_test.goLoading diff…
internal/console/pendingflow_test.goLoading diff…
internal/console/pendinghandlers.goLoading diff…
internal/console/pipelinepage.goLoading diff…
internal/console/pipelinepage_test.goLoading diff…
internal/console/server.goLoading diff…
internal/console/server_test.goLoading diff…
internal/console/sesevents.goLoading diff…
internal/console/sesevents_test.goLoading diff…
internal/console/store.goLoading diff…
internal/console/svcprincipal.goLoading diff…
internal/console/svcroutes_test.goLoading diff…
internal/console/templates/app_overview.htmlLoading diff…
internal/console/templates/app_releases.htmlLoading diff…
internal/console/templates/app_settings.htmlLoading diff…
internal/console/templates/ladder.htmlLoading diff…
internal/console/templates/pending.htmlLoading diff…
internal/console/templates/pipeline.htmlLoading diff…
internal/console/view.goLoading diff…
internal/dnsrec/dnsrec.goLoading diff…
internal/dnsrec/dnsrec_test.goLoading diff…
internal/dnsrec/route53.goLoading diff…
internal/dnsrec/route53_test.goLoading diff…
internal/mail/aws.goLoading diff…
internal/mail/aws_test.goLoading diff…
internal/mail/dnsrecords.goLoading diff…
internal/mail/dnsrecords_test.goLoading diff…
internal/mail/domain.goLoading diff…
internal/mail/domain_test.goLoading diff…
internal/mail/domainclaim.goLoading diff…
internal/mail/events.goLoading diff…
internal/mail/events_test.goLoading diff…
internal/mail/mail.goLoading diff…
internal/mail/mail_test.goLoading diff…
internal/mail/memprovisioner.goLoading diff…
internal/mail/memprovisioner_test.goLoading diff…
internal/mail/policy.goLoading diff…
internal/mail/policy_test.goLoading diff…
internal/mail/provisioner.goLoading diff…
internal/mail/smtppass.goLoading diff…
internal/mail/smtppass_test.goLoading diff…
internal/mail/walk.goLoading diff…
internal/mail/walk_domain_test.goLoading diff…
internal/mail/walk_domainclaim_test.goLoading diff…
internal/mail/walk_enable_test.goLoading diff…
internal/mail/walk_grant_test.goLoading diff…
internal/mail/walk_lifecycle_test.goLoading diff…
internal/mail/walk_verify_test.goLoading diff…
internal/release/adopt.goLoading diff…
internal/release/adopt_test.goLoading diff…
internal/release/bake.goLoading diff…
internal/release/bake_test.goLoading diff…
internal/release/pipeline.goLoading diff…
internal/release/pipeline_test.goLoading diff…
internal/release/release.goLoading diff…
internal/status/status_test.goLoading diff…
mail_cli.goLoading diff…
mail_cli_test.goLoading diff…
main.goLoading diff…
pipeline.goLoading diff…
pipeline_test.goLoading diff…
services_cli_test.goLoading diff…
store.goLoading diff…
store_test.goLoading diff…