◆ Framework in Practice · Internal Operator's Manual

The Ops manual.

How the PPP framework runs the businesses — and how Claude sessions operate against it from here forward. Dev + business owner lens. Not marketing — working doc.

Read time · 10 min Audience · Kyron only Companion to · the framework Last locked · 2026-07-17
The thesis in one paragraph

Everything you build now has an altitude.

Your framework's most usable idea for both developer work AND business work is the 3 Levels of Learning — Tactics · Principles · Essence. Treat each of those as an altitude. Every product tier, every agent, every Claude session, every sales conversation gets tagged with an altitude. Once altitude is legible on everything, three problems solve themselves at once:

  1. Pricing collapses into clarity. Tactics tier · Principles tier · Essence tier. No debate.
  2. Delegation gets accurate. Tactics → AI / junior humans. Principles → senior operators + you. Essence → you only.
  3. Claude sessions stop drifting. Every CLAUDE.md declares an altitude. Every session log records what altitude was walked. Drift becomes visible before it costs a week.

This doc gives you the altitude system, the mapping to your existing products, the Claude session standard, the agent-altitude registry, the sales overlay, the developer's "build to protect" protocol, and this week's specific actions.

01 · The altitude system

Three altitudes. every artifact tagged.

Same three names your framework already uses. Now they're operational — attached to files, tiers, sessions, and price tags.

AltitudeWho owns the workWhat it producesWhere it lives in you
TTactics AI · junior human · outsourceable Reproducible outputs. Same input → same result. Documented in a checklist or a script. The scaffolding script. The pain quiz. The intake form. The Basic tier deliverable.
PPrinciples Senior operators + you · reviewed Judgment-anchored patterns. Rules that generate ten tactics. Frameworks other people can teach with. The 20-problem matrix. The 6 AI Agent Levels. The Trainer Blueprint. The Premium tier deliverable.
EEssence You only · non-transferable Character · nature · inclination. Voice. Advocacy. The credential that can't be delegated. Referral-driving quality. The advocacy calls. The tuned Personal LLM. The Trainer OS SaaS-tier relationship. The essence layer is the moat.

The tagging convention

Every artifact in your repos gets one of three tags in its frontmatter or first line: altitude: T, altitude: P, altitude: E. Once you can grep for altitude, you can audit — which files are tactics-only? Which agents claim essence-level output but produce tactics? That gap is where quality dies.

02 · Business tier ↔ altitude

Your product tiers already map to the ladder.

You didn't build them this way on purpose — but they align cleanly. That's the framework confirming your instincts. Lock the mapping publicly.

◆ Altitude · Tactics
Basic
$1,500 one-time
"We give you the steps."
Snapshot site. Reproducible template. Reproducible outputs. Client walks away with a tactic in hand. Cannot pay for essence at this tier — that's a category error.
◆ Altitude · Principles
Premium
$3,500 + $350/mo
"We give you the pattern."
System that generates ten tactics. Coaching to operate the system. Client learns the "why" behind the "what." Recurring price funds the pattern-tuning.
◆ Altitude · Essence
Trainer OS
$17K first + $2K/mo · 12 mo
"We install what only you can install."
Personal LLM tuning arc. Voice/character/nature installed into a system that runs 24/7. The essence layer productized. 12-month commitment because essence takes time.

How this changes the discovery call

Add one question to the discovery script: "Are you buying steps · a pattern · or the thing that only shows up when someone becomes the person doing it?" Their answer picks the tier — not you. This is your framework doing the qualifying.

03 · The Claude Operating Standard

How Claude sessions run from here forward.

Same discipline in every repo you touch — hooks-os, fbtrainer-tojcampaign, smallbusiness, subject-report, and any future client OS. The standard is the framework, applied to your dev practice.

The 5-rule Claude Operating Standard

  1. Every CLAUDE.md declares an altitude in its first 20 lines. Line reads: Operating altitude: [T · P · E] — with a one-line explanation of what that altitude means for this repo.
  2. Every session opens by stating intention (Level 01). No implementation without a named outcome. If the session starts with "hey, can you look at…" — that's a discovery session, not a build session. Name it.
  3. Take action after disruption (Level 01B). When a build hits friction — a failing test, a route 404, a broken script — do not reroute. Fix and continue in the same session. Rerouting is how systems die at Level 06.
  4. Every session log records altitude walked. One line at the end of each session: walked: T · P or walked: E. Auditable over time — you can see when a repo drifts to tactics-only and course-correct.
  5. Culmination gets a commit tag. When a session produces a Level 09 (Culmination) artifact — the big thing that everything else led to — the commit prefix is culmination:. Grep-able. That's how you find the compounding assets six months later.

CLAUDE.md template addition

# Operating altitude: E · essence-level
# Reason: this repo produces the voice/advocacy/character layer for Margin Hooks.
# Tactics + principles live in downstream systems; essence is authored here.

# Session altitude declaration (paste at top of every session prompt):
# "This session is operating at [T/P/E] · outcome: [one sentence]"

Session end-log convention

## Session · 2026-07-17

**Altitude walked:** P → E
**Outcome shipped:** framework page + implementation companion
**Culmination touched?** yes · the "framework IS continuity" thesis clicked
**Disruption + response:** browser screenshot timed out → switched to read_page, continued
**Handoff:** deploy tomorrow · lock the standard into hooks-os CLAUDE.md
03B · The universal operator loop

Six moves. every altitude runs this loop.

Same six steps whether you're building an agent, closing a client, or launching a product. This is the daily-mode. Capture → Triage → Approve → Eval → Execute → Notify.

The 6-step core workflow

  1. Capture quickly. Voice memo · hotkey · mobile note · one-line paste. Straight into the Inbox — no organizing on the way in. Speed matters more than shape at this step.
  2. Triage into a bucket. Every item goes into Next · Doing · Waiting · Done · Ad-live. Zero items live in Inbox at end of day.
  3. Approval gate on Q&A items. Anything that needs a human read (draft to send, agreement to sign, message to publish) hits an explicit approval gate. No agent skips this step.
  4. Evals + guardrails. Every automated output runs through the guardrail checklist (tone · structure · compliance · hard lines) before it's delivered. Fails the eval → agent retries or reshapes. Never delivers messy work.
  5. Agent executes · retries · revises to spec. The agent works the task to the shape defined by the eval. If it can't clear the bar in 2 tries, it routes back to review — not to the output surface.
  6. Notify phone when human attention is needed. Push notification on approval gates, escalations, missed SLAs, and completed high-value work. Attention flows to your phone, not the other way around.

This loop is altitude-agnostic. A Tactics agent runs it in seconds. A Principles workflow runs it over a week. An Essence engagement (like a Trainer OS client's monthly tuning session) runs it over 12 months. Same six moves. Different clock.

04 · Agent registry · altitude tagged

Every agent gets an altitude tag.

The 6 AI Agent Levels are a technical architecture. Altitudes are what they produce. Both matter — but altitude is the one that tells you whether the agent is safely operating in-scope.

AgentArchetypeAltitudeWhy
OS Scaffold ScriptActTTacticsReproducible. Same input → same repo. Zero judgment.
Weekly Stats CardsActTTacticsTemplate-driven. Data in, cards out. Consent gate is a rule, not judgment.
Content Cadence TrackerTriageTTacticsRecords status. Doesn't decide what to post.
Pain QuizTriageTTacticsScore → tier recommendation. Reproducible.
Discovery Call ScriptCoordinatePPrinciplesFramework runs the call. Human applies judgment inside the frame.
Engagement MonitorTriagePPrinciplesPattern detection over time. Not just "record" — "notice."
Voice Rules v1 → v6DraftPPrinciples → EEssenceLadder. v1 encodes principles. By v6 it produces essence-quality drafts on its own.
Personal LLM (12-mo arc)Draft + CoordinateEEssenceThe end goal. Voice/character/nature installed into an operating brain.
Margin's advocacy callHuman onlyEEssenceCannot be delegated. Framework acknowledges this by design.

The audit rule

Once a quarter, grep every skill/agent for altitude tags. Any agent producing at a higher altitude than tagged is a risk. Any agent producing at a lower altitude than tagged is a delivery gap. Both get logged in improvements.md.

04B · The trusted-agent spec

Every agent answers seven questions.

Fits on one page. Seven questions. If any answer is "we'll figure it out later," the agent is not trusted yet — no matter how good the output looks. Add this block to every SKILL.md's frontmatter.

#The questionWhy it matters
01What wakes it up?The trigger. Time-based, event-based, or manual. Without a defined trigger, the agent is theoretical.
02What context can it use?Data + memory scope. Which files, which prior sessions, which client folder. Everything else is out-of-scope by default.
03What tools can it use?Allowed MCP / API / script surface. Everything not on the list is blocked. This is your build-to-protect layer.
04What can it do by itself?The autonomy zone. Actions that don't need approval. Draft a caption? Yes. Send it? No — that's Q05.
05What does success look like?Definition of done. What shape does the output have to hit? This becomes the eval spec.
06Where does it need approval?Every hard gate. "Never publishes" is an approval gate. "Never sends money" is an approval gate.
07When does it escalate to a human?Kill-switch conditions. Failed eval twice, ambiguous input, hard-line violation → route back, don't force through.

Example · weekly-stats-cards spec

7-question sheet

01 · Wakes: Sunday night default · raw paste dropped in data/inbound-stats/YYYY-WW-raw.txt.
02 · Context: data/stats/canonical-athletes.md · last 4 weeks of stat files · each athlete's profile.md.
03 · Tools: Anthropic SDK (Haiku model) · Playwright + Chromium · local filesystem write.
04 · Autonomy: Parse paste · resolve names · generate card art · draft 4-channel copy · roll up per-athlete season files.
05 · Success: Canonical file with zero PENDING-MATCH · 4 card templates per qualifying athlete · brief in output/reports/.
06 · Approval: NEVER PUBLISHES. Cards land as drafts. Kyron approves per-card in the brief.
07 · Escalation: PENDING-MATCH → exit 1, Kyron reconciles. Missing consent on a minor → no card generates, flagged red.

Guardrails vs Evals

Guardrails

The rules that define what "good" looks like. Tone of voice, structure, formatting, compliance, hard lines, task boundaries. Guardrails are always-on — they don't wait for a test.

In hooks-os: skills/margin-voice/'s "banned phrases" list. weekly-stats-cards/'s consent gate. The 4 tier register rules in margin-voice. Every hard-line clause across every skill.

Evals

The checklist or test layer that runs outputs against the guardrails before delivery. If output fails → agent retries · reshapes · or routes back to review. Never delivers messy work.

In hooks-os today: the PENDING-MATCH exit code in parse-stats.mjs. The consent gate in build-cards.mjs. The "would I have written this?" score in the LLM tuning playbook.

Add this rule to improvements.md across all client OSes: every skill in skills/ has a 7-question spec block in its SKILL.md frontmatter. If it doesn't, it's not shippable — no matter how promising the demo.

04C · Shadow-and-ship

Turn a human job into tested labor.

The gap between "AI could probably do this" and "this agent is tested labor" closes with one method. Shadow the human. Extract the spec. Build the eval set. Run against it before you sell it.

The 5-step build sequence

  1. Shadow · 10 to 20 real runs. Screen recording + narration. Not hypothetical — actual work being done by the human. Every friction point gets logged.
  2. Extract the spec. Triggers · rules · handoffs · edge cases → answers to the 7 questions above. This is when the spec becomes real; before this it's a wish.
  3. Build the eval set from real examples. 20-50 real inputs with expected outputs. This is the receipt that proves the agent works — not a demo, a set.
  4. Run agent against eval set until it clears the bar. Fail rate under X% = ship-ready. Fail rate above X% = the spec is wrong, not the agent. Return to step 2.
  5. Ship as tested labor. The pitch is not "AI does X" — the pitch is "here are 30 real examples · here's the pass rate · here's the guardrail · here's what you approve."

Why this changes the sales conversation

Once shadowed and evaluated, the agent stops being a promise and becomes a receipt. That's the difference between "vague automation" (which prospects have been burned by) and "tested labor" (which they'll actually pay for at the SaaS tier).

Where to shadow first · in order of ROI

  1. Margin's Sunday stat sheet workflow — already spec'd, but the shadow set makes the eval set. 10 real weeks of pastes.
  2. Kyron's Monday triage flow — the actual meta-workflow. Shadow yourself for 4 Mondays. The extracted spec becomes the Control Tower's next automation.
  3. The advocacy call log entry — Margin logs post-call. Shadow him for 10 calls. Extract the spec. That's the Coordinate agent for CBH advocacy.
05 · Sales overlay · altitude qualifies

The prospect's altitude picks the tier.

Instead of guessing tier from budget or roster size, read altitude. Then let the tier follow. Fewer arguments, higher-quality clients.

Discovery add-on question

"Are you looking for steps to run · a pattern to teach · or to install what only shows up when someone actually becomes the person doing it?"

Steps → Basic. Pattern → Premium. Install → SaaS. If they can't tell you which, run through the 20-problem matrix — where they linger reveals altitude.

Objection ↔ altitude mismatch

"$17K is a lot for a website." → tier mismatch. They're pricing Basic tactics against SaaS essence. Not their fault — you didn't explain altitude.

"$1,500 doesn't sound like enough." → also tier mismatch. They want Essence but are shopping Tactics. Redirect to the discovery frame above.

Add to the walkthrough script

One line, delivered early: "There are three altitudes to what we do. Basic is the steps · Premium is the pattern · SaaS installs what makes it yours. Fifteen minutes from now you'll know which one is for you — not the other way around."

06 · Build to protect · dev discipline

The developer's protocol.

Kyron's principle from the notes: utilize LLMs · build to protect yourself · developers don't always operate with integrity (Empire of AI, Karen Hao). Here's what that becomes in practice.

Local-first, always

Every prompt, voice rule, skill spec, and CLAUDE.md lives in a git repo you own. If Anthropic (or OpenAI, or anyone) sunset a model tomorrow, your framework doesn't die — you retarget to another model and the corpus persists. Never store your framework in a vendor's UI-only surface.

Model-agnostic scaffolding

Where possible, your scripts call models by role (draft-agent, parse-agent), not by hard-coded model id. Swap the underlying model in one config change. Today you use claude-haiku-4-5 for parsing; next year you swap it out without touching the pipeline.

Own the corpus · own the tuning

Voice rules, patterns, principles all live in markdown in your repo — not in a fine-tune the vendor hosts. Fine-tunes get deprecated. Markdown doesn't. Your Personal LLM path is a prompt-engineered LLM against your own growing corpus — that's cheaper AND more portable than a hosted fine-tune.

Every automation has a kill switch

Every skill in hooks-os has a "never publishes automatically" clause. Codify that as a repo-wide rule: no agent writes to a network endpoint you can't unplug in one file change. The weekly-stats-cards skill is the pattern — writes to output/ only, human approves, human posts.

Client data stays with the client

Every client OS is a separate repo (hooks-os, next: trainer-name-os). Their data does not cross into other repos or into your central corpus without an explicit transcript-candidate step (see the pattern already in toj-transcript-candidates-[week].md). That's your integrity layer as an operator managing multiple clients' brands.

07 · The continuity engine

The framework is the continuity product.

You already named this in the notes. Here's how it operationalizes.

One layer per month for 12 months

MonthLayer walked with clientDeliverable
M1Foundation · PPP auditTheir PPP snapshot · what's already true, what needs to become true
M2Levels 01–02 · Intention + InspirationLocked 12-month outcome + inspiration corpus
M3Levels 03–04 · Illumination + IdentificationNamed breakthroughs · handles for future reference
M4Level 05 · Separation / DistinctionTheir vocabulary defended · brand voice v2
M5Level 06 · SegmentationPhase discipline installed · no more parallel-fires-of-2 ways
M6Level 07 · Systemization · quarterly reviewFirst "push-button" asset live in their OS
M7Level 08 · DelegationTheir first agent + first human delegatee, both operating
M8Level 09 · AutomationFirst trigger-based automation running unattended
M94 Values of AI · quarterly reviewTheir AI usage audited across the 4 values
M10Level 10 · CulminationThe big thing recognized · culmination artifact named + shipped
M11Level 11 · RelaxationRecovery loop installed · they're not the bottleneck anymore
M12Essence graduation · annual review + renewalPersonal LLM at 90% "would I have written this?" · renew for Year 2 essence-level compounding

This is the SaaS-tier promise made specific. Renewal happens because they can see which layer is next. Attrition happens when the layer they need doesn't get scheduled. Now it's on the calendar from day one.

07B · The data center principle

Don't build empty data centers.

Kyron's data center model applied to TOJ: paying customers before infrastructure. Pain before product. Signed pilot before the next tier.

The data center rule

The data center model requires paying customers who bring their own service. The operator owns the expensive infrastructure (GPU) and charges by the hour. Every revenue must come from a real pain customer. Do not sell (or build) data centers that are empty.

Applied to TOJ

No product tier, feature, or agent gets built ahead of a signed pilot funding it. Hooks-OS is the paid pilot funding Trainer OS. The next 4 SaaS closes fund the next tier of tooling. Never the other way around.

The 3 checks before building anything new

  1. Is there a signed pilot funding this? If no — do not build. Sell it first. Even at a heavily discounted "pilot rate."
  2. Is the pain real and named? "A trainer might want this" ≠ "Coach [Name] signed a pilot to solve this." Only the second counts.
  3. Does this graduate into a productized asset after the pilot? If it's a one-off for one client, price accordingly and don't multiply it into the roadmap.

Distribution strategy · one niche + one workflow

Build around one niche and one workflow first. Then create content that shows: the pain · the agent fix · the measurable outcome. Not "we do AI for trainers" — instead "Coach Hooks was spending 3 hours a week on Sunday stat cards; now it takes 15 minutes and looks like this. Here's the before, the after, and the eval scores." That's distribution content that converts.

08 · Mobile-first operator surface

Run the business from your phone.

You operate between meetings, airports, and work sessions. Approvals happen on iPhone. Notifications drive attention. The operator's control surface is mobile-first — full building/coding stays desktop.

What mobile-first means

Capture · triage · approve · trigger. From the phone. Between meetings, at the gate, in the car (voice memo → transcript → inbox). This is the 4-move surface that runs 80% of your daily operator work.

What mobile-first does NOT mean

Full session-driving from mobile. Deep building, code review, and multi-file architecture work stay on desktop. The phone is the execution layer — the desktop is the authoring layer.

The 3 mobile-first surfaces to build (in order)

#SurfaceWhat it doesWhere it lives
01 Approval Inbox Push notification when a card brief · a message · a proposal needs approval. Tap → see the item → approve/reject/comment. Lightweight PWA · /approvals route · reads from output/reports/
02 Capture Hotkey / share-sheet → item lands in Inbox with auto-triage tag. Voice memo → transcript → categorized into Next/Doing/Waiting/Done/Ad-live. iOS Shortcut → webhook → data/inbox/
03 Trigger Workflow One-tap "start Sunday stat cards" · "spawn Monday triage session" · "kick off discovery follow-ups". Trigger sends the run request; execution happens on the desktop/server. PWA · /trigger route · calls scaffolding webhooks

Tool candidates for v1

GoHighLevel mobile app already supports approvals, notifications, and pipeline movements — closest thing to a ready-to-use approval surface. Leftclick AI for iPhone-native workflow deployment. Custom lightweight PWA as the long-term answer once patterns lock in — served from the fbtrainer-tojcampaign repo, wraps the Approval Inbox + Capture + Trigger.

Recommendation for v1

Start with GHL mobile + iOS Shortcut for capture. Cost: near zero, already in your stack. Build the custom PWA at Month 6 once the workflows are known-good. Do not build the PWA first — that's an empty data center. See 07B.

This week's actions · in order

What to do before Sunday.

The 10-action punch list (v1.1 · after notes integration)

  1. Add altitude tag to hooks-os CLAUDE.md. One line, top of file. Operating altitude: E. Same in fbtrainer-tojcampaign (mixed T+P), same in smallbusiness (mixed T+P). Sets the standard by grepping across future sessions.
  2. Tag every existing skill + agent in hooks-os with altitude in the SKILL.md frontmatter. Use the audit table in Section 04 as the seed. Any surprises get logged in improvements.md.
  3. Add the 7-question spec block to every SKILL.md in hooks-os. Use the Section 04B template. Any skill that can't answer all 7 gets flagged as "not shippable yet" until it can.
  4. Wire the 6-step loop into the daily workflow. workflows/daily.md gets a preamble: Capture → Triage → Approve → Eval → Execute → Notify. Every session runs the loop.
  5. Shadow yourself for Monday triage · 4 weeks. Screen-record + narrate. At the end of Week 4, extract the spec + build the eval set. That becomes the Kyron-Triage-Agent.
  6. Update the discovery call script (/discovery) with the altitude question in Section 05.
  7. Update the walkthrough script (/walkthrough) with the one-line altitude framing early in the call.
  8. Wire the 12-month continuity delivery calendar into every Trainer OS signed contract. Appendix to the agreement. Renewal conversations start Month 10.
  9. Add the 5-rule Claude Operating Standard to CLAUDE.md in all three campaign repos. Copy from Section 03 verbatim.
  10. Set up mobile approvals · v1 route. GHL mobile app + one iOS Shortcut for voice-memo → inbox capture. Do NOT build custom PWA yet — that's an empty data center. Revisit at Month 6.

Ten actions. Total time ~3 hours across the week. The compounding starts the second altitude tags + 7-question specs become grep-able across every repo — everything the operating brains do from that point forward is auditable, and everything you sell becomes tested labor instead of vague automation.