[Bug Bash] env main doesn't work with Substrate main

オープン
#113 コメント 2 件 リアクション 0 件 担当者 1 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

@rakyll がすでに取り組んでいます。

2026年10月27日 から。

評価

この issue はまだ評価されていません。

説明

Summary

ate-env at main can't create environments on a cluster running current Substrate main.
Every CreateEnvironment fails, so the ate-env bug bash flow stops at step 1. No env branch
currently supports a Substrate newer than ddb46651.

Versions

Component Version
env main @ de462e9 (Go module pinned to Substrate 3a2ca623, 2026-10-16)
Substrate on cluster 834df30e (2026-10-20) — also reproduces with anything at or after a9958d16
Cluster GKE 1.35, gVisor node pool

Steps to reproduce

  1. Install Substrate from main (bug bash Quickstart: Setup + S1).
  2. Build ate-env from main (make images, make build-cli) and deploy:
    ate-env manifest --worker-image <ateworker-gvisor@digest> | kubectl apply -f -
  3. Register the template:
    ate-env manifest template --snapshots-bucket gs://<bucket>/ate-env/ | kubectl ate create actor-template -f -
  4. kubectl port-forward -n ate-env svc/ate-env-api 7777:7777 &
  5. ate-env create alice

Expected

The environment is created.

Actual

Step 3 fails first:

Error: failed to parse actor template manifest "-": proto: (line 1:445): unknown field "sandboxConfig"

With sandboxConfig stripped from the template by hand, step 5 then fails:

ate-env: env: rpc error: code = InvalidArgument desc = ate: creating "alice": rpc error: code = InvalidArgument desc = [actor.actor_template.atespace: Required value, actor.actor_template.name: Required value]

ate-env-api does send the template name and atespace; they arrive empty because the field
numbers no longer match.

Root cause

Two breaking Substrate API changes landed after env's pin (3a2ca623):

  1. substrate#2780 (0443aec3, 2026-10-17): removed ActorTemplate.sandbox_config. ate-api-server
    rejects unknown fields, so env's manifest template output is refused.
  2. substrate#2888 (a9958d16, 2026-10-19): renumbered proto fields consecutively
    ("The binary wire format changes for some messages"). Any client built against an older
    Substrate sends requests whose fields land in the wrong place. Hence the misleading
    Required value errors. That PR also says existing installs need a fresh database.

Current state of the fix

  • Branch bump-substrate-latest (40a6c63) bumps env to Substrate ddb46651 and handles #2780
    (no sandboxConfig). It also adds the ate-env manifest access-policy step that authz now requires.
    It is unmerged, and ddb46651 is before #2888, so it still fails against current Substrate.
  • Verified 10/26: env 40a6c63 + Substrate ddb46651 (fresh install) passes create, write/read,
    shell, MCP, suspend/resume, and --rootfs-image.

Workaround

Pin both sides: install Substrate at ddb46651 (fresh database) and build env from 40a6c63.
The bug bash ate-env tab now documents this pin.

Suggested fix

  1. Bump env's Substrate dependency past a9958d16 (to current main), regenerate, and merge
    (supersedes or extends bump-substrate-latest).
  2. Cut a release. The latest release (v0.0.10, 2026-08-25) predates manifest template, so the README's
    "download the latest release" path doesn't work either.
  3. In the README, state a supported Substrate range (upper bound too), not just "at or after X".
  4. Consider a version handshake or startup check in ate-env-api, so skew fails with
    "Substrate version mismatch" instead of Required value / invalid wire-format data.

Related

  • Delete fails with a GCS 403 on the pinned pair (filing separately).
  • Severity: P0 for the ate-env bug bash (core path broken; only workaround is pinning an older Substrate).
主要言語
Go
スター
71
フォーク
17
平均マージ
21時間 36分
マージ済み PR(30日)
19

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

agent-substrate/env のほかの issue

agent-substrate/env の issue をすべて見る

似ている issue

Go の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。