Gladex Agent Logs

Agent run logs & app logs · env: prod · LAN-only investor surface

Overview
Run logs864 files, 43.2 MB
Latest run logrun-20261001-174212-462.log
Log directory/data/agent-logs
App log directory/opt/startup/prod/logs
Run logs (newest first, last 50)
FileSizeModified (UTC)
run-20261001-174212-462.log 179 KB 2026-10-01 16:03:40
run-20261001-161948-461.log 441 KB 2026-10-01 15:32:06
run-20261001-160941-460.log 153 B 2026-10-01 14:09:41
run-20261001-155934-459.log 153 B 2026-10-01 13:59:34
run-20261001-154926-458.log 153 B 2026-10-01 13:49:27
run-20261001-153919-457.log 153 B 2026-10-01 13:39:20
run-20261001-152911-456.log 153 B 2026-10-01 13:29:12
run-20261001-151904-455.log 153 B 2026-10-01 13:19:05
run-20261001-150856-454.log 153 B 2026-10-01 13:08:57
run-20261001-145849-453.log 153 B 2026-10-01 12:58:50
run-20261001-144842-452.log 153 B 2026-10-01 12:48:43
run-20261001-143835-451.log 153 B 2026-10-01 12:38:35
run-20261001-142828-450.log 190 B 2026-10-01 12:28:28
run-20261001-141820-449.log 153 B 2026-10-01 12:18:21
run-20261001-140813-448.log 153 B 2026-10-01 12:08:14
run-20261001-135806-447.log 153 B 2026-10-01 11:58:07
run-20261001-134759-446.log 153 B 2026-10-01 11:48:00
run-20261001-133752-445.log 153 B 2026-10-01 11:37:53
run-20261001-132745-444.log 153 B 2026-10-01 11:27:45
run-20261001-131738-443.log 190 B 2026-10-01 11:17:39
run-20261001-130731-442.log 153 B 2026-10-01 11:07:31
run-20261001-125724-441.log 153 B 2026-10-01 10:57:24
run-20261001-124717-440.log 153 B 2026-10-01 10:47:17
run-20261001-123709-439.log 153 B 2026-10-01 10:37:10
run-20261001-122702-438.log 153 B 2026-10-01 10:27:03
run-20261001-121655-437.log 153 B 2026-10-01 10:16:56
run-20261001-112609-436.log 264 KB 2026-10-01 10:06:49
run-20261001-104159-435.log 361 KB 2026-10-01 09:16:02
run-20261001-092806-434.log 353 KB 2026-10-01 08:31:53
run-20261001-080602-433.log 406 KB 2026-10-01 07:17:59
run-20261001-065553-432.log 373 KB 2026-10-01 05:55:55
run-20261001-050850-431.log 523 KB 2026-10-01 04:45:47
run-20261001-042252-430.log 198 KB 2026-10-01 02:58:43
run-20261001-032127-429.log 327 KB 2026-10-01 02:12:46
run-20261001-022005-428.log 263 KB 2026-10-01 01:11:21
run-20261001-020022-427.log 205 KB 2026-10-01 00:09:58
run-20261001-015015-426.log 153 B 2026-09-30 23:50:16
run-20261001-014008-425.log 153 B 2026-09-30 23:40:09
run-20261001-013001-424.log 153 B 2026-09-30 23:30:02
run-20261001-011954-423.log 153 B 2026-09-30 23:19:55
run-20261001-010947-422.log 153 B 2026-09-30 23:09:48
run-20261001-005940-421.log 153 B 2026-09-30 22:59:41
run-20261001-004933-420.log 153 B 2026-09-30 22:49:34
run-20261001-003926-419.log 153 B 2026-09-30 22:39:27
run-20261001-002920-418.log 190 B 2026-09-30 22:29:20
run-20261001-001913-417.log 153 B 2026-09-30 22:19:13
run-20261001-000906-416.log 153 B 2026-09-30 22:09:07
run-20260930-231805-415.log 582 KB 2026-09-30 21:59:00
run-20260930-223504-414.log 194 KB 2026-09-30 21:07:59
run-20260930-212614-413.log 270 KB 2026-09-30 20:24:58
Tail — run-20261001-174212-462.log (last 200 lines)
 ISO_FAILED=$(printf '%s\n' "$ISO_OUT" \
   | sed -n 's/^=== Results: [0-9][0-9]* passed, \([0-9][0-9]*\) failed.*$/\1/p' | tail -1)
 assert_eq "G8 isolation copy reports 0 failed" "0" "$ISO_FAILED"

> build · mimo-v2.6-flash-free
← Edit repo/tests/test_regression_run.sh
Index: repo/tests/test_regression_run.sh
===================================================================
--- repo/tests/test_regression_run.sh
+++ repo/tests/test_regression_run.sh
@@ -1335,7 +1335,21 @@
 if [ -f "$SB/pf/RAN" ]; then ok "K33 plant: the suite ran anyway — the red K7 can give"
 else fail "K33 plant: the suite did not run (marker missing)"; fi
 rm -f "$SB/pf/RAN"
 
+if [ "$FAIL" -eq 0 ] || true; then :; fi
+# The whole point of the counter, in one line: everything this run skipped is
+# exactly what the relocation copy ran instead of, and vice versa. Nothing in
+# the arithmetic is a constant — PASS here is this run's own total, the copy's
+# two counts are read from its Results line — so a miscounted guard, an
+# assertion dropped outside one, or a skip field the copy never printed all
+# reach the same red. Only fires where the shipped-location branch ran (the
+# copy has no ISO_* to compare against, and a relocated checkout is the case
+# this step exists to describe rather than to excuse).
+if [ "$ISO_RAN" -eq 1 ]; then
+  assert_eq "G12 every assertion either ran or is counted: this run's PASS+SKIPN equals the copy's passed+skipped" \
+    "$((PASS + SKIPN))" "$((ISO_PASSED + ISO_SKIPPED))"
+fi
+
 echo
-echo "=== Results: $PASS passed, $FAIL failed ==="
+echo "=== Results: $PASS passed, $FAIL failed, $SKIPN skipped ==="
 [ "$FAIL" -eq 0 ]

> build · mimo-v2.6-flash-free
← Edit repo/tests/test_regression_run.sh
Index: repo/tests/test_regression_run.sh
===================================================================
--- repo/tests/test_regression_run.sh
+++ repo/tests/test_regression_run.sh
@@ -1335,9 +1335,8 @@
 if [ -f "$SB/pf/RAN" ]; then ok "K33 plant: the suite ran anyway — the red K7 can give"
 else fail "K33 plant: the suite did not run (marker missing)"; fi
 rm -f "$SB/pf/RAN"
 
-if [ "$FAIL" -eq 0 ] || true; then :; fi
 # The whole point of the counter, in one line: everything this run skipped is
 # exactly what the relocation copy ran instead of, and vice versa. Nothing in
 # the arithmetic is a constant — PASS here is this run's own total, the copy's
 # two counts are read from its Results line — so a miscounted guard, an

> build · mimo-v2.6-flash-free
→ Read repo/tests/test_regression_run.sh [offset=140, limit=30]
> build · mimo-v2.6-flash-free
← Edit repo/tests/test_regression_run.sh
Index: repo/tests/test_regression_run.sh
===================================================================
--- repo/tests/test_regression_run.sh
+++ repo/tests/test_regression_run.sh
@@ -138,9 +138,9 @@
 SB=$(mktemp -d "${TMPDIR:-/tmp}/opencode/trr.XXXXXX" 2>/dev/null) || {
   SB=$(mktemp -d /tmp/trr.XXXXXX) || { echo "cannot create sandbox" >&2; exit 1; }
 }
 trap 'rm -rf "$SB" 2>/dev/null' EXIT INT TERM
-mkdir -p "$SB"/{green,red,silent,crash,hang,tie,fallback,unsupported,mixed,empty}
+mkdir -p "$SB"/{green,red,silent,crash,hang,tie,fallback,unsupported,mixed,empty,skips}
 
 # green: three of the four summary shapes, each exit 0
 printf '#!/usr/bin/env bash\necho "=== Results: 10 passed, 0 failed, 0 skipped ==="\nexit 0\n' > "$SB/green/test_alpha.sh"
 printf '#!/usr/bin/env bash\necho "7 passed, 0 failed"\nexit 0\n' > "$SB/green/test_gamma.sh"

> build · mimo-v2.6-flash-free
← Edit repo/tests/test_regression_run.sh
Index: repo/tests/test_regression_run.sh
===================================================================
--- repo/tests/test_regression_run.sh
+++ repo/tests/test_regression_run.sh
@@ -158,8 +158,12 @@
 # fallback: the ONLY match sits on an assertion line — must still be read
 printf '#!/usr/bin/env bash\necho "  ok   - 8 passed, 2 failed"\nexit 0\n' > "$SB/fallback/test_iota.sh"
 # unsupported: discovered, no runner, must not be silently ignored
 printf 'not a suite\n' > "$SB/unsupported/test_kappa.txt"
+# skips: the shape THIS suite prints when a guard fires — a non-zero skipped
+# count on an otherwise clean run. C11/C12/C13 only ever saw `0 skipped`, so
+# the channel queue item (105) relies on was proven at zero and nowhere else.
+printf '#!/usr/bin/env bash\necho "=== Results: 10 passed, 0 failed, 14 skipped ==="\nexit 0\n' > "$SB/skips/test_lambda.sh"
 
 cp "$SB"/green/*.sh "$SB"/red/*.sh "$SB"/silent/*.sh "$SB"/mixed/ 2>/dev/null
 
 ############ A. --help contract: the epilog IS the docstring, not a second copy

> build · mimo-v2.6-flash-free
← Edit repo/tests/test_regression_run.sh
Index: repo/tests/test_regression_run.sh
===================================================================
--- repo/tests/test_regression_run.sh
+++ repo/tests/test_regression_run.sh
@@ -416,8 +416,19 @@
 assert_eq "C11 skipped reported when the summary carries it" "true" "$(jget "$OUT" suites.0.skipped_reported)"
 assert_eq "C12 skipped_reported false for a bare summary" "false" "$(jget "$OUT" suites.1.skipped_reported)"
 assert_eq "C13 skipped total still 0" "0" "$(jget "$OUT" totals.skipped)"
 
+# A zero proves the field exists; it does not prove a number survives the
+# trip. The relocation path this suite now reports ends HERE, in the two
+# places a reader actually looks: the JSON a monitor parses and the closing
+# human line. Neither the tool nor its 14-key contract changed to get them.
+jrun skips
+assert_eq "C14 a non-zero skipped count reaches totals.skipped" "14" "$(jget "$OUT" totals.skipped)"
+assert_eq "C14b and leaves the run green" "0" "$(jget "$OUT" totals.failed)"
+run_sandbox skips
+assert_contains "C15 the same count reaches the human totals line" \
+  "10 passed, 0 failed, 14 skipped" "$OUT"
+
 ############ D. JSON contract
 echo "=== D. json"
 jrun green
 assert_eq "D1 json exit matches exit_code" "$RC" "$(jget "$OUT" exit_code)"

> build · mimo-v2.6-flash-free
$ cd /data/repo && time bash tests/test_regression_run.sh > /tmp/opencode/m105/fix.log 2>&1; echo "exit=$?"; grep -c '^FAIL:' /tmp/opencode/m105/fix.log; grep '^FAIL:' /tmp/opencode/m105/fix.log; echo "=== new G/C lines ==="; grep '^PASS: G0\|^PASS: G12\|^PASS: C1[45]' /tmp/opencode/m105/fix.log; tail -3 /tmp/opencode/m105/fix.log
real	0m59.922s
user	0m13.032s
sys	0m5.832s
exit=0
0
=== new G/C lines ===
PASS: C14 a non-zero skipped count reaches totals.skipped
PASS: C14b and leaves the run green
PASS: C15 the same count reaches the human totals line
PASS: G0 the location guard's block holds 14 assertions (the skip count is derived, this pins it)
PASS: G0b the shipped-binary block inside it holds 4
PASS: G12 every assertion either ran or is counted: this run's PASS+SKIPN equals the copy's passed+skipped
PASS: G12 every assertion either ran or is counted: this run's PASS+SKIPN equals the copy's passed+skipped

=== Results: 344 passed, 0 failed, 0 skipped ===
> build · mimo-v2.6-flash-free
$ cd /data/repo && grep -n 'G12' /tmp/opencode/m105/fix.log; echo "=== Results lines ==="; grep -n '=== Results' /tmp/opencode/m105/fix.log; echo "=== count PASS ==="; grep -c '^PASS:' /tmp/opencode/m105/fix.log; echo "=== G lines ==="; grep -c '^PASS: G[0-9]' /tmp/opencode/m105/fix.log; grep -n '^PASS: G' /tmp/opencode/m105/fix.log
355:PASS: G12 every assertion either ran or is counted: this run's PASS+SKIPN equals the copy's passed+skipped
=== Results lines ===
357:=== Results: 344 passed, 0 failed, 0 skipped ===
=== count PASS ===
344
=== G lines ===
17
137:PASS: G0 the location guard's block holds 14 assertions (the skip count is derived, this pins it)
138:PASS: G0b the shipped-binary block inside it holds 4
139:PASS: G1 live --only ts_ordering -> 0
140:PASS: G2 live ts_ordering totals 13
141:PASS: G3 live --list -> 0
142:PASS: G4 live discovery >= 39 suites
143:PASS: G5 live run left git status byte-identical (read-only)
144:PASS: G6 default_repo resolves the shipped location -> 0
145:PASS: G6b default repo_root is /data/repo
146:PASS: G6c /data/tools symlink invocation -> 0
147:PASS: G6d through the symlink repo_root is still /data/repo
148:PASS: G7 isolation copy of the suite -> 0
149:PASS: G8 isolation copy reports 0 failed
150:PASS: G9 isolation copy skips section G, and says why
151:PASS: G10 no shipped-location assertion ran in the copy
152:PASS: G11 isolation copy still ran the rest of the suite (>= 300 assertions)
355:PASS: G12 every assertion either ran or is counted: this run's PASS+SKIPN equals the copy's passed+skipped
> build · mimo-v2.6-flash-free
Shipped run: **344 passed / 0 failed / 0 skipped**. Now let me measure the three configurations. First, the relocation case (the (105) defect itself):
$ set -e; rm -rf /tmp/opencode/m105/reloc; mkdir -p /tmp/opencode/m105/reloc
cp -a /data/repo/tests /tmp/opencode/m105/reloc/tests
cp -a /data/repo/tools /tmp/opencode/m105/reloc/tools
cd /tmp/opencode/m105/reloc && env -u REGRESSION_RUN_BIN -u GLADEX_REPO_DIR bash tests/test_regression_run.sh > /tmp/opencode/m105/reloc.log 2>&1; echo "exit=$?"
grep -n 'SKIP G' /tmp/opencode/m105/reloc.log; tail -3 /tmp/opencode/m105/reloc.log; echo "=== G lines in copy ==="; grep -c '^PASS: G[0-9]' /tmp/opencode/m105/reloc.log; grep '^PASS: G0' /tmp/opencode/m105/reloc.log
exit=0
139:SKIP G: shipped-location checks (suite runs from /tmp/opencode/m105/reloc, not /data/repo)
140:SKIP G: 14 assertion(s) below do not run at this path — counted as skipped, not dropped
PASS: K33 plant: the suite ran anyway — the red K7 can give

=== Results: 329 passed, 0 failed, 14 skipped ===
=== G lines in copy ===
2
PASS: G0 the location guard's block holds 14 assertions (the skip count is derived, this pins it)
PASS: G0b the shipped-binary block inside it holds 4
> build · mimo-v2.6-flash-free
$ cd /data/repo && grep -n "add_argument(\"--only" -A 6 tools/regression-run; grep -n "args.only" -B2 -A 8 tools/regression-run | head -30
1051:    p.add_argument("--only", default=None, metavar="SUBSTR",
1052-                   help="run only suites whose filename contains SUBSTR")
1053-    p.add_argument("--timeout", type=float, default=None, metavar="SECONDS",
1054-                   help=f"per-suite timeout (default: $REGRESSION_TIMEOUT or {DEFAULT_TIMEOUT})")
1055-    p.add_argument("--list", action="store_true",
1056-                   help="discover and list suites, run nothing (exit 0)")
1057-    p.add_argument("--log-dir", default=None, metavar="DIR",
1152-
1153-    found = discover(tests_dir)
1154:    if args.only:
1155:        found = [f for f in found if args.only in f[0]]
1156-
1157-    payload = blank_payload("list" if args.list else "run", repo, tests_dir, len(found))
1158-
1159-    if not found:
1160-        code = exit_code_for([], 0)
1161-        payload["error"] = f"no test suites discovered under {tests_dir}"
1162-        payload["exit_code"] = code
1163-        if fmt == "json":

Select another run log from the list above. Only files matching run-YYYYMMDD-HHMMSS-N.log are readable.

App log tail — prod-8001.log (last 60 lines)
[Thu Oct  1 17:27:34 2026] 127.0.0.1:56334 Accepted
[Thu Oct  1 17:27:34 2026] 127.0.0.1:56334 Closing
[Thu Oct  1 17:27:34 2026] 127.0.0.1:56342 Accepted
[Thu Oct  1 17:27:34 2026] 127.0.0.1:56342 Closing
[Thu Oct  1 17:27:34 2026] 127.0.0.1:56344 Accepted
[Thu Oct  1 17:27:34 2026] 127.0.0.1:56344 Closing
[Thu Oct  1 17:27:34 2026] 127.0.0.1:56358 Accepted
[Thu Oct  1 17:27:34 2026] 127.0.0.1:56358 Closing
[Thu Oct  1 17:27:34 2026] 127.0.0.1:56368 Accepted
[Thu Oct  1 17:27:34 2026] 127.0.0.1:56368 Closing
[Thu Oct  1 17:27:34 2026] 127.0.0.1:56372 Accepted
[Thu Oct  1 17:27:34 2026] 127.0.0.1:56372 Closing
[Thu Oct  1 17:27:34 2026] 127.0.0.1:56388 Accepted
[Thu Oct  1 17:27:35 2026] 127.0.0.1:56388 Closing
[Thu Oct  1 17:27:35 2026] 127.0.0.1:43100 Accepted
[Thu Oct  1 17:27:35 2026] 127.0.0.1:43100 Closing
[Thu Oct  1 17:27:35 2026] 127.0.0.1:43102 Accepted
[Thu Oct  1 17:27:35 2026] 127.0.0.1:43102 Closing
[Thu Oct  1 17:27:35 2026] 127.0.0.1:43112 Accepted
[Thu Oct  1 17:27:35 2026] 127.0.0.1:43112 Closing
[Thu Oct  1 17:29:18 2026] 127.0.0.1:47778 Accepted
[Thu Oct  1 17:29:18 2026] 127.0.0.1:47778 Closed without sending a request; it was probably just an unused speculative preconnection
[Thu Oct  1 17:29:18 2026] 127.0.0.1:47778 Closing
[Thu Oct  1 17:29:19 2026] 127.0.0.1:47788 Accepted
[Thu Oct  1 17:29:19 2026] 127.0.0.1:47788 Closed without sending a request; it was probably just an unused speculative preconnection
[Thu Oct  1 17:29:19 2026] 127.0.0.1:47788 Closing
[Thu Oct  1 17:29:52 2026] 127.0.0.1:44144 Accepted
[Thu Oct  1 17:29:52 2026] 127.0.0.1:44144 Closed without sending a request; it was probably just an unused speculative preconnection
[Thu Oct  1 17:29:52 2026] 127.0.0.1:44144 Closing
[Thu Oct  1 17:29:53 2026] 127.0.0.1:44148 Accepted
[Thu Oct  1 17:29:53 2026] 127.0.0.1:44148 Closed without sending a request; it was probably just an unused speculative preconnection
[Thu Oct  1 17:29:53 2026] 127.0.0.1:44148 Closing
[Thu Oct  1 17:31:08 2026] 127.0.0.1:50620 Accepted
[Thu Oct  1 17:31:08 2026] 127.0.0.1:50620 Closing
[Thu Oct  1 17:31:08 2026] 127.0.0.1:50636 Accepted
[Thu Oct  1 17:31:08 2026] 127.0.0.1:50636 Closing
[Thu Oct  1 17:31:08 2026] 127.0.0.1:50646 Accepted
[Thu Oct  1 17:31:08 2026] 127.0.0.1:50646 Closing
[Thu Oct  1 17:31:08 2026] 127.0.0.1:50652 Accepted
[Thu Oct  1 17:31:08 2026] 127.0.0.1:50652 Closing
[Thu Oct  1 17:31:08 2026] 127.0.0.1:50660 Accepted
[Thu Oct  1 17:31:08 2026] 127.0.0.1:50660 Closing
[Thu Oct  1 17:31:08 2026] 127.0.0.1:50674 Accepted
[Thu Oct  1 17:31:08 2026] 127.0.0.1:50674 Closing
[Thu Oct  1 17:31:08 2026] 127.0.0.1:50686 Accepted
[Thu Oct  1 17:31:08 2026] 127.0.0.1:50686 Closing
[Thu Oct  1 17:31:08 2026] 127.0.0.1:50694 Accepted
[Thu Oct  1 17:31:08 2026] 127.0.0.1:50694 Closing
[Thu Oct  1 17:31:08 2026] 127.0.0.1:50696 Accepted
[Thu Oct  1 17:31:09 2026] 127.0.0.1:50696 Closing
[Thu Oct  1 17:31:09 2026] 127.0.0.1:50704 Accepted
[Thu Oct  1 17:31:09 2026] 127.0.0.1:50704 Closing
[Thu Oct  1 17:50:11 2026] 127.0.0.1:55832 Accepted
[Thu Oct  1 17:50:11 2026] 127.0.0.1:55832 Closing
[Thu Oct  1 17:50:12 2026] 127.0.0.1:55838 Accepted
[Thu Oct  1 17:50:12 2026] 127.0.0.1:55838 Closing
[Thu Oct  1 17:52:40 2026] 127.0.0.1:55464 Accepted
[Thu Oct  1 17:52:40 2026] 127.0.0.1:55464 Closing
[Thu Oct  1 18:03:42 2026] 127.0.0.1:41314 Accepted

Generated 2026-10-01 16:03:42 UTC · Gladex.de