merge: origin/main — config doors meet account slugs and console defaults
The config methods (configGet/configApply/configSync) adopt main's apiAcct contract so env/secrets/sync resolve accounts per-viewer and honor -account-id exactly like every other verb; configGet's ?environment append learns to coexist with apiPath's ?exact=sqid.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
55 files changed,
+8991
−404
CLAUDE.md+6 −0accounts.go+133 −47accounts_resolve_test.go+115 −0apimode.go+68 −28apimode_test.go+101 −56appconfig_cli.go+21 −21auth.go+132 −22auth_e2e_test.go+110 −14auth_test.go+9 −10cli.go+80 −53config.go+161 −0config_e2e_test.go+4 −4config_test.go+327 −0docs/superpowers/plans/2026-08-04-account-slugs.md+916 −0docs/superpowers/plans/2026-08-04-console-bake-controls.md+1761 −0docs/superpowers/plans/2026-08-04-console-default-resolution.md+939 −0docs/superpowers/specs/2026-08-04-account-slugs-design.md+187 −0docs/superpowers/specs/2026-08-04-console-bake-controls-design.md+277 −0docs/superpowers/specs/2026-08-04-console-default-resolution-design.md+162 −0e2e_test.go+311 −39internal/console/apicli.go+36 −30internal/console/apicli_test.go+83 −11internal/console/authcli.go+5 −2internal/console/authcli_test.go+8 −2internal/console/authowner_test.go+1 −1internal/console/bakecontrols_test.go+354 −0internal/console/ladder.go+5 −0internal/console/ladder_test.go+206 −0internal/console/resolve.go+47 −0internal/console/resolve_test.go+92 −0internal/console/server.go+237 −22internal/console/server_account_test.go+208 −8internal/console/server_test.go+38 −8internal/console/store.go+4 −0internal/console/templates/app.html+1 −1internal/console/templates/apps.html+1 −1internal/console/templates/ladder.html+65 −1internal/console/templates/layout.html+2 −2internal/console/templates/newaccount.html+8 −6internal/console/templates/picker.html+22 −0internal/console/view.go+91 −0internal/console/view_test.go+8 −1internal/domains/slugname.go+16 −0internal/domains/slugname_test.go+23 −0internal/domains/sqid.go+36 −0internal/domains/sqid_test.go+56 −0internal/release/adopt.go+109 −5internal/release/adopt_test.go+320 −0internal/release/bake.go+178 −5internal/release/bake_test.go+251 −0internal/release/production.go+177 −0internal/release/production_test.go+240 −0internal/release/release.go+69 −2internal/release/release_test.go+143 −0scopedkeys_e2e_test.go+31 −2
CLAUDE.mdLoading diff…
accounts.goLoading diff…
accounts_resolve_test.goLoading diff…
apimode.goLoading diff…
apimode_test.goLoading diff…
appconfig_cli.goLoading diff…
auth.goLoading diff…
auth_e2e_test.goLoading diff…
auth_test.goLoading diff…
cli.goLoading diff…
config.goLoading diff…
config_e2e_test.goLoading diff…
config_test.goLoading diff…
docs/superpowers/plans/2026-08-04-account-slugs.mdLoading diff…
docs/superpowers/plans/2026-08-04-console-bake-controls.mdLoading diff…
docs/superpowers/plans/2026-08-04-console-default-resolution.mdLoading diff…
docs/superpowers/specs/2026-08-04-account-slugs-design.mdLoading diff…
docs/superpowers/specs/2026-08-04-console-bake-controls-design.mdLoading diff…
docs/superpowers/specs/2026-08-04-console-default-resolution-design.mdLoading diff…
e2e_test.goLoading diff…
internal/console/apicli.goLoading diff…
internal/console/apicli_test.goLoading diff…
internal/console/authcli.goLoading diff…
internal/console/authcli_test.goLoading diff…
internal/console/authowner_test.goLoading diff…
internal/console/bakecontrols_test.goLoading diff…
internal/console/ladder.goLoading diff…
internal/console/ladder_test.goLoading diff…
internal/console/resolve.goLoading diff…
internal/console/resolve_test.goLoading diff…
internal/console/server.goLoading diff…
internal/console/server_account_test.goLoading diff…
internal/console/server_test.goLoading diff…
internal/console/store.goLoading diff…
internal/console/templates/app.htmlLoading diff…
internal/console/templates/apps.htmlLoading diff…
internal/console/templates/ladder.htmlLoading diff…
internal/console/templates/layout.htmlLoading diff…
internal/console/templates/newaccount.htmlLoading diff…
internal/console/templates/picker.htmlLoading diff…
internal/console/view.goLoading diff…
internal/console/view_test.goLoading diff…
internal/domains/slugname.goLoading diff…
internal/domains/slugname_test.goLoading diff…
internal/domains/sqid.goLoading diff…
internal/domains/sqid_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/production.goLoading diff…
internal/release/production_test.goLoading diff…
internal/release/release.goLoading diff…
internal/release/release_test.goLoading diff…
scopedkeys_e2e_test.goLoading diff…