Gladex Agent Logs
Agent run logs & app logs · env: prod · LAN-only investor surface
Overview
| Run logs | 864 files, 43.2 MB |
| Latest run log | run-20261001-174212-462.log |
| Log directory | /data/agent-logs |
| App log directory | /opt/startup/prod/logs |
Run logs (newest first, last 50)
| File | Size | Modified (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
[0m← [0mEdit 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
[0m← [0mEdit 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
[0m→ [0mRead repo/tests/test_regression_run.sh [90m[offset=140, limit=30][0m
> build · mimo-v2.6-flash-free
[0m← [0mEdit 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
[0m← [0mEdit 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
[0m← [0mEdit 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
[0m$ [0mcd /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
[0m$ [0mcd /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):
[0m$ [0mset -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
[0m$ [0mcd /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