Gladex Agent Logs

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

Overview
Run logs455 files, 11.9 MB
Latest run logrun-20260925-022932-53.log
Log directory/data/agent-logs
App log directory/opt/startup/prod/logs
Run logs (newest first, last 50)
FileSizeModified (UTC)
run-20260925-022932-53.log 186 KB 2026-09-25 01:00:18
run-20260925-012106-52.log 297 KB 2026-09-25 00:19:32
run-20260925-003542-51.log 153 KB 2026-09-24 23:11:06
run-20260924-234828-50.log 204 KB 2026-09-24 22:25:42
run-20260924-230237-49.log 303 KB 2026-09-24 21:38:28
run-20260924-222340-48.log 206 KB 2026-09-24 20:52:37
run-20260924-215353-47.log 146 KB 2026-09-24 20:13:40
run-20260924-210315-46.log 182 KB 2026-09-24 19:43:53
run-20260924-200755-45.log 181 KB 2026-09-24 18:53:15
run-20260924-192844-44.log 133 KB 2026-09-24 17:57:55
run-20260924-182059-43.log 227 KB 2026-09-24 17:18:44
run-20260924-164658-42.log 181 KB 2026-09-24 16:10:59
run-20260924-160206-41.log 101 KB 2026-09-24 14:36:58
run-20260924-153643-40.log 127 KB 2026-09-24 13:52:05
run-20260924-151001-39.log 130 KB 2026-09-24 13:26:43
run-20260924-144921-38.log 90 KB 2026-09-24 13:00:01
run-20260924-143001-37.log 63 KB 2026-09-24 12:39:21
run-20260924-141012-36.log 106 KB 2026-09-24 12:20:01
run-20260924-135151-35.log 75 KB 2026-09-24 12:00:12
run-20260924-133211-34.log 116 KB 2026-09-24 11:41:51
run-20260924-130932-33.log 67 KB 2026-09-24 11:22:11
run-20260924-115831-32.log 260 KB 2026-09-24 10:59:32
run-20260924-111405-31.log 117 KB 2026-09-24 09:48:31
run-20260924-102752-30.log 106 KB 2026-09-24 09:04:05
run-20260924-100538-29.log 81 KB 2026-09-24 08:17:52
run-20260924-092904-28.log 101 KB 2026-09-24 07:55:38
run-20260924-083526-27.log 116 KB 2026-09-24 07:19:04
run-20260924-080136-26.log 75 KB 2026-09-24 06:25:26
run-20260924-074910-25.log 23 KB 2026-09-24 05:51:36
run-20260924-072601-24.log 52 KB 2026-09-24 05:39:10
run-20260924-065657-23.log 156 KB 2026-09-24 05:16:01
run-20260924-063310-22.log 76 KB 2026-09-24 04:46:57
run-20260924-055309-21.log 107 KB 2026-09-24 04:23:10
run-20260924-052831-20.log 133 KB 2026-09-24 03:43:09
run-20260924-050107-19.log 69 KB 2026-09-24 03:18:31
run-20260924-044831-18.log 34 KB 2026-09-24 02:51:07
run-20260924-041948-17.log 156 KB 2026-09-24 02:38:31
run-20260924-035438-16.log 185 KB 2026-09-24 02:09:48
run-20260924-033002-15.log 245 KB 2026-09-24 01:44:38
run-20260924-025910-14.log 120 KB 2026-09-24 01:20:02
run-20260924-023430-13.log 97 KB 2026-09-24 00:49:10
run-20260924-015458-12.log 255 KB 2026-09-24 00:24:30
run-20260924-012751-11.log 179 KB 2026-09-23 23:44:58
run-20260924-005036-10.log 162 KB 2026-09-23 23:17:51
run-20260924-000545-9.log 217 KB 2026-09-23 22:40:36
run-20260923-235334-8.log 29 KB 2026-09-23 21:55:45
run-20260923-233751-7.log 97 KB 2026-09-23 21:43:34
run-20260923-231451-6.log 165 KB 2026-09-23 21:27:51
run-20260923-225120-5.log 58 KB 2026-09-23 21:04:51
run-20260923-222610-4.log 230 KB 2026-09-23 20:41:20
Tail — run-20260925-022932-53.log (last 200 lines)
  module whose `cmd/gladex` test package does not compile — the `395b9b5` shape —
  and asserts the ground truth first**: the old narrow pattern is exit 0 on that
  tree while `go test ./...` is exit 1), provenance (`(worktree)`, dirty-count),
  the static contract with **comment lines stripped** (the block quotes the old
  code on purpose, so a whole-file grep would false-trip on its own explanation),
  `--help`/arg contract, and **one live case** through the real module.
  **Mutations M1–M6** (planted on copies, precondition-asserted exactly once,
  `bash -n`-validated): M1 timeout branch → `ok` · M2 narrow pattern restored ·
  M3 `rc 1` → `ok` · M4 `cannot verify` default → `error` · M5 `cannot verify`
  detail → `failing: unknown` · M6 exit gate disabled. **All 6 caught.**
  Pre-fix replay: `SYSTEM_STATUS_BIN=$(git show 6f2feb8:tools/system-status) bash
  tests/test_system_status_go_tests.sh` → **15 passed / 39 failed / 1 skipped**.
  (Mutation M6's plant now names the `go-tests` gate by its variable — the tool
  grew a second `== "error" ]]` exit gate with the `go-compile` row, so the old
  bare comparison matched twice and the plant correctly refused to fire.)
- `bash tests/test_system_status_go_compile.sh` → **82 assertions, 6 mutations**,
  hermetic (~39s, of which ~25s is the one *live* case): a scenario-driven
  **`repo-lint` stub** (`ok` / `php-fail` / `go-ok-other-error` / `go-broken` /
  `go-tool-failed` / `no-go-module` / `no-go-files` / `rev-missing` / `garbage` /
  `nokey` / `hang`) emitting the exact JSON the real child emits, plus a scenario
  `go` stub, absent fixture DBs and a throwaway committed repo. Covers the
  verdict table row by row (including "child exit 1 while Go compiles" →
  `warning`, and every cannot-verify shape → `warning`, never `ok`), the broken-
  HEAD path (row `error` **and** tool exit 1 **and** `"errors":1`), the
  divergence note (present only when `go-tests` says `passing`), the human
  renderer, `--help`/arg contract and the static invocation contract
  (`--sha HEAD`, `GLADEX_REPO_DIR` passes-through, both hooks).
  **Mutations M1–M6** (planted on copies, `bash -n`-validated, each asserted to
  change the file first): M1 broken HEAD → `warning` · M2 red child → green row ·
  M3 environment failure blamed on the code · M4 unreadable output → pass ·
  M5 an unattempted gate → pass · M6 the `ERRORS++` gate removed (a red row that
  no longer fails the tool). **All 6 caught.**
  **Pre-fix replay**: `SYSTEM_STATUS_BIN=<blob of HEAD:tools/system-status, md5
> build · mimo-v2.6-flash-free
← Edit repo/tools/REGISTRY.md
Index: repo/tools/REGISTRY.md
===================================================================
--- repo/tools/REGISTRY.md
+++ repo/tools/REGISTRY.md
@@ -840,9 +840,9 @@
 | all three gates `ok`, `ready` true | `ok` | `promote-ready` (sha) |
 | any gate `refused` | `warning` | `not promotable: verdict REFUSED: … \| dev-sync OK \| commit-lint OK (commit <sha7>)` — every gate named |
 | unreadable JSON / `gates` empty / `dry_run` not true / `ready` contradicting its own gates | `warning` | `cannot verify: …` |
 | child missing, non-zero exit before a report, or timeout | `warning` | `cannot verify: …` |
-| commit-lint gate `ok` while the `go-compile` row above is `error`/refused (same child, same sha) | `warning` | `cannot verify: promote gate and go-compile row disagree on HEAD …` |
+| a `commit-lint` gate that contradicts the `go-compile` row above — **after** comparing the commit each check recorded (`sha_resolved` vs `_head_sha`) | `warning` | `cannot verify: …` naming both commits: **same commit** → the two children differ · **different commits** → HEAD moved between them (drift) · **unread** → cannot compare |
 
 `warning` is the ceiling and `ok` the floor of honesty here: a refused promotion is
 **not a broken system** (the tool stays exit `0` and increments no error count —
 `error` is reserved for the dashboard itself failing), and an unverifiable child is

> build · mimo-v2.6-flash-free
← Edit repo/tools/REGISTRY.md
Index: repo/tools/REGISTRY.md
===================================================================
--- repo/tools/REGISTRY.md
+++ repo/tools/REGISTRY.md
@@ -949,30 +949,55 @@
   real tree and query the real promote tool — with a stub `go` on PATH, "compile" it
   with that stub.
   Restored cost: `unread` 2s, `mx_soa` 2s (they were 16.5s / 24.6s with the
   real child), `go_tests` 29s.
-- `bash tests/test_system_status_promote_gates.sh` → **84 assertions, 6 mutations**,
+- `bash tests/test_system_status_promote_gates.sh` → **120 assertions, 12 mutations**,
   hermetic (scenario **`promote-dev-to-prod` stub** capturing its argv/env — so the
   suite can assert `--dry-run --force --format json` and `GLADEX_GATE_PROBE=1` were
   actually passed — plus scenario `repo-lint`/`go`/`dig` stubs, absent fixture DBs and
   throwaway git repos). Covers the verdict table row by row (ready → `ok`; verdict/
   dev-sync/commit-lint refusal → `warning` with every gate named; all seven
   cannot-verify shapes → `warning`, never `ok`), the row's `warning` never
   incrementing `errors` while its detail stays loud, the **divergence guard**
-  (commit-lint `ok` vs a red `go-compile` row → `cannot verify`), the human renderer,
-  `--help`/arg contract, and the static invocation contract (both flags, the probe
-  pin, both hooks).
+  (a `commit-lint` gate contradicting a red/green `go-compile` row → `cannot verify`),
+  the human renderer, `--help`/arg contract, and the static invocation contract (both
+  flags, the probe pin, both hooks).
+  **Section 14b — the guard's commit evidence** (`[0.4.42]`): both children resolve
+  HEAD themselves, so each records the commit it measured — the `repo-lint` stub's
+  `sha_resolved` (`STUB_RL_SHA`, `""` → `null`) and the promote stub's `_head_sha`
+  (`STUB_PG_SHA`, `NULL` → no sha) — and the section drives all four verdicts:
+  same commit + contradiction → *both measured commit … the two children differ*;
+  different commits → *measured DIFFERENT commits (go-compile …, commit-lint …),
+  drift not disagreement*, in both contradiction directions; an unread commit →
+  *the commit each check measured is unknown (go-compile ?, commit-lint ?)*; and
+  drift **without** a contradiction → the ordinary `promote-ready` row (the guard
+  speaks only on a contradiction). Every branch also pins what it must NOT say
+  (`same child`, an unmeasured `both measured commit`, a `promote-ready` on a commit
+  that does not compile).
   **Mutations M1–M6** (planted on copies, precondition-asserted exactly once,
   `bash -n`-validated): M1 row always `ok` (false green) · M2 `--dry-run` dropped from
   the child argv · M3 the `GLADEX_GATE_PROBE=1` pin dropped · M4 the `dry_run` check
   dropped (a child that did not honour `--dry-run` would pass) · M5 the divergence
   guard dropped · M6 the row dropped entirely. **All 6 caught.**
-  **Pre-fix replay**: `SYSTEM_STATUS_BIN=$(git show HEAD:tools/system-status) bash
-  tests/test_system_status_promote_gates.sh` → **16 passed / 68 failed** (the row
-  simply did not exist).
+  **Mutations M7–M12** (the evidence, same planting rules, each run against the one
+  scenario it targets): M7 the drift branch never taken (HEAD drift re-reported as a
+  same-commit divergence) · M8 the unknown-commit branch dropped (two blanks compared
+  as a match) · M9 the hand-off dropped (`SS_GCC_SHA=""` → the guard is blind) ·
+  M10 the row records no commit (`"sha": ""` → same blindness, produced earlier) ·
+  M11 the reverse contradiction missed (**false green**: a commit that does not
+  compile reports `promote-ready`) · M12 the guard gated on matching shas (drift then
+  skips it and the row silently returns to its ordinary verdict). **All 6 caught.**
+  **Pre-fix replay** (`SYSTEM_STATUS_BIN=<blob of HEAD:tools/system-status, md5
+  cca0ab15713e91db875def74a46e8121> bash tests/test_system_status_promote_gates.sh`)
+  → **99 passed / 21 failed / 0 skipped**: the old guard still says `same child,
+  `same sha` where the suite now demands a measured commit, no drift/unknown
+  diagnosis exists, `--help` carries no evidence contract, and none of M7–M12 can be
+  planted (0 matching lines). The earlier replay for the row's *existence* was
+  **16 passed / 68 failed** against the pre-`[0.4.41]` blob.
   Live: `promote-gates [WARN] not promotable: verdict REFUSED: no verdict in
-  …/reviewer-to-main | dev-sync OK | commit-lint OK (commit 71c1709)` under
-  **ALL SYSTEMS HEALTHY**, tool exit 0 (30.1s, was 27s).
+  …/reviewer-to-main | dev-sync OK | commit-lint OK (commit e83aa62)` — naming the
+  **same** commit as the `go-compile` row beside it, which is what the guard compares
+  — under **ALL SYSTEMS HEALTHY**, tool exit 0 (30.5s).
 - `system-status --format json` → valid JSON with overall status
 **Status**: Built ✅ (2026-09-24: counts both DBs, `timeout 30` → `120`, + MX/SOA
 mail-DNS checks; exit code clamped to the documented 0/1/2 contract;
 **`go-tests` verdict moved from a `grep "^ok"` over a package subset to the exit

> build · mimo-v2.6-flash-free
← Edit repo/tools/REGISTRY.md
Index: repo/tools/REGISTRY.md
===================================================================
--- repo/tools/REGISTRY.md
+++ repo/tools/REGISTRY.md
@@ -987,10 +987,11 @@
   compile reports `promote-ready`) · M12 the guard gated on matching shas (drift then
   skips it and the row silently returns to its ordinary verdict). **All 6 caught.**
   **Pre-fix replay** (`SYSTEM_STATUS_BIN=<blob of HEAD:tools/system-status, md5
   cca0ab15713e91db875def74a46e8121> bash tests/test_system_status_promote_gates.sh`)
-  → **99 passed / 21 failed / 0 skipped**: the old guard still says `same child,
-  `same sha` where the suite now demands a measured commit, no drift/unknown
+  → **99 passed / 21 failed / 0 skipped**: the old guard still says
+  "same child, same sha" where the suite now demands a measured commit, no
+  drift/unknown
   diagnosis exists, `--help` carries no evidence contract, and none of M7–M12 can be
   planted (0 matching lines). The earlier replay for the row's *existence* was
   **16 passed / 68 failed** against the pre-`[0.4.41]` blob.
   Live: `promote-gates [WARN] not promotable: verdict REFUSED: no verdict in

> build · mimo-v2.6-flash-free
← Edit repo/tools/REGISTRY.md
Index: repo/tools/REGISTRY.md
===================================================================
--- repo/tools/REGISTRY.md
+++ repo/tools/REGISTRY.md
@@ -1010,9 +1010,13 @@
 29 checks: the SHIP decision is a row too — `promote-gates` carries
 `promote-dev-to-prod`'s three gates (`--dry-run --force --format json` +
 `GLADEX_GATE_PROBE=1`), a refusal is `warning 'not promotable'` naming every
 gate and never an `error`, with a divergence guard against the `go-compile`
-row — CHANGELOG `[0.4.41]`**)
+row — CHANGELOG `[0.4.41]`;
+the divergence guard no longer *asserts* "same child, same sha": both rows
+record the commit they measured (`sha_resolved` vs `_head_sha`) and the guard
+reports same commit = the two children differ, different commits = HEAD
+drifted between them, unread = cannot compare — CHANGELOG `[0.4.42]`**)
 
 ---
 
 ## version-check

> build · mimo-v2.6-flash-free
$ cd /data/repo && grep -n "^## \[0.4.4\|^### " CHANGELOG.md | tail -30
790:### Added
795:### Notes
799:### Placement (deliberate — same as `[0.4.29]`–`[0.4.34]` which sit immediately above this one)
804:### Fixed
812:### Added
817:### Notes
823:### Placement (deliberate — same as `[0.4.29]`–`[0.4.35]` which sit immediately above this one)
828:### Fixed
840:### Added
845:### Notes
851:### Placement (deliberate — same as `[0.4.29]`–`[0.4.36]` which sit immediately above this one)
856:### Fixed
885:### Added
890:### Notes
897:### Placement (deliberate — same as `[0.4.29]`–`[0.4.37]` which sit immediately above this one)
902:### Fixed
911:### Added
918:### Notes
925:### Placement (deliberate — same as `[0.4.29]`–`[0.4.38]` which sit immediately above this one)
928:## [0.4.40] - 2026-09-24 — promote-dev-to-prod shipped REPO to prod behind two gates, neither of which asked whether the COMMIT builds
930:### Fixed
935:### Added
941:### Notes
950:### Queue (next-candidate, not actioned)
954:### Placement (deliberate — same as `[0.4.29]`–`[0.4.39]` which sit immediately above this one)
957:## [0.4.41] - 2026-09-25 — system-status now answers "can we ship right now?", the queued next-candidate from [0.4.40]
959:### Added
965:### Notes
972:### Queue (next-candidate, not actioned)
976:### Placement (deliberate — same as `[0.4.29]`–`[0.4.40]` which sit immediately above this one)
> 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)
[Fri Sep 25 02:53:14 2026] 127.0.0.1:48086 Accepted
[Fri Sep 25 02:53:14 2026] 127.0.0.1:48086 Closing
[Fri Sep 25 02:53:15 2026] 127.0.0.1:48100 Accepted
[Fri Sep 25 02:53:15 2026] 127.0.0.1:48100 Closing
[Fri Sep 25 02:53:29 2026] 127.0.0.1:42960 Accepted
[Fri Sep 25 02:53:29 2026] 127.0.0.1:42960 Closing
[Fri Sep 25 02:53:30 2026] 127.0.0.1:42970 Accepted
[Fri Sep 25 02:53:30 2026] 127.0.0.1:42970 Closing
[Fri Sep 25 02:53:31 2026] 127.0.0.1:42972 Accepted
[Fri Sep 25 02:53:31 2026] 127.0.0.1:42972 Closing
[Fri Sep 25 02:53:54 2026] 127.0.0.1:34548 Accepted
[Fri Sep 25 02:53:54 2026] 127.0.0.1:34548 Closing
[Fri Sep 25 02:53:54 2026] 127.0.0.1:36926 Accepted
[Fri Sep 25 02:53:54 2026] 127.0.0.1:36926 Closing
[Fri Sep 25 02:53:55 2026] 127.0.0.1:36942 Accepted
[Fri Sep 25 02:53:55 2026] 127.0.0.1:36942 Closing
[Fri Sep 25 02:54:05 2026] 127.0.0.1:33072 Accepted
[Fri Sep 25 02:54:05 2026] 127.0.0.1:33072 Closing
[Fri Sep 25 02:54:05 2026] 127.0.0.1:33078 Accepted
[Fri Sep 25 02:54:05 2026] 127.0.0.1:33078 Closing
[Fri Sep 25 02:54:07 2026] 127.0.0.1:33080 Accepted
[Fri Sep 25 02:54:07 2026] 127.0.0.1:33080 Closing
[Fri Sep 25 02:54:35 2026] 127.0.0.1:38256 Accepted
[Fri Sep 25 02:54:35 2026] 127.0.0.1:38256 Closing
[Fri Sep 25 02:54:35 2026] 127.0.0.1:38262 Accepted
[Fri Sep 25 02:54:35 2026] 127.0.0.1:38262 Closing
[Fri Sep 25 02:54:36 2026] 127.0.0.1:38272 Accepted
[Fri Sep 25 02:54:36 2026] 127.0.0.1:38272 Closing
[Fri Sep 25 02:55:05 2026] 127.0.0.1:48586 Accepted
[Fri Sep 25 02:55:05 2026] 127.0.0.1:48586 Closing
[Fri Sep 25 02:55:06 2026] 127.0.0.1:48592 Accepted
[Fri Sep 25 02:55:06 2026] 127.0.0.1:48592 Closing
[Fri Sep 25 02:55:06 2026] 127.0.0.1:48604 Accepted
[Fri Sep 25 02:55:06 2026] 127.0.0.1:48604 Closing
[Fri Sep 25 02:55:19 2026] 127.0.0.1:55932 Accepted
[Fri Sep 25 02:55:19 2026] 127.0.0.1:55932 Closing
[Fri Sep 25 02:55:19 2026] 127.0.0.1:55938 Accepted
[Fri Sep 25 02:55:19 2026] 127.0.0.1:55938 Closing
[Fri Sep 25 02:55:53 2026] 127.0.0.1:42106 Accepted
[Fri Sep 25 02:55:53 2026] 127.0.0.1:42106 Closing
[Fri Sep 25 02:55:53 2026] 127.0.0.1:42108 Accepted
[Fri Sep 25 02:55:53 2026] 127.0.0.1:42108 Closing
[Fri Sep 25 02:57:13 2026] 127.0.0.1:47438 Accepted
[Fri Sep 25 02:57:13 2026] 127.0.0.1:47438 Closing
[Fri Sep 25 02:57:31 2026] 127.0.0.1:36022 Accepted
[Fri Sep 25 02:57:31 2026] 127.0.0.1:36022 Closing
[Fri Sep 25 02:57:31 2026] 127.0.0.1:36030 Accepted
[Fri Sep 25 02:57:31 2026] 127.0.0.1:36030 Closing
[Fri Sep 25 02:57:32 2026] 127.0.0.1:36042 Accepted
[Fri Sep 25 02:57:32 2026] 127.0.0.1:36042 Closing
[Fri Sep 25 02:57:32 2026] 127.0.0.1:36058 Accepted
[Fri Sep 25 02:57:32 2026] 127.0.0.1:36058 Closing
[Fri Sep 25 02:57:32 2026] 127.0.0.1:36072 Accepted
[Fri Sep 25 02:57:32 2026] 127.0.0.1:36072 Closing
[Fri Sep 25 02:57:32 2026] 127.0.0.1:36088 Accepted
[Fri Sep 25 02:57:32 2026] 127.0.0.1:36088 Closing
[Fri Sep 25 02:57:32 2026] 127.0.0.1:36104 Accepted
[Fri Sep 25 02:57:32 2026] 127.0.0.1:36104 Closing
[Fri Sep 25 03:00:19 2026] 127.0.0.1:59458 Accepted

Generated 2026-09-25 01:00:19 UTC · Gladex.de