Skip to content

port(go): Spark-independent Codex quota scope from #599 #663

Closed as not planned

Description

@Wibias

Context

Transition workflow for #599 (scope Spark cooldowns to its native quota).

Why a port is needed

Go already has Codex routing and cooldowns (go/internal/codex/routing.go, routing_health.go, auth_context.go) and knows gpt-5.3-codex-spark in the catalog, but it does not yet have the #599 CodexQuotaScope model (shared vs spark), scoped health maps, or independent pool/affinity behavior so Spark reset-derived cooldowns stay out of the shared Terra/Luna native scope.

Source commits

  • 20cdc0d1 — fix: scope Spark cooldowns to its native quota (#599)

Scope (suggested)

Port against the current TS oracle on dev2-go:

  • src/codex/routing.ts (CodexQuotaScope, NATIVE_MODEL_QUOTA_SCOPES, scoped health/pools/affinity)
  • src/codex/auth-context.ts
  • src/server/responses/core.ts / compact.ts metadata plumbing
  • matching tests under tests/codex-*.test.ts and responses compaction/failover coverage

Done when

Go keeps Spark reset-derived cooldowns in the Spark scope while preserving shared Terra/Luna behavior and account-wide Retry-After/default cooldowns, with Go tests green on dev2-go.

Activity

  1. github-actions commented on Jul 29, 2026

    @github-actions
    Contributor

    Automated translation bookkeeping — detected language: English.

  2. lidge-jun commented on Jul 29, 2026

    @lidge-jun
    Owner

    Closing: the dev2-go Go native-port line is retired, so this port obligation no longer exists.

    The dual-track policy required every merge into dev to be rebased onto dev2-go and ported under go/. That cost outran its return — the carry backlog never cleared and dogfooding the Go runtime kept producing new defects. Bun-native TypeScript on dev is the single runtime line again.

    The branch history is preserved read-only at https://github.com/lidge-jun/opencodex-go-archive, and its final tip stays reachable in this repository as the archive/dev2-go tag. The needs-go-port label is retired.

    The TypeScript change this issue tracked is already on dev; only the Go counterpart is dropped. Future native work is expected to be an incremental module on dev (Rust via N-API is the current candidate) rather than a second integration branch. See MAINTAINERS.md for the decision record.

  3. lidge-jun commented on Jul 29, 2026

    @lidge-jun
    Owner

    Closing this as not planned: the Go native-port line it belonged to has been retired.

    What changed. We ran dev (Bun-native TypeScript) and dev2-go (Go native port) as two integration lines, and every merge into dev carried an obligation to port the same change onto dev2-go. In practice that dual track cost more than the port returned — dogfooding the Go runtime kept surfacing new defects faster than we closed them, and the carry queue never emptied. So dev is once again the single integration line, and there is no port obligation attached to a dev merge any more.

    Nothing is lost. The full dev2-go history is archived at lidge-jun/opencodex-go-archive, and the final tip is tagged archive/dev2-go in this repository. If native code returns, the plan is an incremental module (for example Rust via N-API) landing on dev, not a second full-runtime branch.

    The underlying fix is already on dev — this issue only tracked the missing Go counterpart, so there is no behavior regression from closing it. The needs-go-port label is retired as well.

    Sorry for the churn, and thank you for the carry and port work you put into this line. It was genuinely useful for learning where the runtime boundaries are; the direction change is on me, not on the work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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