Skip to content

fix(infra): update jaeger badger config for v2.19.0#426

Open
dimakis wants to merge 3 commits into
mainfrom
fix/jaeger-badger-ttl-config
Open

fix(infra): update jaeger badger config for v2.19.0#426
dimakis wants to merge 3 commits into
mainfrom
fix/jaeger-badger-ttl-config

Conversation

@dimakis

@dimakis dimakis commented Jul 2, 2026

Copy link
Copy Markdown
Owner

Summary

  • Jaeger 2.19.0 renamed span_store_ttl to ttl.spans in the badger backend config
  • This caused Jaeger to crash on startup in a restart loop
  • Updated infra/jaeger-v2-config.yaml to use the new key format

Test plan

  • Restarted Jaeger container, confirmed healthy
  • curl localhost:16686/api/services returns traces

🤖 Generated with Claude Code

dimakis and others added 2 commits July 2, 2026 00:33
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 dimakis left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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_000 should be 172_800_000 (48h), CLOSEOUT_LEAD_MS: 30_000 should be 600_000 (10min), CLOSEOUT_TIMEOUT_MS: 5_000 should be 600_000 (10min), PERMISSION_TIMEOUT_MS: 60_000 should be 120_000 (2min). These values are defined in packages/harness/src/constants.ts and 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_MS is 172,800,000ms (48 hours) per packages/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 keeping constants.ts and inbox.ts which are referenced by the API docs. [fixable]

… in README

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

@dimakis dimakis left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Centaur Review

Found 5 issue(s) (2 warning).

README.md

The core Jaeger config fix (span_store_ttlttl.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: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]
  • 🟡 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 said http://. [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_ttlttl.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]

Comment thread README.md
cp .env.example .env # set AUTH_PASSPHRASE, AUTH_SECRET, REPO_PATH
npm run build && npm start
# http://localhost:3100
# https://localhost:3100

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 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]

Comment thread README.md
```

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.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 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]

Comment thread docs/architecture.md

```
+-------------------------------------------------------------------+
| Mitzo Server |

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 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 dimakis left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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: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]
  • 🔵 style: PR title is fix(infra): update jaeger badger config for v2.19.0 but 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.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]

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 | | — the Worktree box is wider than the others). Minor cosmetic issue, but these docs are user-facing for an open-source project. [fixable]

Comment thread README.md

```bash
git clone https://github.com/dimakis/mitzo.git && cd mitzo
npm install

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 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:

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 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]

Comment thread docs/architecture.md
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).

```
+-------------------------------------------------------------------+

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 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]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant