Gladex Agent Logs
Agent run logs & app logs · env: prod · LAN-only investor surface
Overview
| Run logs | 1391 files, 94.1 MB |
| Latest run log | run-20261010-125933-925.log |
| Log directory | /data/agent-logs |
| App log directory | /opt/startup/prod/logs |
Run logs (newest first, last 50)
| File | Size | Modified (UTC) |
|---|---|---|
| run-20261010-125933-925.log | 435 KB | 2026-10-10 12:21:51 |
| run-20261010-123337-924.log | 152 KB | 2026-10-10 10:49:24 |
| run-20261010-115741-923.log | 208 KB | 2026-10-10 10:23:28 |
| run-20261010-112119-922.log | 259 KB | 2026-10-10 09:47:32 |
| run-20261010-104503-921.log | 231 KB | 2026-10-10 09:11:10 |
| run-20261010-100305-920.log | 243 KB | 2026-10-10 08:34:54 |
| run-20261010-090754-919.log | 608 KB | 2026-10-10 07:52:55 |
| run-20261010-081222-918.log | 384 KB | 2026-10-10 06:57:44 |
| run-20261010-074045-917.log | 404 KB | 2026-10-10 06:02:12 |
| run-20261010-064359-916.log | 252 KB | 2026-10-10 05:30:35 |
| run-20261010-061545-915.log | 131 KB | 2026-10-10 04:33:49 |
| run-20261010-041808-914.log | 422 KB | 2026-10-10 04:05:36 |
| run-20261010-032250-913.log | 225 KB | 2026-10-10 02:07:59 |
| run-20261010-023524-912.log | 340 KB | 2026-10-10 01:12:41 |
| run-20261010-020034-911.log | 121 KB | 2026-10-10 00:25:15 |
| run-20261010-015024-910.log | 153 B | 2026-10-09 23:50:25 |
| run-20261010-014014-909.log | 153 B | 2026-10-09 23:40:15 |
| run-20261010-013004-908.log | 153 B | 2026-10-09 23:30:05 |
| run-20261010-011954-907.log | 153 B | 2026-10-09 23:19:55 |
| run-20261010-010944-906.log | 153 B | 2026-10-09 23:09:45 |
| run-20261010-005935-905.log | 153 B | 2026-10-09 22:59:35 |
| run-20261010-004925-904.log | 153 B | 2026-10-09 22:49:26 |
| run-20261010-003915-903.log | 153 B | 2026-10-09 22:39:16 |
| run-20261010-002906-902.log | 153 B | 2026-10-09 22:29:06 |
| run-20261010-001856-901.log | 153 B | 2026-10-09 22:18:57 |
| run-20261010-000846-900.log | 153 B | 2026-10-09 22:08:47 |
| run-20261009-235837-899.log | 153 B | 2026-10-09 21:58:37 |
| run-20261009-234827-898.log | 153 B | 2026-10-09 21:48:28 |
| run-20261009-233817-897.log | 153 B | 2026-10-09 21:38:18 |
| run-20261009-232808-896.log | 153 B | 2026-10-09 21:28:08 |
| run-20261009-231758-895.log | 153 B | 2026-10-09 21:17:59 |
| run-20261009-230748-894.log | 153 B | 2026-10-09 21:07:49 |
| run-20261009-225738-893.log | 153 B | 2026-10-09 20:57:39 |
| run-20261009-224729-892.log | 153 B | 2026-10-09 20:47:29 |
| run-20261009-223719-891.log | 153 B | 2026-10-09 20:37:20 |
| run-20261009-222709-890.log | 153 B | 2026-10-09 20:27:10 |
| run-20261009-221659-889.log | 153 B | 2026-10-09 20:17:00 |
| run-20261009-220649-888.log | 190 B | 2026-10-09 20:06:50 |
| run-20261009-215639-887.log | 153 B | 2026-10-09 19:56:40 |
| run-20261009-214628-886.log | 153 B | 2026-10-09 19:46:29 |
| run-20261009-213618-885.log | 153 B | 2026-10-09 19:36:19 |
| run-20261009-212608-884.log | 153 B | 2026-10-09 19:26:09 |
| run-20261009-211558-883.log | 153 B | 2026-10-09 19:15:59 |
| run-20261009-210548-882.log | 153 B | 2026-10-09 19:05:49 |
| run-20261009-205539-881.log | 190 B | 2026-10-09 18:55:39 |
| run-20261009-204528-880.log | 190 B | 2026-10-09 18:45:29 |
| run-20261009-203518-879.log | 153 B | 2026-10-09 18:35:19 |
| run-20261009-202508-878.log | 190 B | 2026-10-09 18:25:09 |
| run-20261009-201458-877.log | 153 B | 2026-10-09 18:14:59 |
| run-20261009-200448-876.log | 190 B | 2026-10-09 18:04:49 |
Tail — run-20261010-125933-925.log (last 200 lines)
> build · mimo-v2.6-flash-free
[0m$ [0mcd /data/repo && sed -n '/^_run()/,/^}/p' tests/test_system_status_promote_gates.sh; echo "=== REPOF:"; grep -n "REPOF=\|PG_BIN=\|STUB=" tests/test_system_status_promote_gates.sh | head -20
_run() { # _run <format>
rm -f "$PG_LOG" "$SS_LOG" "$GIT_LOG"
env PATH="$STUB:$PATH" \
GLADEX_DEV_DB="$SANDBOX/no.db" GLADEX_PROD_DB="$SANDBOX/no.db" \
GLADEX_REPO_DIR="$REPOF" \
GLADEX_REPO_LINT_BIN="$STUB/repo-lint" GLADEX_GO_LINT_TIMEOUT=5 \
GLADEX_GO_BIN=go GLADEX_GO_TIMEOUT=5 \
GLADEX_PROMOTE_BIN="$PG_BIN" GLADEX_PROMOTE_TIMEOUT="$PG_TMO" \
GLADEX_SOURCE_SYNC_BIN="$SS_BIN" GLADEX_SOURCE_SYNC_TIMEOUT="$SS_TMO" \
GLADEX_GIT_BIN="$SHIP_BIN" GLADEX_SHIP_TIMEOUT="$SHIP_TMO" \
GLADEX_CLOUD_DOCKER_BIN="$STUB/docker-not-under-test" \
STUB_RL_MODE="$RL_MODE" STUB_PG_MODE="$PG_MODE" \
STUB_RL_SHA="$RL_SHA" STUB_PG_SHA="$PG_SHA" \
STUB_PG_CHILD="$PG_CHILD" STUB_PG_MB="$PG_MB" STUB_PG_TS="$PG_TS" \
STUB_PG_DSCHILD="$PG_DSCHILD" STUB_PG_SHIPCHILD="$PG_SHIPCHILD" \
STUB_SS_MODE="$SS_MODE" STUB_SS_LOG="$SS_LOG" \
STUB_GIT_LOG="$GIT_LOG" \
STUB_PG_LOG="$PG_LOG" \
"$TOOL" --format "$1"
}
=== REPOF:
142:STUB="$SANDBOX/bin"
463:REPOF="$SANDBOX/repo"; mkrepo "$REPOF"
478:PG_BIN="$STUB/promote-stub"
708:PG_BIN="$SANDBOX/no-such-promote"
710:PG_BIN="$STUB/promote-stub"
> build · mimo-v2.6-flash-free
[0m$ [0mcd /data/repo && sed -n '/^mkrepo()/,/^}/p' tests/test_system_status_promote_gates.sh
mkrepo() {
local dir="$1"
rm -rf "$dir"; mkdir -p "$dir"
git -C "$dir" init -q 2>/dev/null
git -C "$dir" config user.email "suite@example.invalid"
git -C "$dir" config user.name "suite"
mkdir -p "$dir/app/src/php"
printf '<?php // x\n' > "$dir/app/src/php/x.php"
mkdir -p "$dir/examples/workflows"
printf '{"name":"w"}\n' > "$dir/examples/workflows/hello.json"
git -C "$dir" add -A >/dev/null 2>&1
git -C "$dir" commit -qm init >/dev/null 2>&1
}
> build · mimo-v2.6-flash-free
[0m$ [0mcd /data/repo && grep -n "^# ===\|^# ---" tests/test_system_status_promote_gates.sh | tail -30; echo ===; grep -n "section 19\|section 18" tests/test_system_status_promote_gates.sh | head
141:# ---------------------------------------------------------------- stubs -----
449:# ------------------------------------------------------------- fixtures ----
1488:# ---- M7-M12: the divergence guard's COMMIT EVIDENCE (section 14b) ----------
1596:# ---- M13-M18: the row's two NEW pieces of evidence --------------------------
1707:# ---- M19-M23: the age must be THIS report's arithmetic, or say why it is not --
1782:# ---- M24-M29: the SECOND pair (sections 14d/14e) -----------------------------
1924:# ---- M32-M39: the THIRD pair (sections 14f/14g/15c) ---------------------------
2182:# --- scoping: exactly one block per copy, or the comparison reads the wrong one
2193:# --- each copy must actually state the three cases
2210:# --- the comparisons
2227:# --- the promise every copy must still make: a refusal is never a failure,
2239:# --- the claim the tool makes about this file, now that this file reads it
2247:# --- negative controls: each plant must BREAK a comparison above, otherwise the
===
72:# a day, `3d 8h` above it (section 18c); states where that subtraction
> build · mimo-v2.6-flash-free
[0m$ [0mcd /data/repo && grep -n '^echo "=== \|^echo "========\|^echo "[0-9]*\.' tests/test_system_status_promote_gates.sh | tail -30; echo ===; grep -n 'Results:' tests/test_system_status_promote_gates.sh
583:echo "=== 3. dev-sync refuses -> named with its own reason ==="
599:echo "=== 4. commit-lint refuses while go-compile can only warn -> no divergence ==="
609:echo "=== 4b. ship-tree refuses while HEAD lints clean -> named, and never a divergence ==="
637:echo "=== 5. an unevaluated gate is reported, never silently skipped ==="
648:echo "=== 6. dry_run not confirmed -> cannot verify, never a verdict ==="
658:echo "=== 7. ready contradicted by its own gates -> cannot verify ==="
667:echo "=== 8. gates green but ready false -> cannot verify (contract drift) ==="
676:echo "=== 9. gates green but the run failed -> not promotable, exit carried ==="
686:echo "=== 10. output we cannot read -> cannot verify (three shapes) ==="
697:echo "=== 11. a hanging child is bounded by our own budget ==="
707:echo "=== 12. a missing child -> cannot verify, never ok ==="
716:echo "=== 13. the DEFAULT child path is relative to the REPORTED repo ==="
726:echo "=== 14. DIVERGENCE: the gate and the go-compile row contradict ==="
745:echo "=== 14b. divergence EVIDENCE: the commit each check actually measured ==="
817:echo "=== 14c. divergence EVIDENCE: WHICH child each check actually ran ==="
856:echo "=== 14d. the SECOND pair: dev == repo asked twice (gate vs this run) ==="
952:echo "=== 14e. the second pair's EVIDENCE: which child each side ran ==="
988:echo "=== 14f. the THIRD pair: the trees that would ship, asked twice ==="
1079:echo "=== 14g. the third pair's EVIDENCE: which git each side ran ==="
1115:echo "=== 15. the invocation the child RECEIVES ==="
1129:echo "=== 15b. the second child's invocation (what source-sync-check RECEIVES) ==="
1145:echo "=== 15c. the third sighting's invocation + the tree set it scans ==="
1196:echo "=== 16. the human renderer carries the row ==="
1207:echo "=== 17. --help documents the row, its verdicts and its hooks ==="
1238:echo "=== 18. static: the child call carries all four safety tokens ==="
1256:echo "=== 18b. the refusal is DATED from the reviewer mailbox - four states ==="
1298:echo "=== 18c. the age must be dated by THIS report's stamps, or say why not ==="
1352:echo "=== 19. mutations — each plant must break the INTENDED assertion ==="
2068:echo "=== 20. the promote-gates contract's THREE prose copies must agree ==="
2293:echo "=== Results: $PASS passed, $FAIL failed, $SKIP skipped ==="
===
2293:echo "=== Results: $PASS passed, $FAIL failed, $SKIP skipped ==="
> build · mimo-v2.6-flash-free
[0m→ [0mRead repo/tests/test_system_status_promote_gates.sh [90m[offset=2239, limit=55][0m
> build · mimo-v2.6-flash-free
[0m← [0mEdit repo/tests/test_system_status_promote_gates.sh
Index: repo/tests/test_system_status_promote_gates.sh
===================================================================
--- repo/tests/test_system_status_promote_gates.sh
+++ repo/tests/test_system_status_promote_gates.sh
@@ -1425,11 +1425,15 @@
bad "mutation M2 (want real=yes mutant=no, got real=$r mutant=$m)"
fi
fi
-# M3: the probe pin dropped (the child's own defence against a lost flag)
-if plant M3 'GLADEX_GATE_PROBE=1 \' \
- 's|GLADEX_GATE_PROBE=1 \\|GLADEX_PROMOTE_PROBE=1 \\|; $a # MUTANT: M3 probe pin dropped'; then
+# M3: the probe pin dropped (the child's own defence against a lost flag).
+# Anchored on THIS row's own child line since [0.4.294], when the deploy-path
+# row (section 21) started running a child under the same pin: the bare
+# `GLADEX_GATE_PROBE=1 \` then named two places, and `plant` refuses to guess
+# which one it was asked about (it wants exactly one match).
+if plant M3 'PG_OUT=$(GLADEX_REPO_DIR="$REPO_DIR" GLADEX_GATE_PROBE=1 \' \
+ 's|PG_OUT=$(GLADEX_REPO_DIR="$REPO_DIR" GLADEX_GATE_PROBE=1 \\|PG_OUT=$(GLADEX_REPO_DIR="$REPO_DIR" GLADEX_PROMOTE_PROBE=1 \\|; $a # MUTANT: M3 probe pin dropped'; then
PG_MODE=ready
run_status >/dev/null
real_probe=$(sed -n '2p' "$PG_LOG" 2>/dev/null || true)
run_mutant json >/dev/null 2>&1
> build · mimo-v2.6-flash-free
[0m$ [0mcd /data/repo && grep -n "ERRORS" tools/system-status | tail -15; echo ===; sed -n '2700,2760p' tools/system-status
1490:# already grade the tree itself (error + ERRORS++). The point of this row
1499:# Warnings never touch ERRORS (the renderer's standing rule), so this row can
1663: ((ERRORS++)) || true
1680:# child exit 1 -> error + ERRORS++: a violation. This row deliberately does
1730: ((ERRORS++)) || true
1839: ((ERRORS++)) || true
1861:# a committed file that does not compile -> error + ERRORS++: the
2023: ((ERRORS++)) || true
2646: ((ERRORS++)) || true
2659:# child exit 1 -> error, ERRORS++: a file carries no record holding its sha,
2717: ((ERRORS++)) || true
2722: echo "{\"overall\":\"$([ $ERRORS -eq 0 ] && echo ok || echo error)\",\"errors\":$ERRORS,\"checks\":[$ITEMS]}"
2740: if [[ $ERRORS -eq 0 ]]; then
2743: echo "Overall: $ERRORS CHECK(S) FAILED"
2754:if [[ $ERRORS -eq 0 ]]; then
===
print("ok" if c==0 else ("error" if c==1 else "warning"))' 2>/dev/null || echo "")
DP_DETAIL=$(printf '%s' "$DP_OUT" | python3 -c 'import json,sys
print(json.load(sys.stdin).get("detail") or "")' 2>/dev/null || echo "")
fi
# A status without a detail is as unreadable as no status at all: the
# renderer prints the detail, so an empty one would be a verdict with no
# sentence behind it.
if [[ -z "$DP_STATUS" || -z "$DP_DETAIL" ]]; then
DP_STATUS="warning"
DP_DETAIL="cannot verify: promote-dev-to-prod --ledger-check output unreadable (exit $DP_RC)"
fi
else
DP_STATUS="warning"
DP_DETAIL="cannot verify: promote-dev-to-prod --ledger-check not runnable at $DP_BIN"
fi
STATUS_ITEMS+=("{\"name\":\"deploy-path\",\"status\":\"$DP_STATUS\",\"detail\":\"$DP_DETAIL\"}")
if [[ "$DP_STATUS" == "error" ]]; then
((ERRORS++)) || true
fi
if [[ "$FORMAT" == "json" ]]; then
ITEMS=$(IFS=,; echo "${STATUS_ITEMS[*]}")
echo "{\"overall\":\"$([ $ERRORS -eq 0 ] && echo ok || echo error)\",\"errors\":$ERRORS,\"checks\":[$ITEMS]}"
else
echo "=== Gladex System Status ==="
echo ""
for item in "${STATUS_ITEMS[@]}"; do
NAME=$(echo "$item" | grep -o '"name":"[^"]*"' | cut -d'"' -f4)
STATUS=$(echo "$item" | grep -o '"status":"[^"]*"' | cut -d'"' -f4)
DETAIL=$(echo "$item" | grep -o '"detail":"[^"]*"' | cut -d'"' -f4)
if [[ "$STATUS" == "ok" ]]; then
ICON="[OK]"
elif [[ "$STATUS" == "warning" ]]; then
ICON="[WARN]"
else
ICON="[FAIL]"
fi
printf " %-25s %s %s\n" "$NAME" "$ICON" "$DETAIL"
done
echo ""
if [[ $ERRORS -eq 0 ]]; then
echo "Overall: ALL SYSTEMS HEALTHY"
else
echo "Overall: $ERRORS CHECK(S) FAILED"
fi
fi
# Exit-code contract (this tool's own --help): 0 = healthy, 1 = one or more
# checks failed, 2 = invalid arguments (reserved by the parser above). The
# script used to hand the raw error COUNT to exit, so exactly 2 failing checks
# exited 2 — indistinguishable from a usage error — and 3+ failures exited
# undocumented values. The count itself is not lost: the JSON "errors" field
# and the human "N CHECK(S) FAILED" line still carry it.
# Pinned by case 11 + mutation M3 of tests/test_system_status_mx_soa.sh.
if [[ $ERRORS -eq 0 ]]; then
exit 0
fi
exit 1
> build · mimo-v2.6-flash-free
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)
[Sat Oct 10 14:16:06 2026] 127.0.0.1:35250 Accepted [Sat Oct 10 14:16:06 2026] 127.0.0.1:35250 Closing [Sat Oct 10 14:16:06 2026] 127.0.0.1:35252 Accepted [Sat Oct 10 14:16:06 2026] 127.0.0.1:35252 Closing [Sat Oct 10 14:16:06 2026] 127.0.0.1:35262 Accepted [Sat Oct 10 14:16:06 2026] 127.0.0.1:35262 Closing [Sat Oct 10 14:16:06 2026] 127.0.0.1:35276 Accepted [Sat Oct 10 14:16:06 2026] 127.0.0.1:35276 Closing [Sat Oct 10 14:16:06 2026] 127.0.0.1:35282 Accepted [Sat Oct 10 14:16:06 2026] 127.0.0.1:35282 Closing [Sat Oct 10 14:16:06 2026] 127.0.0.1:35288 Accepted [Sat Oct 10 14:16:06 2026] 127.0.0.1:35286 Accepted [Sat Oct 10 14:16:06 2026] 127.0.0.1:35288 Closing [Sat Oct 10 14:16:06 2026] 127.0.0.1:35286 Closing [Sat Oct 10 14:16:06 2026] 127.0.0.1:35294 Accepted [Sat Oct 10 14:16:06 2026] 127.0.0.1:35294 Closing [Sat Oct 10 14:16:07 2026] 127.0.0.1:35308 Accepted [Sat Oct 10 14:16:07 2026] 127.0.0.1:35308 Closing [Sat Oct 10 14:16:07 2026] 127.0.0.1:35310 Accepted [Sat Oct 10 14:16:07 2026] 127.0.0.1:35310 Closing [Sat Oct 10 14:16:07 2026] 127.0.0.1:35314 Accepted [Sat Oct 10 14:16:07 2026] 127.0.0.1:35314 Closing [Sat Oct 10 14:16:07 2026] 127.0.0.1:35326 Accepted [Sat Oct 10 14:16:07 2026] 127.0.0.1:35326 Closing [Sat Oct 10 14:16:07 2026] 127.0.0.1:35342 Accepted [Sat Oct 10 14:16:07 2026] 127.0.0.1:35342 Closing [Sat Oct 10 14:16:08 2026] 127.0.0.1:35346 Accepted [Sat Oct 10 14:16:08 2026] 127.0.0.1:35346 Closing [Sat Oct 10 14:16:08 2026] 127.0.0.1:35360 Accepted [Sat Oct 10 14:16:08 2026] 127.0.0.1:35360 Closing [Sat Oct 10 14:16:08 2026] 127.0.0.1:35364 Accepted [Sat Oct 10 14:16:08 2026] 127.0.0.1:35364 Closing [Sat Oct 10 14:16:08 2026] 127.0.0.1:35380 Accepted [Sat Oct 10 14:16:08 2026] 127.0.0.1:35380 Closing [Sat Oct 10 14:16:08 2026] 127.0.0.1:35384 Accepted [Sat Oct 10 14:16:08 2026] 127.0.0.1:35384 Closing [Sat Oct 10 14:16:13 2026] 127.0.0.1:35394 Accepted [Sat Oct 10 14:16:13 2026] 127.0.0.1:35394 Closing [Sat Oct 10 14:17:45 2026] 127.0.0.1:43552 Accepted [Sat Oct 10 14:17:45 2026] 127.0.0.1:43552 Closing [Sat Oct 10 14:19:04 2026] 127.0.0.1:59682 Accepted [Sat Oct 10 14:19:04 2026] 127.0.0.1:59682 Closing [Sat Oct 10 14:19:36 2026] 127.0.0.1:43356 Accepted [Sat Oct 10 14:19:36 2026] 127.0.0.1:43356 Closing [Sat Oct 10 14:19:40 2026] 127.0.0.1:43358 Accepted [Sat Oct 10 14:19:40 2026] 127.0.0.1:43358 Closing [Sat Oct 10 14:19:48 2026] 127.0.0.1:48430 Accepted [Sat Oct 10 14:19:48 2026] 127.0.0.1:48430 Closing [Sat Oct 10 14:19:52 2026] 127.0.0.1:48434 Accepted [Sat Oct 10 14:19:52 2026] 127.0.0.1:48434 Closing [Sat Oct 10 14:19:57 2026] 127.0.0.1:57692 Accepted [Sat Oct 10 14:19:57 2026] 127.0.0.1:57692 Closing [Sat Oct 10 14:20:00 2026] 127.0.0.1:57702 Accepted [Sat Oct 10 14:20:00 2026] 127.0.0.1:57702 Closing [Sat Oct 10 14:20:04 2026] 127.0.0.1:57704 Accepted [Sat Oct 10 14:20:04 2026] 127.0.0.1:57704 Closing [Sat Oct 10 14:20:17 2026] 127.0.0.1:36310 Accepted [Sat Oct 10 14:20:17 2026] 127.0.0.1:36310 Closing [Sat Oct 10 14:22:48 2026] 127.0.0.1:39936 Accepted
Generated 2026-10-10 12:22:48 UTC · Gladex.de