Files
felhom.eu/documentation/audits/filebrowser-memory-ci-2026-10-17/P3/log-ctl-1887.txt
T
admin f6511dc5c2
gates / gates (push) Successful in 6m53s
FileBrowser never on its default password (D11 = A), real memory amounts (D10 = A), CI mail: report, register, docs
Closed R-1126, R-1125 and R-1129 (not a defect: a misreading of the CI log by the session that filed it); opened
R-1135..R-1137; R-1124 noted. 01 §5 [DESIGN]: the tunnel runs before the claim; FileBrowser is published only after
its default login is checked. STATUS D10-D12 decided. N100 diary: the 21-minute file-manager gap after 0.327.0.
Controller 0.327.1 is the floor since 12:06 UTC.

Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
2026-10-17 14:12:02 +02:00

254 lines
22 KiB
Plaintext

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