carlos / platform Public

design-edge-rate-limit-358

apimode.go +85 −0
apimode.go

Loading diff…

docs/site/cli.md +30 −0
docs/site/cli.md

Loading diff…

docs/site/nav.json +5 −0
docs/site/nav.json

Loading diff…

docs/site/plans.md +4 −0
docs/site/plans.md

Loading diff…

docs/site/rate-limits.md +57 −0
docs/site/rate-limits.md

Loading diff…

docs/superpowers/notes/census-proposal-design-edge-rate-limit-358.md +48 −0
docs/superpowers/notes/census-proposal-design-edge-rate-limit-358.md

Loading diff…

docs/superpowers/plans/2026-10-24-edge-rate-limit.md +427 −0
docs/superpowers/plans/2026-10-24-edge-rate-limit.md

Loading diff…

docs/superpowers/specs/2026-10-24-edge-rate-limit-design.md +376 −0
docs/superpowers/specs/2026-10-24-edge-rate-limit-design.md

Loading diff…

docs/superpowers/specs/CODEX-FINDINGS-EDGE-RATE-LIMIT-builder-check.md +16 −0
docs/superpowers/specs/CODEX-FINDINGS-EDGE-RATE-LIMIT-builder-check.md

Loading diff…

instances_cli.go +5 −1
instances_cli.go

Loading diff…

internal/console/apiinstances.go +32 −1
internal/console/apiinstances.go

Loading diff…

internal/console/apiinstances_ratelimit.go +235 −0
internal/console/apiinstances_ratelimit.go

Loading diff…

internal/console/apiinstances_ratelimit_test.go +385 −0
internal/console/apiinstances_ratelimit_test.go

Loading diff…

internal/console/appsettings.go +163 −1
internal/console/appsettings.go

Loading diff…

internal/console/appsettings_ratelimit_test.go +235 −0
internal/console/appsettings_ratelimit_test.go

Loading diff…

internal/console/authcli.go +3 −0
internal/console/authcli.go

Loading diff…

internal/console/claim_invariant_fixtures_test.go +11 −0
internal/console/claim_invariant_fixtures_test.go

Loading diff…

internal/console/claim_invariant_probes_read_test.go +2 −0
internal/console/claim_invariant_probes_read_test.go

Loading diff…

internal/console/ratelimit_copy.go +16 −0
internal/console/ratelimit_copy.go

Loading diff…

internal/console/server.go +2 −0
internal/console/server.go

Loading diff…

internal/console/svcroutes_test.go +5 −0
internal/console/svcroutes_test.go

Loading diff…

internal/console/templates/app_settings.html +42 −0
internal/console/templates/app_settings.html

Loading diff…

internal/console/testdata/claim-routes.txt +2 −0
internal/console/testdata/claim-routes.txt

Loading diff…

internal/edge/backhaul_share_test.go +268 −0
internal/edge/backhaul_share_test.go

Loading diff…

internal/edge/door.go +4 −2
internal/edge/door.go

Loading diff…

internal/edge/edge.go +167 −26
internal/edge/edge.go

Loading diff…

internal/edge/homemap.go +33 −5
internal/edge/homemap.go

Loading diff…

internal/edge/homemap_test.go +12 −3
internal/edge/homemap_test.go

Loading diff…

internal/edge/hopdoor_test.go +224 −0
internal/edge/hopdoor_test.go

Loading diff…

internal/edge/mesh.go +36 −3
internal/edge/mesh.go

Loading diff…

internal/edge/ratelimit.go +243 −0
internal/edge/ratelimit.go

Loading diff…

internal/edge/ratelimit_test.go +854 −0
internal/edge/ratelimit_test.go

Loading diff…

internal/edge/usagemeter.go +22 −2
internal/edge/usagemeter.go

Loading diff…

internal/edge/usagemeter_test.go +21 −0
internal/edge/usagemeter_test.go

Loading diff…

internal/host/agent.go +4 −0
internal/host/agent.go

Loading diff…

internal/host/plans_pass.go +12 −0
internal/host/plans_pass.go

Loading diff…

internal/host/plans_pass_ratelimit_test.go +29 −0
internal/host/plans_pass_ratelimit_test.go

Loading diff…

internal/plans/catalog.go +63 −1
internal/plans/catalog.go

Loading diff…

internal/plans/catalog_ratelimit_test.go +185 −0
internal/plans/catalog_ratelimit_test.go

Loading diff…

internal/provision/edge_rate_limit_census_test.go +73 −0
internal/provision/edge_rate_limit_census_test.go

Loading diff…

internal/provision/plan9_b8_census_test.go +1 −1
internal/provision/plan9_b8_census_test.go

Loading diff…

internal/provision/provision.go +25 −0
internal/provision/provision.go

Loading diff…

internal/provision/ratelimit_record_test.go +93 −0
internal/provision/ratelimit_record_test.go

Loading diff…

internal/provision/reconcile.go +19 −0
internal/provision/reconcile.go

Loading diff…

internal/provision/reconcile_ratelimit_test.go +136 −0
internal/provision/reconcile_ratelimit_test.go

Loading diff…

internal/provision/testdata/plan14-root-reads-chain.tsv +2 −0
internal/provision/testdata/plan14-root-reads-chain.tsv

Loading diff…

internal/provision/testdata/plan14-root-reads-design-edge-rate-limit-358-decisions.tsv +23 −0
internal/provision/testdata/plan14-root-reads-design-edge-rate-limit-358-decisions.tsv

Loading diff…

internal/provision/testdata/plan14-root-reads-design-edge-rate-limit-358.tsv +29 −0
internal/provision/testdata/plan14-root-reads-design-edge-rate-limit-358.tsv

Loading diff…

internal/ratelimit/clientkey.go +25 −0
internal/ratelimit/clientkey.go

Loading diff…

internal/ratelimit/clientkey_test.go +27 −0
internal/ratelimit/clientkey_test.go

Loading diff…

internal/ratelimit/limiter.go +273 −0
internal/ratelimit/limiter.go

Loading diff…

internal/ratelimit/limiter_test.go +468 −0
internal/ratelimit/limiter_test.go

Loading diff…

internal/ratelimit/settings.go +221 −0
internal/ratelimit/settings.go

Loading diff…

internal/ratelimit/settings_test.go +195 −0
internal/ratelimit/settings_test.go

Loading diff…

internal/ratelimit/shares.go +71 −0
internal/ratelimit/shares.go

Loading diff…

internal/ratelimit/shares_test.go +104 −0
internal/ratelimit/shares_test.go

Loading diff…

internal/registry/ratelimit_column_test.go +122 −0
internal/registry/ratelimit_column_test.go

Loading diff…

internal/registry/ratelimit_fingerprint_test.go +37 −0
internal/registry/ratelimit_fingerprint_test.go

Loading diff…

internal/registry/registry.go +52 −7
internal/registry/registry.go

Loading diff…

internal/registry/remote_dispatch.go +3 −0
internal/registry/remote_dispatch.go

Loading diff…

internal/usage/edge.go +29 −2
internal/usage/edge.go

Loading diff…

internal/usage/edge_ratelimit_test.go +66 −0
internal/usage/edge_ratelimit_test.go

Loading diff…

main.go +3 −0
main.go

Loading diff…

ratelimit_cli.go +479 −0
ratelimit_cli.go

Loading diff…

ratelimit_cli_test.go +415 −0
ratelimit_cli_test.go

Loading diff…