merge: app capabilities — a closed vocabulary the platform materializes (#40)
app capabilities: a closed vocabulary the platform materializes — no more bespoke units
42 files changed,
+13004
−95
CLAUDE.md+6 −0README.md+112 −0apimode.go+86 −11apimode_test.go+186 −10cli.go+561 −8cli_test.go+434 −0docs/superpowers/plans/2026-08-03-app-capabilities.md+902 −0docs/superpowers/specs/2026-08-03-app-capabilities-design.md+960 −0e2e_test.go+151 −0internal/caps/caps.go+436 −0internal/caps/caps_test.go+456 −0internal/caps/converge.go+1055 −0internal/caps/converge_test.go+1255 −0internal/caps/grants.go+214 −0internal/caps/grants_test.go+184 −0internal/caps/neutrality_test.go+141 −0internal/caps/render.go+187 −0internal/caps/render_test.go+353 −0internal/caps/testdata/console.service.conf+6 −0internal/caps/testdata/keymail.service.conf+14 −0internal/caps/testdata/keymail.socket.conf+3 −0internal/console/apicli.go+152 −15internal/console/apicli_test.go+366 −0internal/console/ladder.go+6 −0internal/console/ladder_test.go+83 −0internal/console/templates/ladder.html+1 −0internal/console/view.go+53 −3internal/host/adopt_advice.go+198 −0internal/host/adopt_advice_test.go+170 −0internal/host/agent.go+56 −1internal/host/caps_pass.go+388 −0internal/host/caps_pass_test.go+845 −0internal/registry/registry.go+180 −16internal/registry/registry_test.go+281 −2internal/release/adopt.go+415 −29internal/release/adopt_test.go+1604 −0internal/release/golden_test.go+72 −0internal/release/release.go+42 −0internal/release/release_test.go+96 −0internal/release/versions.go+89 −0internal/release/versions_test.go+193 −0main.go+12 −0
CLAUDE.mdLoading diff…
README.mdLoading diff…
apimode.goLoading diff…
apimode_test.goLoading diff…
cli.goLoading diff…
cli_test.goLoading diff…
docs/superpowers/plans/2026-08-03-app-capabilities.mdLoading diff…
docs/superpowers/specs/2026-08-03-app-capabilities-design.mdLoading diff…
e2e_test.goLoading diff…
internal/caps/caps.goLoading diff…
internal/caps/caps_test.goLoading diff…
internal/caps/converge.goLoading diff…
internal/caps/converge_test.goLoading diff…
internal/caps/grants.goLoading diff…
internal/caps/grants_test.goLoading diff…
internal/caps/neutrality_test.goLoading diff…
internal/caps/render.goLoading diff…
internal/caps/render_test.goLoading diff…
internal/caps/testdata/console.service.confLoading diff…
internal/caps/testdata/keymail.service.confLoading diff…
internal/caps/testdata/keymail.socket.confLoading diff…
internal/console/apicli.goLoading diff…
internal/console/apicli_test.goLoading diff…
internal/console/ladder.goLoading diff…
internal/console/ladder_test.goLoading diff…
internal/console/templates/ladder.htmlLoading diff…
internal/console/view.goLoading diff…
internal/host/adopt_advice.goLoading diff…
internal/host/adopt_advice_test.goLoading diff…
internal/host/agent.goLoading diff…
internal/host/caps_pass.goLoading diff…
internal/host/caps_pass_test.goLoading diff…
internal/registry/registry.goLoading diff…
internal/registry/registry_test.goLoading diff…
internal/release/adopt.goLoading diff…
internal/release/adopt_test.goLoading diff…
internal/release/golden_test.goLoading diff…
internal/release/release.goLoading diff…
internal/release/release_test.goLoading diff…
internal/release/versions.goLoading diff…
internal/release/versions_test.goLoading diff…
main.goLoading diff…