Learn how conditions decide that something is wrong. Then judge the ones Shippo runs.
Primary objective: the concepts of setting alert conditions. Signals, windows, thresholds, durations, gaps, baselines. Platform knowledge that transfers anywhere.
Secondary objective: applying those concepts to Shippo's live configuration. Every worked example is a real condition and every number comes from a live query, but Shippo is the illustration, not the subject.
| # | Lesson | The concept it teaches |
|---|---|---|
| 1 | The four blocks of a condition | Where a condition sits in the chain from signal to notification, and the four blocks it is made of. |
| 2 | Thresholds under diurnal volume | Why a count threshold is two different alerts at two different hours, and how a guarded ratio fixes it. |
| 3 | Gaps, fills, and signal loss | Absence is not zero. Deciding what silence means, and the two settings that act on it. |
| 4 | Terms, durations, and paired conditions | A term is a complete rule. One signal needs as many conditions as it needs distinct responses. |
| # | Lesson | The concept it teaches |
|---|---|---|
| 5 | Baseline conditions and seasonality | Comparing against a learned prediction instead of a chosen number, and when that is the wrong trade. |
| 6 | The windowing knobs left at default | Sliding windows, window-completion methods, and the two delays. How New Relic cuts time. |
| # | Lesson | What it does |
|---|---|---|
| 7 | Auditing the policy you own | Runs the concepts against Carrier Capabilities (CCAP) and reports what it finds. Half the policy is disabled, 19 of 98 conditions can page, and a measured bug survived a careful rewrite. |
MISSION.md | Objectives in priority order. Every lesson is scored against it. |
RESOURCES.md | Vendor documentation first, Shippo source as reference. |
NOTES.md | Teaching preferences and working notes. |
learning-records/ | Non-obvious conclusions that drive future lessons. |
docs/ | Findings that outgrew a lesson and need action. |
assets/ | Shared stylesheet and quiz component. |
The FedEx rating 5xx conditions miss status_code = '5XX'.
All three of [CCAP] FedEx REST Rating - 5xx errors (carrier upstream),
[CCAP] FedEx REST Rating - 5xx burst (Shippo origin), and
[CCAP] FedEx REST Rating - 5xx errors (Shippo origin) still filter
on status_code >= 500. Re-checked 2026-08-20: 1,393 FedEx rating
failures a day land inside their filters and count as zero. The conditions were
rewritten on 20 August and the bug came through the rewrite intact. Not
ticketed.