Operations · Guide
Uploaded does not mean ready for AI processing
A design memo separating receipt, admission checks, and the extraction queue.
Uploaded does not mean ready for AI processing
Original AAHouse explanatory video. AI-assisted conceptual visuals and neural narration; original music.
Simplified Chinese Mandarin transcript · English transcript · Taiwan Mandarin transcript · Hong Kong Cantonese transcript · Macao Cantonese transcript
Decision: receive does not mean process
This design memo considers a fictional U.S. service business that receives customer documents before AI extracts service requirements. Our proposed decision is to separate received from eligible for processing. Put an admission step before the extraction queue. The subject is the handoff to a parser, not download-link permissions or instructions embedded in document text. No dangerous file was uploaded for this article, and no product security assessment is claimed.

Before: selectable becomes processable
A prototype may treat its file chooser as a guarantee. MDN explains that the accept attribute guides file selection rather than validating the selected type; server-side validation remains necessary.[1] A PDF filter in the interface therefore does not establish that received bytes are a processable PDF. The original design also leaves an operations problem: staff may interpret an upload-complete label as evidence that the application understood the document.

Condition: checks need a stated scope
OWASP recommends limiting uploads to needed types, restricting size, not trusting the supplied content type, and combining protective checks.[2] These establish a basis for review, not a universal safe-file label. We recommend precise states such as type checks completed, parsing pending, or checks failed. Retain the rule version with the outcome so a later investigation can distinguish a changed rule from a changed file. Do not imply that one passing check proves every downstream component safe.

Budget: bytes are not the whole workload
An acceptable byte count is not a complete processing budget. Our design recommendation is to bound page count, image dimensions, execution time, and retries according to the workflow. Select thresholds through representative samples and capacity tests, not by copying a number from this memo. An exceeded budget should become an explainable exception rather than a reason for endless AI retries. No universal threshold or measured capacity result is offered here.

Experience: explain the next step
The customer needs a next step when admission fails. Distinguish an unsupported format, an oversized file, and a temporary processing failure, and offer an appropriate resubmission path. Avoid exposing internal paths or collapsing every outcome into a vague bad-file message. A temporary interruption and a permanently unsupported input need different recovery choices. Preserve a reference to the existing submission so a support worker can investigate without asking the customer to repeat an unexplained upload loop.

Review: an override still needs evidence
A human review path should not mean disabling every check. Show the failure reason, permitted remedies, and the reviewer’s decision. Scope an exception to the identified file and processing purpose. Keep the source identity linked to subsequent extraction results; a replacement upload must not inherit the earlier file’s verdict by accident. Whether an exception is allowed remains a question for the current business and security policy, not a choice the model makes to finish its task.

Evidence: harmless fixtures and expected outcomes
Build an acceptance pack with ordinary documents, mismatched extensions, empty files, password-protected files, and harmless inputs beyond the agreed limits. Write the expected receive, reject, or review outcome before execution. Then inspect both the queue and the customer-visible state. Malicious payloads are unnecessary for this state-transition exercise. Extraction accuracy alone does not validate admission behavior, and this memo does not claim that these proposed tests have been executed.

Release condition: align ownership and state
Start with one frequently used format and keep the supported scope, processing budget, exception owner, and test evidence on one handoff record. Queue extraction only after the agreed checks complete, with unresolved states visible to operations. Rerun the same fixtures after adding formats or changing parsers. Fewer misunderstandings and wasted retries are goals to evaluate, not benefits already measured. The decision is a bounded intake process, not a promise that files can never create risk.
