rename the TIC system agent to event triage
Nightly Build / build (push) Successful in 7m16s

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:
2026-07-28 21:59:37 +01:00
parent 0b793d56ae
commit 046f060fcd
50 changed files with 251 additions and 240 deletions
+3 -3
View File
@@ -78,12 +78,12 @@ pub struct ChatEvent {
pub role: ChatEventRole,
pub content: String,
/// True for system-generated messages that look like user turns
/// (TicManager ticks, notification briefings).
/// (EventTriageManager passes, notification briefings).
pub is_synthetic: bool,
/// True when a real user is actively participating in the session
/// (web, telegram). False for automated sessions (cron, tic).
/// (web, telegram). False for automated sessions (cron, event-triage).
pub is_interactive: bool,
/// True for short-lived task sessions (cron, tic) that have no
/// True for short-lived task sessions (cron, event-triage) that have no
/// long-term conversational value (e.g. skip Honcho memory sink).
pub is_ephemeral: bool,
/// Non-empty only for assistant messages that triggered tool calls.
+1 -1
View File
@@ -24,7 +24,7 @@ pub struct InboundDataMessage {
// ── Global event envelope ─────────────────────────────────────────────────────
/// Envelope that wraps every event on the global broadcast bus.
/// `source` is `None` for system/background events (cron, tic, plugins).
/// `source` is `None` for system/background events (cron, event-triage, plugins).
#[derive(Clone)]
pub struct GlobalEvent {
pub source: Option<String>,
+2 -1
View File
@@ -160,7 +160,8 @@ pub trait Tool: Send + Sync {
fn root_agent_only(&self) -> bool { false }
/// If true, this tool is only available to interactive sessions (web, telegram, mobile, voice).
/// Non-interactive background sessions (cron, tic) will not receive this tool definition.
/// Non-interactive background sessions (cron, event-triage) will not receive
/// this tool definition.
fn interactive_only(&self) -> bool { false }
/// Full OpenAI-format tool definition ready to be sent to the LLM.