shuke987 opened a new pull request, #67567: URL: https://github.com/apache/doris/pull/67567
### What problem does this PR solve? Related PR: #67416 Problem Summary: The Litefuse exporter currently posts both the main review trace and selected subagent session traces, but `--verify` only reads back the main trace. An OTLP HTTP success does not prove that all subagent observations have become queryable, so a complete main trace can hide partially ingested or missing subagent traces. This follow-up verifies every **exported** trace: - Preserve the main review's observation-count, I/O and agent-message context checks. - Verify each subagent against its exported OTLP span IDs, expected observation count, `codex.subagent.review` root and actually exported I/O fields. Do not impose the main review's minimum-step or message-context shape on session events; legitimate empty payloads and fields omitted by the exporter remain valid. - Poll only pending traces with shared rounds and a shared 120-second verification budget. Check the remaining budget before each HTTP request/page and cap request timeouts and sleeps accordingly, rather than assigning a full retry budget to every child. - Derive v2 query windows from exported observation timestamps, including older sessions, and size pagination bounds from the expected observation count. - Record successful readbacks on each trace's result. On failure, retain completed results and diagnostics for every pending trace, then exit nonzero. The workflow explicitly sets `--verify-timeout-seconds 120`. Its existing five-minute step timeout and `continue-on-error: true` remain unchanged. This does not change review PASS authorization, export retries, the legacy-first read fallback order, or session selection. It verifies the sessions actually selected/exported; it does not detect missing session files or sessions outside the selection limit. The verification budget starts after uploads; the workflow timeout remains the outer guard. API references: [observation IDs](https://langfuse.com/docs/observability/sdk/instrumentation#trace-ids), [bounded observation queries and pagination](https://langfuse.com/docs/api-and-data-platform/features/observations-api). ### Release note None ### Check List (For Author) - Test - [x] Unit Test: `PYTHONDONTWRITEBYTECODE=1 python3 -m unittest discover -s .github/scripts -p 'test_*litefuse*.py' -v` — 36 tests passed (23 existing, 13 added). - Coverage includes delayed/permanently missing children, retained main success, minimal session traces, missing/duplicate/wrong IDs, missing and legitimately empty I/O, older v2 windows, trace-detail fallback, 1,001-observation pagination, shared deadlines across 101 traces, and mocked export-to-readback CLI flows for success/failure/main-only/no-verify/dry-run. - Python AST checks and `git diff --check` passed. - No live Litefuse ingestion, remote CI trigger, or BE/FE build was performed. - Behavior changed: - [x] Yes. With `--verify`, incomplete exported subagent traces now make the exporter fail with per-trace diagnostics. - Does this need documentation? - [x] No. The new CLI option is documented in `--help`. ### Check List (For Reviewer who merge this PR) - [ ] Confirm the release note - [ ] Confirm test cases - [ ] Confirm document - [ ] Add branch pick label -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
