01 / The cartographer’s fold
Every question
needs a way
through.
A small atlas of mistakes, corrections,
and the limits of arriving.
QueryPilot turns natural language into inspectable, read-only SQL. Unfold its world with your scroll.
Unfold the atlas ↓02 / A question sets out
Start with
a question.
One actual question. One recorded journey.
The map is a metaphor. The question and final SQL come from the committed hard_001 evaluation record.
Find customers who have placed more orders than the average customerDAY 6 · HARD_001
03 / Find the territory
You can’t cross
an unknown city.
First, retrieve the relevant schema.
The recorded context contains orders, customers, order_items and products. Their architecture and positions are invented for this atlas; they are not a database plan.
Four table names recorded in the retrieved context.
04 / A possible crossing
A route is
only a proposal.
The generator writes SQL. The checks get a say.
Static criticism, safety checks and database execution can reject a statement that looks convincing. A drawn line does not make a bridge.
05 / The first attempt
Almost
isn’t across.
The first attempt did not succeed.
The Day 6 record preserves that result and the final SQL. It does not preserve the SQL or failure reason for every intermediate attempt. The broken bridge illustrates failure; it does not diagnose it.
UNSUCCESSFUL
06 / Bounded correction
Draw again.
Know when to stop.
This recorded query took three attempts.
Structured failure feedback can return to the correction path. The attempt budget is bounded; cosmetic rewrites do not earn endless retries.
Final attempt: execution succeeded. Three attempts recorded.
Unfold the exact final SQL
Committed Day 6 output · no SQL is executed here.
WITH customer_order_counts AS (
SELECT customer_id, COUNT(order_id) AS order_count
FROM orders
GROUP BY customer_id
),
average_order_count AS (
SELECT AVG(order_count) AS avg_count
FROM customer_order_counts
)
SELECT c.customer_id, c.name, c.email, c.created_at, c.country, c.lifetime_value
FROM customers c
JOIN customer_order_counts coc ON c.customer_id = coc.customer_id
JOIN (SELECT AVG(order_count) AS avg_count FROM customer_order_counts) aoc ON coc.order_count > aoc.avg_count
LIMIT 1000;07 / The read-only gate
A crossing isn’t
permission.
Correction must not erase the guardrails.
Safety is checked again after correction. Database acceptance alone cannot authorize destructive or sensitive intent. Try the boundary in this illustration.
Illustration: read-only intent may proceed after the remaining checks. No database request is made.
08 / The honest ledger
Four more
made it through.
63 → 67 execution successes. Out of 70.
Correction recovered four of seven initial failures on the core benchmark. The 12 adversarial questions are a separate set, testing a different contract.
67 of 70 core queries executed successfully. Four recovered; three still unsuccessful.
09 / The edge of the map
It ran.
Did it answer?
Arriving is not the same as being right.
Execution success does not establish whether the SQL answered the intended business question. That is the next evaluation boundary, and where this atlas stops.
Read the QueryPilot engineering story ↗Fold back to the beginning ↑Read the source boundary
Day 6 evaluation at repository commit 1b75476, recorded 25 February 2026. Only the question, schema names, final SQL, attempt count and published aggregate are represented as evidence. No live inference, query execution or real database topology is shown.
