Repository navigation
eat: eat-up.sh deploys EAT release-1.1.0 (ledger F4 pre-registered) - #250
Merged
Merged
Conversation
F4 is H1b's user path on the i9-13900T after eat-up.sh moves from release-1.0.3-hotfix to release-1.1.0: k3d-gpu up with the README's EAT env, eat-up.sh, eat-up.sh model cpu-qwen3-1-7b, the readiness wait, then eat-check.sh passing chat, a tool call and the sandbox's 385. Functional, n = 1. It is written before any step runs, and no doc may call the release-1.1.0 path verified until it is SUPPORTED.
eat-up.sh clones release-1.1.0 at 0c726f5, the latest EAT release (2026-10-22), in place of release-1.0.3-hotfix at 0d3438d. What the move needs, read from release-1.1.0's source: - The guardrail. deploy-agentic-stack.sh sets DEPLOY_GUARDRAILS to "on" when it is sourced (line 195), and fresh-install.sh deploys the Qwen3Guard guardrail when it is on (line 419). Only main() reads deploy_guardrails from agentic-config.cfg (line 1138), and the sourced brownfield run skips main(), so the config key alone changes nothing. brownfield.sh now reads deploy_guardrails the way read_config_file reads every other toggle and exports DEPLOY_GUARDRAILS before sourcing; with no value, EAT's default stands. - agentic-config.cfg writes release-1.1.0's new toggles out as off: deploy_guardrails, deploy_vllm_sr, deploy_openshell, deploy_kata_containers, deploy_ceph and rack_scale_mode. - vllm-values.yaml pins vllm/vllm-openai-cpu v0.28.0, the tag release-1.1.0's xeon-values.yaml names, by its index digest sha256:197354e6...df9647 (Docker Hub, read 2026-10-29). images.lock follows. - release-1.1.0 ships OpenShell, so the deploy_openshell=on refusal now says why it stops: OpenShell has not run on a k3d-gpu cluster. tests/eat_test.sh checks the tag and commit, the six toggles as EAT's read_config_file reads them, the guardrail hand-off (absent, on, off, quotes, last assignment wins, the shipped config), the vLLM digest, the refusal text, and that the gateway chart copy keeps release-1.1.0's hybrid-router callback and customRouter switch. The release-1.1.0 path has not run; it is ledger row F4.
…ified integrations/eat/README.md: the pin and its pins table (EAT, bastion, Helm, the vLLM CPU v0.28.0 digest, the gateway charts), the 1.1.0 gateway's hybrid router (a ConfigMap, no new image; the copies still differ from EAT's charts only in the 11 image lines, rendered with Helm v4.1.1 on 2026-10-29), blocker 11 (the guardrail on the brownfield path), each older blocker and upstream note rechecked at 0c726f5, and the observed end state labelled as the release-1.0.3-hotfix run. docs/platforms.md, docs/intel.md and README.md: eat-up.sh deploys release-1.1.0; the path is pre-registered as F4 and has not run; the ledger rows that pinned EAT stock at 0d3438d use their own checkouts and image tags, so the move changes none of them.
…1.1.0 turn it on With no deploy_guardrails value in the config, release-1.1.0 deploys its Qwen3Guard guardrail: deploy-agentic-stack.sh:195 defaults DEPLOY_GUARDRAILS to on and brownfield.sh keeps that default. Every config written for release-1.0.3-hotfix lacks the key, so an EAT_CONFIG carried over from the previous pin would bring up the guardrail (a 2 CPU / 16Gi vLLM pod whose image guardrail-values.yaml names by tag only, screening every gateway request) while the docs say the guardrail is off. eat-up.sh now stops before touching the cluster when the config gives deploy_guardrails no value, read the way read_config_file reads it, and asks for off or on. The shipped agentic-config.cfg sets it off, so F4's path is unchanged. openshell_setting becomes cfg_value <cfg> <key> for both checks. tests/eat_test.sh 3c covers a missing key, an empty value, a commented-out line, another key that mentions it, last assignment wins, and off, on and a quoted value passing.
88plug
force-pushed
the
claude/eas-eat-110
branch
from
October 29, 2026 21:30
5ce100a to
34d2878
Compare
This was referenced Oct 29, 2026
This was referenced Oct 30, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
integrations/eat/eat-up.shnow deploys EATrelease-1.1.0at0c726f5instead ofrelease-1.0.3-hotfixat0d3438d.release-1.1.0(published 2026-10-22) is still EAT's latest release and latest tag on 2026-10-29 (gh api .../releases,git ls-remote --tags). The compare is 18 ahead, 0 behind, 204 files. This is the EAT 1.x part of the EAS plan. It does not depend on the EAS parts.Not verified. Nothing here has run against a cluster. The user path on the new tag is pre-registered as ledger row F4 (PENDING), committed first in this branch, before any run. No doc says the
release-1.1.0path works; each says it is F4 and not yet run.What changes
eat-up.sh:EAT_TAG=release-1.1.0,EAT_COMMIT=0c726f576595971c53cc45b94e08ba969beb4a4a.agentic-config.cfgsetsrelease-1.1.0's new toggles tooff:deploy_guardrails,deploy_vllm_sr,deploy_openshell,deploy_kata_containers,deploy_cephandrack_scale_mode.brownfield.shpasses the config'sdeploy_guardrailsto EAT'sDEPLOY_GUARDRAILSbefore it sourcesdeploy-agentic-stack.sh. The config key alone would not stop the guardrail (see "Two corrections" below).vllm-values.yamlpinsvllm/vllm-openai-cpu:v0.28.0@sha256:197354e6475e638eb5ccca09beb078488046a82de0e204e7429bf1a804df9647. That is the tagrelease-1.1.0'sxeon-values.yaml:34names. The digest is the one crescent amendment E1 recorded, andscripts/images-lock digestreturns the same value today.images.lockchanges only that entry.deploy_openshell=onrefusal used to say the tag has no OpenShell role. It now gives the real reason: OpenShell ships inrelease-1.1.0but has never run on a k3d-gpu cluster.integrations/eat/README.md(the pin, a pins table, the 1.1.0 gateway, blocker 11, the old blockers and upstream notes rechecked at0c726f5, and the observed end state labelled as the 1.0.3 run),docs/platforms.md(the EAT section, including the stale lines 233-238),docs/intel.mdandREADME.md.bench/eatflowpins are untouched. The ledger rows that pinned EAT stock at0d3438duse their own EAT checkouts and set their own vLLM tag (H50, H50o and H51 under E1, H7x under V1, H7 and H8 inbench/apb/h7.shandarm.sh). The move changes none of them, andbench_test.shstill passes.Two corrections to the plan, from EAT's source
The guardrail ignores
deploy_guardrailson the brownfield path.main(), which the sourced brownfield run never reaches.deploy-agentic-stack.sh:195setsDEPLOY_GUARDRAILS="${DEPLOY_GUARDRAILS:-on}"at source time.main()(:1136-1140) copiesdeploy_guardrailsfrom the config into it.fresh-install.sh:419deploysQwen/Qwen3Guard-Gen-0.6BwhenDEPLOY_GUARDRAILSison.So
brownfield.shreads the key the wayread_config_filereads every other toggle: trimmed, quotes dropped, last assignment wins. It then exportsDEPLOY_GUARDRAILS, and with no value EAT's default stays.Dropping
_auto_skip_deployed_componentschanges nothing for eat-up. At0d3438dit was called only fromrun_deployment(deploy-agentic-stack.sh:783), which onlymain()calls (:1133). eat-up's path never ran it.Review of 0d3438d...0c726f5 against brownfield.sh, gateway-charts.py and gateway-values.yaml
core/playbooks/setup-bastion.yml--break-system-packages(:73,:171). The bastion's/etc/pip.confline is now redundant but harmless, and it stays.creates: /usr/local/bin/helm) tasks are unchanged, so the baked Helm still skipsget-helm-3.core/playbooks/deploy-agent-sandbox.ymlsandbox_router.yamldownload.agentic-metadata.cfg). The router, its auth Secret and the warm pool thateat-check.shuses are unchanged.core/lib/user-menu/parse-user-prompts.sh--compute_platformused to setcpu, which was a bug; it now setscompute_platform.prompt_for_inputauto-enables NRI balloons only whencompute_platformiscanddeploy_nri_balloon_policyis empty.off, so the "Proceeding" branch runs as before.compute_platformdefaults tocpu(config-vars.sh:16).core/lib/brownfield/has no diff, so the menu answers5 / 1 / yesstill hold.brownfield.shcalls is still defined:_source_core_libsat:631DEPLOY_SOURCEDat:1188manage_kubeconfig,read_config_file,prompt_for_input,setup_initial_env,setup_bastionanddeploy_inference_llm_models_playbookdeploy_inference_llm_models_playbookstill passesxeon_values_file=${xeon_values_file_path}, so the merged values still reach the playbook.core/helm-charts/genai-gatewaycustomRouter.enabled: truemounts the router's Python from a new ConfigMap,genai-gateway-router-code(templates/router-configmap.yaml).litellm_settings.callbacksgainscustom_hybrid_router.proxy_handler_instance.The config moves to
/app/proxy_config.yamlthrough asubPathmount. A ConfigMap edit therefore reaches LiteLLM only after a pod restart, andeat-remote.shalready restarts the pod.A
policyPlaneblock was added; it defaults tofalse.No new image and no
Chart.yamlchange.gateway-charts.pyruns clean on the 1.1.0 charts and keepscustomRouterand the callback.eat_test.shnow checks both.Rendered with
helm template(Helm v4.1.1 here, the same dependency charts and values on both sides), the copies differ from EAT's charts only in 11image:lines: 4 in the gateway, 7 in Langfuse. Every one of them is name:tag@sha256.The restore job's
bitnami/kubectl:lateststays behindrestoreJob.enabled: false.The callback should load in the pinned LiteLLM
v1.83.14-stable.patch.2(b36fb1d). Every name it patches or imports exists there:Router._is_auto_router_deployment(router.py:6823)_add_deployment(:7235)async_pre_routing_hook(:9902)ComplexityRouterConfig,ComplexityTierandDEFAULT_*_KEYWORDSnames inrouter_strategy/complexity_router/config.pyThis is read from source, not run, and it is one of F4's named risks.
The Langfuse values change only
telemetryEnabled(tofalse), which the overlay does not touch.core/helm-charts/vllmv0.28.0, and the pod gainsfsGroup: 1001.memoryLimitis a separate value that defaults tomemory, so ours (16Gi) is still the limit.storageClassName: local-path. k3s's default class islocal-path.cpufalls back to the model config only when it is unset; ours sets"8".deploy-inference-models.ymlcpu-qwen3-1-7bis still in 1.1.0's model list (install-cpu-qwen3-1-7b, lines 826-911).Qwen/Qwen3-1.7Bis still amodelConfigskey (xeon-values.yaml:193, KV 40).--setlines are gated onballoon_policy_cpu == 'enabled', which is off here.get_model_names(model-selection.sh:106), soeat-up.sh model <id>is still needed (blocker 8).eat-opt.pyruns clean on the real 1.1.0 playbook and merged values. It reads vLLM 0.28.0, keeps EAT'shermesparser, adds--reasoning-parser qwen3and thinking off, and chooses no speculative config before v0.31.0.vLLM
v0.28.0itselfVLLM_CPU_SGL_KERNEL.vllm/envs.pydefines it at v0.24.0 and not at v0.28.0; the change is vllm-project/vllm#50801.Ledger: F4 (PENDING)
release-1.1.0on the i9-13900T, on one fresh clusterk3dgpu-f4-eat.k3d-gpu upwith the README's EAT enveat-up.sheat-up.sh model cpu-qwen3-1-7b--field-selector=status.phase!=Succeeded, 30 min)eat-check.shk3d-gpu downeat-check.shto pass the chat, theget_weathertool call and the sandbox's385.EXPERIMENTS.md.Coordination
images.lock, near line 405. This branch changes the vLLM CPU entry, near line 277.git merge-treewith Latest tooling pins (2026-10-29) and crescent amendment E4 #238's head is clean, and so is ledger(H54q): INCONCLUSIVE on the Xeon 6741P; runner amendment Q2 and the run #243.e5748cd1(after docs: state what ran on the Xeon 6741P instead of "simulated sysfs only" #246). The one conflict wasdocs/intel.md's planned list: docs: state what ran on the Xeon 6741P instead of "simulated sysfs only" #246's hardware-coverage bullet (H52 and H52b REFUTED) is kept as main has it, and this branch's "EAT 1.1.0 run" bullet replaces main's "EAT 1.1.0" bullet, which said the move waits until no pending ledger row pins0d3438d. Those rows use their own EAT checkouts (see "What changes").claude/agentstack-eat-release-1-1-0, that also moveseat-up.shtorelease-1.1.0, as anEAT_RELEASEopt-in with ledger row H1c. It touches the same files, so whichever lands second rebases onto the first and drops the duplicate pin.eas-prefix.Checks run (all pass)
tests/eat_test.shtests/detect_test.shtests/reserved_cpus_test.shtests/bench_test.shtests/image_pins_test.shscripts/images-lock checkandscripts/images-lock pinstests/platforms_doc_test.shtests/ci_wiring_test.shtests/claims_check.shtests/ledger_drift_check.pyeat-up.sh,brownfield.sh,eat-check.sh,eat-remote.shandeat_test.shpython:3.14.8-slim, hash-locked toolchaintests/docs_test.sh63 passed;mkdocs build --strictcleanNot verified
DEPLOY_GUARDRAILSin0c726f5.utilstasks never running with balloons off