Our Database Rejects Our Own AI's Content — On Purpose
We put a 23-point quality gate directly into our database INSERT layer. When our generator outputs generic filler, the database refuses the row outright.
Most automated publishing pipelines are designed to ensure one thing: volume. An LLM generates three dozen variations of a topic, an application script catches obvious API errors, and a queue pumps the resulting text directly to social platforms or staging tables. If the prose is hollow, repetitive, or vacuous, nobody notices until someone scrolls past it on LinkedIn. At that point, the damage to technical credibility is already done.
We took a different architectural decision. Our content pipeline generates technical posts and updates, but the database itself is explicitly configured to reject the vast majority of them. The gate is not a soft warning in a UI or a reviewer guideline pinned to a Notion board. It is an automated evaluation suite enforced directly before and during the database INSERT transaction. If the generated draft fails any of our 23 named checks, the database rejects the row, records the precise failure reason, and stops the generator from simply flooding the queue with more noise.
The 23 Checks at the Storage Boundary
Placing quality checks in the application layer or relying on human editorial willpower is a known failure mode. When deadlines approach or generation runs run low, humans lower their standards and application-level flags get bypassed with quick CLI flags. By anchoring the verification gate as a hard boundary before a draft can transition to a valid queue state, we make quality a structural invariant.
Every draft our internal generator produces must pass through 23 distinct programmatic evaluations. These checks are deterministic or benchmarked against rigid scoring criteria rather than loose prompts. Key evaluations include:
- Specificity-with-Proof: Every assertion must contain verifiable technical grounding—concrete nouns, actual architectural mechanisms, named files, or precise measurements. Sweeping claims without structural context trigger an instant failure.
- Entity Integrity: Any mention of our stack, products, or technical standards must match registered realities. The system rejects phantom features, hallucinated roadmap milestones, or incorrect product stage categorisations.
- Originality Index: The text is vector-compared against our historical corpus of published posts and technical documentation. If semantic drift is negligible—meaning the model is just restating an old point in slightly different phrasing—the draft is dropped.
- Craft Floor Comparison: The draft is scored on density, sentence variance, and information payload against the median score of our historically highest-performing published posts. If it sits below the median floor, it does not pass.
If any single condition fails, the transaction is refused. The database stores the rejected payload in an audit log with the explicit failure name attached—such as FAIL_SPECIFICITY_NO_PROOF_MECHANISM—and refuses to increment the valid content ledger.
The Uncomfortable Reality: Most AI Drafts Fail
Here is the honest reality that most AI tooling vendors hide: when you enforce a genuine technical quality gate, large language models fail routinely. In our pipeline, the vast majority of raw drafts generated by our agents fail the specificity-with-proof check on the first run.
Left to their own devices, language models gravitate toward polite, generic generalisations. They output paragraphs filled with introductory throat-clearing, passive voice, and abstract summaries about "unlocking potential" or "navigating modern complexities." That type of content is worse than useless to practicing engineers; it is an active signal that nobody was paying attention.
When our database rejects a draft because it lacks concrete mechanisms, the system is not broken. The gate is working exactly as designed.
Crucially, our pipeline prevents the generator from burying these rejections under brute-force volume. Many automated setups react to a failure by immediately firing off five more requests to an API until something randomly slips through. Our ingestion engine limits regeneration attempts and enforces back-pressure: if a prompt run repeatedly fails the craft floor, the entire generation branch is halted. The run is dead until an engineer refines the underlying contextual inputs or writes the piece manually.
Why Application Code and Prompting Are Not Enough
A common critique of this pattern is that database-level enforcement is too low down the stack. Why not simply add a validation step in the Python or TypeScript worker that calls the model?
The answer comes down to operational discipline. Application logic is mutable and prone to bypasses during crunch periods. A developer testing a new worker script might disable a validation function to "test ingestion quickly" and inadvertently dump forty unvetted rows into the publishing table. An asynchronous worker might hit a timeout, fail open instead of closed, and let half-formed strings into production.
When the schema requires a signed verification payload alongside the content body—validated against our 23 named criteria—the data layer makes low-quality state impossible to represent. You cannot publish a row that the database literally refused to write.
Engineering Lessons for High-Trust AI Systems
This approach to social content is a microcosm of how we build all software at Pharoah Technology. Generative tools are capable of incredible acceleration, but without mechanical constraints, they default to plausible-sounding mediocrity. High-trust engineering requires hard boundaries where bad outputs are rejected automatically, transparently, and without exception.
Whether we are developing customer-facing platforms or internal operations, we treat LLM outputs as untrusted user input. They must be validated against deterministic rules, verified against system state, and stopped at the storage boundary if they fail to meet our baseline.
You can see this philosophy reflected across all our work. Our operational platform SOLAI is live and deployed for businesses requiring structured, reliable intelligence from £49 per month. Our encrypted networking layer, GhostWire, is in active early access for teams that require provable security. Our hardened infrastructure project, Secure OS, continues through its dedicated labs programme, while our bespoke enterprise solutions via Fusion are available by direct client engagement.
If you are tired of AI systems that prioritise volume over structural integrity, look at how we build. Explore our products at pharoahtechnology.co.uk/products, or get in touch with our engineering team to discuss how we design systems that prefer honest failure over automated mediocrity.