| PO | Lines | Tokens in / out | $ Bedrock | Wall | Path |
|---|---|---|---|---|---|
| AM4075307 | 2 | ~14k / ~1k | $0.07 | 40 s | VLM |
| 3002630800 | 2 | ~25k / ~1.4k | $0.10 | 73 s | VLM |
| 4500239828 | 4 | ~33k / ~2k | $0.14 | 89 s | VLM |
| 5002499207 | 1 | ~38k / ~1.5k | $0.14 | 110 s | VLM |
| PO0047091502 | 1 | ~10k / ~0.7k | $0.05 | 31 s | VLM |
| Satair 4500595986 | 1 | ~22k / ~1.2k | $0.09 | 55 s | VLM |
| Saft Ferak P2502253 | 264 | 93k / 0.9k | $0.10 | 13 s | text-mode + Haiku stages 0/1/5 |
| Total | 275 | — | $0.69 | 412 s | — |
Average: $0.10 per PO, 0.25¢ per line item on the live sweep. The 264-line Saft Ferak PO costs the same as a 2-line Verizon PO because Stage 2 takes the deterministic text-mode path when totals reconcile to the cent.
| Component | Call | Tokens (typ.) | $/PO |
|---|---|---|---|
| Stage 0 (Client + plant ID) | Haiku 4.5 × 1 | 1k in / 0.1k out | $0.0013 |
| Stage 1 (Doc Analyzer) | Haiku 4.5 × 1 | 2k in / 0.3k out | $0.0031 |
| Stage 2 (text-mode — when totals reconcile) | local | — | $0 |
| Stage 2 (VLM — otherwise) | Sonnet 4.6 × 1–3 | 4k in / 2k out | $0.04 |
| Stage 3 (Rules) | local | — | $0 |
| Stage 4 (plant-aware Snake) | local | — | $0 |
| Stage 5 (Validation) | Haiku 4.5 × 1 | 3k in / 0.5k out | $0.0044 |
| Stage 6 (Router) | local | — | $0 |
A "small" balanced-mode PO (1–6 lines, VLM stage 2) lands at ~$0.05–$0.15. A text-mode PO of any line count (so long as totals reconcile) lands at ~$0.01–$0.03 regardless of size.
Stage 4 (Snake) is free (< 10 ms/line, in-process) but it resolves the heart of the problem: mapping heterogeneous manufacturer / customer part IDs to the right plant's master data. Measured tier-1 exact match rate on the sweep: 274 / 275 (99.6%). The single rejection is correct — a 3.4% Textron customs surcharge with no Saft SKU counterpart.
| Manual today | Monce pipeline | |
|---|---|---|
| Avg time per PO | 8–15 min (entry + SKU lookup) | 15–90 s automated + 30 s spot check |
| Avg time per 264-line PO | 4–6 hours of pure data entry | 13 s end-to-end |
| Tier-1 SKU match rate (measured) | ≈ 100% (operator does it) | 99.6% tier-1 exact, audited |
| Hallucination guard | n/a | 0.85 floor on Snake; tier ⊥ rather than wrong SKU |
| Share routed to auto-approve | 0% | ~70% target once T ≥ 0.85 |
Assume a fully-loaded cost of $45/h for a planning clerk. Manual PO ingestion averages ~12 min → $9.00 per PO. The pipeline runs at $0.10 measured average.
At 30 POs/day across both plants, that's $267/day in recovered operator time, or ~$67k/year gross before fixed infra. The 264-line Saft Ferak PO alone replaces ~5 hours of clerk time at $225 of opportunity cost — for $0.10 in Bedrock fees.
| Resource | Monthly |
|---|---|
| EC2 r6i.large (2 vCPU / 16 GB / eu-west-3a) | $96 |
| EBS 30 GB gp3 | $3 |
EIP 51.44.2.200 (in use) | $0 |
| S3 archive (~5 GB versioned) | $1 |
| Route53 + CloudWatch + data out | $4 |
| Total | $104/month |
The bump from t3.medium ($30/mo) to r6i.large ($96/mo) was forced by Bordeaux's 800 MB Snake article model: deserialised to Python objects it consumes ~4 GB heap, which the 4 GB t3.medium OOM-killed. r6i.large gives ~11 GB free with both plants warm, comfortable headroom.
10 POs/day → ~$30/mo Bedrock + $104 infra = ~$134/mo 30 POs/day → ~$90/mo Bedrock + $104 infra = ~$194/mo 100 POs/day → ~$300/mo Bedrock + $104 infra = ~$404/mo 500 POs/day → ~$1,500/mo Bedrock + r6i.xlarge ~$200 = ~$1.7k/mo
r6i.large handles ~3 concurrent workers and ~30 POs/min sustained. The bottleneck is Bedrock throughput, not CPU or memory. Above ~250 POs/day a second worker queue pays for itself in latency; above ~1k POs/day SnakeBatch v9 (the 100-shard Lambda mesh) takes over the matcher.
The model_mode parameter on /extract trades cost for accuracy:
| mode | stage 0/1/5 | stage 2 fallback | $/PO (typical) |
|---|---|---|---|
| cheap | Haiku | Haiku | $0.01–$0.03 |
| balanced (default) | Haiku | Sonnet | $0.05–$0.15 |
| accurate | Sonnet | Sonnet | $0.10–$0.20 |
Text-mode short-circuits all of this when the document totals reconcile to the cent — that's how the 264-line Saft Ferak PO cost $0.10 instead of $1.50+.
Cheapest first; escalate only when Snake's top-1 confidence is below θauto.