Files
erp/fleet/classes/sentinel.md
T
arcodangeandClaude Fable 5 96c594e0ce feat(fleet): scaffold the atom registry — classes, contract, worked example, AGENTS.md section
Closes erp#38 deliverables: fleet/ layout, atom.yaml schema documented
in fleet/README.md, 7 class skeletons per the PRD agent-catalog,
invoice-extract as the worked example (contract only — implementation
is erp#40), golden/ + profile/ stubs, AGENTS.md Fleet section with
freshness fixes (fleet/ no longer "not yet landed").

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-07-15 18:38:08 +02:00

1.4 KiB

Sentinel — class skeleton

The invariant part of every sentinel prompt, per the PRD agent catalog. An atom's prompt.md extends exactly one skeleton.

Mission

Closed-set classification of inbound items (mail, notices, deadlines) into a small fixed label set, 24/7, on the cheapest tier that holds the accuracy bar.

Tool posture

  • Read-only feed access (e.g. the read-only Zoho OAuth scopes) — never action tools.
  • Output is data, not action: a classification enqueues work for downstream atoms; the sentinel itself moves, deletes and answers nothing.

Typical I/O shape

Batch of items (headers + snippets since the last high-water mark) → per item {class, confidence, reason}, schema-constrained (GBNF / structured output).

Escalation

Below the confidence threshold, or on classifier disagreement: park the item in the review queue instead of guessing. Tier fallback per model_policy (Pi SLM → M4/Mistral) when the primary tier is down or unsure.

Invariants

  • Output label ∈ the closed set — nothing else parses.
  • Every misclassification is recoverable: nothing is deleted or moved.
  • Refusal below threshold is a success mode, not an error.

Serves: T01 (mailbox triage & routing), deadline detection. Model policy: Pi SLM (GBNF) → M4/Mistral fallback. Orchestrator: k3s CronJob → queue.