Skip to content

ledger(H62): pre-register k3d-gpu against Intel's EAS default (EAS v1.2.0-rc.1 with EAT 2.0), with its runner - #271

Merged
88plug merged 2 commits into
mainfrom
claude/h62-eas-prereg
Oct 30, 2026
Merged

88plug merged 2 commits into
mainfrom
claude/h62-eas-prereg

Conversation

@88plug

@88plug 88plug commented Oct 30, 2026 •

Copy link
Copy Markdown
Owner

H62 asks H50's question again, this time against Intel's new default for the agent toolkit. That default is EAT 2.0 installed through EAS, as EAT release-2.0.0's README and docs/single-node-deployment.md describe it.

This PR adds the pre-registration and its runner. Nothing has run on crescent: it was only read, over read-only ssh, to check the plan is feasible. No guest exists there yet.

What is pre-registered (EXPERIMENTS.md, row H62 and its section)

  • Arms.
    • A1 is H50's A1, unchanged: agent manifest, OVMS 2026.4.1 int4 on the snapped QAT IR, CPU, no draft.
    • B5 is Intel's documented single-node install: EAS v1.2.0-rc.1 (5c27fb3) with Kubespray onto localhost. It installs EAT release-2.0.0 (036b662) and enterprise-inference release-1.1 (170eb3a), and serves the catalog entry gemma-4-26b (vLLM CPU v0.28.0 on KServe, NRI balloons) on the QAT weights.
  • Why both arms run in KVM guests.
    • Kubespray v2.30.0 on crescent's host would run its "Uninstall docker" reset. That removes every container, the serving pairs included.
    • EAS's configure refuses Ubuntu 26.04.
    • A1 gets a guest of the same shape, so neither arm gets bare metal. One shape does not show the guest costs vLLM CPU and OVMS alike, so the VM tax is described on both sides, never gated: A1 in its guest against H50's A1 on the host, and B5 in its guest against H50's B1 on the host (same vLLM image and weights, another deployment).
  • Named deviations from stock.
    • D1: the layer manifest's two branch revs are pinned to the commits that Intel's own comments on those lines name. These are the rc.1 release notes' component table.
    • D2: gemma-4-26b's model_id is the QAT checkpoint, the same deviation as amendment M1.
    • D3: the guest itself.
    • D4: the harness reaches B5's workload Service, not EAS's LiteLLM gateway with the content-safety guardrail and the hybrid router that Intel's agents use. It leans toward B5.
  • Design, statistic, gates, scorer and verdict rule. All are H50's: rule L3, seed H62-crescent-2026-10-29, and agentbench pairs-report --hyp H62 --arm-a A1 --arm-b B5.
  • Before hold 1.
    • Setup gates: memory, disk, AMX on every vCPU in each guest, the NFD label, and B5's weights equal to the QAT checkpoint.
    • Install ceilings: 45 min for VM a, 120 min for VM b.
    • A wiring smoke: EAS's own validate agent-toolkit, plus eat-check.sh in EAS mode through EAS's gateway.
  • Holds.
    • Holds run until 24 pairs or 8 holds, at most 40 min each.
    • Each hold restarts both serving pods first.
    • Two holds in a row that are not deliverable stop the row.
  • Predictions. REFUTED 0.6, INCONCLUSIVE 0.35, SUPPORTED 0.05.
  • Re-run trigger. It fires when an EAS release at v1.2.0 or later, or an EAT release at 2.0.0 or later, is tagged (bench/h62/upstream.sh); release candidates do not fire it.
    • Before hold 1, a dated amendment re-pins B5 to the tagged release.
    • After hold 1, H62 keeps its verdict and a new row, H62r, is pre-registered.
  • A-EAS (k3d-gpu eas up --agent-toolkit --eas-ref v1.2.0-rc.1, from eas: k3d-gpu eas up, down, status and check (EAS with EAT 2.0 on a k3d-gpu cluster) #260) is described as a later F row and is not part of this one.

Runner

  • bench/h62/:
    • h62.py: the pins, the guests' QEMU command lines and cloud-init, the gates, D1, the documented edit and D2, the pod picks, the weight-check script, the re-run trigger and the VM tax.
    • qemu.Dockerfile: QEMU from Ubuntu 26.04, pinned, so the host gets no package.
    • vm.sh, guest-a.sh, guest-b.sh, setup.sh, smoke.sh, arm.sh (with arm-A1 and arm-B5), pairs-hold.sh, campaign.sh, teardown.sh and upstream.sh.
  • bench/eatflow/live.sh: ARM=H62 in pairs mode drives the two remote arms. The local arms run unchanged in the other branch, and from the LiteLLM gateways on, the hold is H50's code.
  • bench/eatflow/pairs.py: DESIGNS["H62"] and its seed. A pod cgroup can now be an exec: command, so the idle-arm check reads each pod inside its guest.
  • bench/eatflow/crescent/serving.py: SERVING_VMS records the guests' CPU as vm_cpu, outside the serving covariate.
  • docs/intel/technical-report.md now counts 82 rows, 20 of them PENDING.

Depends on

The wiring smoke uses integrations/eat/eat-check.sh's EAS mode from #260. The deploy commit must include #260. If #260 has not merged when crescent is ready, a run branch merges #260's head, as amendment E3 did.

Checks run

  • bench/h62/test_h62.py: 53 tests, against stubs, with no VM.
  • bench/eatflow/test_pairs.py: 66 tests, including H62Test.
  • bench/eatflow/crescent/test_crescent.py: 48 tests, including ServingVmTest.
  • bench/eatflow/test_agentbench.py, test_solo.py, test_h4345.py and crescent/test_holds.py.
  • tests/ledger_drift_check.py (82 rows), tests/claims_check.sh, tests/claims_check_test.sh, tests/bench_test.sh, tests/ci_wiring_test.sh, tests/image_pins_test.sh, scripts/images-lock pins and tests/docs_test.sh.
  • shellcheck v0.11.0 at warning severity, on every new script and on live.sh.

Nothing here has run on crescent or in a guest. AMX passthrough, the Kubespray install behind user-mode networking, and the VM tax are named in the pre-registration as risks the setup gates check.

…ts runner

H62 asks H50's question against Intel's new default for the agent toolkit:
EAS v1.2.0-rc.1 (5c27fb3) installing EAT 2.0 (release-2.0.0 036b662) and
enterprise-inference release-1.1 (170eb3a) with Kubespray onto one node,
serving its gemma-4-26b catalog entry. A1 is H50's A1 unchanged. Both arms
run in KVM guests of one shape on crescent, because Kubespray on the host
would remove Docker and the serving pairs, and EAS's configure refuses
Ubuntu 26.04. The design, statistic, gates, scorer and verdict rule are
H50's (rule L3, seed H62-crescent-2026-10-29). The deviations from stock
are named: D1 pins the layer manifest's branches to the commits its own
comments name, D2 serves the QAT checkpoint, D3 is the guest. A re-run
fires when EAS v1.2.x or an EAT 2.x release is tagged.

The runner is bench/h62: the guests' QEMU in a pinned container, each
guest's setup, the setup and wiring-smoke gates, per-arm control for
live.sh, the hold wrapper, the campaign and the teardown. live.sh gains a
remote-arm branch for ARM=H62; the local arms run unchanged. pairs.py
reads a pod cgroup through an exec: command, so the idle-arm check reads
the pod inside its guest. serving.py records the guests' CPU as vm_cpu.
The technical report counts 82 rows, 20 of them PENDING.
… arms, widen the re-run trigger

Review of the H62 pre-registration against Intel's sources, before any H62 step.

B5's turns reach EAS's workload Service directly, while Intel's agents reach the model through
EAS's LiteLLM gateway with the content-safety guardrail and the hybrid router (EAT release-2.0.0
config.yaml lines 20-28). The pre-registration described the bypass but listed only D1-D3 as
deviations from stock. It is now D4, in the row and the section, with its direction: it leans
toward B5.

One guest shape gives neither arm bare metal, but it does not show the guest costs vLLM CPU and
OVMS alike. vmtax now also describes B5 in its guest against H50's B1 on the host (the same vLLM
CPU v0.28.0 image and QAT weights under another deployment), never gated, and the risk is named.

The re-run trigger fired only on EAS v1.2.x and EAT 2.x tags, so a GA shipped as EAS v1.3.0 or
v2.0.0, or an EAT hotfix tag, would not re-run H62. It now fires on any EAS release at v1.2.0 or
later and any EAT release at 2.0.0 or later, release candidates excluded.

The section also records that EAT's README clones EAS main, which names EI main and EAT branch
agentic-toolkit-migration, and that KServe v0.21.0 is newer than EI's v0.18.0. Predictions are
unchanged.
@88plug
88plug merged commit 106a0fa into main Oct 30, 2026
5 checks passed
88plug added a commit that referenced this pull request Oct 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant