Skip to content

Commit a24d936

Browse files
committed
Add guarded overnight auto-poke
1 parent b586aca commit a24d936

6 files changed

Lines changed: 487 additions & 7 deletions

File tree

src/tui/app.rs

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -468,6 +468,34 @@ pub(super) struct CompactedHistoryLazyState {
468468
pub pending_request_visible: Option<usize>,
469469
}
470470

471+
#[derive(Debug, Clone, PartialEq, Eq)]
472+
pub(super) struct OvernightAutoPokeFingerprint {
473+
pub run_id: String,
474+
pub status: String,
475+
pub last_activity_at: String,
476+
pub events_len: usize,
477+
pub task_total: usize,
478+
pub task_completed: usize,
479+
pub task_active: usize,
480+
pub task_blocked: usize,
481+
pub task_validated: usize,
482+
pub session_message_count: usize,
483+
pub review_notes_mtime: Option<u64>,
484+
pub validation_files: usize,
485+
}
486+
487+
#[derive(Debug, Clone)]
488+
pub(super) struct OvernightAutoPokeState {
489+
pub run_id: String,
490+
pub last_fingerprint: OvernightAutoPokeFingerprint,
491+
pub stalled_turns: u8,
492+
pub error_turns: u8,
493+
pub total_pokes_sent: u16,
494+
pub diagnostic_sent: bool,
495+
pub morning_report_poked: bool,
496+
pub final_wrap_poked: bool,
497+
}
498+
471499
/// State for an in-progress OAuth/API-key login flow triggered by `/login`.
472500
/// TUI Application state
473501
pub struct App {
@@ -586,6 +614,8 @@ pub struct App {
586614
pending_turn: bool,
587615
// When armed by /poke, automatically continue prompting until todos are complete.
588616
auto_poke_incomplete_todos: bool,
617+
// When armed by /overnight, automatically continue guarded follow-up turns until wake/wrap.
618+
overnight_auto_poke: Option<OvernightAutoPokeState>,
589619
// Pending cross-provider resend after a failover warning/countdown.
590620
pending_provider_failover: Option<PendingProviderFailover>,
591621
// Local session file write to flush once the first "sending" frame is visible.

0 commit comments

Comments
 (0)