codex-wrangler 1.3.0

Linux/X11/i3 tray switcher for live coding-agent TUI sessions
mod app;
mod codex_rpc;
mod commands;
mod contract;
mod desktop;
mod history;
mod i3;
mod instance;
mod model;
mod names;
mod posture;
mod preferences;
mod recon;
mod rollout;
mod roster;
mod scry;
mod stasis;
mod state;
mod transcript;
mod tray;
mod watchfire;

#[cfg(feature = "egui-test")]
use egui_tester_witness as _;

use anyhow::Result;
use eternalist_apps::TraceGuard;
use instance::{Incumbent, Invocation};
use posture::Ledger;

fn main() -> Result<()> {
    if stasis::thawguard_requested() {
        return stasis::run_thawguard();
    }
    let invocation = Invocation::read()?;
    let trace = TraceGuard::arm()?;
    let Some(incumbent) = Incumbent::seize(invocation)? else {
        trace.flush();
        return Ok(());
    };
    let ctx = egui::Context::default();
    brass_poolrooms::chrome::install(&ctx);
    let (ledger, posture) = Ledger::restore();
    let result = app::launch(&ctx, incumbent, ledger, posture);
    trace.flush();
    result
}