Portal (refer to this): https://projects.jbnx.io/framework/textbook-teacher Markdown for agents: https://projects.jbnx.io/framework/textbook-teacher?format=md Repo: TEXTBOOK_TEACHER.md · skill skills/textbook-teacher/SKILL.md For: anyone writing FedM8 that a customer will read — marketing, Workspace, Academy, Support, emails Updated: 2026-08-21 · version 2
This is not a tone palette and not a reading-score target.
Federal contracting is already hard. The page should be easy. The hard word should wear its own definition. Teachers are not defensive. Salesman wrappers stay out. One next step, then the page is quiet.
If a high-school civics book, a QuickBooks screen, or SAM.gov itself would not say it, neither do we.
FedM8 customer copy. Follow Textbook Teacher:
https://projects.jbnx.io/framework/textbook-teacher?format=md
Hard subject, easy page. The hard word wears the definition.
Teachers are not defensive. Do not brand Honest. Do not say grounded,
unlocks, By journey, theater, or scaffold in the UI. Cite a source
or leave a blank. One next step, then quiet.
Three holes showed up in the same week. Each one survived a narrower doctrine:
Best Learning Framework still shapes lessons (writers only). This framework governs every public sentence that sits next to those lessons — including tool chrome.
Other candidates were real. They each catch one bug and miss the rest.
| Rank | Candidate | What it catches | Why it is not the start |
|---|---|---|---|
| 7 | “Talk like a 15-year-old” as the whole brand | Short words | Sounds like we think the owner is a child. The paperwork is hard. The person is not. |
| 6 | Federal Plain Language (gov manuals) | Passive voice, buried verbs | Fine for a form. Silent on defensive teaching. Silent on in-place jargon. |
| 5 | Grade-10 / Hemingway score only | Long sentences | “We teach as you go, then get out of the way” scores easy and still fails. |
| 4 | Ban “grounded / unlocks / journey” only | One week’s wrappers | Tomorrow’s wrapper will be a different adjective. Need the law, not yesterday’s grep. |
| 3 | Anti-defensive silence only | Method-narration, “Honest” as a brand | Caught the homepage. Leaves NAICS as a brick. Leaves “Grounded help” on Assist. |
| 2 | Glossary-first only | Acronyms on a phone | We built the mechanic. You can still wrap bubbles in a manifesto. |
| 1 | Textbook Teacher | Hard subject + easy page + definition on the word + no defensive teaching + no salesman wrappers | Completes Human Framework. Proven by the copy pass, the glossary, and the wrapper pass. Four laws, four tests, a grep that CI can run. |
Start with rank 1. Use 2–6 as checks inside it, not as competing doctrines.
Write so a sharp 15-year-old could follow the federal layer. Do not talk down to the owner.
Allowed: short words, short sentences, one idea. Forbidden: “you got this,” mascot energy, explaining how to run a business.
The customer already knows their trade. SAM, NAICS, and Section L are the new layer.
Do not lecture “what is an RFP” in a paragraph. Put a light dotted underline on RFP. Hover (mouse) or tap (phone) opens a short bubble.
Glossary lives in assets/gloss.js. Definitions: teen-level English, 4–28 words, stand alone — no nested acronym that itself needs another tap.
Do not auto-gloss everyday English (contract, company, email, search). Do not wrap a link whose only text is the term (SAM.gov stays a link).
Do not narrate how we teach. Do not promise to “get out of the way.” Do not brand “Honest.”
Name a product fact when it is a fact (“USAspending does not publish losers”). Do not make a speech about how honest that makes us.
A hand should be able to do the next thing: open, save, filter, subscribe, finish a cert step.
Then stop writing. Writer slogans (“then stop”) belong in doctrine files, not on the homepage.
These survived Human Framework because they sound technical, not salesy. They still fail Schoolbook and Method.
| Do not say in the UI | Say this instead | Keep underneath |
|---|---|---|
| grounded / Grounded help / grounded brief | Cites a source or leaves a blank | Assist must cite or go blank. That is a product rule, not a brand. |
| unlocks / unlock the power | includes, adds, opens | Plan gates stay. The verb does not. |
| By journey | In order | Workspace Everything label. The view id may stay journey so saved layout does not reset. |
| theater (as chrome) | say the fact: we do not draw fake org charts | Competitive copy may still refuse theater. Do not make “No theater” a slogan. |
| scaffold (as a brand) | outline, first draft, checklist | A download can still be an outline. The page does not sell “scaffolds.” |
Honest is the same class: not a brand. Plans, not “Honest pricing.” Compare, not “Honest comparison.”
Delete these as chrome. Keep the underlying legal/scope facts in plain words.
Keep, said plainly: we do not file SAM for you; we are not FedRAMP; USAspending has no losers; Assist cites a source or leaves a blank.
Federal-layer terms the reader cannot be expected to know: NAICS, PSC, SAM, UEI, CAGE, RFP, RFQ, RFI, Sources Sought, set-aside, SDVOSB, VetCert, FAR, shall, SOW, Section L / M, shred, incumbent, CLIN, and the rest of the dictionary in assets/gloss.js.
Add a term when a real person would stall. Do not add a term to look thorough.
A bubble that uses another glossary term fails. Rewrite until a first-time reader can stop after one tap.
Do not “fix” these in a copy sweep:
draft.document.groundedjourney (the label is “In order”)/hub/sales-training/ unless someone asksdev_notesDo not globally grep-ban /unlocks/ — you will hit comments and keys.
| If the fight is about… | Winner |
|---|---|
| Salesman voice, fake excitement, feature soup | Human Framework + AI_EVIDENCE.md |
| Lesson shape (story → teach → try) | Best Learning Framework (writers only; learners never see HOOK/WHY) |
| Sentence simplicity, no defensive teaching, jargon on the word, salesman wrappers | Textbook Teacher |
| Human Framework “name the tradeoff” turning into a speech about what we are not | Textbook Teacher |
Human Framework still wins against clever structure and against salesman voice. Textbook Teacher wins against manifesto teaching and against “smart” wrappers that HF currently allows.
Related (same portal):
BEST_LEARNING_FRAMEWORK.md (writer loop only)AI_EVIDENCE.md| Test | Pass |
|---|---|
| Schoolbook | A high-school civics page, QuickBooks, GitHub, or SAM.gov could have printed this. |
| Fifteen | A sharp 15-year-old can follow it, and can tap the dotted words. |
| Method | The page never talks about how we teach, how we stay out of the way, how honest we are, or how grounded we are. |
| Step | A hand can do the next thing. |
Read the block out loud. If you hear a product explaining itself to a reviewer, it fails Method.
A framework that cannot name its failure modes is a vibe. These are the holes:
veteran-benefits.html, admin.html, hub/, or hi/ without a reason. Calm VA pages stay calm.After that review, this is still the right start: the holes are named as rules, the live copy passes already match the four laws, and the other candidates are checks inside this one.
Before: “Do the work here — we teach as you go, then get out of the way.” After: “Search notices. Walk a first bid. Check who won last time.”
Before: Native title="NAICS" tooltip. After: Dotted NAICS → tap/hover → “A number for what kind of work you do. The government sorts jobs with it.”
Before: “Honest pricing.” After: “Plans.”
Before: “That’s enough for day one.” After: “Create a free account. Open Get Certified and finish the step in front of you.”
Before: “Grounded help” After: “Cites a source or leaves a blank.”
Before: Everything sort “By journey” After: “In order” (view id stays journey)
Before: “Basic unlocks Bid Coach.” After: “Basic includes Bid Coach.”
Before: “scaffolds grounded drafts” After: “an outline you can download”
node qc/textbook-teacher.spec.cjs — then node qc/gloss.spec.cjs if you touched definitions.Workspace trap: os.html loads only assets/os-bundle.js. Source edits in assets/os-*.js ship nothing until:
bash scripts/make-bundle.sh <stamp>
Then bump os.html?v= to match. Skip this and production still shows yesterday’s chrome.
For agents: do not “add warmth.” Do not add a pedagogy paragraph. Rebuild the sentence so a textbook could print it.
Hard subject. Easy page. The hard word wears the definition.