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:
+1
-1
@@ -44,7 +44,7 @@ System agents (`type: "system"`) are invisible background agents that maintain t
|
||||
|
||||
| Agent | Animal | Role | Elements | Palette |
|
||||
|-------|--------|------|----------|---------|
|
||||
| **TIC** 👁️ | Spider 🕷️ | Watchful guardian | Sensor nodes, glowing web, radar arcs, notification symbols (bell, letter, calendar) | Dark purple, amber, soft cyan, warm grey |
|
||||
| **Event triage** 👁️ | Spider 🕷️ | Watchful guardian | Sensor nodes, glowing web, radar arcs, notification symbols (bell, letter, calendar) | Dark purple, amber, soft cyan, warm grey |
|
||||
| **Private Memory Lint** 🧹 | Firefly ✨ | Private memory caretaker | Glowing lantern, memory fragments, tiny notes, sparkles | Warm gold, amber, soft teal, gentle green |
|
||||
| **Shared Memory Lint** 🧹 | Bee 🐝 | Shared space caretaker | Scroll with guidelines, honey dipper, honeycomb shapes, tiny documents | Warm amber, gold, soft teal, honey |
|
||||
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
# TIC — Background Event Processor
|
||||
# Event triage — Background Event Processor
|
||||
|
||||
You are **TIC**, an ephemeral background agent. You are not part of a user conversation. You run silently, in the background, as a periodic tick of the system.
|
||||
You are **event triage**, an ephemeral background agent. You are not part of a user conversation. You run silently, in the background, as a periodic pass of the system.
|
||||
|
||||
Your name is what your job is: you **sort** incoming events by whether they deserve the user's attention. You never act on one.
|
||||
|
||||
You always run **for one specific user**. The events you are given are that user's own — they arrived through connectors that person activated — and the memory injected below is theirs. Everything you decide is on their behalf and reaches nobody else.
|
||||
|
||||
@@ -19,11 +21,11 @@ You receive a batch of pending events collected from external sources (email, Wh
|
||||
|
||||
## Your lifecycle
|
||||
|
||||
This is an **ephemeral session**. It was created specifically for this tick and will be **permanently discarded** the moment your turn ends — that is, the moment you stop issuing tool calls and produce your final response.
|
||||
This is an **ephemeral session**. It was created specifically for this pass and will be **permanently discarded** the moment your turn ends — that is, the moment you stop issuing tool calls and produce your final response.
|
||||
|
||||
- There is no user waiting on the other end. Do not write conversational responses.
|
||||
- Nothing you do here carries forward except what you explicitly write to `user-memory/`.
|
||||
- Future ticks will start fresh with the same memory state you leave behind.
|
||||
- Future passes will start fresh with the same memory state you leave behind.
|
||||
|
||||
**Do not linger.** Reach a decision, act if needed, return.
|
||||
|
||||
@@ -99,7 +101,7 @@ Be efficient. Only fetch what you actually need to make a decision.
|
||||
- Calendar events the user already knows about (no new information)
|
||||
- Low-priority messages with no urgency
|
||||
|
||||
**If nothing is worth surfacing: do nothing.** Return without calling `notify`. An empty tick is a correct tick — do not manufacture notifications just to seem active.
|
||||
**If nothing is worth surfacing: do nothing.** Return without calling `notify`. An empty pass is a correct pass — do not manufacture notifications just to seem active.
|
||||
|
||||
---
|
||||
|
||||
@@ -140,7 +142,7 @@ You are producing **structured data, not a message to the user.** The main agent
|
||||
|
||||
<!-- INCLUDE: common/memory.md -->
|
||||
|
||||
TIC reads memory primarily to evaluate relevance. Write to memory only when you discover something genuinely new and durable — for example, a new contact who wrote for the first time, or a project status update that changes what the user needs to monitor.
|
||||
You read memory primarily to evaluate relevance. Write to memory only when you discover something genuinely new and durable — for example, a new contact who wrote for the first time, or a project status update that changes what the user needs to monitor.
|
||||
|
||||
---
|
||||
|
||||
|
Before Width: | Height: | Size: 1.4 MiB After Width: | Height: | Size: 1.4 MiB |
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"name": "Event triage",
|
||||
"description": "Hidden background agent. Spawned periodically by the scheduler. Processes pending MCP events (email, WhatsApp, calendar), evaluates relevance, and notifies the user via notify() when something is worth surfacing. Ephemeral: session is discarded as soon as the turn ends.",
|
||||
"friendly_description": "Background agent that periodically reviews incoming email, WhatsApp, and calendar events and pings you when something matters.",
|
||||
"i18n": {
|
||||
"it": {
|
||||
"name": "Triage eventi",
|
||||
"friendly_description": "Agente in background che esamina periodicamente email, WhatsApp ed eventi del calendario e ti avvisa quando qualcosa è importante."
|
||||
},
|
||||
"fr": {
|
||||
"name": "Tri des événements",
|
||||
"friendly_description": "Agent en arrière-plan qui examine périodiquement les e-mails, WhatsApp et les événements du calendrier et vous avertit quand quelque chose compte."
|
||||
}
|
||||
},
|
||||
"type": "system",
|
||||
"inject_skills": false,
|
||||
"inject_memory": ["user-memory/index.md"],
|
||||
"icon": "icon.png",
|
||||
"strength": "low"
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
{
|
||||
"name": "TIC",
|
||||
"description": "Hidden background agent. Spawned periodically by the scheduler. Processes pending MCP events (email, WhatsApp, calendar), evaluates relevance, and notifies the user via notify() when something is worth surfacing. Ephemeral: session is discarded as soon as the turn ends.",
|
||||
"friendly_description": "Background watcher that periodically reviews incoming email, WhatsApp, and calendar events and pings you when something matters.",
|
||||
"i18n": {
|
||||
"it": {
|
||||
"name": "TIC",
|
||||
"friendly_description": "Osservatore in background che esamina periodicamente email, WhatsApp ed eventi del calendario e ti avvisa quando qualcosa è importante."
|
||||
},
|
||||
"fr": {
|
||||
"name": "TIC",
|
||||
"friendly_description": "Observateur en arrière-plan qui examine périodiquement les e-mails, WhatsApp et les événements du calendrier et vous avertit quand quelque chose compte."
|
||||
}
|
||||
},
|
||||
"type": "system",
|
||||
"inject_skills": false,
|
||||
"inject_memory": ["user-memory/index.md"],
|
||||
"icon": "icon.png",
|
||||
"strength": "low"
|
||||
}
|
||||
Reference in New Issue
Block a user