Inspiration
What it does
How we built it
Challenges we ran into
Accomplishments that we're proud of
What we learned
What's next for Draft Source Checker## Inspiration
Anyone who writes from recorded calls and reports knows the last step before sending: is every quote really what the person said, and is every number really what the report says? Checking means scrubbing through an hour of audio and paging through PDFs, so it often gets skipped. The sources are usually unpublished and confidential, which is exactly why they sit on a private NAS and not in a cloud tool. I wanted the NAS itself to do that check.
What it does
Draft Source Checker reads a draft (client report, proposal, article, podcast script, customer story), pulls out every direct quotation and every stated number, amount, percentage or date, and checks each one against the sources in the same NAS folder: recorded calls and interviews, and documents such as PDFs, spreadsheets and slides.
| Type | Verdict | Draft | Source | Found in |
|---|---|---|---|---|
| FIGURE | DIFFERS, look first | Revenue grew 40% in the third quarter. | Q3 revenue increased 34% year over year. (40% → 34%) | q3-report.pdf, page 4 |
| QUOTE | DIFFERS, look first | "We will launch in March." | "We will launch in May." (March → May) | client-call.m4a, 00:20:05 |
| FIGURE | MATCH | The pilot ran with 1,200 users. | Pilot, users: 1200 | pilot-metrics.xlsx, sheet Summary |
| QUOTE | NOT FOUND | "Nobody else offered us this." | nearest: "Nobody asked the customers." | every source read in full |
You can also skip the draft and ask one question, such as "In the Acme folder, does the Q3 report say revenue grew 40 percent?" The answer is one line: "No: q3-report.pdf, page 4 states 34%, not 40%."
How I built it
The Skill follows the Uliya Skill Development Standard and delegates to three registered experts, one at a time:
- file-agent (ug-filesystem, ug-filemgr): finds the folder, lists the files and reads the length of each recording, so the user sees how much audio will be transcribed before agreeing.
- knowledge-agent (ug-knowledge): transcribes the recordings on the device and saves the transcripts and the check sheet, each after platform approval.
- document-agent (ug-document): extracts the items from the draft and finds each one across the transcripts and documents, with the file and the page or time.
The parent Skill decides each verdict only from a passage the expert copied back from a file. Quotes are compared word by word. Figures are compared one value at a time, by subject and normalized value, so 40 percent equals 40%, a Q2 number never matches a Q3 claim, and 34.6% against 35% is marked "rounded". Transcripts are kept and reused, so a second check of the same calls needs no new transcription.
Challenges I ran into
- Not finding is not the same as not checking. If one recording could not be transcribed, "not found" would be an accusation on incomplete evidence. So NOT FOUND is allowed only when every source was transcribed and read in full. Otherwise the row says NOT CHECKED and names what is missing.
- A draft must never confirm itself. In an early version, a typed question could be answered from the draft in the same folder. The Skill now asks which file is the draft and keeps it, its older versions and its copies out of the sources.
- Numbers are slippery. One sentence can hold several values, the same value can belong to another quarter, and transcription can mishear "fifteen" as "fifty". Each value became its own item, the subject now carries its period and place, and every figure heard in a recording is marked "look first".
- Designing without a device. Round 1 has no NAS access, so every step is built from the capability catalog and the organizers' FAQ, and everything that still needs a real run is listed in the validation plan.
What I learned
The most useful thing a checker can say is often "I could not check this, and here is why". I also learned to read the capability catalog closely: which Actions write, which need approval, and what an expert can actually return.
What's next
On the test day: confirm times and pages in citations, spoken numbers in transcripts and run time. After that: figures inside images and scanned tables, and claims that carry no number.
Built With
- markdown
- speech-to-text
- ugos
- ugreen-ai-nas
- uliya