Skill 6 of 6 • Iteration 1 • 2026-03-28 • 20 assertions across 3 evals
| Assertion | Type | With Skill | Without Skill |
|---|---|---|---|
| Weighted velocity: (4x0.5)+(3.5x0.3)+(3x0.2) = 3.65CRITICAL | PASS | Exact: 2.0 + 1.05 + 0.6 = 3.65 units/day |
FAIL Wrong weights (40/35/25), gets 3.575 |
| Reorder point: 3.65 x (14+7) = ~77 unitsCRITICAL | PASS | 3.65 x 21 = 76.65 ~ 77 units |
FAIL Gets 126.4 using safety factor 1.5x multiplier |
| Days on hand: 15 / 3.65 ~ 4.1 daysCRITICAL | PASS | 15 / 3.65 = 4.11 days |
PASS 15 / 3.6 = 4.2 days (close with rounding) |
| Alert severity: MEDIUM (15 < 38.5 but > 7.7) | FAIL | Correctly checks 15 < 38.5 but labels it HIGH instead of MEDIUM |
FAIL Says CRITICAL — massively overclassified |
| Order qty: max(154, 219) - 15 = 204 units | PASS | max(77x2, 3.65x30x2) - 15 = 204 units exact |
FAIL Gets 234 using ad-hoc formula |
| Uses 7-day safety stock buffer | PASS | "Default safety stock: 7 days" — 3.65 x 7 = 25.55 units |
FAIL Uses "safety factor 1.5" not 7-day buffer |
| Classifies velocity as 'Normal' (1-5 units/day) | FAIL | Doesn't use velocity tier classification. Says "Accelerating" but not Fast/Normal/Slow/Dead |
FAIL No velocity classification system used |
| Assertion | Type | With Skill | Without Skill |
|---|---|---|---|
| Dead stock: stock > 0, zero sales in 180 days, not discontinuedCRITICAL | PASS | Exact 3-part definition with field names (decUnitsInStock, ysnDiscontinued) |
FAIL Uses "12+ months" not 180 days, no ysnDiscontinued |
| Filter ysnDiscontinued to exclude 46,606 discontinuedCRITICAL | PASS | "Start with 25,283 active products (filter ysnDiscontinued = False)" |
FAIL Never mentions ysnDiscontinued or product count split |
| Action matrix: >$5K/$500-$5K/<$500 x 180-365d/>365d | PASS | Full matrix with all 6 cells and specific actions per cell |
FAIL Has matrix but wrong tiers (>$500/<$500 and month-based) |
| Value at Risk = Dead Stock Qty x curCost | PASS | "Value at Risk = Dead Stock Quantity x Current Cost" |
FAIL Uses carrying cost calc, not "Value at Risk" concept |
| Cut-to-order warning — check parent COIL | PASS | "Low panel inventory is often normal. Check the parent COIL." |
FAIL Vague mention of panel niche, no coil-checking guidance |
| Paradigm ERP source of truth, API down since 2026-03-14 | PASS | "Paradigm API is currently down (as of 2026-03-14)" |
FAIL Mentions Paradigm but doesn't know API status |
| Does NOT recommend /api/user/Inventory/AdjustCRITICAL | PASS | Uses Physical Count Worksheets and IADJ 2-step only |
PASS Doesn't mention the forbidden endpoint |
| Assertion | Type | With Skill | Without Skill |
|---|---|---|---|
| All 5 factors with correct weightsCRITICAL | PASS | Stock Level 30%, Velocity 25%, VAR 20%, DOH 15%, Consistency 10% |
FAIL Wrong names and weights (20-25% ranges, guessed factors) |
| Stock Level = HEALTHY (100) since 200 > 150CRITICAL | PASS | "HEALTHY (100 pts): At or above reorder point" → 30 points |
FAIL "200/150 = 1.33x = ~80-85/100" — wrong scoring method |
| Velocity = 'Fast Mover' (>5 units/day) | PASS | "8 units/day falls in the Fast Mover category (> 5 units/day)" |
FAIL "8 units/day is healthy" — no tier system |
| DOH: 200/8 = 25 days, within target range | PASS | "DOH = 200 / 8 = 25 days" referencing 14-30 day target |
FAIL Says "25-day supply" but no DOH calc or benchmarks |
| Status tiers: EXCELLENT/GOOD/FAIR/POOR/CRITICAL | PASS | All 5 tiers with exact score ranges (80-100, 60-79, etc.) |
FAIL Just says "77/100 Healthy" — no tier system |
| Product identified as healthy fast mover | PASS | Score 100/100 EXCELLENT — "optimal health, well-stocked fast mover" |
PASS "~77/100 Healthy" — directionally correct |