Pryor Consulting — AI Strategies for Higher Education and Non-Profits

Working demo · SACSCOC Principles of Accreditation

Accreditation answers that show their sources

Upload an institutional document, interrogate it against 62 SACSCOC policy documents, and turn what you find into a dependency-linked improvement plan.

Every claim on screen carries the passage it came from. In accreditation work an unsourced answer is worse than no answer, so this tool is built to be checked rather than trusted.

SACSCOC documents
62SACSCOC documents
indexed passages
1,225indexed passages
embeddings
768-dimembeddings
to browse the standards
$0.00to browse the standards

Why this exists

The evidence exists. Finding it is the job.

A reaffirmation narrative is an exercise in proving that things you already do satisfy standards written in someone else’s vocabulary. The work is rarely the writing — it is reading 62 policy documents closely enough to know which standard a given practice runs into, and which one it quietly misses.

A general-purpose chatbot will answer that question confidently and give you no way to check it. For accreditation that is not a small flaw — a citation with a plausible page number and the wrong attribution is worse than a blank page, because nothing downstream catches it.

So this tool retrieves first, shows you what it retrieved, and refuses to cite anything else. What it can’t support, it says it can’t support.

What’s available

Three screens

They run in order — browse the standards, question a document against them, then plan the response. Any one of them stands alone.

  • no model calls · $0.00

    Standards Explorer

    Browse the corpus as an interactive hierarchy — sections, standards, and the passages beneath them, drawn from the packaged documents rather than hand-typed. Search it lexically or semantically.

    What to notice

    Each hit shows two numbers. base_score is the retrieval score; score is after an argument-centrality boost. They differ, and the ordering changes — the ranking doing visible work rather than being claimed in a slide.

  • ~$0.09 a turn

    Document Chat

    Upload a catalog, handbook, or draft self-study and ask where it falls short. Answers separate what SACSCOC requires from what your document actually says — that separation is the product.

    What to notice

    Sources appear before the answer starts, because retrieval has genuinely finished by then. Every [n] in the text is a card in the panel, numbered by retrieval rank rather than by coincidence.

  • ~$0.30 a plan · ~3 min

    Improvement Planner

    Turn the gaps into a continuous-improvement board: cards sequenced assess → implement → measure, with dependency arrows between real cards, laid out across target years and draggable between them.

    What to notice

    Open the grounding drawer. Those are the exact passages the model was shown, and a citation outside that set is dropped by the server instead of rendered. Regenerate replaces only untouched AI suggestions — anything you edited survives.

How you’d use it

Fifteen minutes, in five moves

Follow this in order and you will have exercised every claim on this page, including the ones about what the tool refuses to do.

  1. Start where it costs nothing

    Open the Standards Explorer and search quality enhancement plan. Expand a hit and open a passage: the previous and next passages are that document’s real neighbours in reading order, not a similarity guess. No model has been called yet.

  2. Ask a document something hard

    In Document Chat, ask where a catalog falls short of a specific expectation — the recorded turn on this deployment asks about admissions policy. Read the sources panel before you read the answer, and check that the answer distinguishes what SACSCOC requires from what the document says.

  3. Follow up, and watch the meter

    Ask “which of those is hardest?” The uploaded document is re-sent from cache rather than re-billed, and the completion event reports cache_read_tokens to prove it rather than asking you to take it on faith.

  4. Try to make it guess

    Ask something the documents cannot answer — an endowment figure, a headcount. The honest “this excerpt does not say” is the behaviour worth testing on purpose. A tool that always finds something stops being believable, and this is the fastest way to find out which kind you are looking at.

  5. Generate a plan, then audit one card

    Plan generation takes about three minutes, so start it and keep talking. When the board lands, open one card’s grounding drawer and check a single citation against the passage it names. That check is the entire argument — everything else on this page is a claim about it.

Why it holds up

Four things that are enforced, not promised

Each of these is a code path that fails closed, which is the only version of a guarantee worth putting on a page like this.

  • Retrieval bounds citation

    The model is shown a fixed set of passages and nothing else. A citation naming anything outside that set is dropped by the server rather than rendered — so a footnote you can see is a footnote that was in evidence.

  • Ranking is argument-aware

    Every passage carries an argument role and a centrality weight, so a claim that is actually backed outranks a passing mention with the same keywords. You can watch the ordering change in the Explorer.

  • Provenance fails loudly

    If the corpus cites a document the manifest cannot describe, or two documents share a title, the app refuses to start. Both corrupt attribution silently — right page number, wrong source — and nothing downstream of that join can catch it.

  • Degradation is announced

    Without vector credentials, retrieval falls back to lexical BM25 and the header says bm25_only. Search still returns real ranked results. The tool tells you which mode produced them.

Read this before you judge it

What this hosted demo is, exactly

This deployment has no backend. Every API call fails, and each screen falls back to responses recorded in fixtures/ while saying so on screen. Those recordings are real — genuine lexical and vector rankings over the corpus, and a chat transcript with its actual sources. Nothing is fabricated to fill the gap.

Which means you cannot upload your own document here. The control works; the request has nowhere to go. Seeing this run against your institution’s catalog needs a backend holding real credentials — a conversation rather than a link.

There is also no authentication, deliberately. The full version is a local tool for one institution’s own documents, and adding a login to a demo would imply a tenancy model it does not yet have.

What it costs to run

Measured against the packaged corpus at first-party API rates. Cached input reads at roughly a tenth of the input rate.

Measured wall-clock time and cost per action
ActionTimeCost
Standards Explorer, whole screeninstant$0.00
Chat turn, first~30 s~$0.09
Chat follow-up, document cached~30 s~$0.07
Explain a plan card~20 s~$0.03
Explain the same card againinstant$0.00
Generate a 20-card plan~3 min~$0.30

A full three-screen tour runs well under a dollar. Plan generation dominates both the cost and the wait, which is why the Explorer being free is worth knowing.

Want this against your own documents?

The corpus here happens to be SACSCOC. The architecture is not — it is a grounded retrieval pattern that applies to any body of policy an institution has to prove itself against, from a programmatic accreditor to a state authorization framework.