◆ ENT 1000 · Foundations of Entrepreneurship and Design · Mon Sep 21, 2026 · Week 3, Day 1

Make it fire on its own.

Jay Margalus · jaymargalus.com/foundations · A whiteboard session, February 2022

Today · 2:45–4:15
2:45Week 2, checked: what Log 2 said10 min
2:55Co-Intelligence, finally18 min
3:13Touch points and the other words7 min
3:20Teams8 min
3:28What a hook is · watch me make one fire12 min
3:40Build yours22 min
4:02Witness6 min
4:08Guests, Friday, Log 37 min

What I read in Log 2

  • Twenty of twenty. Two late. Sixteen Satisfactory, four back for a small fix; revisions are free for 48 hours.
  • The gifts landed. "This gift makes me feel seen and loved by you." "All students doing A-levels in the UK should have access to something like this." "Even though I have other ways to track my workouts, I'll definitely use it for some things." That last one is what most first reactions sound like.
  • Sixteen of nineteen skills read a syllabus or summarize a document. Fine for a first skill. None count toward Harness v1: three skills doing one job each in your team's automation by Oct 19.
  • Eleven of you didn't name the witness. Graded on substance this once. From Log 3 it's literal. And the form is the record; Canvas is a receipt.

Three logs under 500 words. "Nothing yet" in a field is a sentence about why, not the word. Nobody could say what a touch point is; that's on me, 3:13.

Four rules. Seventeen of you cited one.

RuleWhat it means hereCited
1Always invite AI to the table. A friend asks "can you build a list of every high school coach in the country?" You say "no, but I know someone who does," and open the terminal.5
2Be the human in the loop. You're the check, not the audience. It drafts; you decide. Today's build is this rule made mechanical.3
3Treat it like a person, but tell it what kind. Your skill's frontmatter is this rule.2
4Assume this is the worst AI you'll ever use. Plan for the trajectory. Not "trust it more today."3

Four more wrote about the book without picking a rule: uneven ability, AI as collaborator, why we humanize it, and "AI is unbiased."

Your logs, arguing with each other

"I should be able to trust AI more than I have in the past to do elementary functions."
"It can mess up some elementary tasks horribly, and there is no telling when."
"What we sometimes need is an analytical, honest tool to look at the situation without personal bias."
"Customer claims remain claims until verified." … "NO DRAFT is a valid output."

Pairs, three minutes: one decision in your venture you would not let the model make alone, and why. Chapter 2 is your evidence.

A touch point is a place on this path

Information comes in

The audit's 150 document requests go out to the client; documents trickle back.

Touch point 1: gather what came back, match it to the request list.

A decision gets made

Is this the right document? Complete? Needs a follow-up question?

Touch point 2: synthesize and flag; the accountant decides.

Information goes out

Reminders to clients who haven't sent theirs. Clarifications on what they did send.

Touch point 3: draft the reminder; a person clicks send.

Not a conversation. Not a calendar lookup. A place on the path where your harness does gather, synthesize, sense-make, or disseminate, and a human keeps the decision until a rule makes delegation safe. Log 3 asks for your first sketch of three.

Words you'll be graded on

WordMeansDoesn't mean
HarnessThe set around the model: skills, hooks, rules, memory, agentsA thing you built with it
Touch pointA place on the in → decide → out path where the harness worksA conversation. A lookup.
Design partnerThe first organization; the one whose process you run inThe market. That's the other ten.
Process ownerThe person whose hands do the work, who agreed to three meetingsPullen. A board member. Your roommate.
The two numbersConversations with real people so far · touch points on real inputs. Asked out loud from today.Your classmates. Your table.
WitnessThe classmate who watched it fire, by name"I talked to someone about it."

Seven teams

#TeamWhoFirst call
1Finance opsAndrew B. · Jackson · RhysAudit PBC tracking at an accounting firm: 150 requests per audit
2Athletics back officeRyan · Annie · LachA college soccer program's recruiting inbox: hundreds of emails a day
3Healthcare front deskJoseph · Andrew W. · HaydenA practice's reminders, cancellations, waitlist; resident on-call scheduling
4Hospital opsSydney · JakeA hospital assistant's twenty hours a week of scheduling, summaries, email
5EducationAnna · Deyla · OliviaA special-ed teacher differentiating lessons per student; or a national coach directory
6Small-business inboxCaitlyn · Jillian · ClaudiaA custom-banner shop's inquiries → schedule → production plan, 30–60 min a day
7ReorderEmerson · Ben · DiegoSeasons, downtown: the same order every two weeks, counted by hand

The first call is where you start, not what you're assigned. Friday's Brief names the design partner you actually got.

Eight minutes, one sheet

  1. Sit together. Now.
  2. Write: names, the anchor card, two alternates, and for each the name of the person you'll call this week. No name, no candidate.
  3. Pick the caller. Before Wednesday, one of you asks the anchor's process owner hunt-page questions 3, 5, and 8. Verbatim notes.
  4. Sheet to me before the build starts.

Fri Sep 25, 11:59pm: the Inefficiency Brief, 2–3 pages, one per team: design partner, process owner's agreement to three meetings, the ten-more list, three touch points, assumptions ledger, data agreement, research plan. Log 3 is still yours alone.

3:28 · 12 min

A skill runs when you ask. A hook runs when something happens.

The permission prompt you've been clicking through is a hook that fires on everything. Today you build one that fires only when it matters.

What one looks like

{
  "hooks": {
    "PostToolUse": [{                       ← the moment: after a tool runs
      "matcher": "Write|Edit",              ← which tools: file saves
      "hooks": [{
        "type": "command",
        "command": "jq -r '.tool_input.file_path' | { read -r f;
          if grep -nE '[0-9]{3}[-. ][0-9]{3}[-. ][0-9]{4}' \"$f\"; then
            echo \"PHONE NUMBER FOUND in $f: check the data agreement
                  before this leaves the building\" >&2;
            exit 2;                         ← 2 = stop and tell Claude
          fi; }"
      }]
    }]
  }
}

Event, matcher, command. The command gets the tool call as JSON on stdin. Exit 0: carry on. Exit 2: stop, and what you wrote to stderr goes to Claude. Without the exit 2 it's a line in a transcript nobody reads.

Build yours. Pick one.

The guard

PostToolUse · Write|Edit

After any file save, look for a phone number or email. Found one? Stop and tell Claude.

Fires: "save my number 540-555-0142 to notes.md." Quiet: "save today's date to notes.md."

The ledger

Stop · every turn

Every time Claude finishes a turn, append a dated line to log.md.

Fires: anything. The witness watches log.md grow. Change-one-thing: what the line says.

The gate

PreToolUse · Bash

Before any shell command runs, refuse it if it would send data out (curl, wget) or delete (rm -rf).

Fires: "download the course site with curl." Quiet: "list the files here."

Or your own, if you can say the event, the matcher, and the one thing it does. New folder: mkdir -p ~/ent1000-hooks/.claude && cd ~/ent1000-hooks. JSON on the next three slides.

The guard · .claude/settings.json

{
  "hooks": {
    "PostToolUse": [{
      "matcher": "Write|Edit",
      "hooks": [{ "type": "command", "command":
        "jq -r '.tool_input.file_path' | { read -r f; if grep -nE '[0-9]{3}[-. ][0-9]{3}[-. ][0-9]{4}|[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[a-z]{2,}' \"$f\"; then echo \"PERSONAL DATA in $f: check the data agreement before this leaves the building\" >&2; exit 2; fi; }"
      }]
    }]
  }
}

Start claude in the folder, ask it to save a note with a phone number in it. Then one without.

The ledger · .claude/settings.json

{
  "hooks": {
    "Stop": [{
      "hooks": [{ "type": "command", "command":
        "echo \"$(date '+%Y-%m-%d %H:%M') · finished a turn in $(basename \"$PWD\")\" >> log.md"
      }]
    }]
  }
}

No matcher: Stop has no tool to match. Ask Claude anything, then cat log.md.

The gate · .claude/settings.json

{
  "hooks": {
    "PreToolUse": [{
      "matcher": "Bash",
      "hooks": [{ "type": "command", "command":
        "c=$(jq -r '.tool_input.command'); if echo \"$c\" | grep -qE 'curl|wget|rm -rf'; then echo \"BLOCKED: $c. Nothing leaves the building and nothing gets deleted without a hand on it.\" >&2; exit 2; fi"
      }]
    }]
  }
}

Exit 2 before the tool runs means the command never runs. Ask it to fetch the course site with curl; then ask it to list the folder.

Build · fire · change one thing · 22 min

  1. Build (10). JSON into .claude/settings.json. Start claude there. /hooks lists it. Read the command back and say what it does.
  2. Fire (8). One plain request that should trigger it; one that shouldn't. Write both down: that's your Log 3 experiments field.
  3. Change one thing (4). Guard: a pattern your team's data has. Ledger: what the line records. Gate: one command your harness must never run. Restart, fire again.
You seeDo
jq: command not foundbrew install jq, or swap in python3 -c "import sys,json;print(json.load(sys.stdin)['tool_input']['file_path'])"
Nothing fires, everHooks load at start: quit and restart claude in the folder. File is .claude/settings.json.
It printed, but Claude carried onYou're missing >&2; exit 2.
It fires on everythingMatcher or grep too wide. Tighten one, re-fire the "shouldn't."
JSON error on startPaste the file to Claude: "find the JSON error, don't change the command."
4:02 · 6 min

Witness

  1. Swap seats with someone not on your team.
  2. They give one request that should fire it and one that shouldn't, without being told the hook's name.
  3. They write on your index card: hook name, event, what they typed, their name. Switch.

Cards to me on the way out. The name goes in Log 3. No name, Needs Revision; that's the field, not a threat.

Two guests

Douglas Lindsay · Wed Sep 23

CEO, The Aaron's Company, the Atlanta lease-to-own retailer. W&L alum (business administration and accounting). President of the Aaron's business from 2016, CEO from 2020, led its spin-off into a standalone company. Before that, COO and CFO of ACE Cash Express. MBA, SMU Cox.

A few minutes of Q&A. Not teaching. Bring one question, written down.

George Matelich · Mon Sep 28

Senior Advisory Partner, Kelso & Company, New York private equity, since 1985; Lehman Brothers M&A before that. Director of twenty-plus Kelso companies, lead director of two public ones. Board chair, Revs Institute; chaired American Prairie 2013–2024. W&L parent ('18); the Matelich endowment funds the Outing Club. Stanford MBA.

He teaches Monday's class. Rules week.

What goes in Log 3

Week 3 · Sep 21–25 · Fri 11:59pm · 500–800 words · the form, not Canvas · still individual

FieldThis week, that means
EvidenceThe process-owner call: who, which organization, answers to questions 3, 5, 8 verbatim. The two numbers, first time: conversations so far · touch points on real inputs (zero; say zero).
ExperimentsYour hook on two requests: the one that should fire it, the one that shouldn't. What happened.
Key decisionsYour team. The anchor and the two you dropped, why. Named entry 3: the data agreement: what the harness may read, what it may send, who checks.
AssumptionsThe Brief's ledger starts here: every belief, marked untested. The one the call moved.
Harness changeThe hook: event, matcher, what it does, the line you changed, the witness's name.
Touch-point statusFirst sketch of three, one line each: in / decision / out. None running; say so.
BookMinimalist Entrepreneur ch. 1–2: which community you're already in that this venture starts from.
AI audit trailWhich lines of settings.json the agent wrote, which you wrote, how you tested it.

Coming up

  1. Tonight. Your hook stays on in a folder you'll keep using. Minimalist Entrepreneur ch. 1–2.
  2. Before Wed Sep 23. One teammate calls the process owner: questions 3, 5, 8. One question for Douglas Lindsay.
  3. Wed Sep 23. What is a market. Lindsay, briefly. Brief workshop with your team.
  4. Fri Sep 25, 11:59pm. Inefficiency Brief (team) · Log 3 (you).
  5. Mon Sep 28. George Matelich teaches. Then rules: make your agent argue with you. Co-Intelligence ch. 4–6 by Wed Sep 30.

jaymargalus.com/foundations · the schedule shows this week and the next due date

ENT 1000 · Week 3, Day 1

Questions.

jaymargalus.com/foundations · jmargalus@wlu.edu · Holekamp 109 · Mon + Wed 1:45–2:30

Students at the Entrepreneurship Summit showcase floor
Entrepreneurship Summit showcase · April 2025
4:00
ENT 1000 · Week 3 · Day 1