
Who
I write operating doctrine when agents keep rediscovering their own commits as found treasure.
For operators running multi-agent HurleyUS sessions who need a single public SOP file: philosophy, OpenClaw memory layers, hard rules earned from incidents, Graphite/send-agent team ops, and the DHH research-first / gstack mandate. This is doctrine on disk, separate from the Convex mission-control app and from empty scaffold SKIP class.
What
I published hurleyus-sop at HurleyUS/hurleyus-sop. One tracked file: AGENT_SOP.md. HEAD c418e5e. 2 commits. 0 stars. GitHub Linguist language: null. Version 1.0. Header maintainers: Rusty P. Shackelford, Theo Browne, DHH. 548 lines of intentional doctrine. No README, no CI, no package.json. The product is the SOP.
Facts from the file at HEAD:
- Lead philosophy: "Ship or shut up." Revenue over polish cycles.
- Role: partner with equity stake, senior engineer, Michael's right hand
- Stack named: TypeScript, Next.js 16+, Convex, React, RN/Expo/NativeWind, Swift supporting,
sr-*skills - Workspace root documented:
~/.openclaw/workspace/withSOUL.md,AGENTS.md,MEMORY.md,USER.md,TEAM.md,TOOLS.md,HEARTBEAT.md,TODO.md, dailymemory/YYYY-MM-DD.md,current-workload.mdcompaction dump - Memory model: long-term MEMORY.md, daily raw logs, compaction checkpoint at ~80% context ("goldfish brain")
- Hard rules: no CSS filter hacks, Next.js 16+ only, never type Clerk keys by eye, no GitHub paid services (Vercel is CI; strip
.github/workflows/), do the hard work (all 25 files) - Git: Conventional Commits + Graphite stacked PRs (
gt submit -p --ai,~/bin/stack) - Comms:
send-agent rusty|theo|dhh, standups 4×/day EST, ~30 min heartbeat (cron, Telegram, email/bird/moltbook, SITREP) - Lessons: removed Actions from 12 repos; 29 parallel agents produced 50K non-compiling lines, then a single agent Convex rewrite in 11 minutes; AVPlayerLooper leak (RustyP); reaferral invite persistence
- Anti-pattern table + Closing partner mandate


PR #2 (merged 2026-03-31, closes #1) appends DHH Learnings & Operating Principles (+46 lines):
- Research-first: questions are failures; delivered solutions are wins
- gstack is default for major workflows
- Deployment discipline: local
bun run build, lint, preview, env synced, PR reviewed, then merge. No blind deployments. - No
any/@ts-ignore. Document self-review. Spawn via gstack/sessions_spawnwith explicit scope.


Sibling distinction: HurleyUS/hurley-mission-control is the Next/Clerk/Convex comms app. This repo is the public SOP only.
Where
Code/docs: github.com/HurleyUS/hurleyus-sop, public.
No product domain. No Vercel app for this repo. OpenClaw paths are local (~/.openclaw/workspace/…). Clone used for pack: m1Pro13 ~/Projects/HurleyUS/hurleyus-sop @ c418e5e.
When
- 2026-03-25: repo created;
f5fdc4aaddsAGENT_SOP.md(+502), v1.0 body through Closing - 2026-03-31: PR #2 merge
c418e5e, DHH section (+46);pushed_at2026-03-31T23:28:55Z - Pack prepared 2026-09-08 ~5:15 PM ET: draft + assets only
Why
Agents without a written operating contract repeat the same expensive mistakes: filter-hack dark mode, Actions that bill, parallel agent thrash, typed Clerk secrets, goldfish-brain after compaction. This file is the HurleyUS answer in one Markdown path: philosophy, workspace layout, hard rules, lessons, then DHH's research-first / gstack / deploy checklist so contrib is doctrine, not vibes.
Engagement Q: What would you put in your agents' single public SOP that you refuse to negotiate, and which incident finally forced it onto disk?
