Run three questions through Atomize's pipeline and fix the answers it holds back
Each crate is a sample question about one sentence. Run the line to cut, search and check every question. Then change the recipe below the floor to see which choices make the line hold an answer back, and fix it.
Ready. Run the line or step one tick.
Follow an order
Receiving dock → Cutter → Search → Check sources (teaching rule) → Send out · withheld orders drop to the rework bin
Atomize's full pipeline adds a step this floor skips: after search, a model re-ranks the top 25 to 60 matches. A newer search path, in testing, re-ranks the top 10. A model then writes the answer; the newer path also flags numbers it can't trace. Open "Behind the machines" for the comparison.
BillingReturnsPetsWithheldFollowed
Followingorder-01 · Billingat the dock
01 · Cut sentence
Nine words. Large keeps the condition with the rule.
02 · Find match
Question
Brightness is the real score. Position is illustrative.
In Atomize, a model then re-ranks the top 25 to 60 matches. A newer search path, in testing, re-ranks the top 10. This cell skips re-ranking.
03 · Check sources (teaching rule)
Required quote
The top piece must carry the whole source sentence.
Atomize doesn't use this rule. It has a model write the answer from the top-ranked articles. A newer search path, in testing, also flags numbers it can't trace.
04 · Send out
Waiting
Nothing dispatched yet.
Choose a station or order
Change the recipeHow pieces are cut, searched and sent out. Current: Large (9 words) · Meaning · Cited answer
Wording
How matching scores work
Choosing Meaning or Shared words chooses how scores are computed, not a high or low score. The highest score ranks first; it does not prove the answer.
Meaning (semantic matching) compares the question and each piece as vectors. A model learned text-pattern representations; this example uses frozen 768-dimensional embeddings from the same model. Cosine ranges from -1 to 1 and compares their directions: closer to 1 means more similar directions, 0 means perpendicular, and -1 means opposite directions. Opposite directions do not necessarily mean logical contradiction. There is no universal good-score cutoff or confidence percentage.
Shared words (lexical matching) counts the fraction of distinct eligible question words found in each piece, after common words are excluded. That fraction and cosine use different scales. Do not compare them as accuracy scores.
For example, the Returns question asks about “broken earphones”; its source says “faulty headphones”. Meaning can match related text even when Shared words finds no eligible words in common.
Choices apply when cutting starts.
Preview next recipe and current orderLine settingsWorkers per station and batch size. Simulation ticks, not production latency.
Cutter workers 1–3
Sorter workers 1–3
Inspectors 1–2
Orders per source 1–4 · max 12 orders
Workers change concurrency, not evidence. Service ticks: dock 1 · cutter 1 (Large) or 2 (small) · sorter 2 or 3 · inspector 1. Illustrative, not measured.
Behind the machinesHow each station compares with what Atomize really does.
Atomize's pipeline, in order, and where it appears on this floor
Atomize stage
What Atomize does
On this floor
Cut
Pieces of about 800 tokens, each overlapping the previous by 100 tokens.
Cutter
Search
By meaning and by words together; the two rankings are combined.
Search (meaning or words, one at a time)
Re-rank
A model re-orders the top 25 to 60 matches. A newer search path, in testing, re-orders the top 10.
Not simulated
Write
A model writes the answer from the top-ranked articles.
Send out (copies the source instead)
Check
In a newer search path, in testing, numbers that can’t be traced to a source are flagged; the check never blocks the answer.
Check sources uses a different teaching rule
Stages follow Atomize's current search pipeline in its source code (lib/search/runSearch.ts). The live app may still serve some searches through an older path that searches by meaning first and adds word matches when results are thin.
Each machine on this floor
Station
In Atomize
Receiving dock
Atomize runs background work, such as embeddings and summaries, through BullMQ queues stored in Redis. Here every question waits in one simple queue.
Cutter
Atomize cuts articles into pieces of about 800 tokens (a token is roughly three-quarters of a word), each overlapping the previous piece by 100 tokens.
Search
Atomize searches by meaning and by words together and combines the two rankings. A model then re-ranks the top 25 to 60 matches; a newer search path, in testing, re-ranks the top 10. This floor skips re-ranking. The vectors here were prepared ahead of time.
Check sources (teaching rule)
Atomize doesn’t use this rule. It has a model write the answer from the top-ranked articles. A newer search path, in testing, also flags numbers it can’t trace, and that check never blocks the answer.
Send out
The response returned to the reader. In Atomize a model writes the answer; here the answer is copied from the source.
Rework bin
A retry with changed settings, not a dead-letter queue.
Long-running workers run on Railway in Atomize; nothing here contacts Railway, Redis or BullMQ. A finished-answer application cache is separate from a model's KV cache, which holds attention state during generation and may be reused across requests when serving supports prefix caching. Neither cache is simulated.
Spatial placement is illustrative. Rankings are computed in the original 768-dimensional vector space, and no camera or view change touches them.
Demo model: nomic-embed-text, 768 dimensions (this Factory Floor, the Precision Cell and the Sentence Machine). The full lab's Evidence Workshop uses all-MiniLM-L6-v2, 384 dimensions. Atomize production uses OpenAI text-embedding-3-small, 1536 dimensions.
Run the line to load the frozen example and its model digest.
{"dock":{"name":"Receiving dock","role":"Questions wait here. One is released per tick.","mapping":"Atomize runs background work, such as embeddings and summaries, through BullMQ queues stored in Redis. Here every question waits in one simple queue."},"cutter":{"name":"Cutter","role":"Cuts each nine-word sample sentence whole, or into three 3-word pieces.","mapping":"Atomize cuts articles into pieces of about 800 tokens (a token is roughly three-quarters of a word), each overlapping the previous piece by 100 tokens."},"sorter":{"name":"Search","role":"Ranks every piece against the question by meaning, or by shared words.","mapping":"Atomize searches by meaning and by words together and combines the two rankings. A model then re-ranks the top 25 to 60 matches; a newer search path, in testing, re-ranks the top 10. This floor skips re-ranking. The vectors here were prepared ahead of time."},"inspector":{"name":"Check sources (teaching rule)","role":"Checks the top piece for the whole source sentence. A close match is not proof.","mapping":"Atomize doesn’t use this rule. It has a model write the answer from the top-ranked articles. A newer search path, in testing, also flags numbers it can’t trace, and that check never blocks the answer."},"dispatch":{"name":"Send out","role":"Sends a cited answer or a search result.","mapping":"The response returned to the reader. In Atomize a model writes the answer; here the answer is copied from the source."},"rework":{"name":"Rework bin","role":"Held-back orders wait for a new recipe.","mapping":"A retry with changed settings, not a dead-letter queue."}}