CURTIS·DIGITAL
Prepared for Zebra Technologies Services SKU Description Pipeline Systems Exhibit — generated from the live codebase

How the system works and processes today

The journey of a record.

How one messy source row becomes a clean service description. Every one of 13,847 raw records travels the same route — six engineered processing stages, roughly 200 discrete, auditable operations, with one narrow language-model stage along the way. This page traces that journey end to end, and lets you open the machinery at every stop.

13,847
Records processed
176
Deterministic text rules
6
Processing stages
62.5% 99%
Clean, baseline → now
01

The route

Six stages between the workbook and the deliverable.

Each stage is code we own, version and can point to line-by-line. The model stage — the slate-blue node — performs one deliberately narrow job: composition, itself decomposed into four single-responsibility calls. Everything factual is resolved by the stages around it.

IN
Source record
13,847SKU rows
STAGE 0
Scrub
6+noise rules
STAGE 1
Spelling
129rules
STAGE 2
Collapse
47rules
STAGE 3
Extract
22extractors
STAGE 4
Tag
4tag classes
STAGE 5
Model stage
4narrow calls
STAGE 6
Backstops
5+post-checks
OUT
Clean description
99%clean
Deterministic — code we own & auditLLM
By operation count, roughly 200 deterministic operations surround one model stage of four deliberately narrow calls. Even that stage is decomposed with strict field ownership — a small, tightly fenced fraction of the machine that guarantees the result.
02

The journey, stage by stage

One messy record, traced through every stage.

A representative raw marketingDescription as it arrives from the source workbook — HTML fragments, glued tokens, typos, ambiguous region codes. Follow it down. At each stop, “open the machinery” to see the actual rules, numbered line by line.

Departure · raw
As it arrives
Straight from ServicesOneCareSKUs.xlsx. Unusable as-is.
Raw marketingDescription <p>Z1C: Essential 3 day TAT for Model-TC27 &amp; MC9300, fastrackpurchased renewal. Coverage NA,MX only (excludes LATAM). Includes biling &amp; maintanance. VISIBILTYIQ 24/7.</p>
Stage 0 · scrub
Noise removal
scrubNoise() — strips HTML tags & entities, unwraps parentheses (keeps content), removes the Model- prefix, preserves apostrophes.
<p> removed &amp; decoded Model- stripped ( ) unwrapped
After scrub Z1C: Essential 3 day TAT for TC27 & MC9300, fastrackpurchased renewal. Coverage NA,MX only excludes LATAM. Includes biling & maintanance. VISIBILTYIQ 24/7.
Stage 1 · spelling
129 spelling rules
Runs before collapses so downstream rules fire on canonical spellings. Fixes typos and de-glues concatenations without disturbing casing.
S15 fastrack·split S22 biling S29 maintanance S11 VISIBILTYIQ S36 24/7
After spelling layer Z1C: Essential 3 day TAT for TC27 & MC9300, fastrack purchased renewal. Coverage NA,MX only excludes LATAM. Includes billing & maintenance. VISIBILITYIQ 24x7.
Stage 2 · collapse
47 collapse rules
Ordered canonicalization — each rule feeds the next. Turnaround, regions, units and hyphenation all resolved to one canonical form.
C46 Z1C colon C1 n-day TAT C8 NA→N. AMERICA C10 MX→Mexico
After collapse layer Z1C Essential 3-day TAT for TC27 & MC9300, fastrack purchased renewal. Coverage NORTH AMERICA Mexico only excludes LATAM. Includes billing & maintenance. VISIBILITYIQ 24x7.
The absorber engineering that makes this reliable: NA,MX would naively collapse into NORTH AMERICAMX — two regions fused into a garbage token. Every punctuation-absorbing rule emits canonical + space, so it lands as NORTH AMERICA Mexico — on row 12 and on row 12,000, identically.
Stage 3 · extraction
22 canonical extractors
The “tab” layer recognizes canonical vocabulary — it doesn’t rewrite, it identifies. isProduct and the region set are the single sources of truth.
tab-14 products tab-06 locations tab-05 TAT tab-21 OneCare
Recognized entities (no text change) products = { TC27, MC9300 } locations(+) = { NORTH AMERICA, MEXICO } locations(−) = { LATAM } ← excluded qualifier = { Fastrack } tier · TAT = { Essential · 3-day }
Stage 4 · typed tags
Fact injection
normalizeAndTag() writes the recognized facts back in as typed markers, so the model weaves known facts instead of re-extracting from prose. Every tag must survive to output.
[product:…] [location-positive:…] [location-negative:…] [brand-qualifier:…]
Tagged input handed to the model Z1C Essential 3-day TAT for [product:TC27] & [product:MC9300], [brand-qualifier:Fastrack] purchased renewal. Coverage [location-positive:NORTH AMERICA] [location-positive:MEXICO] only excludes [location-negative:LATAM]. Includes billing & maintenance. VISIBILITYIQ 24x7.
Stage 5 · the model stage
Composition — four narrow calls
Not one broad prompt. Three specialist models each own a single field — turnaround, billing cadence, exclusions — and a writer model weaves the tagged facts into the prescribed sentence. Ownership is fenced: the writer’s prompt explicitly forbids extracting the specialist-owned fields, and two fields (live-agent support, contract years) never touch a model at all — they are owned purely by regex.
3 specialist calls 1 writer call 2 fields regex-only
Inside stage 5 — fan out, fan in
tagged record all calls issued in parallel
TAT specialistowns turnaround time only
Billing specialistowns billing cadence only
Exclusions specialistowns exclusions only
Main writerdescriptive fields — forbidden from the specialist-owned fields
Regex extractorlive-agent support — no model
Regex extractorcontract years — no model
assembler one structured extract
per-field provenance
Each output field is owned by exactly one lane — no field two paths can disagree on. Four writer fields additionally pass a deterministic post-normalize (region, coverage, enhancements, excluded locations) before the merge.
Model output Zebra OneCare Essential with 3-day turnaround for the TC27 and MC9300, including Fastrack purchase renewal, billing and maintenance, plus 24x7 VisibilityIQ. Available in North America and Mexico; excludes LATAM.
Stage 6 · backstops
Deterministic post-checks
Regex safety net after the model — strips any tag scaffolding the model failed to consume, title-cases region atoms, preserves the Available in… clause. Nothing internal leaks to the client.
tag-strip backstop region title-case clause preserved
Arrival · final client-ready description Zebra OneCare Essential with 3-day turnaround for the TC27 and MC9300, including Fastrack purchase renewal, billing and maintenance, plus 24x7 VisibilityIQ. Available in North America and Mexico. Excludes LATAM.
03

Inside the layers

The rules are real, named, and counted.

A sample of the actual rule families. Every rule has an ID, a rationale and a hit count against the live corpus — the long tail exists precisely because 13.8K rows hide variants no one would anticipate up front. The full rule sets are in the consoles above.

STAGE 1 · lib/spellings.ts129

Spelling & de-glue layer

Typos, missing spaces and concatenations, fixed before anything else so downstream rules see clean tokens.

IDTransformHits
S15fastrackpurchasedfastrack purchased14
S28heathcarehealthcare27
S11VISIBILTYIQVISIBILITYIQ11
S22bilingbilling3
S3624/724x73
S6CRADLCradle1
STAGE 2 · lib/collapses.ts47

Collapse / canonicalization

Ordered transforms — each feeds the next. One canonical form per concept, corpus-wide.

IDTransformFamily
C13 day TAT3-day TATTAT
C8NANORTH AMERICARegion
C3NBDnext business dayTAT
C18yrsyearsUnits
C46Z1C:Z1C Misc
C293 year3-yearHyphen
STAGE 2 · rule familiesC1–C49

How the 47 active collapses group

C1–C6  Turnaround & TAT C8–C16, C35, C47–C49  Location canonicalization C17–C28  Units & acronyms C29–C43  Number & hyphenation C43–C46  Misc canonical C15, C34  dropped — superseded
STAGE 3 · tabs/22

Canonical vocabulary extractors

The corpus mined for its own vocabulary. Detection lives here once — every other layer imports it. No duplicated logic.

ExtractorOwns
tab-14isProduct — product SSOT
tab-06REGION_NAMES_UPPER — region SSOT
tab-05TAT variants
tab-21OneCare variants
tab-18/19Z1C case & trigrams
tab-20non-dictionary residue
STAGE 4–5 · normalize-and-tag.ts4

Typed tags → the model stage

Four typed marker classes turn extraction into deterministic verification: every tag injected must appear in the output.

Tag classPurpose
[product:X]one per product, no ordinals
[location-positive:X]included region
[location-negative:X]excluded region
[brand-qualifier:X]e.g. Fastrack
04

Measuring convergence

The vocabulary, before and after.

The founding question was measurable: can we reduce the total number of unique words, variables and misspellings? Every rule’s effect was measured against the live corpus in a discovery workbook, rebuilt after every rule change. This is the summary tab — the first full rebuild against the final one. Same 13,847 records; only the rules changed between them.

Measurement (workbook tab) Before After Reduction
Unique raw termsT1_all_raw 1,7851,061
−40.6%
Unique terms, case-foldedT2 1,580933
−40.9%
Model-number wildcard termsT3_xx_termsdrained 1350
−100%
Hyphenated term variantsT4 7957
−27.8%
Turnaround-time spellingsT5_tat_variants 197
−63.2%
Raw location tokensT6_locationsdrained 560
−100%
Unique 3-word phrasesT9_trigrams 6,9143,823
−44.7%
Digit-bearing tokensT10 565171
−69.7%
Qualifier phrase variantsT11 3415
−55.9%
Unclassified residue tokensT12b 612371
−39.4%
The drained tabs

Two problem classes eliminated entirely

T3 and T6 hit zero — not reduced, eliminated. Ambiguous model-number wildcards like tc27xx were replaced by {{product}} placeholders, and raw region codes like NA/MX/LATAM by canonical {{location}} handling. The worksheets that existed to track those problems are now empty.

One concept, once

Turnaround time: 19 spellings → 7 canonical forms

Before — 19 ways to spell one concept
TAT3 day TAT3 DAY TAT 3 Day TATtat3 day tat 3 Day TatTatNBD Next Business Day
After — 7 canonical forms
3-day TATNBDTAT standard TAT5-day TAT 15-day TAT2-day TAT
Method note: one tab (T7_acronyms) is excluded from this comparison — its definition changed between generations (the later version excludes location codes), so its counts are not comparable. T10 was renamed (_no_xx) but remains comparable, since the xx-class itself went to zero.
Measured by a 23-tab discovery workbook rebuilt after every rule change — 33 generations across two days. Placeholder tokens {{product}} and {{location}} mark values resolved deterministically upstream.
05

The engineering case

Why the system is built this way.

The deterministic layers exist because these are jobs that must be accountable and repeatable — and a language model is structurally the wrong tool for them. The model does what it’s best at; code does the rest.

Five of the six largest historical error classes were the same failure: the model lost track of what was in the source. Typed tags don’t ask the model to remember — they hand it the facts and verify they survived.

Observed across prior iterations, including ~890 rows that silently dropped a “Fastrack” qualifier — all source-tracking failures
01 — Consistency at scale

13,847 rows, identical treatment

A rule corrects heathcare→healthcare the same way on row 12 and row 12,000. A prompt’s behaviour drifts across a run of that size; deterministic code does not.

02 — Auditability

Every change is attributable

When someone asks “why does this say North America?” the answer is a named rule — C8 — with a rationale and a hit count. “The model decided” is not an answer.

03 — Reproducibility

Same input, same output

Re-run the pipeline and the deterministic stages produce byte-identical results. That is the property that lets us test — and the reason quality is measurable, not anecdotal.

04 — Cost & blast radius

Cheap work stays cheap

Typo-fixing and region-mapping in code costs nothing per row and never regresses on a model update. The full 13K run stays inexpensive because the model does only what it’s best at.

06

Where the journey ends

The result the system delivers.

The win condition was ≥80% clean. Measured on stratified samples of increasing size — the ladder is never skipped — the tagged pipeline cleared it decisively.

Baseline · prior pipeline
62.5%
clean, equivalent sample
+31.5 pts
Tagged pipeline · now
94–99%
clean, across samples
Rung · N=100
96%
stratified clean
Rung · N=500
99.2%
stratified clean
Corrected render
94%
+31.5 vs prior baseline
Test ladder
10→100→500→13.8K
no rung skipped