HTTP 200
2026-10-15T19:10:30.3398641Z felhom-gates-runner(version:v0.6.1) received task 1905 of job gates, be triggered by event: push
2026-10-15T19:10:30.3403557Z workflow prepared
2026-10-15T19:10:30.3404412Z evaluating expression 'success()'
2026-10-15T19:10:30.3405327Z expression 'success()' evaluated to 'true'
2026-10-15T19:10:30.3411729Z evaluating expression ''
2026-10-15T19:10:30.3412140Z expression '' evaluated to 'true'
2026-10-15T19:10:30.3412297Z ⭐ Run Main Fetch the pushed commit and the sibling clone it needs
2026-10-15T19:10:30.3417603Z Wrote command \n\n# Shallow, and pinned to the exact SHA that was pushed — not to the branch tip,\n# which can move under us if two pushes race.\nmkdir -p ws/felhom-controller\ncd ws/felhom-controller\ngit init -q .\ngit remote add origin http://gitea.gitea-system.svc.cluster.local:3000/admin/felhom-controller.git\ngit fetch -q --depth 1 origin "$GITHUB_SHA"\ngit checkout -q FETCH_HEAD\necho "checked out $(git rev-parse HEAD)"\ncd .. && git clone -q --depth 1 http://gitea.gitea-system.svc.cluster.local:3000/admin/felhom.eu.git felhom.eu\necho "sibling felhom.eu present at $(cd felhom.eu && git rev-parse --short HEAD)"\n\n\n to 'workflow/0.sh'
2026-10-15T19:10:30.3419005Z ::group::Run # Shallow, and pinned to the exact SHA that was pushed — not to the branch tip,
2026-10-15T19:10:30.3419433Z # Shallow, and pinned to the exact SHA that was pushed — not to the branch tip,
2026-10-15T19:10:30.3419721Z # which can move under us if two pushes race.
2026-10-15T19:10:30.3419944Z mkdir -p ws/felhom-controller
2026-10-15T19:10:30.3420142Z cd ws/felhom-controller
2026-10-15T19:10:30.3420351Z git init -q .
2026-10-15T19:10:30.3420520Z git remote add origin http://gitea.gitea-system.svc.cluster.local:3000/admin/felhom-controller.git
2026-10-15T19:10:30.3420654Z git fetch -q --depth 1 origin "$GITHUB_SHA"
2026-10-15T19:10:30.3420764Z git checkout -q FETCH_HEAD
2026-10-15T19:10:30.3420873Z echo "checked out $(git rev-parse HEAD)"
2026-10-15T19:10:30.3420984Z cd .. && git clone -q --depth 1 http://gitea.gitea-system.svc.cluster.local:3000/admin/felhom.eu.git felhom.eu
2026-10-15T19:10:30.3421118Z echo "sibling felhom.eu present at $(cd felhom.eu && git rev-parse --short HEAD)"
2026-10-15T19:10:30.3421280Z shell: bash --noprofile --norc -e -o pipefail {0}
2026-10-15T19:10:30.3421511Z ::endgroup::
2026-10-15T19:10:33.9073828Z checked out c6a567122ecc7b03087a5eeb22b1e295209ef9d9
2026-10-15T19:10:57.2946446Z sibling felhom.eu present at 22cd7c5
2026-10-15T19:10:57.2961701Z ::group::Run cd ws/felhom-controller/controller && python3 scripts/controller_gates.py --fast
2026-10-15T19:10:57.2962152Z cd ws/felhom-controller/controller && python3 scripts/controller_gates.py --fast
2026-10-15T19:10:57.2962412Z shell: bash --noprofile --norc -e -o pipefail {0}
2026-10-15T19:10:57.2962691Z ::endgroup::
2026-10-15T19:10:57.4804777Z controller_gates — 18 gate(s)  [--fast]
2026-10-15T19:10:57.4828459Z WARNING: this clone is UNARMED — core.hooksPath is unset, so the pre-push hook will not
2026-10-15T19:10:57.4829041Z          run here. Switch it on once with:  git config core.hooksPath .githooks
2026-10-15T19:10:57.4829352Z 
2026-10-15T19:10:57.4829559Z ==============================================================================
2026-10-15T19:10:57.4829796Z == gate: template-id   (template_id_gate.py)
2026-10-15T19:10:57.4830034Z ==============================================================================
2026-10-15T19:10:57.6070984Z integrity gate OK — every JS element-ID reference resolves in the page it renders on
2026-10-15T19:10:57.6640434Z 
2026-10-15T19:10:57.6641448Z ==============================================================================
2026-10-15T19:10:57.6641751Z == gate: emoji   (emoji_gate.py)
2026-10-15T19:10:57.6641996Z ==============================================================================
2026-10-15T19:11:02.1616134Z emoji gate OK — no emoji in web templates
2026-10-15T19:11:02.1761407Z 
2026-10-15T19:11:02.1762107Z ==============================================================================
2026-10-15T19:11:02.1762413Z == gate: native-confirm   (native_confirm_gate.py)
2026-10-15T19:11:02.1762653Z ==============================================================================
2026-10-15T19:11:02.4815590Z native-confirm gate OK — no native confirm()/prompt()/alert() in templates
2026-10-15T19:11:02.4900567Z 
2026-10-15T19:11:02.4901273Z ==============================================================================
2026-10-15T19:11:02.4901736Z == gate: offbox-rename   (offbox_rename_gate.py)
2026-10-15T19:11:02.4902038Z ==============================================================================
2026-10-15T19:11:02.6668110Z offbox rename gate OK — Tier-3 is 'Tavoli mentes' everywhere customer-facing (26 file(s) + 129 bundle value(s) named by them)
2026-10-15T19:11:02.6772354Z 
2026-10-15T19:11:02.6772904Z ==============================================================================
2026-10-15T19:11:02.6773218Z == gate: app-row-dedup   (app_row_dedup_gate.py)
2026-10-15T19:11:02.6773479Z ==============================================================================
2026-10-15T19:11:02.7727350Z app_row_dedup_gate: OK (row markup single-sourced in app_row.html; 44 templates scanned)
2026-10-15T19:11:02.7789277Z 
2026-10-15T19:11:02.7789756Z ==============================================================================
2026-10-15T19:11:02.7789944Z == gate: mojibake   (mojibake_gate.py)
2026-10-15T19:11:02.7790120Z ==============================================================================
2026-10-15T19:11:04.7585835Z mojibake_gate: OK (1141 files clean — no double-encoding signatures)
2026-10-15T19:11:04.7626742Z 
2026-10-15T19:11:04.7627328Z ==============================================================================
2026-10-15T19:11:04.7627700Z == gate: docker-v   (docker_run_volume_path_gate.py)
2026-10-15T19:11:04.7627945Z ==============================================================================
2026-10-15T19:11:05.0625636Z docker -v gate OK — every volume mount is named-volume or proven host-visible
2026-10-15T19:11:05.0700096Z 
2026-10-15T19:11:05.0701336Z ==============================================================================
2026-10-15T19:11:05.0701689Z == gate: secret-markup   (secret_in_markup_gate.py)
2026-10-15T19:11:05.0701932Z ==============================================================================
2026-10-15T19:11:05.2648228Z secret-in-markup gate OK — 44 templates, no secret-named expression rendered
2026-10-15T19:11:05.2648829Z   (NAME-BASED: blind to a secret arriving under a neutral PAGE-DATA key — see the docstring)
2026-10-15T19:11:05.2707803Z 
2026-10-15T19:11:05.2708204Z ==============================================================================
2026-10-15T19:11:05.2708534Z == gate: retrieval-promise   (retrieval_promise_gate.py)
2026-10-15T19:11:05.2708775Z ==============================================================================
2026-10-15T19:11:05.6598722Z retrieval-promise gate OK — 45 surface(s) incl. 1 Go handler file(s), 18 registered claim(s) + 16 English, none unregistered
2026-10-15T19:11:05.6600522Z   (BLIND SPOT: it registers WHERE the claim is made, not whether each conditional is wired
2026-10-15T19:11:05.6601085Z    to a true predicate — that is what the R-302 render tests are for.)
2026-10-15T19:11:05.6683288Z 
2026-10-15T19:11:05.6683851Z ==============================================================================
2026-10-15T19:11:05.6684231Z == gate: debug-routes   (debug_route_gate.py)
2026-10-15T19:11:05.6684540Z ==============================================================================
2026-10-15T19:11:05.7031014Z debug route gate OK - 19 referenced address(es), all dispatched, none orphaned
2026-10-15T19:11:05.7080060Z 
2026-10-15T19:11:05.7080826Z ==============================================================================
2026-10-15T19:11:05.7081168Z == gate: reuse-refs   (reuse_refs_check.py /root/.cache/act/2ea1ebbc85faa62f/hostexecutor/ws/felhom-controller)
2026-10-15T19:11:05.7081576Z ==============================================================================
2026-10-15T19:11:05.8052080Z note [felhom-controller] line 15: backup/appbackup_bridge.go  (resolved by suffix → controller/internal/backup/appbackup_bridge.go)
2026-10-15T19:11:05.8053453Z note [felhom-controller] line 19: appbackup/userdata.go  (resolved by suffix → controller/internal/appbackup/userdata.go)
2026-10-15T19:11:05.8054847Z note [felhom-controller] line 19: stacks/skeleton_derive.go  (resolved by suffix → controller/internal/stacks/skeleton_derive.go)
2026-10-15T19:11:05.8069340Z note [felhom-controller] line 64: internal/report/builder.go  (resolved by suffix → controller/internal/report/builder.go)
2026-10-15T19:11:05.8083852Z note [felhom-controller] line 95: stacks/deploy.go  (resolved by suffix → controller/internal/stacks/deploy.go)
2026-10-15T19:11:05.8596209Z note [felhom-controller] line 155: cmd/controller/main.go  (resolved by suffix → controller/cmd/controller/main.go)
2026-10-15T19:11:05.8618633Z note [felhom-controller] line 172: internal/selfupdate/updater.go  (resolved by suffix → controller/internal/selfupdate/updater.go)
2026-10-15T19:11:05.8629227Z note [felhom-controller] line 180: appbackup/appdata.go  (resolved by suffix → controller/internal/appbackup/appdata.go)
2026-10-15T19:11:05.8651344Z note [felhom-controller] line 206: scripts/secret_in_markup_gate.py  (resolved by suffix → controller/scripts/secret_in_markup_gate.py)
2026-10-15T19:11:06.1091820Z note [felhom-controller] line 248: hub/internal/api/handler.go  (cross-repo → felhom.eu/hub/internal/api/handler.go)
2026-10-15T19:11:06.1092717Z note [felhom-controller] line 248: hub/internal/notify/dispatcher.go  (cross-repo → felhom.eu/hub/internal/notify/dispatcher.go)
2026-10-15T19:11:06.1572023Z note [felhom-controller] line 265: monitor/deadline.go  (cross-repo (suffix) → felhom.eu/hub/internal/monitor/deadline.go)
2026-10-15T19:11:06.1588594Z note [felhom-controller] line 308: wgsync/reconciler.go  (cross-repo (suffix) → felhom.eu/hub/internal/wgsync/reconciler.go)
2026-10-15T19:11:06.1590698Z note [felhom-controller] line 313: templates/app_shell.html  (resolved by suffix → controller/internal/web/templates/app_shell.html)
2026-10-15T19:11:06.1606039Z note [felhom-controller] line 349: api/router.go  (resolved by suffix → controller/internal/api/router.go)
2026-10-15T19:11:06.1616777Z note [felhom-controller] line 366: cmd/controller/r856_wiring_test.go  (resolved by suffix → controller/cmd/controller/r856_wiring_test.go)
2026-10-15T19:11:06.1622518Z note [felhom-controller] line 375: web/netprobe.go  (resolved by suffix → controller/internal/web/netprobe.go)
2026-10-15T19:11:06.1623020Z note [felhom-controller] line 375: web/server.go  (resolved by suffix → controller/internal/web/server.go)
2026-10-15T19:11:06.1630340Z note [felhom-controller] line 399: felhom.eu/scripts/golden_currency_gate.py  (cross-repo → felhom.eu/scripts/golden_currency_gate.py)
2026-10-15T19:11:06.1641615Z OK   [felhom-controller]: 225 cited paths — exact 206, suffix 14, ambiguous 0, cross-repo 5, FAILED 0 (siblings searched: felhom.eu)
2026-10-15T19:11:06.1746703Z 
2026-10-15T19:11:06.1747665Z ==============================================================================
2026-10-15T19:11:06.1747818Z == gate: instructions   (instructions_gate.py /root/.cache/act/2ea1ebbc85faa62f/hostexecutor/ws/felhom-controller)
2026-10-15T19:11:06.1748020Z ==============================================================================
2026-10-15T19:11:06.2834261Z instructions_gate: /root/.cache/act/2ea1ebbc85faa62f/hostexecutor/ws/felhom-controller
2026-10-15T19:11:06.7009123Z   CLAUDE.md effective lines : 92 (ceiling 200)
2026-10-15T19:11:06.7010071Z   version literals          : 0
2026-10-15T19:11:06.7010375Z   TEMPORARY blocks          : 0
2026-10-15T19:11:06.7010747Z   rule files                : 5 (4 path-scoped)
2026-10-15T19:11:06.7011147Z   workspace copy            : n/a (not this workspace)
2026-10-15T19:11:06.7011345Z   memory index             : absent (.claude-memory/ not on this host — the auto-memory store is machine-local by design, so a clone elsewhere legitimately has none; PASS with reason)
2026-10-15T19:11:06.7011611Z   register citations       : 12 cited, 1043 register items known
2026-10-15T19:11:06.7011828Z 
2026-10-15T19:11:06.7012139Z instructions_gate: OK
2026-10-15T19:11:06.7612490Z 
2026-10-15T19:11:06.7613133Z ==============================================================================
2026-10-15T19:11:06.7613667Z == gate: observations   (observations_gate.py /root/.cache/act/2ea1ebbc85faa62f/hostexecutor/ws/felhom-controller)
2026-10-15T19:11:06.7614115Z ==============================================================================
2026-10-15T19:11:06.7998287Z OBSERVATIONS GATE INCONCLUSIVE: found the section '## 11. Observations' but no numbered items under it.
2026-10-15T19:11:06.7999001Z   Items must be a numbered list (`1.`, `2.` …). If the section is deliberately empty, remove the heading — an empty section reads as coverage while providing none.
2026-10-15T19:11:06.8567718Z 
2026-10-15T19:11:06.8568458Z ==============================================================================
2026-10-15T19:11:06.8569170Z == gate: minagent-header   (minagent_header_gate.py)
2026-10-15T19:11:06.8569456Z ==============================================================================
2026-10-15T19:11:06.9049987Z minagent header gate OK — v0.316.4 declares MinAgent 0.155.0
2026-10-15T19:11:06.9621200Z 
2026-10-15T19:11:06.9621876Z ==============================================================================
2026-10-15T19:11:06.9622372Z == gate: i18n   (i18n_missing_gate.py)
2026-10-15T19:11:06.9622629Z ==============================================================================
2026-10-15T19:11:09.3988878Z i18n: 2037 markers in 44 templates; hu 2723 keys, en 2735 keys
2026-10-15T19:11:09.3989756Z i18n: English missing 0 (ceiling 0); Hungarian formal forms 0 (ceiling 0, R-516)
2026-10-15T19:11:09.3990304Z i18n gate OK
2026-10-15T19:11:09.4071499Z 
2026-10-15T19:11:09.4072121Z ==============================================================================
2026-10-15T19:11:09.4072536Z == gate: go-parity   (i18n_go_parity.py)
2026-10-15T19:11:09.4072745Z ==============================================================================
2026-10-15T19:11:18.8584741Z go-parity: base capture 736f54b49610 (7467 literals), 776 slice-2 keys listed, 250 pre-existing, 759 named in Go, 568 helper calls judged for arity
2026-10-15T19:11:18.8585604Z go-parity gate OK: every Go-side key carries base-commit text, byte for byte, and every judged call passes as many arguments as its message has verbs.
2026-10-15T19:11:18.8716251Z 
2026-10-15T19:11:18.8716709Z ==============================================================================
2026-10-15T19:11:18.8716976Z == gate: gofmt   (gofmt_gate.py)
2026-10-15T19:11:18.8717404Z ==============================================================================
2026-10-15T19:11:18.9850789Z gofmt gate NOT CHECKED in CI: no Go toolchain on the runner — the pre-push hook (with Go) enforces it
2026-10-15T19:11:18.9953671Z 
2026-10-15T19:11:18.9954189Z ==============================================================================
2026-10-15T19:11:18.9954467Z == gate: golden-notice   (golden_notice.py /root/.cache/act/2ea1ebbc85faa62f/hostexecutor/ws/felhom-controller)
2026-10-15T19:11:18.9954746Z ==============================================================================
2026-10-15T19:11:19.1961208Z ==============================================================================
2026-10-15T19:11:19.1961851Z NOTICE — v0.316.4 OWES A GOLDEN.  (this NEVER blocks; see the docstring)
2026-10-15T19:11:19.1962044Z ==============================================================================
2026-10-15T19:11:19.1962170Z   newest released controller : 0.316.4   (this repo's CHANGELOG.md)
2026-10-15T19:11:19.1962565Z   newest golden baked        : 0.313.0   (felhom.eu documentation/tests/)
2026-10-15T19:11:19.1962913Z 
2026-10-15T19:11:19.1963110Z   A machine installed right now would receive 0.313.0, not 0.316.4.
2026-10-15T19:11:19.1963355Z 
2026-10-15T19:11:19.1963681Z   This is a REMINDER AT THE ONE MOMENT IT IS USEFUL — you are in the repo where the
2026-10-15T19:11:19.1963991Z   release happens. It does not block, and must not: at the moment a release is
2026-10-15T19:11:19.1964398Z   committed the golden cannot exist yet.
2026-10-15T19:11:19.1964822Z 
2026-10-15T19:11:19.1965103Z   WHAT CLEARS IT: bake a golden (felhom.eu documentation/runbooks/RUNBOOK-manual-build.md
2026-10-15T19:11:19.1965469Z   section 4.1), then vouch it — a THREE-field change: golden_version + agent_version +
2026-10-15T19:11:19.1965773Z   min_agent. The bake record lands in felhom.eu documentation/tests/golden-<ver>-<date>/.
2026-10-15T19:11:19.1966124Z 
2026-10-15T19:11:19.1966347Z   If this release deliberately needs no golden, record a waiver row in
2026-10-15T19:11:19.1966587Z   felhom.eu documentation/backlog/OPEN-ITEMS.md — never a habit of bypassing.
2026-10-15T19:11:19.1966940Z ==============================================================================
2026-10-15T19:11:19.2037655Z 
2026-10-15T19:11:19.2038147Z ==============================================================================
2026-10-15T19:11:19.2038472Z == summary
2026-10-15T19:11:19.2038770Z ==============================================================================
2026-10-15T19:11:19.2039149Z   template-id        OK            (exit 0)
2026-10-15T19:11:19.2039385Z   emoji              OK            (exit 0)
2026-10-15T19:11:19.2039596Z   native-confirm     OK            (exit 0)
2026-10-15T19:11:19.2039806Z   offbox-rename      OK            (exit 0)
2026-10-15T19:11:19.2040031Z   app-row-dedup      OK            (exit 0)
2026-10-15T19:11:19.2040304Z   mojibake           OK            (exit 0)
2026-10-15T19:11:19.2040572Z   docker-v           OK            (exit 0)
2026-10-15T19:11:19.2040861Z   secret-markup      OK            (exit 0)
2026-10-15T19:11:19.2041116Z   retrieval-promise  OK            (exit 0)
2026-10-15T19:11:19.2041427Z   debug-routes       OK            (exit 0)
2026-10-15T19:11:19.2041629Z   reuse-refs         OK            (exit 0)
2026-10-15T19:11:19.2041831Z   instructions       OK            (exit 0)
2026-10-15T19:11:19.2042099Z   observations       INCONCLUSIVE  (exit 2)
2026-10-15T19:11:19.2042306Z   minagent-header    OK            (exit 0)
2026-10-15T19:11:19.2042516Z   i18n               OK            (exit 0)
2026-10-15T19:11:19.2042718Z   go-parity          OK            (exit 0)
2026-10-15T19:11:19.2043032Z   gofmt              OK            (exit 0)
2026-10-15T19:11:19.2043253Z   golden-notice      ADVISORY      (exit 0, advisory)
2026-10-15T19:11:19.2043466Z UNDETERMINED (never a pass): observations
2026-10-15T19:11:19.2692235Z   ❌  Failure - Main Run the gate entry point
2026-10-15T19:11:19.2696371Z exit status 2
2026-10-15T19:11:19.2703703Z ::group::Run python3 - <<'PY'
2026-10-15T19:11:19.2703933Z python3 - <<'PY'
2026-10-15T19:11:19.2704056Z import json, os, sys, urllib.request, urllib.error
2026-10-15T19:11:19.2704183Z 
2026-10-15T19:11:19.2704291Z key = os.environ.get("RESEND_API_KEY", "")
2026-10-15T19:11:19.2704407Z if not key:
2026-10-15T19:11:19.2704525Z     sys.exit("ALARM FAILED: RESEND_API_KEY is empty — the alarm cannot be sent, and a "
2026-10-15T19:11:19.2704665Z              "silent alarm is worse than none. Set the user-level Actions secret.")
2026-10-15T19:11:19.2704824Z 
2026-10-15T19:11:19.2704935Z repo = os.environ.get("GITHUB_REPOSITORY", "?")
2026-10-15T19:11:19.2705064Z sha  = os.environ.get("GITHUB_SHA", "?")
2026-10-15T19:11:19.2705177Z run  = os.environ.get("GITHUB_RUN_NUMBER", "?")
2026-10-15T19:11:19.2705295Z srv  = os.environ.get("GITHUB_SERVER_URL", "https://gitea.dooplex.hu")
2026-10-15T19:11:19.2705578Z 
2026-10-15T19:11:19.2705680Z body = json.dumps({
2026-10-15T19:11:19.2705801Z     "from": "Felhom CI <monitoring@felhom.eu>",
2026-10-15T19:11:19.2705919Z     "to": ["admin@felhom.eu"],
2026-10-15T19:11:19.2706064Z     "subject": "[felhom CI] gates FAILED in %s" % repo,
2026-10-15T19:11:19.2706179Z     "text": (
2026-10-15T19:11:19.2706283Z         "The gate entry point exited non-zero.\n\n"
2026-10-15T19:11:19.2706440Z         "Repository : %s\n"
2026-10-15T19:11:19.2706554Z         "Commit     : %s\n"
2026-10-15T19:11:19.2706656Z         "Run        : %s/%s/actions/runs/%s\n\n"
2026-10-15T19:11:19.2706768Z         "The failing gate names itself in the run log.\n\n"
2026-10-15T19:11:19.2706916Z         "If the local pre-push hook was GREEN for this commit, then CI and the hook\n"
2026-10-15T19:11:19.2707056Z         "disagree - that is a finding about the gates themselves, not about CI, and it\n"
2026-10-15T19:11:19.2707185Z         "outranks whatever the push was for.\n"
2026-10-15T19:11:19.2707336Z     ) % (repo, sha, srv, repo, run),
2026-10-15T19:11:19.2707464Z }).encode()
2026-10-15T19:11:19.2707572Z 
2026-10-15T19:11:19.2707665Z req = urllib.request.Request(
2026-10-15T19:11:19.2707812Z     "https://api.resend.com/emails", data=body, method="POST",
2026-10-15T19:11:19.2707931Z     headers={"Authorization": "Bearer %s" % key,
2026-10-15T19:11:19.2708064Z              "Content-Type": "application/json",
2026-10-15T19:11:19.2708188Z              # Cloudflare fronts api.resend.com and BLOCKS the default
2026-10-15T19:11:19.2708401Z              # "Python-urllib/3.x" agent with its own 403 (error 1010) — which looks
2026-10-15T19:11:19.2708540Z              # exactly like an auth failure and is not one. Measured 2026-08-02.
2026-10-15T19:11:19.2708683Z              "User-Agent": "felhom-ci/1.0"})
2026-10-15T19:11:19.2708803Z try:
2026-10-15T19:11:19.2708905Z     with urllib.request.urlopen(req, timeout=30) as r:
2026-10-15T19:11:19.2709020Z         print("RESEND-ACCEPTED id=%s" % json.load(r)["id"])
2026-10-15T19:11:19.2709145Z except urllib.error.HTTPError as e:
2026-10-15T19:11:19.2709269Z     sys.exit("ALARM FAILED: Resend returned HTTP %s: %s" % (e.code, e.read().decode()[:300]))
2026-10-15T19:11:19.2709400Z PY
2026-10-15T19:11:19.2709500Z shell: bash --noprofile --norc -e -o pipefail {0}
2026-10-15T19:11:19.2709642Z env:
2026-10-15T19:11:19.2709760Z   RESEND_API_KEY: ***
2026-10-15T19:11:19.2709880Z ::endgroup::
2026-10-15T19:11:19.8780239Z RESEND-ACCEPTED id=01a140f9-ded0-7a0b-ad19-53d6c4fc4a0c
2026-10-15T19:11:19.8965187Z Cleaning up container for job gates
2026-10-15T19:11:20.7610786Z 🏁  Job failed
2026-10-15T19:11:20.7611786Z Job 'gates' failed

