Files
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

37 lines
1.4 KiB
Markdown

# Sentinel — class skeleton
> The invariant part of every sentinel prompt, per the PRD
> [agent catalog](https://gitea.arcodange.lab/arcodange-org/factory/src/branch/main/vibe/PRD/ai-back-office/agent-catalog.md#agent-classes).
> 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.