Skip to content

batch: land #267, #271, #269 - #274

Merged
88plug merged 9 commits into
mainfrom
claude/converge-r4
Oct 30, 2026
Merged

88plug merged 9 commits into
mainfrom
claude/converge-r4

Conversation

@88plug

@88plug 88plug commented Oct 30, 2026 •

Copy link
Copy Markdown
Owner

Batch merge of reviewed PRs, each merged with --no-ff so its commits stay intact:

Integration: docs/intel/technical-report.md conflicted between #267 and #271. The batch keeps #267's verdict counts (H53 now INCONCLUSIVE) and adds H62 to the PENDING list, so the report reads 16 PENDING and 82 rows; tests/ledger_drift_check.py agrees (42 files, 82 rows). EXPERIMENTS.md merged without conflict and no prediction changed. console/ledger-rules.json regenerates unchanged.

Local checks on the batch head: every capacity-tests step from ci.yml (including bench/h62/test_h62.py), bench/eatflow/crescent/test_crescent.py, the claims-check job (claims_check, ledger_drift_check, pe_premise_check, model-card licenses), tests/ci_wiring_test.sh, tests/console_test.sh, tests/ledger_freshness_test.py, shellcheck v0.11.0 on the changed scripts and actionlint 1.7.12.

…and the GPU window

Amendment R1 is recorded before any H53 hold or smoke. It changes mechanics
only: no arm, model, sampling, prediction, statistic, gate, threshold, seed or
order changes, and no cap rises.

- live.sh: stage_path moves to top level. The solo path called it while it was
  defined only inside the pairs branch, so AG would have served an empty
  hostPath. The solo branch also passes LIVE_PAIRS_GUARD as --guard-s, so a
  wiring smoke runs only the warm-up.
- solo.py: alive_blocks, the blocks that can still count after each hold. The
  window stops once fewer than three can, since the verdict is then fixed at
  INCONCLUSIVE.
- prehold.sh: the window steps. E4's setup.sh under the bench lock, a model
  re-verify, front-door checks, stop and start through gpu-serving.sh (never
  rm), the AG and B2 smokes, the scored holds, per-card Prometheus records and
  a deadman that restores serving if the session dies.
…ecords

H53's window ran on crescent from 1f39488 (amendment R1). After E4's setup
and a model re-verify, both serving pairs were stopped with docker stop at
00:15Z. The wiring smokes ran, and both pairs were restored at 00:37Z.

- AG's smoke passed. agent manifest chose the GPU, and OVMS 2026.4.1 was
  ready on one card (0000:7c:00.0) and answered its warm-up.
- B2's ladder: rung (a) stops on the missing setvars.sh, as the
  pre-registration read from the image. Rung (b) gets vLLM v0.28.0 started.
  Its four XPU workers then fail in their first all_reduce: oneCCL's
  init_device_fds cannot open /dev/dri/by-path, which neither the k3d node
  container nor the pod has. Rungs (c) and (d) do not apply to that error,
  so B2 is not deliverable. By the pre-registered rule no hold runs and H53
  is INCONCLUSIVE. 0 of 8 holds were used.

Serving proof after the restore: gpu-serving.sh answered on each pair's
port, each pair's docker inspect key (image, command, env, devices, mounts,
ports) matched its pre-stop copy, and a chat through Dynamo :8100 answered
"OK" with each pair's num_requests_total rising (:30000 2 to 3, :30001 3 to
4). The technical report's counts move to 29 INCONCLUSIVE and 18 PENDING.
# Conflicts:
#	docs/intel/technical-report.md
H54d stays INCONCLUSIVE (not run); no hold used and nothing on crescent
changed. The 2026-10-21 reason that H54q had not run no longer applies.
A* is still undefined (H54a is closed with no chosen arm, and its rule
gates on B1g's score, which does not exist), and B1g stays at vLLM CPU
v0.24.0 per amendment E1, whose stall is vllm-project/vllm#45844 (note
N2). Two facts are new: an amendment defining A* and moving B off
v0.24.0 would now be written after H50 measured the moved B on the same
flow, so it would not be a pre-registration; and amendment Q1 left
H54d one of its three holds. The pairs runner still has no llama.cpp
arm A. Record in bench/h54/results/2026-10-29/H54d/not-run.txt.
…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 changed the title batch: land #267, #271 batch: land #267, #271, #269 Oct 30, 2026
@88plug
88plug merged commit 0b4eac6 into main Oct 30, 2026
80 checks passed
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