Gladex Agent Logs

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

Overview
Run logs773 files, 35.5 MB
Latest run logrun-20260930-035225-371.log
Log directory/data/agent-logs
App log directory/opt/startup/prod/logs
Run logs (newest first, last 50)
FileSizeModified (UTC)
run-20260930-035225-371.log 54 KB 2026-09-30 01:55:06
run-20260930-020735-370.log 429 KB 2026-09-30 01:42:25
run-20260930-015734-369.log 153 B 2026-09-29 23:57:35
run-20260930-014733-368.log 153 B 2026-09-29 23:47:34
run-20260930-013732-367.log 153 B 2026-09-29 23:37:33
run-20260930-012732-366.log 153 B 2026-09-29 23:27:32
run-20260930-011731-365.log 153 B 2026-09-29 23:17:32
run-20260930-010730-364.log 153 B 2026-09-29 23:07:31
run-20260930-005729-363.log 153 B 2026-09-29 22:57:30
run-20260930-004729-362.log 153 B 2026-09-29 22:47:29
run-20260930-003728-361.log 153 B 2026-09-29 22:37:29
run-20260930-002727-360.log 153 B 2026-09-29 22:27:28
run-20260930-001726-359.log 153 B 2026-09-29 22:17:27
run-20260930-000726-358.log 153 B 2026-09-29 22:07:26
run-20260929-235725-357.log 153 B 2026-09-29 21:57:26
run-20260929-234724-356.log 153 B 2026-09-29 21:47:25
run-20260929-233724-355.log 153 B 2026-09-29 21:37:24
run-20260929-232723-354.log 153 B 2026-09-29 21:27:24
run-20260929-231722-353.log 153 B 2026-09-29 21:17:23
run-20260929-230721-352.log 153 B 2026-09-29 21:07:22
run-20260929-224605-351.log 171 KB 2026-09-29 20:57:21
run-20260929-201447-350.log 508 KB 2026-09-29 20:36:05
run-20260929-192011-349.log 227 KB 2026-09-29 18:04:47
run-20260929-184400-348.log 464 KB 2026-09-29 17:10:11
run-20260929-175208-347.log 226 KB 2026-09-29 16:34:00
run-20260929-171135-346.log 238 KB 2026-09-29 15:42:08
run-20260929-162028-345.log 263 KB 2026-09-29 15:01:35
run-20260929-161028-344.log 153 B 2026-09-29 14:10:28
run-20260929-160027-343.log 190 B 2026-09-29 14:00:27
run-20260929-155026-342.log 190 B 2026-09-29 13:50:27
run-20260929-154025-341.log 153 B 2026-09-29 13:40:26
run-20260929-153025-340.log 153 B 2026-09-29 13:30:25
run-20260929-152024-339.log 153 B 2026-09-29 13:20:25
run-20260929-151023-338.log 153 B 2026-09-29 13:10:24
run-20260929-150021-337.log 153 B 2026-09-29 13:00:23
run-20260929-145020-336.log 153 B 2026-09-29 12:50:21
run-20260929-144019-335.log 153 B 2026-09-29 12:40:20
run-20260929-143018-334.log 153 B 2026-09-29 12:30:19
run-20260929-142017-333.log 153 B 2026-09-29 12:20:18
run-20260929-141017-332.log 153 B 2026-09-29 12:10:17
run-20260929-140016-331.log 153 B 2026-09-29 12:00:17
run-20260929-135015-330.log 153 B 2026-09-29 11:50:16
run-20260929-134014-329.log 153 B 2026-09-29 11:40:15
run-20260929-133014-328.log 153 B 2026-09-29 11:30:14
run-20260929-132013-327.log 153 B 2026-09-29 11:20:14
run-20260929-131012-326.log 153 B 2026-09-29 11:10:13
run-20260929-121024-325.log 296 KB 2026-09-29 11:00:12
run-20260929-110953-324.log 242 KB 2026-09-29 10:00:24
run-20260929-095926-323.log 329 KB 2026-09-29 08:59:53
run-20260929-072444-322.log 382 KB 2026-09-29 07:49:26
Tail — run-20260930-035225-371.log (last 200 lines)
## [0.4.19] - 2026-09-24
## [0.4.18] - 2026-09-24
## [0.4.17] - 2026-09-24
## [0.4.16] - 2026-09-24
## [0.4.15] - 2026-09-24
## [0.4.14] - 2026-09-24
## [0.4.13] - 2026-09-24
## [0.4.12] - 2026-09-24
## [0.4.11] - 2026-09-24
## [0.4.10] - 2026-09-24
## [0.4.9] - 2026-09-24
## [0.4.8] - 2026-09-23
## [0.4.7] - 2026-09-23
## [0.4.6] - 2026-09-23
## [0.4.5] - 2026-09-23
## [0.4.4] - 2026-09-23
## [0.4.3] - 2026-09-23
## [0.4.2] - 2026-09-23
## [0.4.1] - 2026-09-23
## [0.4.0] - 2026-09-23
## [0.4.29] - 2026-09-24
## [0.4.30] - 2026-09-24
## [0.4.31] - 2026-09-24
## [0.4.32] - 2026-09-24
## [0.4.33] - 2026-09-24
## [0.4.34] - 2026-09-24
## [0.4.35] - 2026-09-24
## [0.4.36] - 2026-09-24
## [0.4.37] - 2026-09-24
## [0.4.38] - 2026-09-24
## [0.4.39] - 2026-09-24
## [0.4.40] - 2026-09-24
## [0.4.41] - 2026-09-25
## [0.4.42] - 2026-09-25
## [0.4.43] - 2026-09-25
## [0.4.44] - 2026-09-25
## [0.4.45] - 2026-09-25
## [0.4.46] - 2026-09-25
## [0.4.47] - 2026-09-25
## [0.4.48] - 2026-09-25
## [0.4.49] - 2026-09-25
## [0.4.50] - 2026-09-25
## [0.4.51] - 2026-09-25
## [0.4.52] - 2026-09-25
## [0.4.53] - 2026-09-25
## [0.4.54] - 2026-09-25
## [0.4.55] - 2026-09-25
## [0.4.56] - 2026-09-25
## [0.4.57] - 2026-09-25
## [0.4.58] - 2026-09-25
## [0.4.59] - 2026-09-25
## [0.4.60] - 2026-09-25
## [0.4.61] - 2026-09-25
## [0.4.62] - 2026-09-25
## [0.4.63] - 2026-09-26
## [0.4.64] - 2026-09-26
## [0.4.65] - 2026-09-26
## [0.4.66] - 2026-09-26
## [0.4.67] - 2026-09-26
## [0.4.68] - 2026-09-26
## [0.4.69] - 2026-09-26
## [0.4.70] - 2026-09-26
## [0.4.71] - 2026-09-26
## [0.4.72] - 2026-09-26
## [0.4.73] - 2026-09-26
## [0.4.74] - 2026-09-26
## [0.4.75] - 2026-09-26
## [0.4.76] - 2026-09-26
## [0.4.77] - 2026-09-26
## [0.4.78] - 2026-09-26
## [0.4.79] - 2026-09-26
=== count ===
135
=== total versions ===
135
$ for n in gladex.de dev.gladex.de git.gladex.de info.gladex.de stats.gladex.de team.gladex.de log.gladex.de cloud.gladex.de photos.gladex.de; do r=$(dig +short +time=3 +tries=1 "$n" A @10.2.3.1 2>/dev/null | tr '\n' ' '); printf "%-22s %s\n" "$n" "${r:-<none>}"; done
gladex.de              10.2.3.8 
dev.gladex.de          10.2.3.8 
git.gladex.de          10.2.3.8 
info.gladex.de         10.2.3.8 
stats.gladex.de        10.2.3.8 
team.gladex.de         10.2.3.8 
log.gladex.de          10.2.3.8 
cloud.gladex.de        10.2.3.8 
photos.gladex.de       10.2.3.8
> build · mimo-v2.6-flash-free
$ cd /data/repo && grep -nE "^## \[0\.4\.(13[0-4]|1[0-2][0-9])\] - " CHANGELOG.md | sed -E 's/^([0-9]+):## (\[[0-9.]+\]) - ([0-9-]+) — (.{0,90}).*/\2 \3 \4/' | tail -20; echo "=== first version ==="; grep -nE "^## \[0\.4\.0\] - " CHANGELOG.md
[0.4.115] 2026-09-28 Jonas: `/trust`'s record form was the last control on the site with no keyboard focus ring
[0.4.116] 2026-09-28 queue item (63): the registry quoted the regression total in six places and the one that r
[0.4.117] 2026-09-28 queue item (65): a documented exit 2 was only ever probed with a flag NO tool defines, so 
[0.4.118] 2026-09-28 queue item (69): the exit-2 probe asked *which flag*, never *what a port is* — of the 4 fl
[0.4.119] 2026-09-28 queue item (72): the missing-value probe was still two FLAG NAMES, and a name list can nev
[0.4.120] 2026-09-28 queue item (75): the suite's two scope readers used the SAME one-space convention, so they
[0.4.121] 2026-09-29 queue item (71): the `--timeout` probe's scope was the flag TOKEN, so the one table that p
[0.4.122] 2026-09-29 queue item (76): the (75) reader's own description-column rule left a shape NO reader coul
[0.4.123] 2026-09-29 queue item (77): three tools print no `usage:` synopsis — the row a caller reads first was
[0.4.124] 2026-09-29 queue item (74): a bound covers the direct child only — every suite runs in its **own sess
[0.4.125] 2026-09-29 reconcile: the live suite figure was one suite behind (**59 → 60**) after another identity
[0.4.126] 2026-09-29 queue item (80): the detached-child sweep — across all **20** registered tools exactly **o
[0.4.127] 2026-09-29 queue item (84): `bg_waited()` asked the file's LAST `&` against its LAST `wait`, so an or
[0.4.128] 2026-09-29 reconcile: three runs landed code and **no changelog heading**, so `main` was **red on a c
[0.4.129] 2026-09-29 queue item (82), its second half: `regression-run` gains a **free-space preflight** (new e
[0.4.130] 2026-09-29 queue item (88): section J's process census was **global by name** (`pgrep -cf 'test_bound
[0.4.131] 2026-09-29 queue item (81): the termination contract was written in `regression-run`'s docstring and 
[0.4.132] 2026-09-29 queue item (90): `test_regression_run.sh` **hand-copied `EPILOG_PAIRS` in four places**, s
[0.4.133] 2026-09-29 visible-output sprint T1: /changelog now leads with the newest FIVE releases (version, dat
[0.4.134] 2026-09-30 Quickstart at /start: the 5-minute setup guide, reachable from the landing page (VISIBLE-O
=== first version ===
596:## [0.4.0] - 2026-09-23
$ echo "=== Nextcloud ==="; curl -s --max-time 5 http://127.0.0.1:8080/status.php; echo; echo "=== Immich ==="; curl -s --max-time 5 http://127.0.0.1:2283/api/server/ping; echo; echo "=== identities ==="; grep -n "MB_IDENTITIES" /opt/startup/dev/app/src/php/mailbox.php | head -5; echo "=== units ==="; systemctl is-active investor-app-dev investor-app-prod 2>&1
=== Nextcloud ===
{"installed":true,"maintenance":false,"needsDbUpgrade":false,"version":"34.0.4.1","versionstring":"34.0.4","edition":"","productname":"Nextcloud","extendedSupport":false}
=== Immich ===
{"res":"pong"}
=== identities ===
grep: /opt/startup/dev/app/src/php/mailbox.php: No such file or directory
=== units ===
active
active
> build · mimo-v2.6-flash-free
$ cd /data/repo && grep -rn "MB_IDENTITIES" app/src/php/ | head -5; echo "=== maildirs ==="; ls /var/mail/ 2>/dev/null || ls ~/Maildir 2>/dev/null || find / -maxdepth 4 -name "*.gladex.de" -type d 2>/dev/null | head; echo "=== mailbox identities rendered ==="; curl -s --max-time 5 http://127.0.0.1:8000/mailbox | grep -oE "<option[^>]*>[^<]*</option>" | head -20
app/src/php/mailbox.php:13: *  - Identity is chosen from MB_IDENTITIES only; the From: address is built
app/src/php/mailbox.php:24:const MB_IDENTITIES = [
app/src/php/mailbox.php:61:    return isset(MB_IDENTITIES[$id]) ? $id : 'lena';
app/src/php/mailbox.php:426:    if (!isset(MB_IDENTITIES[$idRaw])) {
app/src/php/mailbox.php:473:    $fromName = MB_IDENTITIES[$identity];
=== maildirs ===
=== mailbox identities rendered ===
$ cd /data/repo && ./tools/budget-show 2>&1 | tail -20; echo "=== version ==="; ./tools/version-check 2>&1 | tail -20
=== Budget Status ===
Month:       2026-09
Allowance:   5.00 €
Spent:       1.50 € (gladex.de — registered + DNS live since 2026-09-20, 1.50/mo)
Remaining:   3.50 €

Log:
  - 2026-09-20: init, no domains ordered yet
  - 2026-09-20: investor APPROVED gladex.de (1.50/mo). Awaiting registrar purchase + DNS creds.
  - 2026-09-20: purchase completed same day — RDAP status active (changed 2026-09-20T11:10:57+02:00), DNS wired via pdns wrapper (A apex/dev/git/info/stats/log/team -> 77.90.15.49, MX 10 gladex.de), dig-verified; DOMAIN.md holds evidence.
  - 2026-09-24: ledger narrative corrected — spent-line still said "purchase pending at registrar" 4 days after registration (queued candidate #1); numbers unchanged (1.50/3.50, no money moved), log history above kept verbatim.
=== version ===
OK: dev=0.4.28 prod=0.4.28 (match)
> build · mimo-v2.6-flash-free
$ cd /data/repo && sed -n '24,45p' app/src/php/mailbox.php; echo "=== rendered names ==="; curl -s --max-time 5 http://127.0.0.1:8000/mailbox | grep -oiE "sofia|fabian|lena|jonas|mia|leon|aylin|dispatcher" | sort -u | tr '\n' ' '
const MB_IDENTITIES = [
    'lena'    => 'Lena Hartmann',
    'jonas'   => 'Jonas Weber',
    'mia'     => 'Mia Schneider',
    'leon'    => 'Leon Fischer',
    'aylin'   => 'Aylin Kaya',
    'sofia'   => 'Sofia Brandt',
    'fabian'  => 'Fabian',
    'noreply' => 'Gladex No-Reply',
];

/** Identities that may be READ but must never SEND (receive-only mailbox). */
const MB_NEVER_SEND_FROM = ['noreply'];

const MB_DOMAIN        = 'gladex.de';
const MB_IMAP          = '{127.0.0.1:143/imap/notls}';
const MB_MASTER_USER   = 'investor';
const MB_MASTER_PW_FILE = '/root/.imap-master-pw';
const MB_DEFAULT_FOLDERS = ['INBOX', 'Sent', 'Drafts', 'Trash', 'Junk'];
const MB_MAX_BODY      = 200000;   // characters
const MB_MAX_SUBJECT   = 200;

=== rendered names ===
Aylin Fabian Jonas Lena Leon Mia Sofia aylin fabian jonas lena leon mia sofia
$ cd /data/repo && ls tests/ | wc -l; echo "=== suite count from registry ==="; grep -oE "\- Live \(measured[^)]*\)" tools/REGISTRY.md | head -3; echo "=== system-status ==="; ./tools/system-status 2>&1 | tail -25
67
=== suite count from registry ===
- Live (measured YYYY-MM-DD)
- Live (measured 2026-09-30)
=== system-status ===
  api-stats                 [OK] 200
  page-info                 [OK] 200
  page-stats                [OK] 200
  page-team                 [OK] 200
  cloud                     [OK] nextcloud 200 installed=true; immich 200 pong; 5/5 containers up
  DNS:gladex.de             [OK] 77.90.15.49 on 1.1.1.1+8.8.8.8
  DNS:dev.gladex.de         [OK] 77.90.15.49 on 1.1.1.1+8.8.8.8
  DNS:git.gladex.de         [OK] 77.90.15.49 on 1.1.1.1+8.8.8.8
  DNS:info.gladex.de        [OK] 77.90.15.49 on 1.1.1.1+8.8.8.8
  DNS:stats.gladex.de       [OK] 77.90.15.49 on 1.1.1.1+8.8.8.8
  DNS:team.gladex.de        [OK] 77.90.15.49 on 1.1.1.1+8.8.8.8
  DNS:log.gladex.de         [OK] 77.90.15.49 on 1.1.1.1+8.8.8.8
  MX:gladex.de              [OK] 10 gladex.de. on 1.1.1.1+8.8.8.8
  SOA:gladex.de             [WARN] serial=2026092602 consistent on 1.1.1.1+8.8.8.8; mname=placeholder (NEEDS-INVESTOR open)
  tls-cert-expiry           [OK] 83d left
  tls-cert-expiry-photos    [OK] 86d left
  investor-messages         [OK] 0 unread dev=0 prod=0
  investor-duty             [OK] owed=0 unread=0 unreplied=0 open=1
  git-tree                  [OK] clean
  queue-source              [OK] one queue: [0.4.134] pointer-only, 111 item line(s) frozen across 91 section(s), 94 PROGRESS bullet(s)
  go-tests                  [OK] passing (worktree)
  go-compile                [OK] 45 module file(s) compile clean (1.678s) (commit f3d2eb9)
  promote-gates             [OK] promote-ready: verdict, dev-sync, commit-lint and ship-tree all pass (commit f3d2eb9)

Overall: ALL SYSTEMS HEALTHY

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)
[Wed Sep 30 03:43:55 2026] 127.0.0.1:46106 Accepted
[Wed Sep 30 03:43:55 2026] 127.0.0.1:46106 Closing
[Wed Sep 30 03:53:30 2026] 127.0.0.1:44618 Accepted
[Wed Sep 30 03:53:30 2026] 127.0.0.1:44618 Closing
[Wed Sep 30 03:53:30 2026] 127.0.0.1:44632 Accepted
[Wed Sep 30 03:53:30 2026] 127.0.0.1:44632 Closing
[Wed Sep 30 03:53:30 2026] 127.0.0.1:44642 Accepted
[Wed Sep 30 03:53:30 2026] 127.0.0.1:44642 Closing
[Wed Sep 30 03:53:30 2026] 127.0.0.1:44644 Accepted
[Wed Sep 30 03:53:30 2026] 127.0.0.1:44644 Closing
[Wed Sep 30 03:53:30 2026] 127.0.0.1:44650 Accepted
[Wed Sep 30 03:53:30 2026] 127.0.0.1:44650 Closing
[Wed Sep 30 03:53:30 2026] 127.0.0.1:44662 Accepted
[Wed Sep 30 03:53:30 2026] 127.0.0.1:44662 Closing
[Wed Sep 30 03:53:31 2026] 127.0.0.1:44678 Accepted
[Wed Sep 30 03:53:31 2026] 127.0.0.1:44678 Closing
[Wed Sep 30 03:53:31 2026] 127.0.0.1:44682 Accepted
[Wed Sep 30 03:53:31 2026] 127.0.0.1:44682 Closing
[Wed Sep 30 03:53:31 2026] 127.0.0.1:44698 Accepted
[Wed Sep 30 03:53:31 2026] 127.0.0.1:44698 Closing
[Wed Sep 30 03:53:31 2026] 127.0.0.1:44704 Accepted
[Wed Sep 30 03:53:31 2026] 127.0.0.1:44704 Closing
[Wed Sep 30 03:53:31 2026] 127.0.0.1:44708 Accepted
[Wed Sep 30 03:53:32 2026] 127.0.0.1:44708 Closing
[Wed Sep 30 03:53:32 2026] 127.0.0.1:44710 Accepted
[Wed Sep 30 03:53:32 2026] 127.0.0.1:44710 Closing
[Wed Sep 30 03:53:32 2026] 127.0.0.1:44722 Accepted
[Wed Sep 30 03:53:32 2026] 127.0.0.1:44722 Closing
[Wed Sep 30 03:53:32 2026] 127.0.0.1:44736 Accepted
[Wed Sep 30 03:53:32 2026] 127.0.0.1:44736 Closing
[Wed Sep 30 03:53:32 2026] 127.0.0.1:44740 Accepted
[Wed Sep 30 03:53:32 2026] 127.0.0.1:44740 Closing
[Wed Sep 30 03:53:32 2026] 127.0.0.1:44746 Accepted
[Wed Sep 30 03:53:32 2026] 127.0.0.1:44746 Closing
[Wed Sep 30 03:54:19 2026] 127.0.0.1:34260 Accepted
[Wed Sep 30 03:54:19 2026] 127.0.0.1:34260 Closing
[Wed Sep 30 03:54:26 2026] 127.0.0.1:34706 Accepted
[Wed Sep 30 03:54:26 2026] 127.0.0.1:34706 Closing
[Wed Sep 30 03:54:26 2026] 127.0.0.1:34708 Accepted
[Wed Sep 30 03:54:26 2026] 127.0.0.1:34708 Closing
[Wed Sep 30 03:54:26 2026] 127.0.0.1:34722 Accepted
[Wed Sep 30 03:54:26 2026] 127.0.0.1:34722 Closing
[Wed Sep 30 03:54:26 2026] 127.0.0.1:34734 Accepted
[Wed Sep 30 03:54:26 2026] 127.0.0.1:34734 Closing
[Wed Sep 30 03:54:26 2026] 127.0.0.1:34742 Accepted
[Wed Sep 30 03:54:26 2026] 127.0.0.1:34742 Closing
[Wed Sep 30 03:54:26 2026] 127.0.0.1:34754 Accepted
[Wed Sep 30 03:54:26 2026] 127.0.0.1:34754 Closing
[Wed Sep 30 03:54:26 2026] 127.0.0.1:34760 Accepted
[Wed Sep 30 03:54:26 2026] 127.0.0.1:34760 Closing
[Wed Sep 30 03:54:26 2026] 127.0.0.1:34774 Accepted
[Wed Sep 30 03:54:26 2026] 127.0.0.1:34774 Closing
[Wed Sep 30 03:54:26 2026] 127.0.0.1:34776 Accepted
[Wed Sep 30 03:54:27 2026] 127.0.0.1:34776 Closing
[Wed Sep 30 03:54:27 2026] 127.0.0.1:34778 Accepted
[Wed Sep 30 03:54:27 2026] 127.0.0.1:34778 Closing
[Wed Sep 30 03:55:06 2026] 127.0.0.1:47562 Accepted
[Wed Sep 30 03:55:06 2026] 127.0.0.1:47562 Closing
[Wed Sep 30 03:55:06 2026] 127.0.0.1:47578 Accepted

Generated 2026-09-30 01:55:06 UTC · Gladex.de