fix(infra): update jaeger badger config for v2.19.0#426
Conversation
Rewrite README with accurate module table, full API summary, documentation index, and updated architecture diagram. Create seven new dedicated docs: - architecture.md: module structure, data flow, session lifecycle, design decisions - api-reference.md: complete REST API reference with request/response schemas - v2-protocol.md: WebSocket streaming protocol guide with message lifecycle - skills.md: skills system user guide with authoring instructions - task-board.md: task orchestration guide with DFS execution, spec mode, templates - session-isolation.md: worktree isolation guide with enforcement, cleanup, hooks - packages.md: npm workspace package reference for protocol, harness, client Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Jaeger 2.19.0 removed the `span_store_ttl` key from the badger backend config. The TTL is now nested under `ttl.spans`. This caused Jaeger to crash on startup in a restart loop. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
dimakis
left a comment
There was a problem hiding this comment.
Centaur Review
Found 3 issue(s) (2 warning).
docs/packages.md
The Jaeger config fix is correct for v2.19.0 (span_store_ttl -> ttl.spans). The docs rewrite is comprehensive but has incorrect hardcoded timeout constants in two files that contradict the actual code values.
- 🟡 bugs: Hardcoded constants are wrong.
DETACHED_TTL_MS: 30_000should be172_800_000(48h),CLOSEOUT_LEAD_MS: 30_000should be600_000(10min),CLOSEOUT_TIMEOUT_MS: 5_000should be600_000(10min),PERMISSION_TIMEOUT_MS: 60_000should be120_000(2min). These values are defined inpackages/harness/src/constants.tsand all four are incorrect in the doc.[fixable]
docs/architecture.md
The Jaeger config fix is correct for v2.19.0 (span_store_ttl -> ttl.spans). The docs rewrite is comprehensive but has incorrect hardcoded timeout constants in two files that contradict the actual code values.
- 🟡 bugs: Session lifecycle table says DETACHED state has a "30s TTL" but the actual
DETACHED_TTL_MSis 172,800,000ms (48 hours) perpackages/harness/src/constants.ts:15. The subsequent paragraph also says "30-second TTL" which is equally wrong.[fixable]
README.md
The Jaeger config fix is correct for v2.19.0 (span_store_ttl -> ttl.spans). The docs rewrite is comprehensive but has incorrect hardcoded timeout constants in two files that contradict the actual code values.
- 🔵 style: The updated Supporting table drops several server files that still exist:
inbox.ts,port-check.ts,constants.ts,git-version.ts,progress-tracker.ts,prompt-compare.ts,workflow-templates.ts,workload-store.ts,session-overview.ts,signal-processor.ts. This is a deliberate trim for readability, but newcomers may not realize these modules exist. Consider at minimum keepingconstants.tsandinbox.tswhich are referenced by the API docs.[fixable]
… in README Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
dimakis
left a comment
There was a problem hiding this comment.
Centaur Review
Found 5 issue(s) (2 warning).
README.md
The core Jaeger config fix (span_store_ttl → ttl.spans) is correct for v2.19.0. Documentation is thorough and constants match the codebase. The main issue is the README quick-start URLs switching to https:// when the server conditionally falls back to HTTP without certificates.
- 🟡 unsafe_assumptions (L33): Quick start comment changed from
http://localhost:3100tohttps://localhost:3100, but the server only uses HTTPS when TLS certificates exist (server/index.ts:116-121checksexistsSync(CERT_PATH)). A fresh clone following these instructions won't have certs, so the server will start on plain HTTP. The quick start should sayhttp://or note that HTTPS requires certificate setup.[fixable] - 🟡 unsafe_assumptions (L36): Tailscale URL also changed to
https://<tailscale-ip>:3100. Same issue — without certs the server is HTTP-only. The old text correctly saidhttp://.[fixable] - 🔵 style: All em-dashes (
—) were replaced with double-hyphens (--) throughout the README. This is a stylistic downgrade — em-dashes are standard markdown and render correctly everywhere. The double-hyphen convention is less readable in rendered output. Not a bug, but worth a conscious decision.[fixable] - 🔵 regressions: Several server files were removed from the README's 'Supporting' table (git-version.ts, port-check.ts, progress-tracker.ts, prompt-compare.ts, workflow-templates.ts, workload-store.ts, session-overview.ts, signal-processor.ts, inbox.ts description changed, notification-helpers.ts, notify.ts, pushover.ts, apns.ts). These files still exist in the codebase. This is intentional trimming for readability but worth confirming no important entry points are hidden from contributors.
docs/architecture.md
The core Jaeger config fix (span_store_ttl → ttl.spans) is correct for v2.19.0. Documentation is thorough and constants match the codebase. The main issue is the README quick-start URLs switching to https:// when the server conditionally falls back to HTTP without certificates.
- 🔵 style (L11): ASCII diagram has inconsistent right-edge padding — the top border is 68 chars wide (
+---...---+) but the title line| Mitzo Server |has trailing spaces that push it to a different width. Minor cosmetic issue in rendered output.[fixable]
| cp .env.example .env # set AUTH_PASSPHRASE, AUTH_SECRET, REPO_PATH | ||
| npm run build && npm start | ||
| # http://localhost:3100 | ||
| # https://localhost:3100 |
There was a problem hiding this comment.
🟡 unsafe_assumptions: Quick start comment changed from http://localhost:3100 to https://localhost:3100, but the server only uses HTTPS when TLS certificates exist (server/index.ts:116-121 checks existsSync(CERT_PATH)). A fresh clone following these instructions won't have certs, so the server will start on plain HTTP. The quick start should say http:// or note that HTTPS requires certificate setup. [fixable]
| ``` | ||
|
|
||
| Access from your phone: install [Tailscale](https://tailscale.com/download) on server and phone, then open `http://<tailscale-ip>:3100`. No HTTPS needed — Tailscale encrypts via WireGuard. | ||
| Access from your phone: install [Tailscale](https://tailscale.com/download) on server and phone, then open `https://<tailscale-ip>:3100`. Tailscale encrypts via WireGuard -- no public DNS, no port forwarding needed. |
There was a problem hiding this comment.
🟡 unsafe_assumptions: Tailscale URL also changed to https://<tailscale-ip>:3100. Same issue — without certs the server is HTTP-only. The old text correctly said http://. [fixable]
|
|
||
| ``` | ||
| +-------------------------------------------------------------------+ | ||
| | Mitzo Server | |
There was a problem hiding this comment.
🔵 style: ASCII diagram has inconsistent right-edge padding — the top border is 68 chars wide (+---...---+) but the title line | Mitzo Server | has trailing spaces that push it to a different width. Minor cosmetic issue in rendered output. [fixable]
dimakis
left a comment
There was a problem hiding this comment.
Centaur Review
Found 5 issue(s) (1 warning).
README.md
The one-line Jaeger v2.19.0 TTL config fix is correct. The bundled docs rewrite is largely accurate but the Quick Start section incorrectly assumes HTTPS is the default — it's conditional on cert files existing.
- 🟡 regressions (L30): Quick Start shows
https://localhost:3100but the server only uses HTTPS conditionally when cert files exist atcerts/cert.pemandcerts/key.pem(seeserver/index.ts). A user following Quick Start from a fresh clone will gethttp://, nothttps://. The Tailscale access line below also changed tohttps://. Either note the HTTPS prerequisite or default tohttp://in the Quick Start.[fixable] - 🔵 style: PR title is
fix(infra): update jaeger badger config for v2.19.0but 8 of 9 changed files are documentation (7 new doc files + README rewrite). The infra fix is a one-line YAML change. These are independent changes that would be clearer as separate commits or PRs — the docs rewrite obscures the actual fix in review. - 🔵 style: README systematically replaced em dashes (—) with double hyphens (--) and arrows (→) with (->). CLAUDE.md (not in this PR) still uses em dashes throughout (107 occurrences). If the intent is an ASCII-only style, CLAUDE.md should be updated to match; otherwise the inconsistency will drift.
[fixable]
infra/jaeger-v2-config.yaml
The one-line Jaeger v2.19.0 TTL config fix is correct. The bundled docs rewrite is largely accurate but the Quick Start section incorrectly assumes HTTPS is the default — it's conditional on cert files existing.
- 🔵 missing_tests (L22): The existing
observability-config.test.tsvalidates docker-compose structure (services, ports, volumes) but doesn't validate the Jaeger v2 config YAML. A lightweight assertion like checking for thettlkey in the config file would catch future config regressions (e.g., if someone reverts to the oldspan_store_ttlformat).[fixable]
docs/architecture.md
The one-line Jaeger v2.19.0 TTL config fix is correct. The bundled docs rewrite is largely accurate but the Quick Start section incorrectly assumes HTTPS is the default — it's conditional on cert files existing.
- 🔵 style (L10): The ASCII architecture diagram has uneven right-edge padding (e.g., line 10
| | Query | | Session | | Connect | | Worktree | |— theWorktreebox is wider than the others). Minor cosmetic issue, but these docs are user-facing for an open-source project.[fixable]
|
|
||
| ```bash | ||
| git clone https://github.com/dimakis/mitzo.git && cd mitzo | ||
| npm install |
There was a problem hiding this comment.
🟡 regressions: Quick Start shows https://localhost:3100 but the server only uses HTTPS conditionally when cert files exist at certs/cert.pem and certs/key.pem (see server/index.ts). A user following Quick Start from a fresh clone will get http://, not https://. The Tailscale access line below also changed to https://. Either note the HTTPS prerequisite or default to http:// in the Quick Start. [fixable]
| values: /badger/data | ||
| ephemeral: false | ||
| span_store_ttl: 336h | ||
| ttl: |
There was a problem hiding this comment.
🔵 missing_tests: The existing observability-config.test.ts validates docker-compose structure (services, ports, volumes) but doesn't validate the Jaeger v2 config YAML. A lightweight assertion like checking for the ttl key in the config file would catch future config regressions (e.g., if someone reverts to the old span_store_ttl format). [fixable]
| Mitzo is a Node.js + TypeScript server and React 19 frontend that provides a mobile-first web UI for Claude Code sessions via the Anthropic Agent SDK. It runs as a long-lived HTTPS server, translating raw SDK stream events into a v2 block lifecycle protocol delivered over WebSocket (or SSE fallback). | ||
|
|
||
| ``` | ||
| +-------------------------------------------------------------------+ |
There was a problem hiding this comment.
🔵 style: The ASCII architecture diagram has uneven right-edge padding (e.g., line 10 | | Query | | Session | | Connect | | Worktree | | — the Worktree box is wider than the others). Minor cosmetic issue, but these docs are user-facing for an open-source project. [fixable]
Summary
span_store_ttltottl.spansin the badger backend configinfra/jaeger-v2-config.yamlto use the new key formatTest plan
curl localhost:16686/api/servicesreturns traces🤖 Generated with Claude Code