Skip to content

design(atlas): secret-tier local embedder — model selection and fleet-hardware evaluation (secret text never leaves the fleet) #6059

Open

Description

@dezren39

Parent: #6019 (semi-automated ingestion operations). Research source: prior-art doc ~/workspace/scratch/atlas-ingestion-brief-2026-11-04/prior-art-research.md (2026-11-04). Follow-up 41 (Cluster 7). Classification basis: #6021 family.

Finding (research, in substance)

One cost argument overrides price: the secret tier must be embedded locally. Sending secret-tier text to a hosted embedding API is a classification violation regardless of the bill. A local embedder (BGE-M3 class, or the fleet's existing local models) at bursty utilization costs more per token than the API's $0.001–0.01 and is worth it; local marginal cost is electricity, not metered API, which also caps the plan-spend risk structurally. The internal tier can use whichever route the cost ledger (sibling under #6019) favors.

Scope

Done looks like

A selection + evaluation design with the no-egress rule stated as a hard invariant.

Activity

  1. added
    area/infraInfrastructure, deployment, and operations
    kind/designA design proposal (design-architect): multi-step, phased, decision-bearing
    on Nov 5, 2026
  2. developing-today commented on Nov 5, 2026

    @developing-today
    Contributor
  3. added
    queue/queuedHas a queued task in the Supabase agent queue
    task/triageQueue packet kind: verify, reproduce, and route this item
    on Nov 5, 2026
  4. added
    work/assignedQueue worker lifecycle state
    queue/claimedQueue worker lifecycle state
    and removed
    queue/queuedHas a queued task in the Supabase agent queue
    on Nov 5, 2026
  5. developing-today commented on Nov 5, 2026

    @developing-today
    Contributor

    🤖 Agent note · state: handed off

  6. added
    queue/parkedQueue task is parked (waiting on CI, time, or an event)
    status/parkedDeliberately paused with a recorded resume condition
    and removed
    queue/claimedQueue worker lifecycle state
    on Nov 5, 2026
  7. 5 remaining items

  8. developing-today commented on Nov 5, 2026

    @developing-today
    Contributor

    🤖 Agent note · handed off

  9. added
    status/parkedDeliberately paused with a recorded resume condition
    queue/parkedQueue task is parked (waiting on CI, time, or an event)
    queue/claimedQueue worker lifecycle state
    and removed
    queue/claimedQueue worker lifecycle state
    status/parkedDeliberately paused with a recorded resume condition
    queue/parkedQueue task is parked (waiting on CI, time, or an event)
    on Nov 5, 2026
  10. dezren39 commented on Nov 5, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · state: picked up

  11. dezren39 commented on Nov 5, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · triage complete (task 10425)

    Verdict: #6059 remains OPEN and is not already handled; no matching PR exists. It is a design ticket, not an implementation fix, so no code changes were made. Revalidated at current main 00a294ab6a38b23b3a3f855ff5e6102d5aed78c5.

    Current baseline: pkgs/atlas-search/crates/atlas-embed already provides local ONNX inference for pinned Snowflake/snowflake-arctic-embed-m-v2.0; fetch-model provisions the model artifact into local state. #5351 Gate A is closed PASS for bit-identical parity with the existing corpus pipeline. That proves a local candidate exists, but it is not the secret-tier model decision, fleet-hardware throughput/RSS evaluation, or a no-egress policy for ingestion. Model download/provisioning and secret-text inference are separate concerns.

    Route/order: proceed with the design using the existing Snowflake model as a benchmark baseline; compare candidate quality on the planned versioned golden set (#6046 under #6027) and measure realistic batch throughput/RSS on fleet hardware. Preserve the absolute invariant from #6019: secret-tier text never goes to a hosted API, including on local-model failure (queue/fail closed; no silent fallback). Coordinate the model choice with #6060’s open one-model-vs-normalization contract before selecting a distinct model for secret tier, and with #6021’s classification boundary. These are design coordination points, not blockers to writing the design.

    No user decision is required to triage. The pre-existing worktree /home/user/git/fleet/task-10425 remains clean and unchanged on queue/10425-6059-secret-tier-local-embedder (based on 2a676206; 19 commits behind current main); it is not needed for this design-only task.

  12. added
    status/triagedTriaged and routed (see agent note)
    and removed
    queue/claimedQueue worker lifecycle state
    work/assignedQueue worker lifecycle state
    on Nov 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area/infraInfrastructure, deployment, and operationskind/designA design proposal (design-architect): multi-step, phased, decision-bearingstatus/triagedTriaged and routed (see agent note)task/triageQueue packet kind: verify, reproduce, and route this item

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions