-
-
Notifications
You must be signed in to change notification settings - Fork 0
Cortex Scoring Model
Part of Pillar I — The Cortex. Consumes NormalizedMessage objects, produces the AnalysisResult consumed by routing, Persona Mirror Drafting, and Negotiation Intelligence Algorithms.
Scoring converts a normalized message into three explainable numbers — urgency, sentiment, and priority — plus the contributing factors behind each. "Explainable" is a hard requirement, not a nice-to-have: see Design Philosophy for why every score in this system must show its work.
flowchart TD
A[NormalizedMessage] --> B[Sentiment Analysis]
A --> C[Urgency Signal Extraction]
A --> D[Emotional Taxonomy Classification]
B --> E[Priority Computation]
C --> E
D --> E
E --> F[AnalysisResult]
F --> G{Priority Tier}
G -->|Critical| H[Immediate surface, bypass Energy Shield gate]
G -->|High| I[Surface next capacity window]
G -->|Normal| J[Standard queue]
G -->|Low| K[Batched digest]
Urgency is computed from evidence, never inferred from tone alone. Signal sources, in order of weight:
- Explicit markers — sender-declared urgency (subject line "URGENT", email priority flag), highest weight because it is the sender's own stated claim.
- Deadline language — detected dates, times, or relative deadlines ("by Friday," "before the call") extracted and checked against the current date.
- Thread velocity — a sudden increase in message frequency within a thread relative to its historical baseline.
- Sender relationship weight — a configurable, founder-controlled table of relationship importance (e.g., active client vs. cold outreach), not an opaque model guess.
- Sentiment intensity — strongly negative or strongly positive sentiment nudges urgency, but is capped at a minority share of the total score, precisely because tone alone is a weak and gameable signal.
flowchart LR
S1[Explicit marker] -->|weight: highest| U[Urgency Score]
S2[Deadline language] -->|weight: high| U
S3[Thread velocity] -->|weight: medium| U
S4[Relationship weight] -->|weight: medium| U
S5[Sentiment intensity] -->|weight: capped, minority share| U
U --> Cap{Capped 0-100}
Sentiment classification draws on the categories defined in Cortex Emotional Taxonomy. It is deliberately kept separate from urgency: a message can be highly negative but not urgent (a slow-burn complaint) or highly urgent but neutral in tone (a time-boxed logistics request). Conflating the two produces a triage system that over-reacts to tone and under-reacts to real deadlines.
Priority is not a simple average of urgency and sentiment. It is a lookup against a configurable priority matrix, so operators can tune, for example, whether a highly negative-but-not-urgent message should outrank a neutral-but-deadline-bound one for their specific business.
| Urgency | Sentiment | Resulting Tier (default config) |
|---|---|---|
| High | Negative | Critical |
| High | Neutral/Positive | High |
| Medium | Negative | High |
| Medium | Neutral/Positive | Normal |
| Low | Any | Low (batched) |
Every score ships with its contributing factors, so a founder — or an auditor — can see why a message was ranked the way it was, not just the final number. See Data Schemas Reference for the full JSON Schema; the conceptual shape:
{
"message_id": "…",
"urgency": { "score": 78, "factors": ["explicit_marker", "deadline:2026-08-02"] },
"sentiment": { "label": "frustrated", "confidence": 0.81 },
"priority_tier": "Critical",
"routing_target": ["persona_draft", "negotiation_flag"]
}It does not draft a response (that is Persona Mirror Drafting), it does not decide when to surface the result to the founder (that is Energy Shield Decision Fatigue Model), and it never manufactures urgency signal that is not present in the evidence — see Design Philosophy for why this constraint is architectural, not just a guideline.
A reference architecture for emotionally-aware business automation.
Designed and maintained by Ciprian Ștefan Pleșca (Stefano D'Angelo) · LocalPulse Research
Home · Architecture · Design Philosophy · Five Pillars · Roadmap · Glossary & FAQ
"Sentinel does not lie." — engineering constraint, not just intention. See Design Philosophy for how this principle is enforced architecturally rather than merely stated.
Repository: github.com/Ciprian-LocalPulse/the-sentinel-protocol · License: MIT · © 2026 Ciprian Ștefan Pleșca