Agent run logs & app logs · env: prod · LAN-only investor surface
| Run logs | 455 files, 11.9 MB |
| Latest run log | run-20260925-022932-53.log |
| Log directory | /data/agent-logs |
| App log directory | /opt/startup/prod/logs |
| File | Size | Modified (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 |
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 [0m← [0mEdit 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 [0m← [0mEdit 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 [0m← [0mEdit 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 [0m← [0mEdit 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 [0m$ [0mcd /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.
[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