Get card
Download
intent-router@2.1.0.yamlClone
npx -y darkprint clone intent-router@2.1.0There is no repository and no history behind a card. Download hands you the document as it stands, and Clone fetches the same document by name.
Classify the inbound event against the label set, overridden by a taxonomy supplied for this run, when there is one, and dispatch it down the matching lane, sending anything below the confidence threshold to the escalation lane instead of guessing.
used in 2 blueprints
Specification
152 words · handed to the agentRead the inbound alert as it arrived and decide which one of outage, degradation, capacity, security or noise it is, unless a label set is supplied for this run, in which case classify against that one instead and ignore the configured labels entirely. Emit the lane you picked on lane with the confidence you had in it, and emit the alert on routed with its label added and payload and metadata otherwise untouched. If your confidence in the best label is below 0.75, route to the on-call lane: handing a misread alert to a person costs far less than confidently sending it down the wrong runbook. Record the lane in your status file as well: put lane in context_updates, set to the value you picked, so a graph downstream can branch on context.lane. A run that leaves that key unwritten reads back as the empty string, and no lane name matches it.
Interfaces
2 in · 2 outInputs
2Outputs
2Dependencies
1- ticket
The upstream nodes this card expects to receive from. Whenever a blueprint pins this card, each name is checked against a real edge in that graph. A name without a link is not a published card; it refers to a node inside some graph.
Card values
15 declaredWho the node is. The id is the key the DOT pins.
- id
- intent-router
- name
- Intent Router
- type
- decision
- phases
- none declared
What it does, and the prose the agent is handed when the graph runs.
- action40 words
- Classify the inbound event against the label set, overridden by a taxonomy supplied for this run, when there is one, and dispatch it down the matching lane, sending anything below the confidence threshold to the escalation lane instead of guessing.
- spec152 words
- Read the inbound alert as it arrived and decide which one of
outage,degradation,capacity,securityornoiseit is, unless a label set is supplied for this run, in which case classify against that one instead and ignore the configured labels entirely. Emit the lane you picked onlanewith the confidence you had in it, and emit the alert onroutedwith its label added and payload and metadata otherwise untouched. If your confidence in the best label is below 0.75, route to theon-calllane: handing a misread alert to a person costs far less than confidently sending it down the wrong runbook. Record the lane in your status file as well: putlaneincontext_updates, set to the value you picked, so a graph downstream can branch oncontext.lane. A run that leaves that key unwritten reads back as the empty string, and no lane name matches it.in full above - model
- whatever the graph supplies
- agent
- Alert classifier
- skill
- skills/intent-router.md
- tools
- none
- mcp
- none
- params
- labels: ["outage","degradation","capacity","security","noise"], default_lane: triage, escalation_lane: on-call, confidence_threshold: 0.75
What arrives, what leaves, which nodes it expects to hear from, and what may not.
- inputs
- event : json, taxonomy : json
- outputs
- lane : status, routed : json
- dependencies
- ticket
- cannot
- no type is refused
- will_not
- change the payload it routes, leave an alert unrouted
The keys the static analysis reads. Nothing here instructs the agent.
- risk_markers
- none
- notes207 words
- A named
escalation_laneand a higher threshold are the difference from 1.1.0: an incident line would rather hand a misread alert to a person than route it confidently to the wrong runbook.taxonomyis optional, so a deployment that never supplies one behaves as before. The version is 2.x because the undertaking was reworded:leave an event unroutedwent andleave an alert unroutedarrived.inferBumpreads both directions ofwill_notas minor, since the resolver holds no graph to a sentence. The major is the author's, on the ground that a reworded promise is a changed promise until somebody reads both and decides otherwise. 2.1.0 adds the same sentence 1.1.0 does, on the same lane this card's own threshold names: the lane goes intocontext_updatesas well as onto the port, which is Appendix C's field for a node handing a key to the run context. Until then nothing wrotecontext.lane, so a guard reading it compared the empty string and the fork on it took its negation arm whatever the classifier decided. Adecisioncard runs as a no-op under engine spec 4.7 and writes neither a status distinction nor apreferred_label, so the spec sentence is the only place this key can come from.
The card's own version, and who wrote it.
- version
- 2.1.0
- author
- autogen
- provenance
- not stated
Version history
4 versions published- intent-router@2.1.0currentsha256:c82439185a8eb28bba2946094062bc45598dfbe7d58cc1ed8a2fd54e99c563ca
pinned byIncident Commander
autogen/incident-commanderminor2.0.0 → 2.1.0something was added; old pins still resolvespecchanged, the instruction handed to the agent is differentnoteschanged
- intent-router@2.0.0sha256:57360cee498279a76c3fb368be3d3b31b85575fc68963960f7cc3261ba654ab1
No blueprint pins this exact version.
major1.1.0 → 2.0.0moving a pin to this version may break a blueprint that resolved against the old one- promise
leave an event unroutedwas withdrawn (nothing checks this automatically) - optional input
taxonomywas added - promise
leave an alert unroutedwas added - parameter
escalation_lanewas added specchanged, the instruction handed to the agent is different- parameter
labelschanged: ["billing","bug-report","how-to","accoun… → ["outage","degradation","capacity","secu… - parameter
default_lanechanged: "general" → "triage" - parameter
confidence_thresholdchanged: 0.6 → 0.75 agentchanged: "Classifier" → "Alert classifier"actionwording changednoteschanged
- promise
- intent-router@1.1.0sha256:ccf5d5f6f091313f6c3313ee1510eb90797a3dd909b3b19e316e123dddf5f52c
pinned byFrontline Triage
autogen/frontline-triageminor1.0.0 → 1.1.0something was added; old pins still resolvespecchanged, the instruction handed to the agent is differentnoteschanged
- intent-router@1.0.0sha256:c93a6122baa8afb583b7b14730b6a6b5d5c615b8296bb55fc4b671b34c20ceb4
No blueprint pins this exact version.
A digest is a fingerprint (SHA-256) of the card's content, computed without the author and provenance fields. The same card from two people gets the same digest; any edit gets a new one.
Community notes (0)
No notes yet.
Nobody has posted about this node card yet.
Sign in to post a note.