Skip to content

Make embedding calibration GPU-only and correct true-idle timing #1558

Description

@TheGreenCedar

Problem

CodeStory supports accelerated embeddings only. The calibration control plane still carried a hosted Linux CPU lane and could spend repeated packaged-harness runs measuring qualification work that does not select runtime constants.

The same calibration cycle must also repair true_idle_exit: the measurement began when a later snapshot noticed an already-idle scheduler instead of when the final product request completed. That understated the observed idle interval.

Product decision

  • CPU embeddings are unsupported. Calibration and release proof must reject backend: cpu, cpu_explicit, and CODESTORY_EMBED_ALLOW_CPU=1.
  • Protected Apple Silicon Metal is the sole required calibration cell.
  • Protected Linux Vulkan may supply optional parallel evidence. Missing Linux hardware must not block calibration assembly or trigger a fallback.
  • Lifecycle, fault, true-idle, memory, retrieval-quality, and accelerator qualification belong to frozen-candidate qualification, once per available GPU platform.

Acceptance

  • Calibration measures only the raw values that feed the seven runtime-constant groups.
  • Three independent clean records use three fresh server generations and one sample per named metric per generation.
  • Each cell authenticates and unpacks one archive, prepares projects and requests once, reuses one materialized model, and reuses one shared Cargo build/package result.
  • Runtime-constant freezing does not invent or rewrite thresholds for omitted measurements.
  • true_idle_exit begins at completion of the final product request and is qualified against the fixed 60-second product timeout plus an explicit observation grace.
  • Full lifecycle and fault qualification run once on the frozen candidate per available GPU platform.
  • Workflow-policy mutations fail if they reintroduce CPU, qualification work during calibration, 3x3 sampling, repeated setup/build/package, or Linux-gated assembly.
  • One independently accepted exact-head source proof precedes calibration. The generated constant set is the sole source change after calibration.

Calibration-input digest reuse is useful follow-up work, but it does not block this repair.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    Status
    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions