Get early access
For educators

Grade what a student did with the answer

Every teacher asks students to show their work. The tool students ask first does not show its own. LoQuery is a research tool that hands back a table. Every value carries the document it came from, and the session carries what your student did with it.

A fluent paragraph tells you nothing about who wrote it, or whether anyone opened a source.

Open three sources. Show which claims survive being checked.

Tools that claim to spot AI writing consistently misclassify non-native English writing as AI-generated, and the chatbots write better every month. Policing the output is a race nobody finishes. LoQuery is not an AI detection tool for teachers: it scores no prose and makes no guess about who wrote what. Plenty of teachers already let the machine do the collecting, so the analysis becomes the assignment. What you grade is a student noticing that a confident claim rests on a thin record.

What to assign when the detector is off →

The task
The assignment now Research three enforcement actions and write a summary of each.
The assignment instead Here is the machine's table for those three. Find where it is weakest and show your working.
What the student does
The assignment now Prompts a chatbot, reads a fluent paragraph, rewrites it in their own words.
The assignment instead Opens sources. Compares what the cell claims against what the document says. Overrides what does not hold.
What they hand in
The assignment now Prose you cannot attribute.
The assignment instead A record of which claims they checked, which they changed, and the reasoning they gave for each.
What you are grading
The assignment now Whether the writing is good, and whether you believe they wrote it.
The assignment instead Judgment. Whether they went to the source, and whether their disagreement was well founded.
If they use AI
The assignment now The problem.
The assignment instead The point. The machine is supposed to do the collecting.
How a run works

Six stages collect, so the lesson can judge

LoQuery runs a job in six named stages, and the workbench lights whichever one is working. Task Doer fetches pages and extracts one field at a time, and Evaluator scores that value against the document it came from. Six stages of collecting, and not one of them decides whether the answer is good enough, so you can put that call in front of your class.

Workflow Agents
RESEARCH Kinross incident

active: Task Doer

  1. Discovery
  2. Orchestr.
  3. Task Giver
  4. Query Help
  5. Task Doer
  6. Evaluator
The run header and the stage strip as the workbench renders them, with Task Doer working the first item.

The six stages, and why they are separate →

Setting up a run

Two ways to start, and no subject list

Every run starts with one of two choices, and the choice changes what a student types. Hand LoQuery a list and it researches the items on that list. Describe a category instead and LoQuery finds the population first.

You give it a list

Direct

Kinross incident, Shag Harbour incident, Lake Michigan 1994 incident

It researches each item against your criteria and returns one row per item.

  1. You paste the list
  2. It researches each item
  3. Table with a source on every cell

Use it when You already know the population and need evidence about it.

You give it a category

Discovery

Marine protected areas designated under Canada's Oceans Act

It finds the population first, in waves, then hands the list back for you to approve before it spends anything researching it. Set a discovery budget and it can run straight through.

  1. You describe the category
  2. It collects candidates in waves
  3. It validates and removes duplicates
  4. You approve, strike or send it back
  5. Then it researches the approved list

Use it when You do not know who is in the set, and the answer depends on getting that right.

Nobody wrote a history module, and nobody wrote a biology one. LoQuery reads the description and writes that run's configuration itself, and the student run on this page used that default. When it reads your subject wrong, you set the terms yourself, so you decide what counts as a good source. How that configuration gets written, field by field →

Before the run

Discovery stops and hands the student a decision

LoQuery collects candidates in waves, then stops and asks before it researches any of them.

Two of these five are government programmes rather than incidents, and LoQuery kept them with the lowest scores, so a person has to notice. Strike them below and the button count follows. That call is the first thing on this page you could grade.

Discovery Approval
Approve discovered items 5 candidates after 3 waves · 4 rejected by validation

You asked forAerial incidents over Canada or the Great Lakes that a government or military body formally investigated

Strike anything that does not belong. Nothing is researched until you proceed, so this is the cheapest place in the whole run to be strict.

Research of 5 Keep looking Stop here
Rejected before you saw them
  • Top 10 Canadian UFO cases A page heading, not a thing you could research.
  • Wilbert Smith A person. The query asked for incidents.
  • Manitoba A location. Rejected at the metadata pre-filter.
  • Library and Archives Canada An institution, and one of the sources being read.
Five names survived discovery. Four were thrown out before any research began, each with the reason attached.

Cell values, sources and caveats here are real and open to checking. The scores, attempt counts and source totals show the shape of a run and get replaced once a captured session record lands.

While it runs

Grade the rule a student wrote mid-run

Halfway through, a student decides LoQuery is taking weak sources, and types a better standard. LoQuery reads it back as one action from a fixed list it cannot add to. Nothing reaches the run until the student confirms.

LoQuery takes the rule after gathering what it found on the current item, and before judging any of it. From the next item on, the evaluator carries that sentence in its instructions and is told not to overrule it.

Research Activity Thinking

Tell me in your own words

only count a source as primary if it is a government or military file

Add validation rule → Evaluation

Confirm + queue

Waits for the next verdict boundary.

Add validation rule QUEUED

You Submitted; awaiting application at next safe checkpoint

Add validation rule APPLIED AT VERDICT BOUNDARY

You Add validation rule at verdict-boundary: 'only count a source as primary if it is a government or military file'.

What the student typed, and what LoQuery made of it. On the right, the same instruction waiting, then landing. LoQuery's confidence in its own reading, and the sentence it writes explaining that reading, are not shown, because no captured run supplies them yet. The landing line is built from LoQuery's own effect-summary template rather than quoted from a run.

That typed sentence is the most gradeable thing on the page. A student says what counts as evidence while the work is still open, so you grade the standard as well as the answer.

The teacher view

Open the session your student actually ran

Open a student's session and the table comes back the way they left it: every item, every field, every cell LoQuery filled or refused. Each researched item carries a verdict and any caveat LoQuery raised against its own answer. Every cell carries the document it came from.

The empty row is the one to read first. LoQuery filled none of its four cells: the 1994 reports are a cluster across several towns, and no single record resolves. A student has to explain that, so you can grade the refusal rather than mark it as a gap.

Research Workbench Table View
Filter Confirmed clean 0 Candidates 0
Item name Score Verdict Why Caveats DateOfficial explanationPrimary sourceStill unexplained
Kinross incident 2 attempts 0.71 confirmed with caveats Score 0.71; a USAF determination is on record and is contested, and no government or military file establishing it was located: the safety board's analysis, findings and recommendations were withheld under FOIA. source_contested uncalibrated_authority_domain 23 November 1953 aviation-safety.net/wikibase/161691 USAF: the F-89C was tracking an off-course RCAF C-47 and was lost over Lake Superior en.wikipedia.org/wiki/Felix_Moncla None located. The safety board's findings were withheld under FOIA; ASN WikiBase entry 161691 is user-submitted, not the USAF report aviation-safety.net/wikibase/161691 No. A determination was issued, and the pilot of the RCAF flight named in it, Gerald Fosberg, denied being intercepted en.wikipedia.org/wiki/Felix_Moncla
Shag Harbour incident 1 attempt 0.82 confirmed with caveats Score 0.82; the located source for the records field is a curated research list rather than the investigating agency's own file, so its only record-group holdings are RG77, National Research Council records, rather than the RCMP or DND file the question asked about. uncalibrated_authority_domain 4 October 1967 en.wikipedia.org/wiki/Shag_Harbour_UFO_incident No determination reached; investigated by the RCMP and Canadian Forces en.wikipedia.org/wiki/Shag_Harbour_UFO_incident A Library and Archives Canada research list; its only record-group holdings are RG77, National Research Council bac-lac.gc.ca/…/list/43130 Yes. No conclusion was reached en.wikipedia.org/wiki/Shag_Harbour_UFO_incident
Lake Michigan 1994 incident 3 attempts 0.18 mismatch Low score (0.18); zero of 2 evidentiary field(s) filled. The 1994 reports are a cluster of sightings across several towns, so no single incident record resolves. Not Found Not Found Not Found Not Found
One student's session, as the teacher view opens it. The Confirmed clean chip reads zero, and that is the run's finding rather than a gap in it.

Sources here are real; scores and attempt counts are illustrative until a session capture lands.

The record

The judgment record names who decided

Every verdict in the record says who produced it, in one word. The machine's own call reads evaluator and a student's replacement reads user. A student who kept LoQuery's call and wrote down why reads collaborative, and that third word is the one a grade book has no name for. Nobody touched the third row, which is the signal you cannot get any other way.

The class view puts one row per student over the same run, and counts what each of them changed, kept and refused. No prose is scored and no student is ranked.

Session record Judgment
Judgment record Student run · 3 items × 4 fields
Cells in the run
12
Verdicts changed
1
  • Kinross incident verdict boundary
    confirmed with caveats → uncertain

    Opened the source behind the official explanation and found a Wikipedia article that attributes the finding to an accident report. The Primary source cell on this row says none was located, so nothing in the run establishes it.

    user
  • Shag Harbour incident verdict boundary
    confirmed with caveats kept

    Opened the archive listing behind the Primary source cell. Its archival items are National Research Council records rather than the RCMP or DND file this row asks for, and that is what LoQuery's caveat already said.

    collaborative
  • Lake Michigan 1994 incident
    mismatch kept

    No reasoning given.

    evaluator

LoQuery writes each of these as the correction lands, while the student is still working. The teacher view is where you read it.

Three items, one verdict changed, one kept with the student's own reasoning, one left to the evaluator. The two the student touched name the point in the run where the correction landed. No captured student session exists yet, so these entries show the shape of the record rather than one student's work.

The run these three rows came from, step by step →

This works in a real classroom with real fifteen-year-olds.

In the classroom

Teach the five words, so arguments get specific

Every researched item carries one of four verdicts, and a fifth word covers the candidates LoQuery threw out before any research began. The vocabulary is the teachable part, and the AI literacy part, because it gives a class something more precise to argue about than whether the answer is right. Uncertain and mismatch are the two worth a lesson, because an empty row looks like the tool failing and is where the discussion actually starts. Nothing inside LoQuery explains these words to a fifteen-year-old, so the glossary sits on a marketing page until it sits in the product.

confirmed

We found it, and the source backs it up.

What it actually means

The evidence cleared the threshold and the source is one the system rates as authoritative for this kind of question. It still means go and look. A confirmed cell is a claim with a receipt attached; whether the receipt holds is your check to make.

Ask a student Open the source. Does it say what the cell says?

confirmed with caveats

We found it, but there is something you should know first.

What it actually means

The claim is supported and something about it needs qualifying: the document covers more than the thing you asked about, the source is weaker than we would like, or a date sits near the edge of the window you set. The caveat is written out with a code, so it is a category rather than a mood.

Ask a student Read the caveat first, then decide whether the answer still works for your question.

uncertain

We could not establish it, so we are not going to guess.

What it actually means

The system searched, read pages, and did not find evidence it was willing to stand behind. It scores itself zero and says so. This is the hardest behaviour to build and the easiest to skip, because a system that always produces something looks better and helps less.

Ask a student Ask why. Is it not on the open web, or was the question not answerable as asked?

mismatch

We found something, but it is about the wrong thing.

What it actually means

What came back does not resolve to the entity you named. A different company with a similar name, a cluster of events where you asked about one, a person rather than an incident. The result is kept and flagged rather than quietly dropped, because knowing the search went sideways is more useful than an empty cell.

Ask a student Look at what it did find. Usually it tells you the question needs to be more specific.

rejected

It never made it into the research at all.

What it actually means

A discovery-stage decision. The candidate failed entity validation before any research began. A page heading, a location, an institution. Rejections are shown with their reasons rather than silently removed.

Ask a student Scan the reasons. If something real was rejected, the question needs rephrasing.

And on every verdict, a record of who decided it

  • evaluator the machine reached this on its own
  • user a person overruled the machine and this is their call
  • collaborative the machine's verdict stood, with a person's reasoning attached

That field is the assessable artifact. It is the difference between a student who accepted everything and a student who argued with three cells and wrote down why.

Which sources count

Somebody ranked the sources, and you can see the ranking

Every research tool decides which sources carry weight. Most will not show you how. Ours names them, with the country and the kind of state outlet each one is.

Russia
rt.com, state-controlled. tass.com and tass.ru, state agency. sputniknews.com, state agency.
China
xinhuanet.com and news.cn, state agency. cgtn.com, state international TV. globaltimes.cn, state-affiliated tabloid. chinadaily.com.cn, state-affiliated.
Iran
presstv.ir, state-controlled. tehrantimes.com, state-affiliated. hispantv.com, state, Spanish-language.
Venezuela
telesurenglish.net, state-affiliated.

They are included rather than blocked, because a class studying what a government says about itself has to reach it. Public broadcasters editorially independent of the governments funding them sit with the rest of the independent journalism.

You can shift a domain's standing for a run. A teacher can use that to match whatever their board treats as an acceptable source.

For the school

A class pays for runs (not seats)

Schools and educational institutions in need pay what a run costs LoQuery and nothing on top, and a run costs cents. It costs cents because of the architecture rather than a discount: the searching, the extraction and the judging are split across many small model calls instead of one expensive one, and the leading agentic tools run that same work on frontier models. That is also why the price does not have to rise later. There is no per-seat licence, so a class of thirty pays only for the runs those thirty students make.

Better-resourced institutions pay more, rising toward the commercial rate that firms pay, and that margin keeps the floor at cost.

One cheaper thing LoQuery will not do. Reusing a verdict across sessions is the obvious way to cut the bill, and it was proposed here as a latency fix and turned down in writing. A class asking the same question next term gets the web as it is next term, not what it said today.

The published pricing rule →

School administrators: an extension and a sign in

To deploy
A browser extension and a sign in, with no server-side deployment and no student information system to integrate.
To approve
On managed Chromebooks an administrator allowlists the extension, and that is the only approval anywhere in the chain.
What a student can reach
The open web. You supply the item list and can name preferred sources or exclude domains, and nothing filters it by default.
Where runs live
Stored, so a student can reopen their own work and you can open the session. What we store, and what we do not do with it →
Where searching happens
In the student's browser, so no search a student runs reaches a LoQuery server.

Still grading prose you cannot attribute?

We are looking for a small number of teachers to shape what the classroom version becomes. Tell us what you teach and what a research unit looks like for you.

One email when it opens. No newsletter unless you ask for one.