Skip to content

Gate elimination: serve billing + leads routes from aether worker (Workers Builds lane, zero secrets) if bridge secrets lane stays red #119

Description

@atomeam

Standing doctrine (from owner, 2026-06-12)

Forget gates — build doable, automatable alternatives every time. No fix may end as "wait for the owner" if an automated path exists.

Context

Task (for code agents — Devin/Cline/OpenHands/council)

  1. Verify whether Workers Builds: aether goes green on main at/after b4bfdb4. If yes, the no-secrets lane is proven.
  2. If the bridge secrets lane is still red at that point, mount the billing + leads routes on the aether worker (root wrangler.toml, deployed by Workers Builds): same KV STATE + D1 bindings already exist on aether, so the webhook → hashed-API-key flow and leads D1 writes can run there unchanged. Route: aether.a-to-mind.com/api/billing/* + /api/leads, and update the SPA contact/pricing POST target accordingly.
  3. Diagnose Workers Builds: loxa — worker loxa is not in the repo's wrangler configs; find what repo/path Cloudflare maps it to, fix or disconnect it.
  4. Fix the dual curator-jobs consumer: root (aether, dispatcher) and apps/bridge (executor) both declare [[queues.consumers]] on curator-jobs. CF allows one consumer per queue — bridge should own it per the file comments. Remove the consumer block from root.

Definition of done

  • A green Workers Builds deploy of aether from main, AND
  • https://bridge.a-to-mind.com/api/billing/webhook or https://aether.a-to-mind.com/api/billing/webhook live on current main code (verified by verify:billing once STRIPE_WEBHOOK_SECRET exists), AND
  • exactly one curator-jobs consumer.

Constraints

  • PRs only, merge only on green CI. No secrets in code/issues. Canonical CF account 95745fedbea06314e24c27233033a37d.

Refs #117, #118.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions