frameworktextbook-teacher · v41099:claude-chat-c1d32026-11-12All documents

Textbook Teacher

North star: Every customer-facing FedM8 sentence is easy for a busy owner to read and act on, with hard federal words defined on the word itself. Hard gates (never bend): cite a source or leave a blank (no invented facts); no false FedRAMP, SAM-filing or award claims; plan gates stay; owner-approved copy; no secrets in copy Everything else is a default. Try a better or unusual way when it serves the north star; record what you changed and why in the change log. Change log: bottom of this page (who, when, why).

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: see Change log at the bottom

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.


Paste this into a chat

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. Run the four tests.

Why this exists

Three holes showed up in the same week. Each one survived a narrower doctrine:

  1. Manifesto teaching. Human Framework stopped the salesman. It did not stop “we teach as you go, then get out of the way.” Real teachers do not narrate the method.
  2. Jargon with no tap. The subject uses NAICS, RFP, SAM, shall. Simple sentences without a tap-definition still leave the reader stuck. Title tooltips fail on a phone.
  3. Smart-sounding wrappers. After the manifesto came off, the page still said grounded, unlocks, By journey, theater, scaffold. Those words score clever and still sound like a demo bot. The product fact underneath (“cite a source or leave a blank”) is the thing to keep.

Best Learning Framework still shapes lessons (writers only). This framework governs every public sentence that sits next to those lessons — including tool chrome.


Ranking (why start here)

Other candidates were real. They each catch one bug and miss the rest.

RankCandidateWhat it catchesWhy it is not the start
7“Talk like a 15-year-old” as the whole brandShort wordsSounds like we think the owner is a child. The paperwork is hard. The person is not.
6Federal Plain Language (gov manuals)Passive voice, buried verbsFine for a form. Silent on defensive teaching. Silent on in-place jargon.
5Grade-10 / Hemingway score onlyLong sentences“We teach as you go, then get out of the way” scores easy and still fails.
4Ban “grounded / unlocks / journey” onlyOne week’s wrappersTomorrow’s wrapper will be a different adjective. Need the law, not yesterday’s grep.
3Anti-defensive silence onlyMethod-narration, “Honest” as a brandCaught the homepage. Leaves NAICS as a brick. Leaves “Grounded help” on Assist.
2Glossary-first onlyAcronyms on a phoneWe built the mechanic. You can still wrap bubbles in a manifesto.
1Textbook TeacherHard subject + easy page + definition on the word + no defensive teaching + no salesman wrappersCompletes 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.


Four laws

1. Adult respect, schoolbook words

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.

2. The hard word wears the definition

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, about 4–28 words (default), 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).

3. Teachers are not defensive

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.

4. One next step, then the page is quiet

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.

Where a tap is impossible (email, PDF, SMS), define the hard word once, in a short clause, at first use. Same rule for the Fifteen test.


Salesman wrappers (delete as chrome)

These survived Human Framework because they sound technical, not salesy. They still fail Schoolbook and Method.

Do not say in the UISay this insteadKeep underneath
grounded / Grounded help / grounded briefCites a source or leaves a blankAssist must cite or go blank. That is a product rule, not a brand.
unlocks / unlock the powerincludes, adds, opensPlan gates stay. The verb does not.
By journeyIn orderWorkspace 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 chartsCompetitive copy may still refuse theater. Do not make “No theater” a slogan.
scaffold (as a brand)outline, first draft, checklistA 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.”


Ban in the UI (keep the facts)

Default: delete these as chrome. If one is truly the plainest word for a reader, use it and log why. 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. Say a “we are not” fact once, in one sentence, only where the reader would otherwise assume the opposite. More than that is a speech (Law 3).


What to gloss

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.


Leave alone (on purpose)

Do not “fix” these in a copy sweep:

Do not globally grep-ban /unlocks/ — you will hit comments and keys.


Conflict order

If the fight is about…Winner
Salesman voice, fake excitement, feature soupHuman 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 wrappersTextbook Teacher
Human Framework “name the tradeoff” turning into a speech about what we are notTextbook 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):


Four tests (fail any → rewrite)

TestPass
SchoolbookA high-school civics page, QuickBooks, GitHub, or SAM.gov could have printed this.
FifteenA sharp 15-year-old can follow it, and can tap the dotted words.
MethodThe page never talks about how we teach, how we stay out of the way, how honest we are, or how grounded we are.
StepA hand can do the next thing.

Read the block out loud. If you hear a product explaining itself to a reviewer, it fails Method.


Self-review (holes we already know)

A framework that cannot name its failure modes is a vibe. These are the holes:

  1. Talking down. “15-year-old” is a vocabulary test, not a personality. Law 1 is the brake. If copy sounds like a kids’ app, it fails Adult respect.
  2. Over-gloss. Underlining “contract” and “email” turns the page into a ransom note. Dictionary stays federal-layer.
  3. Nested jargon in bubbles. “SDVOSB = a veteran set-aside certification” still needs two more taps. Rewrite the bubble until it stands alone.
  4. Campus as art vs campus as speech. Academy may keep the illustration and CSS class names. Spoken copy may not tell the reader they are walking a campus.
  5. Grep is not enough. Ban-list QC catches yesterday’s slogans. New manifesto will sound different. Run the four human tests.
  6. Not a lesson designer. This does not replace Best Learning. A well-structured lesson that brags about the method still fails.
  7. Scope. Do not auto-gloss veteran-benefits.html, admin.html, hub/, or hi/ without a reason. Calm VA pages stay calm.
  8. Wrapper whack-a-mole. Killing grounded does not kill next week’s clever adjective. If it would not appear in a civics book, it is chrome.

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 → after

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”


How to use this

  1. Load this page (or the repo file + skill) before drafting customer-facing copy.
  2. Storyboard with Human Framework (world / pressure / truth / move / proof).
  3. Draft in schoolbook words. Put federal jargon on the dotted word, not in a lecture.
  4. Run the four tests. Cut method-narration and salesman wrappers.
  5. 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, default: do not “add warmth.” Do not add a pedagogy paragraph. Rebuild the sentence so a textbook could print it. A different approach is fine if it passes the four tests; log why.


One line

Hard subject. Easy page. The hard word wears the definition.

Change log

Every change to this framework: who, when, why. Source: agent_ops.catalog_changelog.

When (UTC)WhoVersionWhatWhy
2026-11-12 10:361099:claude-chat-c1d3v4Header points to the Change log instead of a stale version/dateHeader claimed version 2 while the page is v3+; stale self-dates mislead writers checking freshness.
2026-11-08 16:181099:claude-chat-c1d3v3Textbook TeacherOwner-requested north-star review 2026-11-08: north star + hard gates header, top fixes, non-safety rules loosened to defaults (details in the page change log)
2026-08-21 00:551099:cursor-cloud-r7xpv2Textbook Teachernot recorded (before change log started 2026-11-08)
2026-08-20 14:511099:cursor-cloud-r7xpv1Textbook Teachernot recorded (before change log started 2026-11-08)