Gladex Agent Logs
Agent run logs & app logs · env: prod · LAN-only investor surface
Overview
| Run logs | 505 files, 16.8 MB |
| Latest run log | run-20260925-231021-103.log |
| Log directory | /data/agent-logs |
| App log directory | /opt/startup/prod/logs |
Run logs (newest first, last 50)
| File | Size | Modified (UTC) |
|---|---|---|
| run-20260925-231021-103.log | 153 B | 2026-09-25 21:10:22 |
| run-20260925-230021-102.log | 153 B | 2026-09-25 21:00:21 |
| run-20260925-225020-101.log | 190 B | 2026-09-25 20:50:21 |
| run-20260925-224019-100.log | 153 B | 2026-09-25 20:40:19 |
| run-20260925-223018-99.log | 152 B | 2026-09-25 20:30:19 |
| run-20260925-222017-98.log | 152 B | 2026-09-25 20:20:18 |
| run-20260925-221016-97.log | 152 B | 2026-09-25 20:10:17 |
| run-20260925-220015-96.log | 152 B | 2026-09-25 20:00:16 |
| run-20260925-213653-95.log | 141 KB | 2026-09-25 19:50:15 |
| run-20260925-205157-94.log | 389 KB | 2026-09-25 19:26:53 |
| run-20260925-195858-93.log | 517 KB | 2026-09-25 18:41:57 |
| run-20260925-192850-92.log | 321 KB | 2026-09-25 17:48:58 |
| run-20260925-185030-91.log | 325 KB | 2026-09-25 17:18:50 |
| run-20260925-180536-90.log | 232 KB | 2026-09-25 16:40:30 |
| run-20260925-173957-89.log | 252 KB | 2026-09-25 15:55:36 |
| run-20260925-171044-88.log | 201 KB | 2026-09-25 15:29:57 |
| run-20260925-163300-87.log | 247 KB | 2026-09-25 15:00:44 |
| run-20260925-160013-86.log | 175 KB | 2026-09-25 14:23:00 |
| run-20260925-153430-85.log | 158 KB | 2026-09-25 13:50:13 |
| run-20260925-152430-84.log | 152 B | 2026-09-25 13:24:30 |
| run-20260925-151428-83.log | 189 B | 2026-09-25 13:14:30 |
| run-20260925-150428-82.log | 152 B | 2026-09-25 13:04:28 |
| run-20260925-145427-81.log | 152 B | 2026-09-25 12:54:28 |
| run-20260925-144426-80.log | 152 B | 2026-09-25 12:44:27 |
| run-20260925-143426-79.log | 152 B | 2026-09-25 12:34:26 |
| run-20260925-142425-78.log | 189 B | 2026-09-25 12:24:26 |
| run-20260925-141424-77.log | 152 B | 2026-09-25 12:14:25 |
| run-20260925-140424-76.log | 152 B | 2026-09-25 12:04:24 |
| run-20260925-135423-75.log | 152 B | 2026-09-25 11:54:24 |
| run-20260925-134422-74.log | 152 B | 2026-09-25 11:44:23 |
| run-20260925-133422-73.log | 152 B | 2026-09-25 11:34:22 |
| run-20260925-132421-72.log | 152 B | 2026-09-25 11:24:22 |
| run-20260925-131420-71.log | 189 B | 2026-09-25 11:14:21 |
| run-20260925-130419-70.log | 152 B | 2026-09-25 11:04:20 |
| run-20260925-125419-69.log | 152 B | 2026-09-25 10:54:19 |
| run-20260925-124418-68.log | 152 B | 2026-09-25 10:44:19 |
| run-20260925-123417-67.log | 189 B | 2026-09-25 10:34:18 |
| run-20260925-122417-66.log | 152 B | 2026-09-25 10:24:17 |
| run-20260925-121416-65.log | 189 B | 2026-09-25 10:14:17 |
| run-20260925-120415-64.log | 152 B | 2026-09-25 10:04:16 |
| run-20260925-115415-63.log | 152 B | 2026-09-25 09:54:15 |
| run-20260925-114414-62.log | 152 B | 2026-09-25 09:44:15 |
| run-20260925-113413-61.log | 152 B | 2026-09-25 09:34:14 |
| run-20260925-111839-60.log | 104 KB | 2026-09-25 09:24:13 |
| run-20260925-101629-59.log | 319 KB | 2026-09-25 09:08:39 |
| run-20260925-084303-58.log | 469 KB | 2026-09-25 08:06:29 |
| run-20260925-064014-57.log | 294 KB | 2026-09-25 06:33:03 |
| run-20260925-052608-56.log | 381 KB | 2026-09-25 04:30:14 |
| run-20260925-042134-55.log | 200 KB | 2026-09-25 03:16:08 |
| run-20260925-031342-54.log | 303 KB | 2026-09-25 02:11:34 |
Tail — run-20260925-213653-95.log (last 200 lines)
- <a href="/trust" style="color:var(--accent);font-size:0.8125rem;">Trust</a>
- <a href="/changelog" style="color:var(--accent);font-size:0.8125rem;">Changelog</a>
+ <a href="/budget" style="color:var(--accent-text);font-size:0.8125rem;">Budget</a>
+ <a href="/mailbox" style="color:var(--accent-text);font-size:0.8125rem;">Mailbox</a>
+ <a href="/trust" style="color:var(--accent-text);font-size:0.8125rem;">Trust</a>
+ <a href="/changelog" style="color:var(--accent-text);font-size:0.8125rem;">Changelog</a>
<label class="filter-label" title="Show only messages from the last 6 hours">
<input type="checkbox" id="timeFilter" class="filter-cb" checked> Last 6h
</label>
<span class="msg-count" id="msgCount"></span>
> build · mimo-v2.6-flash-free
[0m← [0mEdit repo/app/src/php/app.php
Index: repo/app/src/php/app.php
===================================================================
--- repo/app/src/php/app.php
+++ repo/app/src/php/app.php
@@ -848,9 +848,9 @@
<p class="composer-status" id="composerStatus" role="status" aria-live="polite"></p>
</div>
</div>
- <div class="footer">Gladex Investor App v0.3.1 · <a href="/" style="color:var(--accent);text-decoration:none;">gladex.de</a> · timestamps in UTC, displayed in Berlin time</div>
+ <div class="footer">Gladex Investor App v0.3.1 · <a href="/" style="color:var(--accent-text);text-decoration:none;">gladex.de</a> · timestamps in UTC, displayed in Berlin time</div>
</main>
<script>
(function() {
[0m← [0mEdit repo/app/src/php/app.php
Index: repo/app/src/php/app.php
===================================================================
--- repo/app/src/php/app.php
+++ repo/app/src/php/app.php
@@ -1184,9 +1184,9 @@
color: var(--text-dim);
line-height: 1.5;
}
.empty { color: var(--text-dim); font-style: italic; }
- a { color: var(--accent); text-decoration: none; }
+ a { color: var(--accent-text); text-decoration: none; }
a:hover { text-decoration: underline; }
.nav { margin-bottom: 1.5rem; font-size: 0.8125rem; }
</style>
</head>
@@ -1453,9 +1453,9 @@
display: none;
}
.form-msg.ok { display: block; background: rgba(0,184,148,0.1); color: var(--green); }
.form-msg.err { display: block; background: rgba(225,112,85,0.1); color: var(--red); }
- a { color: var(--accent); text-decoration: none; }
+ a { color: var(--accent-text); text-decoration: none; }
a:hover { text-decoration: underline; }
.nav { margin-bottom: 1.5rem; font-size: 0.8125rem; }
</style>
</head>
@@ -1629,9 +1629,9 @@
padding: 2rem;
}
.container { max-width: 700px; width: 100%; }
.nav { margin-bottom: 1.5rem; font-size: 0.8125rem; }
- .nav a { color: var(--accent); text-decoration: none; }
+ .nav a { color: var(--accent-text); text-decoration: none; }
.nav a:hover { text-decoration: underline; }
h1.changelog-title { font-size: 1.5rem; font-weight: 600; margin-bottom: 1.5rem; }
.changelog-desc { color: var(--text-dim); font-size: 0.875rem; margin-bottom: 1.5rem; }
.version-header {
> build · mimo-v2.6-flash-free
[0m← [0mEdit repo/app/src/php/app.php
Index: repo/app/src/php/app.php
===================================================================
--- repo/app/src/php/app.php
+++ repo/app/src/php/app.php
@@ -1659,9 +1659,9 @@
font-size: 0.75rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.05em;
- color: var(--accent);
+ color: var(--accent-text);
margin-top: 1rem;
margin-bottom: 0.5rem;
}
.changelog-item {
[0m← [0mEdit repo/app/src/php/app.php
Index: repo/app/src/php/app.php
===================================================================
--- repo/app/src/php/app.php
+++ repo/app/src/php/app.php
@@ -777,9 +777,9 @@
/* Footer */
.footer {
text-align: center; padding: 12px 0 0;
- font-size: 0.7rem; color: var(--text-dim); opacity: 0.5;
+ font-size: 0.7rem; color: var(--text-dim);
}
/* Responsive */
@media (max-width: 480px) {
> build · mimo-v2.6-flash-free
Fix applied. Before deploying, let me check the promote/reviewer gate discipline:
[0m$ [0mcd /data/repo && ls -la mailboxes/ 2>&1; echo "=== reviewer mailbox"; for f in mailboxes/*; do echo "-- $f: $(wc -c < $f) bytes"; done 2>&1; echo "=== promote-gates"; grep -n "promote-gates" tools/REGISTRY.md | head -5
total 24
drwxr-xr-x 6 root root 4096 Sep 21 20:29 .
drwxr-xr-x 12 root root 4096 Sep 25 18:29 ..
drwxr-xr-x 2 root root 4096 Sep 24 12:58 main-to-reviewer
drwxr-xr-x 2 root root 4096 Sep 21 20:29 main-to-scout
drwxr-xr-x 2 root root 4096 Sep 24 12:58 reviewer-to-main
drwxr-xr-x 2 root root 4096 Sep 21 20:29 scout-to-main
=== reviewer mailbox
wc: 'standard input': Is a directory
-- mailboxes/main-to-reviewer: 0 bytes
wc: 'standard input': Is a directory
-- mailboxes/main-to-scout: 0 bytes
wc: 'standard input': Is a directory
-- mailboxes/reviewer-to-main: 0 bytes
wc: 'standard input': Is a directory
-- mailboxes/scout-to-main: 0 bytes
=== promote-gates
362:- `system-status`'s `promote-gates` row reports it as a fourth named gate: a
448:`promote-gates` row on `system-status` sets both. `--force` is what a *reader* needs,
1043: `GLADEX_PROMOTE_TIMEOUT` (default `120`) — the promote-gates check only. The
1049: `60`) — the promote-gates row's **second pair** only (`[0.4.46]`): the row
1053: the promote-gates suite points the first at a scenario stub that logs its
[0m$ [0mcd /data/repo && tools/promote-dev-to-prod --help 2>&1 | head -40
usage: promote-dev-to-prod [-h] [--dry-run] [--force] [--format {human,json}]
Promote dev environment to prod (verdict gate, dev-sync gate, commit lint gate, ship-tree gate, build, restart)
options:
-h, --help show this help message and exit
--dry-run Evaluate the gates and show what would be done without
executing
--force Bypass the reviewer verdict gate, the dev-sync gate,
the commit lint gate AND the ship-tree gate (bypasses
on purpose, warns on stderr)
--format {human,json}
Output format: human (default) or json (one machine-
readable gate report on stdout, human lines on stderr)
Reviewer verdict gate:
Refuses (exit 5) unless mailboxes/reviewer-to-main/ holds a verdict file whose
newest entry parses to APPROVE/APPROVED and is no older than the newest file in
ANY promoted tree (app/src/php, examples/workflows).
The gate runs before any mutating step.
Dev-sync gate:
Refuses (exit 6) while tools/source-sync-check reports the dev env
differs from the repo (or cannot be checked). This tool ships REPO -> prod, so
dev-only work would otherwise be dropped. Also runs before any mutating step.
Commit lint gate:
Refuses (exit 7) unless tools/repo-lint --format json --sha HEAD
reports a clean COMMITTED tree: a committed file that fails to parse, a
committed Go file that does not compile, or a changelog version token that
repeats - repo-lint's three rules as this prose was written, and the
authoritative list is `tools/repo-lint --help`, which this copy follows
rather than replaces. Checked against git blobs (never the worktree), so a
red HEAD cannot be promoted behind a green reviewer verdict. Unverifiable
output, a missing child, a timeout or a child that exits 0 while listing
failures all refuse (fail closed). Also runs before any mutating step.
Ship-tree gate:
Refuses (exit 8) unless `git status --porcelain --ignored` reports no
difference between the PROMOTED TREES and HEAD - the lint gate above measured
> build · mimo-v2.6-flash-free
Deploying repo → dev first (the dev-sync gate), then verifying:
[0m$ [0mcd /data/repo && echo "=== remaining accent-as-text in app.php:"; php -r '
$src=file_get_contents("app/src/php/app.php");
$docs=preg_split("/(?=<!DOCTYPE html>)/",$src);
foreach($docs as $i=>$d){ if(strpos($d,"<!DOCTYPE html>")!==0) continue;
if(preg_match_all("#style\s*=\s*\"([^\"]*)\"#i",$d,$ms)) foreach($ms[1] as $st)
if(preg_match("#(?:^|;)\s*color\s*:\s*([^;]+)#i",$st,$c) && preg_match("#--accent\)#i",trim($c[1]))) echo "doc$i inline STILL ACCENT: $st\n";
}' ; grep -n -- "--accent-text" app/src/php/app.php; echo "=== copy to dev"; cp app/src/php/app.php /opt/startup/dev/src/php/app.php && echo copied-dev; tools/source-sync-check 2>&1 | tail -3
=== remaining accent-as-text in app.php:
574: --accent-text: #9385f5;
821: <a href="/budget" style="color:var(--accent-text);font-size:0.8125rem;">Budget</a>
822: <a href="/mailbox" style="color:var(--accent-text);font-size:0.8125rem;">Mailbox</a>
823: <a href="/trust" style="color:var(--accent-text);font-size:0.8125rem;">Trust</a>
824: <a href="/changelog" style="color:var(--accent-text);font-size:0.8125rem;">Changelog</a>
852: <div class="footer">Gladex Investor App v0.3.1 · <a href="/" style="color:var(--accent-text);text-decoration:none;">gladex.de</a> · timestamps in UTC, displayed in Berlin time</div>
1098: --accent-text: #9385f5;
1188: a { color: var(--accent-text); text-decoration: none; }
1298: --accent-text: #9385f5;
1457: a { color: var(--accent-text); text-decoration: none; }
1618: --accent-text: #9385f5;
1633: .nav a { color: var(--accent-text); text-decoration: none; }
1663: color: var(--accent-text);
=== copy to dev
copied-dev
prod src/php 13 files DRIFT
prod src/php/app.php: differs (deploy repo copy to env (repo newer — fix never deployed))
result: DRIFT — 1 file(s) out of sync (exit 1)
[91m[1mError: [0mRate limit exceeded. Please try again later.
exit=1
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)
[Fri Sep 25 22:47:18 2026] 127.0.0.1:41072 Accepted [Fri Sep 25 22:47:18 2026] 127.0.0.1:41072 Closing [Fri Sep 25 22:47:18 2026] 127.0.0.1:41084 Accepted [Fri Sep 25 22:47:18 2026] 127.0.0.1:41084 Closing [Fri Sep 25 22:47:18 2026] 127.0.0.1:41096 Accepted [Fri Sep 25 22:47:18 2026] 127.0.0.1:41096 Closing [Fri Sep 25 22:47:18 2026] 127.0.0.1:41100 Accepted [Fri Sep 25 22:47:18 2026] 127.0.0.1:41100 Closing [Fri Sep 25 22:47:18 2026] 127.0.0.1:41106 Accepted [Fri Sep 25 22:47:18 2026] 127.0.0.1:41106 Closing [Fri Sep 25 22:47:18 2026] 127.0.0.1:41120 Accepted [Fri Sep 25 22:47:18 2026] 127.0.0.1:41120 Closing [Fri Sep 25 22:47:19 2026] 127.0.0.1:41122 Accepted [Fri Sep 25 22:47:19 2026] 127.0.0.1:41122 Closing [Fri Sep 25 22:47:19 2026] 127.0.0.1:41124 Accepted [Fri Sep 25 22:47:19 2026] 127.0.0.1:41124 Closing [Fri Sep 25 22:47:32 2026] 127.0.0.1:38026 Accepted [Fri Sep 25 22:47:32 2026] 127.0.0.1:38026 Closing [Fri Sep 25 22:55:09 2026] 127.0.0.1:34956 Accepted [Fri Sep 25 22:55:09 2026] 127.0.0.1:34956 Closing [Fri Sep 25 22:55:09 2026] 127.0.0.1:34958 Accepted [Fri Sep 25 22:55:09 2026] 127.0.0.1:34958 Closing [Fri Sep 25 22:55:10 2026] 127.0.0.1:34962 Accepted [Fri Sep 25 22:55:10 2026] 127.0.0.1:34962 Closing [Fri Sep 25 22:55:10 2026] 127.0.0.1:34964 Accepted [Fri Sep 25 22:55:10 2026] 127.0.0.1:34964 Closing [Fri Sep 25 22:58:40 2026] 127.0.0.1:37258 Accepted [Fri Sep 25 22:58:40 2026] 127.0.0.1:37258 Closing [Fri Sep 25 22:58:40 2026] 127.0.0.1:37268 Accepted [Fri Sep 25 22:58:40 2026] 127.0.0.1:37268 Closing [Fri Sep 25 23:07:49 2026] 127.0.0.1:39998 Accepted [Fri Sep 25 23:07:49 2026] 127.0.0.1:39998 Closing [Fri Sep 25 23:07:50 2026] 127.0.0.1:40002 Accepted [Fri Sep 25 23:07:50 2026] 127.0.0.1:40002 Closing [Fri Sep 25 23:07:52 2026] 127.0.0.1:40010 Accepted [Fri Sep 25 23:07:52 2026] 127.0.0.1:40010 Closing [Fri Sep 25 23:09:56 2026] 127.0.0.1:35064 Accepted [Fri Sep 25 23:09:56 2026] 127.0.0.1:35064 Closing [Fri Sep 25 23:10:29 2026] 127.0.0.1:39218 Accepted [Fri Sep 25 23:10:29 2026] 127.0.0.1:39218 Closing [Fri Sep 25 23:11:01 2026] 127.0.0.1:37700 Accepted [Fri Sep 25 23:11:01 2026] 127.0.0.1:37700 Closing [Fri Sep 25 23:11:16 2026] 127.0.0.1:44206 Accepted [Fri Sep 25 23:11:16 2026] 127.0.0.1:44206 Closing [Fri Sep 25 23:11:30 2026] 127.0.0.1:56618 Accepted [Fri Sep 25 23:11:30 2026] 127.0.0.1:56618 Closing [Fri Sep 25 23:11:37 2026] 127.0.0.1:54562 Accepted [Fri Sep 25 23:11:37 2026] 127.0.0.1:54562 Closing [Fri Sep 25 23:11:37 2026] 127.0.0.1:54572 Accepted [Fri Sep 25 23:11:38 2026] 127.0.0.1:54572 Closing [Fri Sep 25 23:11:41 2026] 127.0.0.1:54588 Accepted [Fri Sep 25 23:11:41 2026] 127.0.0.1:54588 Closing [Fri Sep 25 23:12:02 2026] 127.0.0.1:39084 Accepted [Fri Sep 25 23:12:02 2026] 127.0.0.1:39084 Closing [Fri Sep 25 23:12:02 2026] 127.0.0.1:39092 Accepted [Fri Sep 25 23:12:03 2026] 127.0.0.1:39092 Closing [Fri Sep 25 23:12:14 2026] 127.0.0.1:59866 Accepted [Fri Sep 25 23:12:15 2026] 127.0.0.1:59866 Closing [Fri Sep 25 23:12:15 2026] 127.0.0.1:59874 Accepted
Generated 2026-09-25 21:12:15 UTC · Gladex.de