Agent run logs & app logs · env: prod · LAN-only investor surface
| Run logs | 454 files, 11.6 MB |
| Latest run log | run-20260925-012106-52.log |
| Log directory | /data/agent-logs |
| App log directory | /opt/startup/prod/logs |
| File | Size | Modified (UTC) |
|---|---|---|
| run-20260925-012106-52.log | 164 KB | 2026-09-24 23:42:53 |
| 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 |
| run-20260923-205439-3.log | 640 KB | 2026-09-23 20:16:10 |
> 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
@@ -48,39 +48,51 @@
---
## budget-show
-**Purpose**: Display BUDGET.md in machine/human format.
+**Purpose**: Display the BUDGET.md spend ledger in machine/human format β and
+**validate it first**: a broken or unbalanced ledger is an error (exit 1), never
+a quiet row of nulls. The investor reads this file; a stale or arithmetically
+wrong ledger is a defect, which is exactly what this tool now refuses.
**Location**: `/data/tools/budget-show`
**Usage**: `budget-show [--format json|human]`
**Options**:
- `--format json|human` - Output format (default: human)
+**Environment**:
+- `GLADEX_BUDGET_PATH` - Override the ledger path (test hook; default `/data/repo/BUDGET.md`). Documented in `--help`.
+
+**Ledger contract (validated)**:
+- `month:` must be `YYYY-MM`; `allowance:` / `remaining:` must be bare numbers
+- `spent:` numeric prefix + optional prose note (`spent: 1.50 (gladex.de β β¦)`)
+- `allowance - spent == remaining` (2dp), `remaining >= 0` (overspend forbidden, brief Β§4)
+- Violations β each named field on **stderr**, exit `1`, stdout empty (machines key off the exit code)
+
**Exit codes**:
-- `0` - Success
-- `1` - General error (file not found, parse error)
+- `0` - Success (ledger valid, output written)
+- `1` - Ledger unreadable/invalid (file not found, missing field, non-numeric amount, bad month, math mismatch, overspend)
- `2` - Invalid arguments
-**Output (JSON)**:
+**Output (JSON)** β exactly these keys, `spent` numeric, `raw` never leaks:
```json
{
"month": "2026-09",
"allowance": "5.00",
- "spent": "1.50 (gladex.de β investor-approved 2026-09-20, purchase pending at registrar)",
+ "spent": "1.50",
+ "spent_note": "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."]
+ "log": ["2026-09-20: init, no domains ordered yet", "β¦"]
}
```
**Dependencies**: python3
**Tests**:
-- `budget-show --format human` β shows formatted budget
-- `budget-show --format json` β valid JSON with all fields
-- `budget-show --help` β shows usage
+- `bash tests/test_budget_show.sh` β **49 assertions**, hermetic (fixtures in a throwaway sandbox under `${TMPDIR:-/tmp}/opencode/`, trap-cleaned; only one case reads the real ledger, read-only and content-agnostic so a future approved purchase cannot spuriously fail it): hook honored (fixture month β live month proves it), JSON key-set + numeric `spent` + `spent_note` split, human format (currency glued to amount), every ledger violation β exit 1 with the field named (empty / missing `remaining:` / non-numeric / trailing text / math mismatch / overspend / bad month / missing file), `--help` documents hook + exit codes, arg contract 0/2, static no-write guard, **2 mutations** (M1 validation gate defeated, M2 `_math_ok` forced true β M2 precondition-asserted to occur exactly once and re-checked to stay surgical: still rejects the empty ledger, still accepts the valid one)
+- Live: `budget-show` β 0; `--format json` β balanced 5.00 β 1.50 = 3.50; `/api/budget` on :8000/:8001 β same numbers (PHP parses the ledger independently)
**Status**: Built β
---
> build Β· mimo-v2.6-flash-free
Appending this run's entry to PROGRESS.md (new dated section, per the append-don't-edit rule):
[0m$ [0msqlite3 /opt/startup/dev/data/messages.db "SELECT count(*) FROM messages WHERE direction='investor_to_agent' AND read=0;"; sqlite3 /opt/startup/prod/data/messages.db "SELECT count(*) FROM messages WHERE direction='investor_to_agent' AND read=0;"; grep -c '^## ' /data/repo/INBOX.md; grep '^## ' /data/repo/INBOX.md | grep -vc HANDLED; echo "(0 0 65 0 = all clear)"; date -u +%Y-%m-%dT%H:%MZ
0
0
65
0
(0 0 65 0 = all clear)
2026-09-24T14:35Z
> build Β· mimo-v2.6-flash-free
STEP 0 re-verified at commit time: still 0 unread / 0 unhandled. Writing the PROGRESS entry:
[0m$ [0mcat >> /data/repo/agent-logs/PROGRESS.md <<'EOF'
## 2026-09-24T14:35Z main-loop run β STEP 0 clear; queued candidate (1) DONE: stale BUDGET.md narrative corrected + budget-show's first test suite (49 assertions, 2 mutations)
**STEP 0 (first, re-verified at commit time)**: `investor_to_agent` unread = **0 on
dev AND prod**, INBOX = 65 entries / **0 unhandled** β nothing owed, no reply pending.
Still open *toward* the investor (sent by me, awaiting their call): escalation **#57**
(public investor-route gating A/B/C) + the SOA MNAME placeholder (provider panel only).
**This run's step β queued candidate (1) from last run's notes: "BUDGET.md is stale in
its wording"** (numbers right, narrative wrong). Done test-first, as one defect class:
- **The defect**: the ledger β the ONE file the investor reads for spend β still said
`purchase pending at registrar` and `Awaiting registrar purchase + DNS creds`, four
days after RDAP showed gladex.de **active** (changed 2026-09-20T11:10:57+02:00) and
dig verified A/NS/MX live (evidence already in DOMAIN.md). Same stale claim copied in
REPORT.md (Γ2), PRODUCT.md (Γ1) and the REGISTRY example output.
- **`tools/budget-show` had ZERO tests** and passed through *every* form of broken
ledger: empty file, missing `remaining:`, non-numeric amount, math mismatch
(allowanceβspentβ remaining), overspend (remaining<0), bad month, missing file β
**all exited 0 with null JSON**, despite REGISTRY documenting `1 - (β¦, parse error)`.
Same "documented contract is fiction" class as the dns-verify/system-status fixes.
- **Fix**: `tools/budget-show` now validates the ledger BEFORE display β month YYYY-MM,
bare numeric allowance/remaining, `spent:` numeric-prefix + prose note (split into
`spent_note`; JSON `spent` is now NUMERIC β it used to be prose, so `float(d["spent"])`
crashed any consumer), `allowanceβspent==remaining` (2dp), `remaining>=0`. Violations β
each field named on **stderr**, exit **1**, stdout empty. Human format now glues `β¬` to
the amount (was `1.50 (β¦) β¬`). Added documented `GLADEX_BUDGET_PATH` test hook (the
path was hardcoded β untestable without touching the live ledger). Help now documents
hook + exit codes.
- **Ledger corrected** (`BUDGET.md`): spent-line now reads `registered + DNS live since
2026-09-20`; **log history kept verbatim** (dated entries are history, not lies) with
two appended entries recording the same-day completion evidence and this correction;
**numbers unchanged: 5.00 / 1.50 / 3.50, no money moved**. Stale copies fixed in
REPORT.md (rank table + budget table), PRODUCT.md (cost table), REGISTRY example.
- **Test-first evidence**: `tests/test_budget_show.sh` written first β run against the
unfixed tool β **13 passed / 33 failed** (every failure = a real defect: no hook,
prose spent, zero validation, undocumented help). After fix β **49/49 green**.
**2 mutations**, both precondition-asserted: M1 validation gate defeated (`if errors:`
occurs once β mutant wrongly exits 0), M2 `_math_ok` forced true (fixed-string replace
β line contains `[`/`]`, sed BRE mangled it; precondition asserted exactly once AND
re-checked surgical: mutant still rejects the empty ledger, still accepts the valid one).
- **Hermetic**: fixtures in throwaway sandbox under `${TMPDIR:-/tmp}/opencode/`,
trap-cleaned; only case L reads the real ledger (read-only) and it pins **no amounts**
β content-agnostic so a future investor-approved purchase can't spuriously redden it,
but it now *proves the real ledger parses, balances and is non-negative every run*.
- **Full regression, 22 suites green β 746 assertions, 0 failed**: shell: budget 49 +
dns_verify 40 + identity 28 + promote_gate 67 + smtp_relay 38 + source_sync 30 +
mx_soa 31 + unread 24 = **307**; PHP: 14 suites = **439**.
- **Live**: `budget-show` human+json β 0 (corrected note visible, `spent:"1.50"` numeric);
via `/data/tools` link β 0; **dev :8000 + prod :8001 `/api/budget` both return the
corrected ledger** (PHP parses independently: spent 1.5, remaining 3.5, 4 allocations);
`/budget` + `/healthz` β 200 on both; `system-status` β ALL SYSTEMS HEALTHY rc 0;
`source-sync-check` β rc 0.
- **Docs**: REGISTRY Β§budget-show rewritten (contract, hook, exit-code nuance, 49-assertion
suite + mutations β its old "Tests" section was three manual live commands).
- **Money/scope**: model spend **0.00** (`*-free` only), no purchase, no DNS write, no
secret read, no service restart, **prod untouched** (PHP sources unmodified this run β
only the ledger data file they read changed, via the repo path they share).
- **Next-candidate queued, not actioned**: (1) NEEDS-INVESTOR **#57 A/B/C public-gating**
+ **SOA MNAME** β both still awaiting investor/operator, cannot proceed unilaterally;
(2) LE certs on :465/:993/submission via certbot (operator's next-step list);
(3) TEAM-page public verification is live (200 + names) β last run confirmed.
EOF
echo "appended, lines now: $(wc -l < /data/repo/agent-logs/PROGRESS.md)"
appended, lines now: 4541
> build Β· mimo-v2.6-flash-free
Committing and pushing:
[0m$ [0mcd /data/repo && git status --short && git add -A && git status --short | head
M BUDGET.md
M PRODUCT.md
M REPORT.md
M agent-logs/PROGRESS.md
M tools/REGISTRY.md
M tools/budget-show
?? tests/test_budget_show.sh
M BUDGET.md
M PRODUCT.md
M REPORT.md
M agent-logs/PROGRESS.md
A tests/test_budget_show.sh
M tools/REGISTRY.md
M tools/budget-show
> build Β· mimo-v2.6-flash-free
Exactly the 7 expected files, nothing stray:
[0m$ [0mcd /data/repo && git commit -q -m "fix: the spend ledger told a stale story and budget-show proved incapable of noticing β BUDGET.md still said 'purchase pending at registrar' + log line 'Awaiting registrar purchase + DNS creds' four days after RDAP showed gladex.de status active (changed 2026-09-20T11:10:57+02:00) and dig verified A/NS/MX live (evidence already in DOMAIN.md), with the same stale claim copied into REPORT.md x2, PRODUCT.md and the REGISTRY example output β the ONE file the investor reads for spend was wrong while its numbers were right (5.00/1.50/3.50); and budget-show, the tool that displays it, had ZERO tests and exited 0 with null JSON on EVERY form of broken ledger (empty file, missing remaining:, non-numeric amount, math mismatch allowance-spent!=remaining, overspend remaining<0, bad month, missing file) despite REGISTRY documenting '1 - General error (file not found, parse error)' β the same documented-contract-is-fiction class as the dns-verify/system-status fixes; fix: budget-show now validates the ledger BEFORE display (month YYYY-MM, bare numeric allowance/remaining, spent: numeric-prefix with prose split into new spent_note so JSON spent is NUMERIC β it was prose, so float(d[spent]) crashed any consumer, allowance-spent==remaining at 2dp, remaining>=0 per brief Β§4 overspend ban) with each violation naming its field on stderr, exit 1, stdout empty so machines key off the exit code, human format glues β¬ to the amount (was '1.50 (...) β¬'), documented GLADEX_BUDGET_PATH test hook added (path was hardcoded to /data/repo/BUDGET.md = untestable without editing the live ledger), --help now documents hook+exit codes; ledger corrected: spent-line reads 'registered + DNS live since 2026-09-20', dated log history kept VERBATIM (dated entries are history) with two appended entries recording same-day completion evidence + this correction, numbers unchanged, no money moved; stale copies fixed in REPORT.md rank+budget tables, PRODUCT.md cost table, REGISTRY example; test-first: new tests/test_budget_show.sh run against the UNFIXED tool -> 13 passed/33 failed with every failure being exactly these defects (no hook honored = fixture assertions saw the live file, prose spent, all-invalid-ledgers exiting 0, help missing hook/exit codes), after fix 49/49 green; 2 mutations precondition-asserted: M1 'if errors:' gate defeated (occurs once -> mutant wrongly exits 0) and M2 _math_ok forced true via fixed-string python replace (the line contains [ ] which mangled a sed BRE attempt; precondition asserts exactly once, and post-checks prove it surgical: mutant still rejects the empty ledger AND still accepts the valid one); hermetic: fixtures in trap-cleaned sandbox under \${TMPDIR:-/tmp}/opencode, only case L reads the real ledger and it pins NO amounts (content-agnostic so a future approved purchase cannot spuriously fail it) while proving the real ledger parses/balances/is-negative-checked every run; full regression 22 suites green = 746 assertions 0 failed (shell 307: budget 49 + dns 40 + identity 28 + gate 67 + relay 38 + sync 30 + mx 31 + unread 24; PHP 439); live: budget-show human+json rc 0, /data/tools link rc 0, dev:8000 + prod:8001 /api/budget both serve the corrected ledger (PHP parses it independently: spent 1.5, remaining 3.5, 4 allocations), /budget + /healthz 200 on both, system-status ALL SYSTEMS HEALTHY, source-sync rc 0; REGISTRY Β§budget-show rewritten (contract/hook/exit nuance/49-assertion suite β old Tests section was three manual live commands); STEP 0 clear first (0 unread dev+prod, 65 HANDLED, 0 unhandled, re-verified at commit); spend 0.00, prod untouched (only the shared ledger data file changed, no PHP modified)" && git log --oneline -1 && git push origin main 2>&1 | tail -2; git ls-remote origin main
c492278 fix: the spend ledger told a stale story and budget-show proved incapable of noticing β BUDGET.md still said 'purchase pending at registrar' + log line 'Awaiting registrar purchase + DNS creds' four days after RDAP showed gladex.de status active (changed 2026-09-20T11:10:57+02:00) and dig verified A/NS/MX live (evidence already in DOMAIN.md), with the same stale claim copied into REPORT.md x2, PRODUCT.md and the REGISTRY example output β the ONE file the investor reads for spend was wrong while its numbers were right (5.00/1.50/3.50); and budget-show, the tool that displays it, had ZERO tests and exited 0 with null JSON on EVERY form of broken ledger (empty file, missing remaining:, non-numeric amount, math mismatch allowance-spent!=remaining, overspend remaining<0, bad month, missing file) despite REGISTRY documenting '1 - General error (file not found, parse error)' β the same documented-contract-is-fiction class as the dns-verify/system-status fixes; fix: budget-show now validates the ledger BEFORE display (month YYYY-MM, bare numeric allowance/remaining, spent: numeric-prefix with prose split into new spent_note so JSON spent is NUMERIC β it was prose, so float(d[spent]) crashed any consumer, allowance-spent==remaining at 2dp, remaining>=0 per brief Β§4 overspend ban) with each violation naming its field on stderr, exit 1, stdout empty so machines key off the exit code, human format glues β¬ to the amount (was '1.50 (...) β¬'), documented GLADEX_BUDGET_PATH test hook added (path was hardcoded to /data/repo/BUDGET.md = untestable without editing the live ledger), --help now documents hook+exit codes; ledger corrected: spent-line reads 'registered + DNS live since 2026-09-20', dated log history kept VERBATIM (dated entries are history) with two appended entries recording same-day completion evidence + this correction, numbers unchanged, no money moved; stale copies fixed in REPORT.md rank+budget tables, PRODUCT.md cost table, REGISTRY example; test-first: new tests/test_budget_show.sh run against the UNFIXED tool -> 13 passed/33 failed with every failure being exactly these defects (no hook honored = fixture assertions saw the live file, prose spent, all-invalid-ledgers exiting 0, help missing hook/exit codes), after fix 49/49 green; 2 mutations precondition-asserted: M1 'if errors:' gate defeated (occurs once -> mutant wrongly exits 0) and M2 _math_ok forced true via fixed-string python replace (the line contains [ ] which mangled a sed BRE attempt; precondition asserts exactly once, and post-checks prove it surgical: mutant still rejects the empty ledger AND still accepts the valid one); hermetic: fixtures in trap-cleaned sandbox under ${TMPDIR:-/tmp}/opencode, only case L reads the real ledger and it pins NO amounts (content-agnostic so a future approved purchase cannot spuriously fail it) while proving the real ledger parses/balances/is-negative-checked every run; full regression 22 suites green = 746 assertions 0 failed (shell 307: budget 49 + dns 40 + identity 28 + gate 67 + relay 38 + sync 30 + mx 31 + unread 24; PHP 439); live: budget-show human+json rc 0, /data/tools link rc 0, dev:8000 + prod:8001 /api/budget both serve the corrected ledger (PHP parses it independently: spent 1.5, remaining 3.5, 4 allocations), /budget + /healthz 200 on both, system-status ALL SYSTEMS HEALTHY, source-sync rc 0; REGISTRY Β§budget-show rewritten (contract/hook/exit nuance/49-assertion suite β old Tests section was three manual live commands); STEP 0 clear first (0 unread dev+prod, 65 HANDLED, 0 unhandled, re-verified at commit); spend 0.00, prod untouched (only the shared ledger data file changed, no PHP modified)
To git://git.gladex.de/gladex.git
85fb604..c492278 main -> main
c492278ee5e1392e0c1e7727b9eda3583acb2689 refs/heads/main
> build Β· mimo-v2.6-flash-free
Run complete. Summary:
## STEP 0 (answered first, re-verified at commit time)
- **0 unread `investor_to_agent` rows** on both dev and prod DBs β nothing owed
- **INBOX: 65 entries, 0 unhandled** β all HANDLED
- Still open *toward* the investor (my messages awaiting their call): escalation **#57** (public investor-route gating A/B/C β cannot proceed unilaterally, it would lock them out mid-session) + SOA MNAME placeholder
## This run's step β queued candidate #1 DONE: stale spend-ledger narrative
**The defect**: `BUDGET.md` still claimed `purchase pending at registrar` four days after RDAP showed gladex.de **active** and dig verified DNS live β in the one file the investor reads for spend. The same stale claim was copied into REPORT.md (Γ2), PRODUCT.md, and the REGISTRY example.
**The deeper finding**: `budget-show` had **zero tests** and exited `0` with null JSON on *every* form of broken ledger β empty file, missing `remaining:`, non-numeric amount, math mismatch, overspend β despite REGISTRY documenting `1 - parse error`. Same class as the dns-verify/system-status fixes.
**Fix**:
- Tool now validates before display (YYYY-MM month, bare numerics, `allowance β spent == remaining`, `remaining β₯ 0`), each violation naming its field on stderr β exit 1, stdout empty
- JSON `spent` is now **numeric** (was prose β `float(d["spent"])` crashed consumers); note split into `spent_note`
- Added documented `GLADEX_BUDGET_PATH` test hook (path was hardcoded = untestable)
- Ledger corrected: present-tense line fixed, **dated log history kept verbatim** with two appended evidence entries; numbers unchanged (5.00/1.50/3.50, **no money moved**)
**Proof**:
- Test-first: suite vs. unfixed tool β **13 passed / 33 failed** (every failure = a real defect) β after fix **49/49**
- **2 mutations** precondition-asserted and caught (M1 gate, M2 `_math_ok` β proven surgical)
- **Full regression: 22 suites, 746 assertions, 0 failed**
- Live: CLI 0 via both paths; **dev+prod `/api/budget` both serve the corrected ledger**; `/budget`+`/healthz` 200; `system-status` healthy
- Committed `c492278`, **pushed to origin** (verified via `ls-remote`)
- **Spend: 0.00** (`*-free` only), prod untouched (no PHP modified β only the shared ledger file)
**Next-candidate queued**: #57 gating A/B/C + SOA MNAME (both awaiting investor/operator), LE certs on :465/:993/submission via certbot.
exit=0
Select another run log from the list above. Only files matching run-YYYYMMDD-HHMMSS-N.log are readable.
[Fri Sep 25 01:34:56 2026] 127.0.0.1:49508 Accepted [Fri Sep 25 01:34:56 2026] 127.0.0.1:49508 Closing [Fri Sep 25 01:34:56 2026] 127.0.0.1:49522 Accepted [Fri Sep 25 01:34:56 2026] 127.0.0.1:49522 Closing [Fri Sep 25 01:34:56 2026] 127.0.0.1:49536 Accepted [Fri Sep 25 01:34:57 2026] 127.0.0.1:49536 Closing [Fri Sep 25 01:37:40 2026] 127.0.0.1:60400 Accepted [Fri Sep 25 01:37:40 2026] 127.0.0.1:60400 Closing [Fri Sep 25 01:37:40 2026] 127.0.0.1:60408 Accepted [Fri Sep 25 01:37:40 2026] 127.0.0.1:60408 Closing [Fri Sep 25 01:37:40 2026] 127.0.0.1:60422 Accepted [Fri Sep 25 01:37:40 2026] 127.0.0.1:60422 Closing [Fri Sep 25 01:37:40 2026] 127.0.0.1:60428 Accepted [Fri Sep 25 01:37:40 2026] 127.0.0.1:60428 Closing [Fri Sep 25 01:37:40 2026] 127.0.0.1:60442 Accepted [Fri Sep 25 01:37:40 2026] 127.0.0.1:60442 Closing [Fri Sep 25 01:37:40 2026] 127.0.0.1:60446 Accepted [Fri Sep 25 01:37:40 2026] 127.0.0.1:60446 Closing [Fri Sep 25 01:37:40 2026] 127.0.0.1:60462 Accepted [Fri Sep 25 01:37:40 2026] 127.0.0.1:60462 Closing [Fri Sep 25 01:42:50 2026] 127.0.0.1:37798 Accepted [Fri Sep 25 01:42:50 2026] 127.0.0.1:37798 Closing [Fri Sep 25 01:42:50 2026] 127.0.0.1:37802 Accepted [Fri Sep 25 01:42:50 2026] 127.0.0.1:37802 Closing [Fri Sep 25 01:42:51 2026] 127.0.0.1:37814 Accepted [Fri Sep 25 01:42:51 2026] 127.0.0.1:37814 Closing [Fri Sep 25 01:42:51 2026] 127.0.0.1:37818 Accepted [Fri Sep 25 01:42:51 2026] 127.0.0.1:37818 Closing [Fri Sep 25 01:42:54 2026] 127.0.0.1:37824 Accepted [Fri Sep 25 01:42:54 2026] 127.0.0.1:37824 Closing [Fri Sep 25 01:42:55 2026] 127.0.0.1:44098 Accepted [Fri Sep 25 01:42:55 2026] 127.0.0.1:44098 Closing [Fri Sep 25 01:42:55 2026] 127.0.0.1:44106 Accepted [Fri Sep 25 01:42:55 2026] 127.0.0.1:44106 Closing [Fri Sep 25 01:43:00 2026] 127.0.0.1:44120 Accepted [Fri Sep 25 01:43:00 2026] 127.0.0.1:44120 Closing [Fri Sep 25 01:43:00 2026] 127.0.0.1:44134 Accepted [Fri Sep 25 01:43:00 2026] 127.0.0.1:44134 Closing [Fri Sep 25 01:43:00 2026] 127.0.0.1:44150 Accepted [Fri Sep 25 01:43:00 2026] 127.0.0.1:44150 Closing [Fri Sep 25 01:43:04 2026] 127.0.0.1:44164 Accepted [Fri Sep 25 01:43:04 2026] 127.0.0.1:44164 Closing [Fri Sep 25 01:43:04 2026] 127.0.0.1:38886 Accepted [Fri Sep 25 01:43:04 2026] 127.0.0.1:38886 Closing [Fri Sep 25 01:43:05 2026] 127.0.0.1:38896 Accepted [Fri Sep 25 01:43:05 2026] 127.0.0.1:38896 Closing [Fri Sep 25 01:43:09 2026] 127.0.0.1:38912 Accepted [Fri Sep 25 01:43:09 2026] 127.0.0.1:38912 Closing [Fri Sep 25 01:43:10 2026] 127.0.0.1:38918 Accepted [Fri Sep 25 01:43:10 2026] 127.0.0.1:38918 Closing [Fri Sep 25 01:43:10 2026] 127.0.0.1:38934 Accepted [Fri Sep 25 01:43:10 2026] 127.0.0.1:38934 Closing [Fri Sep 25 01:43:30 2026] 127.0.0.1:53584 Accepted [Fri Sep 25 01:43:30 2026] 127.0.0.1:53584 Closing [Fri Sep 25 01:43:30 2026] 127.0.0.1:53596 Accepted [Fri Sep 25 01:43:30 2026] 127.0.0.1:53596 Closing [Fri Sep 25 01:43:30 2026] 127.0.0.1:53610 Accepted [Fri Sep 25 01:43:30 2026] 127.0.0.1:53610 Closing [Fri Sep 25 01:43:39 2026] 127.0.0.1:34760 Accepted
Generated 2026-09-24 23:43:39 UTC · Gladex.de