nornir 0.4.33

Companion to cargo: dependency tracking, release gating, deploy, benchmarks, and documentation assembly. Project-agnostic.
//! Idea-intake funnel — agentic-planning surface for nornir.
//!
//! See plan.md §0 (and the "note · funnel-dag-handoff" legacy entry) for the
//! design discussion.
//!
//! Quick start (events are stored in the Iceberg `funnel_events` table under
//! the warehouse root, not a flat file):
//! ```no_run
//! use nornir::funnel::{Store, Event, IdeaId};
//! use chrono::Utc;
//! let mut store = Store::open(".nornir/warehouse").unwrap();
//! store.record(Event::IdeaSubmitted {
//!     id: IdeaId::seq(store.funnel.next_idea + 1),
//!     source: "human:rickard".into(),
//!     text: "build the funnel itself".into(),
//!     refs: vec![],
//!     item_kind: nornir::funnel::ItemKind::Idea,
//!     ts: Utc::now(),
//! }).unwrap();
//! let next = nornir::funnel::topo_ready(&mut store.funnel);
//! ```

pub mod decompose;
pub mod demo;
pub mod event;
pub mod history;
pub mod ids;
pub mod planner;
pub mod state;
pub mod store;
pub mod topo;

pub use decompose::{
    apply_verdicts, decompose as decompose_task, retrieve, run_subtask_loop, simulate,
    store_subtasks, Anchor, CodeIndexRetriever, Decomposition, RetrievedContext, Retriever, Round,
    SimulationReport, Subtask, SubtaskVerdict, DEFAULT_MAX_ROUNDS, DEFAULT_TOP_K, MAX_SUBTASKS,
};
pub use event::{CommitRef, Event, ItemKind, NodeStatus, PlanStatus, RunOutcome, TriageDecision};
pub use history::{history, history_to_json, HistoryItem, HistoryStatus};
pub use ids::{IdeaId, NodeId, PlanId, RunId};
pub use planner::{
    affected_components, component_list, derive_plan, plan_from_component, propose_components,
    ComponentProposal, DerivedPlan, ProposalSource,
};
pub use state::{Funnel, Idea, Plan, PlanNode};
pub use store::Store;
pub use topo::{NextStep, topo_ready, topo_ready_for_plan};