Skip to content

Backlog โ€‹

Not sequenced. Ordered work lives in planning.md. Every row says what would promote it; a row that cannot say that is a row nobody can act on.

Upstream platform status โ€‹

  • What it is. Monitor whether the platforms Lantern depends on are themselves down, so a GCP, Cloudflare, Firebase or Railway outage shows up as an outage rather than being inferred from our own failures.
  • Why it is distinct from uptime. The uptime check proves OUR endpoints answer. It cannot tell you that they stopped answering because Cloud Run is degraded in us-central1. Those are different alerts with different responses: one is "go fix our code", the other is "go read a status page and wait".
  • Raised by the operator, 2026-08-27, as a side quest.
  • What would promote it. Client error capture landing first, since a user-visible outage matters more than a vendor dashboard, and either an alerting route existing to send it to, or her asking for it sooner.

Structured logging and correlation IDs โ€‹

  • What it is. Request tracing across services, so one user action can be followed through auth, lanterns, and analytics rather than read as three unrelated log streams.
  • Why it matters here. The Errors tab now shows that something failed. It cannot show what led to it, so every investigation still starts from scratch.
  • From #164, Logging and Tracing.
  • What would promote it. A real incident where the missing trace is what costs the time.

Alerting on new or increased errors โ€‹

  • What it is. A route out of the dashboard, so nobody has to open the portal to learn something broke. #164 names PagerDuty and Slack.
  • Why it is parked rather than sequenced. Alerting on an error feed that was wrong until 2026-08-27 would have alerted on nothing. It needs a trustworthy source first, which is what planning tasks 4 and 5 build.
  • What would promote it. Tasks 4 and 5 landing, plus a decision on where an alert should actually go given she is the only person on call.

Source map upload โ€‹

  • What it is. Uploading build source maps so a minified client stack trace reads as real file and line numbers.
  • Why it matters. Without it, captured client errors arrive as unreadable minified frames, which makes the capture much less useful than it looks.
  • From #164, Error Tracking.
  • What would promote it. Client error capture landing and producing its first genuinely unreadable stack trace.

A dedicated service account for analytics-api โ€‹

  • What it is. analytics-api runs as 531553779372-compute@developer.gserviceaccount.com, the default compute account, which holds roles/editor across the project.
  • Why it is here. Found on 2026-08-27 while checking whether a logging.viewer grant was needed. It was not, because roles/editor already includes log reading, which is exactly the problem: the role is far broader than anything the service needs.
  • What would promote it. A security review pass, or any work that already touches Cloud Run service account configuration.

Built with VitePress