mirror of
https://github.com/openai/codex.git
synced 2026-10-30 19:18:49 +00:00
Include directly attached threads in diagnostic uploads (#57824)
## What changed When a diagnostic upload includes logs, include saved threads attached directly to the reported thread in the existing bounded thread selection alongside spawned descendants. Query attached threads from the state database, including archived threads, so their rollouts, logs, and retained review failures can be collected. Log a warning and continue if the lookup fails. ## Testing Extend the upload integration test to verify that the rollout archive includes the reported and directly attached threads, excludes unrelated threads, and is omitted when logs are disabled. GitOrigin-RevId: 1bcd2794938339fb4b1c433c3731f507601cd8a4
This commit is contained in:
@@ -161,7 +161,7 @@ impl FeedbackRequestProcessor {
|
||||
let mut feedback_index = None;
|
||||
let (snapshot, sqlite_feedback_logs, state_db_ctx) = if include_logs {
|
||||
let state_db_ctx = self.state_db.clone();
|
||||
let feedback_thread_ids = match conversation_id {
|
||||
let mut feedback_thread_ids = match conversation_id {
|
||||
Some(conversation_id) => match self
|
||||
.thread_manager
|
||||
.list_agent_subtree_thread_ids(conversation_id)
|
||||
@@ -177,9 +177,16 @@ impl FeedbackRequestProcessor {
|
||||
},
|
||||
None => Vec::new(),
|
||||
};
|
||||
if let (Some(state_db), Some(thread_id)) = (&state_db_ctx, conversation_id) {
|
||||
match state_db.list_attached_thread_ids(thread_id).await {
|
||||
Ok(attached_ids) => feedback_thread_ids.extend(attached_ids),
|
||||
Err(err) => {
|
||||
warn!("failed to list attached threads for feedback on {thread_id}: {err}")
|
||||
}
|
||||
}
|
||||
}
|
||||
let failures =
|
||||
guardian_review_failures(state_db_ctx.as_deref(), &feedback_thread_ids).await;
|
||||
let mut feedback_thread_ids = feedback_thread_ids;
|
||||
if let Some(conversation_id) = conversation_id {
|
||||
let index =
|
||||
FeedbackThreadIndex::new(conversation_id, feedback_thread_ids, &failures);
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
//! Selects a bounded feedback subtree, preserving the reported thread and prioritizing
|
||||
//! children with retained failed reviews. Filenames name archive entries or individual
|
||||
//! attachments when archiving fails; the index describes selection, not delivery.
|
||||
//! Selects a bounded set of spawned descendants and directly attached threads for feedback,
|
||||
//! preserving the reported thread and prioritizing children with retained failed reviews.
|
||||
//! Filenames identify selected archive entries or fallback attachments. Delivery is best effort.
|
||||
|
||||
use codex_feedback::FeedbackAttachment;
|
||||
use codex_feedback::GuardianReviewFailures;
|
||||
|
||||
Reference in New Issue
Block a user