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]

Reply via email to