Teach With Sources, Not AI Vibes in Email
Teach with sources, not AI vibes: ground every educational email in files you supply, with citations the model cannot fabricate.
Muhammad Abdul Sami
· 12 min read
- Grounded Generation
- Citations
- RAG
- Email Courses
- Cadensend
To teach with sources, not AI vibes, you forbid the model from using "what it knows" as the syllabus. Educational email that sounds confident and cites nothing is a vibe. Educational email that retrieves your PDFs and URLs, then renders links from chunk IDs, is teaching. This article is the design doctrine behind Cadensend — HinterBuild's MIT, self-hosted curriculum engine whose headline is the same sentence — and a practical checklist you can apply even if you write issues by hand.
Key Takeaways:
- Vibes are fluent paragraphs with no verifiable location in a source you control.
- Grounding requires series-scoped retrieval, abstention when chunks are missing, and a citation renderer the model cannot bypass.
- Cadensend's writer is a bounded agent: no arbitrary network, no code execution, no "go research."
- Structural prompt-injection defenses matter because sources are untrusted data.
- The current MVP emails only your verified address; a vibe SaaS with a hosted list is not this product.
- Lock approved issues so a regenerate cannot quietly swap sources for slogans.
Table of Contents:
- What "Vibes" Means in Teaching Content
- The Four-Part Antidote
- Ground: Retrieval Is the Syllabus
- Write: Trees, Not Chat
- Citations the Model Cannot Invent
- Worked Example: Wrong Redis Advice
- Worked Example: Policy Email
- Security Boundary: Data Never Instruction
- How Cadensend Encodes the Doctrine
- Audit an Existing Vibe Course
- Frequently Asked Questions
What "Vibes" Means in Teaching Content
Vibes are generated lessons that optimize for sounding like a course instead of corresponding to a source. The tell is a paragraph you cannot highlight in any file you attached.
Vibes show up as:
- "Best practice is to always…" with no pointer
- APIs that almost exist
- Composite examples that mix two vendors
- Prerequisite-free "day 1" that assumes day 8 vocabulary
- Footnotes
[1]that do not resolve
This is ordinary LLM hallucination, aimed at people who will trust a lesson more than a chat toy. Measuring it in production is covered in measure hallucination rate. Teaching settings have a higher cost per error than marketing copy.
A newsletter can get away with opinion. A daily email course cannot. If you are turning notes into issues, start with PDF to email course.
Cadensend exists because "ChatGPT, make me a 10-day course on X" is a vibe factory. The engine demands a learning goal and your sources.
The Four-Part Antidote
Plan the curriculum, ground every claim, write structured issues, deliver exactly once after review. Those are Cadensend's pillars: Plan, Ground, Write, Deliver.
| Pillar | Vibe failure | Source-first behavior |
|---|---|---|
| Plan | Random interesting titles | Coverage + prerequisite validation, lockable issues |
| Ground | Model memory as corpus | Workspace/series-scoped retrieval, diversified sources |
| Write | Raw HTML, unbounded tools | Content tree, critique, hard revision cap |
| Deliver | Retry double-sends | Idempotent keys, durable queue, verified recipient |
This is a bounded agentic workflow, not an open-ended agent. HinterBuild's AI agent development practice keeps LLMs at decision points and out of plumbing. Cadensend's writer cannot browse or run code. If a source is missing, you add it.
Educators should treat the four pillars as lesson-planning, not as "AI features."
Ground: Retrieval Is the Syllabus
If it was not retrieved (or explicitly marked as instructor commentary), it does not belong in the issue. That rule is stricter than typical RAG chat, where a bit of model glue is tolerated.
Implementation requirements, the same ones we use in RAG and LLM systems:
- Ingest with heading hierarchy, code, tables, section anchors (Cadensend: structure-aware, content-hash keyed, resumable).
- Filter retrieval to workspace and series before the vector store.
- Dedup and diversify by source so one PDF cannot dominate.
- Show retrieved chunks in the editorial UI.
- Abstain when similarity or coverage checks fail.
If chunks are wrong, the course is wrong. Debug with why RAG returns garbage, chunking, and embeddings. Lewis et al.'s RAG paper is still the right citation for "generate from retrieved documents," not from parametric memory alone.
Hybrid search helps when the notes are full of identifiers; see BM25 + vectors. Future Cadensend updates mention hybrid retrieval and citation coverage scoring — not MVP promises to sell against.
Write: Trees, Not Chat
The model returns a validated block AST; a deterministic renderer produces email HTML and plain text. That is how you stop vibe-HTML, inline styles, and invented <script> tags.
Cadensend's write graph: retrieve, write, spec visual, critique, quality gate, revise within a hard limit. The visual path uses Mermaid/D2 as data, SVG then PNG for clients, required alt text (beta). The model does not emit a raster.
Editorial moves that preserve sources:
- Regenerate one section after you see the chunks
- Diff against version history
- Edit subject/preheader without regenerating the body
- Lock the issue so a later plan refresh cannot vibe-rewrite it
Structured output is the mechanism. Output guardrails are the seatbelt. Prevent agent loops is why the revision cap exists.
A retrieval prompt at the end of the issue is pedagogy, not decoration — see spaced repetition email. It still must be answerable from sources.
Citations the Model Cannot Invent
The writer emits source and chunk references; software turns them into links. If the model types According to RFC 9110… without a retrieved RFC chunk, the gate fails.
That is the full topic of cite sources in educational emails. The short version:
- No free-text bibliography
- No numeric footnotes the model allocated
- Renderer maps IDs → URL or page anchor
- Missing ID is a hard error, not a skipped superscript
Human-in-the-loop still reads the landing location. Machines catch missing IDs; humans catch "technically retrieved but the wrong paragraph."
Worked Example: Wrong Redis Advice
Example 1. You ask a vibe model for a "7-day Redis course." Day 3 says to use KEYS * in production. It sounds like every Medium post from 2017.
Source-first version. You attach Redis SCAN documentation and your team's runbook PDF that bans KEYS in prod.
| Day | Vibe issue | Grounded issue |
|---|---|---|
| 1 | "Redis is fast" | Runbook: what we use Redis for |
| 2 | Random eviction lore | Config keys that appear in your file |
| 3 | KEYS * | SCAN from the official command page + runbook ban |
| 4 | "Just increase maxmemory" | The paragraph that describes your actual policy |
Day 3 citations must open SCAN docs and the ban heading. If retrieval misses the ban, the issue must not "helpfully" teach KEYS.
Compare formats: a video of someone running SCAN is a demo; the email is the retention layer. A 7-day onboarding for platform engineers can be this table.
Worked Example: Policy Email
Example 2. Legal wants staff to learn the data-retention table. A vibe model writes a friendly summary that quietly drops the "legal hold" row.
Attach the policy PDF only. Plan one issue per table section. Coverage validation fails if the hold row never appears. That is Plan doing teaching work. Details for faculty-style design: grounded email curriculum for educators.
Do not mix in another company's policy "for completeness." Exclusions exist to stop vibe-expansion.
Security Boundary: Data Never Instruction
Retrieved text must not register tools, change send policy, or expand capabilities. Cadensend states this as a structural boundary, not a "please ignore injections" line in a prompt. Prompt injection and OWASP LLM Top 10 are the threat models. Ocherfort is HinterBuild's self-hosted security product when you need a hardened perimeter.
Also required in Cadensend's write-up: SSRF and size/type limits on ingest, schema-validated tool inputs, KMS-backed secrets, TLS-only vector store, signature-checked webhooks, redacted logs. PII scrubbing before embed if notes include customers.
Vibe products skip this because they never treated sources as input. You should.
How Cadensend Encodes the Doctrine
Cadensend is open source under MIT, self-hosted, with no hosted signup. Clone the repo. It is not a marketing suite, CRM, bulk sender, or autonomous research agent.
MVP delivery: your verified address, exactly once, durable queue (FOR UPDATE SKIP LOCKED — article), delivery row before provider call (idempotency). Data pipelines use the same queue ethics.
If someone wants ConvertKit-style lists, say no for this engine today: self-hosted email course vs ConvertKit. Roadmap Update 2 is consent and suppression — not shipped.
About HinterBuild. If you need this doctrine in an internal tool, contact us.
Hand-written courses can still be source-first: paste quotes, link the PDF page, skip the LLM. The doctrine is older than Cadensend. The engine makes the doctrine default.
Audit an Existing Vibe Course in One Afternoon
Print the last five issues, highlight every procedure and number, and demand a landing location for each highlight. If you cannot open a file you control and point at the sentence, that highlight is a vibe. This audit works whether the issues came from ChatGPT, a contractor, or a late-night draft.
Run it as numbered steps:
- Collect the five MIME bodies and the PDFs you thought you were teaching from.
- Highlight commands, thresholds, and "always/never" rules.
- For each highlight, search the PDFs. No hit? Mark
UNGROUNDED. - For hits, write the heading path. If two PDFs disagree, mark
CONFLICT. - Rebuild only the ungrounded issues in Cadensend with those PDFs attached, then compare diffs.
Example: a "7-day Git course" tells readers to rebase shared main. Your team's CONTRIBUTING PDF forbids it. The audit fails day 4. The grounded rewrite cites the forbid heading and teaches merge instead. That is not style. That is cite sources in educational emails applied after the fact.
Do not "fix" ungrounded issues by adding a bibliography of blogs the original author never opened. Attach the real corpus, retrieve, abstain, rewrite. If the corpus cannot support a day, delete the day in Plan Studio rather than pad it.
A 7-day onboarding that fails this audit should not be forwarded to hires. Rehearse the corrected series to your verified address first. Cadensend still will not mail the team for you.
Keep a written log of UNGROUNDED and CONFLICT marks. That log is an eval set. The next generate pass should not reintroduce the same command. HinterBuild's evaluation-driven development mindset applies: if you cannot name the failure, you will ship it again. A single afternoon audit plus a locked plan beats a month of "the AI sounds better now."
If the audit finds ten ungrounded days, do not regenerate all ten in one graph run and skim. Fix two, lock, then the next two. Cadensend's lock exists so partial progress survives. Structured output keeps each rewrite from dropping the citation fields while you iterate. When you finish, replay day 1 in your verified inbox and confirm the citations still open. That last send is the only MVP delivery Cadensend will do — and it is enough to catch a broken renderer.
Frequently Asked Questions
What does it mean to teach with sources, not vibes?
It means every teachable claim in the email maps to a retrieved span in files or URLs you supplied, with citations rendered from IDs the model cannot invent. Commentary you add as the instructor should be labeled as commentary. Fluency is not evidence.
Is RAG enough?
RAG is necessary and not sufficient. You also need abstention, scoped indexes, a citation renderer, plan validation, and a human gate. Ungated RAG still vibes when retrieval is weak.
Can Cadensend browse the web for better sources?
No. The writer has no arbitrary network tool. You add URLs or uploads. That is intentional. Autonomous "research agents" are out of scope and fail in production agent failure modes.
Does the MVP send a source-grounded course to my students?
No. It sends to your verified address only. Rehearse, then use whatever consented channel you already operate. Do not invent a hosted Cadensend classroom.
How is this different from adding "cite your sources" to a prompt?
Prompt text is advisory. Structural citations are mechanical. Models ignore advice under load. Renderers do not.
What if my source is wrong?
The course will faithfully teach the wrong thing. Fix the source, add errata as a new document, lock issues, regenerate the affected ones. Grounding is not truth; it is accountability.
Should I still use video?
Yes for demos. Keep memory work in cited email. See email drip vs video.
Is Cadensend free?
The software is MIT-licensed; you pay your LLM provider, email provider, and hosts. There is no Cadensend hosted billing because there is no hosted signup.
Conclusion
- Teach with sources, not AI vibes means retrieval plus mechanical citations plus abstention.
- Plan and lock so the syllabus cannot drift.
- Bound the writer; do not hire an autonomous researcher.
- Treat sources as untrusted data.
- Cadensend implements the doctrine locally, mailing only you in the MVP.
Read the product at Cadensend, the source, and contact HinterBuild for grounded generation work.
Free consultation
Book a free consultation call on grounded AI writing & citations
30-minute call with the HinterBuild team. Discuss your project, architecture questions, or next steps — no obligation.
Book a meeting
Resources:
Keep reading
Related articles
Cite Sources in Educational Emails Correctly
Cite sources in educational emails without fake footnotes: structural citations, retrieval grounding, and a reviewer checklist that catches invented refs.
Read post
Daily Email Course: Learn Anything From Sources
Build a daily email course from one learning goal and your own sources. Plan modules, cite claims, and deliver each issue exactly once.
Read post
Turn PDF Notes Into an Email Course
Turn PDF notes into an email course: ingest documents, plan modules, ground every claim, and schedule issues with real citations.
Read post
Grounded Email Curriculum for Educators
Build a grounded email curriculum for educators: plan coverage, attach sources, write cited issues, and deliver each lesson exactly once.
Read post
