Skip to content

ARB-APR-3: parity receipt for the decide lane's cell on the agent's host (Qwen3.5-9B-Q4_K_M @ lambda-labs) #3574

Open

Description

@noahgift

ARB-APR-001 row 3, aprender-owned. rust-agentic-harness.md §3.4: a lane on a backend that has not passed parity is not a reviewer — so the apr decide lane needs a committed parity receipt for the cell it runs.

Produced 2026-09-20 rather than waiting. An earlier note here held this row until the agent host's declared apr carries CUDA (ARB-APR-2a, blocked on forjar's cargo provider having no features: field). That was the wrong call: the CLI works today — apr run answers 20/20 cells across 0.8B–27B on two GPU hosts — and holding the receipt because a preferred cell is not declared yet ships nothing while the lane runs unreceipted.

Measurement, published 0.68.2 built from crates.io with --features cuda, on the agent host (noah-Lambda-Vector, RTX 4090, sm_89, x86_64):

apr parity ~/models/Qwen3.5-9B-Q4_K_M.gguf --prompt "<68-token corpus>" --json
→ 68 positions, parity: true, passed 68 / failed 0
→ min cosine 0.9987 at position 44   (threshold for qwen3.5-9b: 0.99)
→ judged: scripts/check_model_parity.sh --judge … --model qwen3.5-9b → PASS

What this receipt does and does not certify. It certifies the (model, quant, host) cell: Qwen3.5-9B-Q4_K_M on this host passes CPU-vs-CUDA parity at the shipped threshold. The decide lane's binary on this host is currently the default-features build (default = ["cli"], no CUDA), so the lane runs the CPU arm of a cell whose CPU and CUDA arms are now measured to agree at 0.9987. That is a loud, receipted state — the doctrine allows it; what it does not allow is silence.

When ARB-APR-2a lands and the declared resource carries --features cuda, the same command re-run on the CUDA arm replaces this record rather than supplementing it, and the backend named in the run receipt must match the declared backend (ARB-APR-2's own RED).

Remaining for done_when: the infra decide config must reference this receipt, and decide must refuse apr cell unreceipted when the reference is missing. That half is infra's.

Refs #3080, #3571, ARB-APR-001 row 3

Activity

  1. added this to the 0.69.0 milestone on Sep 20, 2026
  2. modified the milestones: 0.69.0, 0.70.0, 0.72.0 on Sep 20, 2026
  3. noahgift commented on Sep 23, 2026

    @noahgift
    MemberAuthor

    milestone → 0.72.0 per docs/roadmaps/milestone-triage-2026-09-23.md (#4024), operator approval 2026-09-23 (relayed by aprender-cf). Reason: parity receipt for the agent decide lane: Agent Ready (#4000)

  4. noahgift commented on Sep 25, 2026

    @noahgift
    MemberAuthor

    PROMETHEUS (PRM-001) REX-01 cross-ref: the review lane (not the decide lane) puts gx10 CUDA as primary and lambda-labs as CPU-only failover (R-9). The ARB-APR-001 gx10 revision request is on paiml/paiml-implement#411; the executor declarations are paiml/infra#1088. Epic #4354.

  5. modified the milestones: 0.72.0, 0.71.0 on Sep 25, 2026
  6. added
    P1High priority
    and removed
    P0Critical priority
    on Oct 14, 2026
  7. noahgift commented on Oct 14, 2026

    @noahgift
    MemberAuthor

    P0 to P1 (2026-10-14 P0 triage): P0 now means it blocks the next release or carries the operator's own words on it; this issue does neither, so it stays on the 0.71.0 milestone at P1.

  8. noahgift commented on Oct 14, 2026

    @noahgift
    MemberAuthor

    merged into #5317 (master ticket for epic #4381; triage rule 7b, 2026-10-14). It is a checklist row there; reopen this issue when work on it starts or its PR opens.

  9. modified the milestones: 0.71.0, 0.73.0 on Oct 27, 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

    P1High priorityowner:la-0.71Owned by the 0.71 look-ahead slotsize:MK̂ 3-4 h

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions