Provenance: the raw output below is the run's own artifact, downloaded from the
workflow run — user-verify.log and diag.log, plus the PNGs the browser
driver captured. Nothing here is retyped. The PNGs are the artifact's bytes, sha-identical to those
committed under the wiki's M3-podman-verification/.
This is not the milestone's CIHOST run (that one is the yc VM): the
Yandex Cloud folder refuses VM allocation (quota, POST /instances → 429 Resource allocation is
restricted), so the same layer was run on the disposable podman container instead. The two
stopgap steps the layer needs there name both the add-issue and the removal-issue they are paired
with: the browser driver (preinstall#105 ↔ #106) and — since the snap cannot be built on
this image — the store (preinstall#107 ↔ #108, the pinned
v26.9.12.8-stable the snap ships). No continue-on-error anywhere.
snapcraft), so "the snap cannot be built here" is a
reading, not a guess.user-verify-m3: OK.user-verify: OK, both captures non-blank.
Full user-verify.log (raw file):
== deploy: the declared stack and the ClickHouse contour ==
Downloading https://services.gradle.org/distributions/gradle-8.14.4-bin.zip
.............10%.............20%.............30%.............40%.............50%.............60%.............70%.............80%.............90%..............100%
== deploy: the declared stack and the ClickHouse contour ==
kotlin : 2.4.20
jvm : 21.0.12.1
jvm_vendor : Eclipse Adoptium
gradle : 8.14.4
koin : 4.0.0
clickhouse : server 24.8 (compose.local.yml)
store_url : http://127.0.0.1:8123
select1 : 1
schema : recording + recording_header ensured
deploy: OK
load-fixture: 22 rows into 'recording' (1077937940350992…)
== user verification: khl-sib-sal-2026-10-07 ==
moment T : 2026-10-09T18:13:13Z
market page : https://polymarket.com/event/khl-sib-sal-2026-10-07
source view : thesportsdb-khl (https://www.thesportsdb.com/api/v1/json/3/livescore.php?s=Ice%20Hockey)
-- market half --
table : token=10779379403509928208771740072565882868916750118110564166010793647890848906146 price=0.001
page : Skip to main content How it works Log in Sign up Trending Combos Perps Breaking New Politics Sports Crypto Esports Iran Finance Geopolitics Tech Culture Economy Weather Mentions Elections Art More Live Futures ALL SPORTS NFL MLB College Football UFC UEFA Champions League UEFA Nations League Soccer Tennis Cricket Basketball Baseball Football Hockey All NHL Czech Extraliga DEL Liiga KHL National League AHL SHL Champions Hockey League Rugby Aussie Rules Table Tennis Darts Handball Golf Combat Motorsports Cycling Chess Pickleball Esports Sports · KHL Sibir Novosibirsk – Salavat Yulaev Ufa Sibir 0
shot : user-verification/khl-sib-sal-2026-10-07.market.png (HTTP 200)
-- text half --
table : Russian KHL | Sibir Novosibirsk 4-5 Salavat Yulaev Ufa | 2
view : Russian KHL | Sibir Novosibirsk 4-5 Salavat Yulaev Ufa
shot : user-verification/khl-sib-sal-2026-10-07.text.png (HTTP 200)
-- field-for-field --
match market.identity the recorded token is the market the page is for
match market.price the table's price beside the page at T
match text.score the score in the source's view is the score in the recorded line
match market.page the page is the market, not the site's 404
match market.shot the captured page is not a blank image
match text.shot the captured source view is not a blank image
user-verify: OK
load-fixture: 364 order-book rows, 180 trades into 'order_book'/'trade'
load-fixture: events will-shakhtar-donetsk-win-the-2026-27-uefa-champions-league-championship-20260701202025578,will-elise-stefanik-win-the-2028-republican-presidential-nomination,will-bernie-sanders-win-the-2028-democratic-presidential-nomination-879,will-the-iranian-regime-fall-by-the-end-of-2026
== M3 user verification: the collection store beside the source's own view, field for field ==
event : will-shakhtar-donetsk-win-the-2026-27-uefa-champions-league-championship-20260701202025578
market : will-shakhtar-donetsk-win-the-2026-27-uefa-champions-league-championship-20260701202025578
question : Will Shakhtar Donetsk win the 2026-27 UEFA Champions League Championship?
token : 33339798372916037220786136133406478491116150628220441951753426683441228279665
moment T : 2026-10-07T21:34:39Z
window : ±10s
source page : https://polymarket.com/market/will-shakhtar-donetsk-win-the-2026-27-uefa-champions-league-championship-20260701202025578
store : http://127.0.0.1:8123
counts : order_book=180 trade=179
-- store, order book at T --
recv_time : 2026-10-07T21:34:38Z
best_bid : 0.001
best_ask : 0.002
-- store, trades around T --
2026-10-07T21:34:29Z price=0.002 size=5 side=BUY
2026-10-07T21:34:30Z price=0.002 size=5 side=BUY
2026-10-07T21:34:31Z price=0.002 size=5 side=BUY
-- source's own record at T (the market's published price history) --
price at T : 0.0015 (t=2026-10-07T21:34:24Z)
source shot : user-verification/will-shakhtar-donetsk-win-the-2026-27-uefa-champions-league-championship-20260701202025578.market.png
-- field-for-field --
match market.page HTTP 200, 404=false, names[Shakhtar,Donetsk]=true
match market.shot non-white 12.69% (a blank capture is not evidence)
match orderbook.at_T store mid=0.0015 source=0.0015 drift=0 (tick 0.001)
match trades.at_T store trades around T=20, all within [0.001,0.002]=true
user-verify-m3: OK
Full diag.log (raw file):
user : uid=1002(runner) gid=1002(runner) groups=1002(runner)
HOME : /home/runner
PATH : /home/runner/.ghsetup/v1/bin:/home/runner/.local/bin:/home/tools/tools/v1/bin:/home/runner/.local/bin:/opt/toolset/current/bin:/opt/toolset/bin:/home/dev/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
have node /home/tools/tools/v1/bin/node
have npm /home/tools/tools/v1/bin/npm
have npx /home/tools/tools/v1/bin/npx
have java /home/tools/tools/v1/bin/java
have javac /home/tools/tools/v1/bin/javac
have gradle MISSING
have podman MISSING
have clickhouse MISSING
have clickhouse-server MISSING
have curl /usr/bin/curl
have getent /usr/bin/getent
have python3 /home/tools/tools/v1/bin/python3
have apt-get /usr/bin/apt-get
have sudo MISSING
node -v : v24.21.0
java : openjdk version "21.0.12.1" 2026-08-18 LTS
-- /opt/toolset --
total 8
drwxr-xr-x 2 dev dev 4096 Sep 29 18:52 .
drwxr-xr-x 7 root root 4096 Sep 30 16:33 ..
-- /opt/toolset/current/bin --
ls: cannot access '/opt/toolset/current/bin': No such file or directory
-- HOME/.config/toolssetup/env.sh --
# toolssetup v1 mounted from /home/tools/tools
# Generated by toolssetup/mount.sh. Source it, or let ~/.bashrc source it.
export TOOLSSETUP_ROOT="/home/tools/tools"
export TOOLSSETUP_VERSION="v1"
export TOOLSSETUP_PREFIX="/home/tools/tools/v1"
export PATH="/home/tools/tools/v1/bin:$HOME/.local/bin:$PATH"
# python: the interpreter is read-only in the shared root; caches and venvs are the account's
export UV_CACHE_DIR="$HOME/.cache/toolssetup/uv"
export PIP_CACHE_DIR="$HOME/.cache/toolssetup/pip"
# node/npm: the npm cache and the global prefix are the account's, so
# `npm i -g` never tries to write into the sealed toolset
export npm_config_cache="$HOME/.cache/toolssetup/npm"
export npm_config_prefix="$HOME/.local"
# go: modules and the build cache live in the account's home
export GOPATH="$HOME/go"
export GOMODCACHE="$HOME/go/pkg/mod"
export GOCACHE="$HOME/.cache/toolssetup/go-build"
export GOENV="$HOME/.config/go/env"
# rust: the toolchain is read-only in the shared root; the registry a build
# needs (`cargo`) stays in the account's home
export RUSTUP_HOME="/home/tools/tools/v1/store/rust/rustup"
export CARGO_HOME="$HOME/.cargo"
export JAVA_HOME="/home/tools/tools/v1/store/java/21.0.12.1+1/jdk-21.0.12.1+1"
export KOTLIN_HOME="/home/tools/tools/v1/store/kotlin/2.4.20/kotlinc"
export SCALA_HOME="/home/tools/tools/v1/store/scala/3.9.0/scala3-3.9.0/bin"
CIHOST (yc VM) run — the verdict that
closes the milestone still turns on that run.snapd/snapcraft:
preinstall#109 ↔ #110), so the store comes from the stopgap and not from the snap's own
store daemon.