carlos / platform Public

Merge forge main (8e16153) into worktree-password-gate

The one conflict was in edge.go's ServeHTTP: main rewrote the usage
meter's comment for the unconditional observing writer (errors spec
§3.3) where this branch inserts the login-POST re-resolve block. Both
kept; the gate step still sits after the wrapper and before the upgrade,
cache and activator branches.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Paul Campbell pushed by paul@keymail.dev dd8597526412a9dc4e64647e3ef54716e8321bda parent 0880da8parent 8e16153
66 files changed, +10471 −110
  • apimode.go +52 −0
  • docs/site/cli.md +17 −0
  • docs/superpowers/plans/2026-09-07-errors-step1-log-and-edge.md +3287 −0
  • docs/superpowers/specs/2026-09-07-errors-and-analytics-design.md +842 −0
  • docs/superpowers/specs/2026-09-07-media-platform-roadmap-design.md +1000 −0
  • docs/superpowers/specs/2026-09-07-relay-stun-turn-design.md +725 −0
  • docs/superpowers/specs/CODEX-FINDINGS-MEDIA-R2.md +169 −0
  • docs/superpowers/specs/CODEX-FINDINGS-MEDIA-R3.md +106 −0
  • docs/superpowers/specs/CODEX-FINDINGS-MEDIA-R4.md +96 −0
  • docs/superpowers/specs/CODEX-FINDINGS-MEDIA-R5.md +36 −0
  • docs/superpowers/specs/CODEX-FINDINGS-MEDIA.md +196 −0
  • docs/superpowers/specs/CODEX-FINDINGS-RELAY-R2.md +205 −0
  • docs/superpowers/specs/CODEX-FINDINGS-RELAY-R3.md +156 −0
  • docs/superpowers/specs/CODEX-FINDINGS-RELAY-R4.md +61 −0
  • docs/superpowers/specs/CODEX-FINDINGS-RELAY-R5.md +31 −0
  • docs/superpowers/specs/CODEX-FINDINGS-RELAY-R6.md +15 −0
  • docs/superpowers/specs/CODEX-FINDINGS-RELAY.md +237 −0
  • docs/superpowers/specs/CODEX-REVIEW-BRIEF-MEDIA.md +96 −0
  • docs/superpowers/specs/CODEX-REVIEW-BRIEF-RELAY.md +69 −0
  • errors_cmd.go +146 −0
  • errors_cmd_test.go +25 −0
  • internal/activator/activator.go +14 −2
  • internal/appconfig/appconfig.go +1 −1
  • internal/appconfig/syncexec.go +6 −3
  • internal/appconfig/syncexec_test.go +46 −0
  • internal/apperr/fingerprint.go +76 −0
  • internal/apperr/fingerprint_test.go +62 −0
  • internal/apperr/group.go +80 −0
  • internal/apperr/group_test.go +33 −0
  • internal/apperr/read.go +122 −0
  • internal/apperr/read_test.go +87 −0
  • internal/apperr/record.go +77 −0
  • internal/apperr/sanitize.go +130 −0
  • internal/apperr/sanitize_test.go +53 −0
  • internal/apperr/sink.go +158 −0
  • internal/apperr/sink_test.go +172 −0
  • internal/applog/chunk.go +57 −16
  • internal/applog/chunk_test.go +58 −0
  • internal/applog/read.go +35 −19
  • internal/applog/read_test.go +29 −0
  • internal/console/apierrors.go +99 −0
  • internal/console/apierrors_test.go +242 −0
  • internal/console/authcli.go +10 −0
  • internal/console/errorsview.go +301 −0
  • internal/console/server.go +60 −0
  • internal/console/svcroutes_test.go +11 −1
  • internal/console/templates/account_settings.html +21 −0
  • internal/console/templates/app_errors.html +79 −0
  • internal/console/templates/app_settings.html +24 −0
  • internal/console/templates/appnav.html +1 −0
  • internal/edge/answered.go +37 −0
  • internal/edge/answered_test.go +19 −0
  • internal/edge/edge.go +77 −13
  • internal/edge/edgeerrors_test.go +172 −0
  • internal/edge/storedoor.go +25 −19
  • internal/edge/storedoor_test.go +12 −0
  • internal/edge/usagemeter.go +34 −5
  • internal/edge/usagemeter_test.go +26 −0
  • internal/host/agent.go +13 −0
  • internal/host/errship.go +109 −0
  • internal/host/errship_test.go +37 −0
  • internal/host/logship.go +7 −22
  • internal/host/logship_test.go +2 −9
  • internal/telemetry/telemetry.go +139 −0
  • internal/telemetry/telemetry_test.go +47 −0
  • main.go +4 −0

CI passed — run details

apimode.go

Loading diff…

docs/site/cli.md

Loading diff…

docs/superpowers/plans/2026-09-07-errors-step1-log-and-edge.md

Loading diff…

docs/superpowers/specs/2026-09-07-errors-and-analytics-design.md

Loading diff…

docs/superpowers/specs/2026-09-07-media-platform-roadmap-design.md

Loading diff…

docs/superpowers/specs/2026-09-07-relay-stun-turn-design.md

Loading diff…

docs/superpowers/specs/CODEX-FINDINGS-MEDIA-R2.md

Loading diff…

docs/superpowers/specs/CODEX-FINDINGS-MEDIA-R3.md

Loading diff…

docs/superpowers/specs/CODEX-FINDINGS-MEDIA-R4.md

Loading diff…

docs/superpowers/specs/CODEX-FINDINGS-MEDIA-R5.md

Loading diff…

docs/superpowers/specs/CODEX-FINDINGS-MEDIA.md

Loading diff…

docs/superpowers/specs/CODEX-FINDINGS-RELAY-R2.md

Loading diff…

docs/superpowers/specs/CODEX-FINDINGS-RELAY-R3.md

Loading diff…

docs/superpowers/specs/CODEX-FINDINGS-RELAY-R4.md

Loading diff…

docs/superpowers/specs/CODEX-FINDINGS-RELAY-R5.md

Loading diff…

docs/superpowers/specs/CODEX-FINDINGS-RELAY-R6.md

Loading diff…

docs/superpowers/specs/CODEX-FINDINGS-RELAY.md

Loading diff…

docs/superpowers/specs/CODEX-REVIEW-BRIEF-MEDIA.md

Loading diff…

docs/superpowers/specs/CODEX-REVIEW-BRIEF-RELAY.md

Loading diff…

errors_cmd.go

Loading diff…

errors_cmd_test.go

Loading diff…

internal/activator/activator.go

Loading diff…

internal/appconfig/appconfig.go

Loading diff…

internal/appconfig/syncexec.go

Loading diff…

internal/appconfig/syncexec_test.go

Loading diff…

internal/apperr/fingerprint.go

Loading diff…

internal/apperr/fingerprint_test.go

Loading diff…

internal/apperr/group.go

Loading diff…

internal/apperr/group_test.go

Loading diff…

internal/apperr/read.go

Loading diff…

internal/apperr/read_test.go

Loading diff…

internal/apperr/record.go

Loading diff…

internal/apperr/sanitize.go

Loading diff…

internal/apperr/sanitize_test.go

Loading diff…

internal/apperr/sink.go

Loading diff…

internal/apperr/sink_test.go

Loading diff…

internal/applog/chunk.go

Loading diff…

internal/applog/chunk_test.go

Loading diff…

internal/applog/read.go

Loading diff…

internal/applog/read_test.go

Loading diff…

internal/console/apierrors.go

Loading diff…

internal/console/apierrors_test.go

Loading diff…

internal/console/authcli.go

Loading diff…

internal/console/errorsview.go

Loading diff…

internal/console/server.go

Loading diff…

internal/console/svcroutes_test.go

Loading diff…

internal/console/templates/account_settings.html

Loading diff…

internal/console/templates/app_errors.html

Loading diff…

internal/console/templates/app_settings.html

Loading diff…

internal/console/templates/appnav.html

Loading diff…

internal/edge/answered.go

Loading diff…

internal/edge/answered_test.go

Loading diff…

internal/edge/edge.go

Loading diff…

internal/edge/edgeerrors_test.go

Loading diff…

internal/edge/storedoor.go

Loading diff…

internal/edge/storedoor_test.go

Loading diff…

internal/edge/usagemeter.go

Loading diff…

internal/edge/usagemeter_test.go

Loading diff…

internal/host/agent.go

Loading diff…

internal/host/errship.go

Loading diff…

internal/host/errship_test.go

Loading diff…

internal/host/logship.go

Loading diff…

internal/host/logship_test.go

Loading diff…

internal/telemetry/telemetry.go

Loading diff…

internal/telemetry/telemetry_test.go

Loading diff…

main.go

Loading diff…