Repository navigation
refactor(observe): decide the observe-only content default inside the helper - #719
Merged
Merged
Conversation
With LOUSHO_OBSERVE on loopback, createAgent turned captureContent on for every exporter, so trace files, OTLP/vendor exporters and the built server's OTel export also received message and tool content. The default now strips the gen_ai content from every non-observe exporter part; an explicit captureContent: true or the OTel content env var still reaches all. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…-daemon latch expire One flush slower than 1s latched the memoized reporter as unresponsive for good, and every later case's scores were never sent; scores posted during an outage were dropped. Scores now queue on the reporter's outbox (after the span, retried with it, covered by the exit and crash flushes), each case still waits at most 1s, and a timed-out wait skips the waits for 30s only. An explicit reporter flush() no longer sits out the retry backoff. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The outbox was capped by event count only: with content capture on, 5000 generation events can hold around a gigabyte while the daemon is down, and the crash flush copied all of it into the worker before its 1s wait. The outbox now also evicts its oldest past 32MB, a crash sends only the newest 16MB (the rest counted as dropped), and sizes use Buffer.byteLength where there is one instead of an encoded copy per event. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Adds entries for span status ok, requeue/backoff with batch and byte caps and the crash flush, eval span and score flushing, strict LOUSHO_OBSERVE parsing, the loopback content default (daemon only) and redactContent's scope, per-db pidfiles, port-aware hints and /observe/__target, and the Studio shell; fixes the prompt registry entry: no instructions fails closed, with a 30s retry window. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…#, /health db, heartbeat slack, docs)
- M1: bracket IPv6 hosts in the reporter hint, start/attach logs and the health probe.
- M2: drops (buffer full, oversized, 400/413) warn once on their own flag without
promising a retry, so a drop warning no longer hides a later outage warning.
- M3: Studio navigate('#/x') no longer yields '##/x'.
- M4: /health names the db path only to callers on this machine.
- M9: a same-host+pid instance counts as replaced only after one interval plus
the 10s freshness slack, so live twins started together are not interrupted.
- M5-M8: errors.md (every run rejects while unresolved), cli.md (stop refuses a
port answering as another service), observability.md (SSH tunnels count as
loopback; the retry fetch can hold one run up to 2.5s).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… helper Moves the "capture is on only because of the loopback default" check out of createAgent into capturedContentForObserveOnly, so createAgent stays under the fallow complexity limits; isLocalCaller is no longer exported. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes from the final whole-branch review of the observability fix round (#704–#718): the loopback content-capture default now applies only to the observe daemon (not to the agent's own exporters or trace files); eval scores ride the reporter outbox so they're ordered after their span, retried, and flushed on exit/crash, and the slow-daemon latch expires; the outbox is capped by bytes (32 MB) and the crash flush is bounded; CHANGELOG [Unreleased] records the whole round; plus IPv6-safe hints, separate drop warnings, router
#handling,/healthdb path only for local callers, heartbeat slack, and docs fixes.Ticket: final review (Forge Observe vs LangSmith evaluation follow-up)
Changes
Verification: focused vitest,
tsc --noEmit, eslint on changed files (details in the review package); full suite and fallow run in CI.🤖 Generated with Claude Code