TIC said nothing about what the agent does, and named the wrong thing: the tick belongs to the scheduler, which is generic and lives outside it. The agent's only decision is whether an incoming event deserves an interruption — it sorts, it never acts — so it is now event-triage, matching the functional naming of the two memory lints. - agents/tic/ -> agents/event-triage/, module tic/ -> event_triage/, TicManager -> EventTriageManager, TicConfig -> EventTriageConfig - agent id and chat source: "tic" -> "event-triage" - config keys: tic.* -> event_triage.*, and the config.yml section tic: -> event_triage: (greenfield: previously set values fall back to defaults) - i18n en/it/fr: Event triage / Triage eventi / Tri des evenements; dropped the stale "TIC sessions" mention from the debug-pages description - docs/system-agents.md, docs/index.md, docs/settings.md, CLAUDE.md, SKALD.md
This commit is contained in:
@@ -69,7 +69,7 @@ impl ChatSessionHandler {
|
||||
base_tool_defs.push(update_scratchpad_tool_def());
|
||||
base_tool_defs.push(write_todos_tool_def());
|
||||
// `ask_user_clarification` is available to every agent except hidden `system`
|
||||
// agents (e.g. TIC), which have no user-facing channel. Interactive sessions
|
||||
// agents (e.g. event triage), which have no user-facing channel. Interactive sessions
|
||||
// emit AgentQuestion inline (plus the Inbox); background sessions rely on the
|
||||
// Inbox alone.
|
||||
let is_system = meta
|
||||
@@ -80,7 +80,7 @@ impl ChatSessionHandler {
|
||||
base_tool_defs.push(super::ask_user_clarification_tool_def());
|
||||
}
|
||||
|
||||
// Background sessions (cron, tic): remove tools that only make sense in
|
||||
// Background sessions (cron, event-triage): remove tools that only make sense in
|
||||
// interactive sessions (e.g. read_notification, which is synthetically
|
||||
// injected by ChatHub and returns EMPTY if called directly).
|
||||
if !self.is_interactive {
|
||||
|
||||
@@ -54,7 +54,7 @@ pub struct PendingMsg {
|
||||
/// messages at each round boundary and inject them live into the running turn.
|
||||
///
|
||||
/// Passed as `Some` only for the root interactive turn. Sub-agents, resume, and
|
||||
/// non-interactive runners (cron, TIC) pass `None` — they never inject.
|
||||
/// non-interactive runners (cron, event triage) pass `None` — they never inject.
|
||||
#[async_trait]
|
||||
pub trait PendingUserInput: Send + Sync {
|
||||
/// Drains the leading run of queued non-synthetic user messages, one entry
|
||||
@@ -256,7 +256,7 @@ pub struct ChatSessionHandler {
|
||||
pub(super) source: String,
|
||||
/// True when a real user is actively participating (web, telegram).
|
||||
pub(super) is_interactive: bool,
|
||||
/// True for short-lived automated sessions (cron, tic).
|
||||
/// True for short-lived automated sessions (cron, event-triage).
|
||||
pub(super) is_ephemeral: bool,
|
||||
pub(super) tools: Arc<ToolRegistry>,
|
||||
pub(super) mcp: Arc<dyn McpProvider>,
|
||||
@@ -270,7 +270,7 @@ pub struct ChatSessionHandler {
|
||||
/// Prevents concurrent handle_message calls on the same session.
|
||||
pub(super) processing: Mutex<()>,
|
||||
/// When true, any tool call that would require human approval is automatically
|
||||
/// denied instead of blocking. Used by TicManager and other headless runners
|
||||
/// denied instead of blocking. Used by EventTriageManager and other headless runners
|
||||
/// that cannot process approval requests.
|
||||
pub(super) auto_deny_approvals: Arc<AtomicBool>,
|
||||
/// Tool-call ids the user already approved via a resolve endpoint after a restart
|
||||
@@ -478,7 +478,7 @@ impl ChatSessionHandler {
|
||||
system_substitutions: HashMap<String, String>,
|
||||
tx: mpsc::Sender<ServerEvent>,
|
||||
// True for system-generated messages injected as user turns
|
||||
// (TicManager ticks, notification briefings from ChatHub).
|
||||
// (EventTriageManager passes, notification briefings from ChatHub).
|
||||
is_synthetic: bool,
|
||||
// Structured metadata persisted on the user turn (e.g. file attachments).
|
||||
// The projection derives the LLM-facing block; the UI renders chips.
|
||||
|
||||
Reference in New Issue
Block a user