Skip to content

Track in-flight work and add deploy-precheck state for O1.2.5 (B1) #810

Open

Description

@anneoneone

O1.2.5 lets Anton deploy the API by hand without cutting a show. Right before a deploy, the host asks the API whether anything is still running. This ticket adds the state the API needs to answer that truthfully. It is work package B1 of the O1.2.5 contract.

The contract is the spec. This ticket only gives B1 its own claim:

Already done: check-config in #745.

Done when:

  • One RAII work tracker in AppState reports every background write. Spawned tasks carry it, with no moment where it reads zero. A test rejects new unclassified tokio::spawn sites.
  • One route layer guards every upload route (init, chunk, file, finalize and single-step uploads), from entry to the last write.
  • State accessors exist for every precheck field in the contract: active producer (including is_test), recording, finalization in progress (including leftovers on disk), pending uploads (RFC3339 expiry parsed in Rust), scheduler start in progress, catch-up pending (one eligibility function shared with the scheduler) and next scheduled start.
  • Missing instrumentation never reads as idle. Unknown state means refuse.
  • The contract's fixtures pass.

Parent: #381

Notes

Activity

  1. anneoneone commented on Oct 14, 2026

    @anneoneone
    CollaboratorAuthor

    Ready, executor Claude. Anton approved Ready on 2026-10-14. No open dependencies: the main-to-interim sync (#734) and #724 are done.

    Scope is work package B1 of the O1.2.5 contract v2 (#381 (comment)). Codex reviews. Branch from and target dev/312-interim.

  2. added
    priority::highDo first: major token/API savings, unattended blockers, or safe parallel execution
    and removed on Oct 14, 2026
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

    executor::claudeExecutor: the Claude runner does this workpriority::highDo first: major token/API savings, unattended blockers, or safe parallel executionproject::InfrastructureArea: hosting, networking, server commsstatus::readytype::backendLayer: Rust/Axum backend (handlers, DB, integrations)

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions