Stop Putting SOPs (Standard Operating Procedures) in your Cortex
Or: How to Actually Teach Friday Something Without Breaking the System
Ok I’ve already had two Cortex patches suggested. That’s ok but we need to talk vocabulary and placement before we talk about adding stuff to the cortex.
I am not going to edit the Cortex for every little thing. Full stop.
Yes that triple quoteblock was intentional… but it’s ok lets talk about why. This is also not me saying do it yourself, I gave you a tool for that. This is, your cortex is big block, foundational, how-the-system-works, water-is-wet kind of stuff. We have a much better solution for “teaching Friday” a new trick.
The Core Rule
Cortex is not your house manual.
Cortex is for agent rules. Period.
Think of it like this:
- Cortex → how the agent thinks
- KFC → what the agent knows right now
- Cabinets → where reality lives
If you put operational procedures into Cortex, you are hardcoding things that should be dynamic. You’re freezing something that needs to breathe and because of that it drifts. It also neuters our ability to have dynamic content in the first place - and if we’re going to burn our cache for something it BETTER be worthwhile.
Where ‘SOPs and such’ Actually Belong
Let’s say you have a real-world process. Alarm triggers. HVAC handling. Anything with steps and meaning.
1. Create a Label
This is your anchor.
Make it:
- Short
- No compound labels or punctuation - not necessary
- Clear
- Specific
- First sentence of label description does most of the work
- Label Description SHOULD be included with DENSE info - under 255 characters
That ‘label description’ is not decoration. It becomes meaning inside the graph. If you don’t use it. you lose your #1 free extra context slot. Label description is your new best friend.
2. Tag Everything That Matters
All relevant entities get that label. Sensors, switches, helpers, scripts. If it participates, it gets tagged. You are building a semantic cluster if it relates to the description you just wrote - tag it.
3. Write a KFC
This is where the instructions go.
Use the writer. Put in:
- What these entities are
- How they behave
- What “normal” looks like what ABNORMAL looks like
- What actions mean
Be clear, concise and information dense. Think user manual.
The KFC then gets tagged with the same label under a drawer named [kfc_id] (also your label in most cases)
4. Store Preferences in the Right Cabinet
If it needs customization, this is where people mess this up.
Put it where it belongs:
- House rules → Household cabinet (keep drawer named same as KFC drawer if you want the scheduler to auto pull THIS content in the summary with the KFC itself - we pull the default house rules against a component - that’s why it does that.)
- Family rules → Family cabinet (these wont auto pull with a summarizer run but are available live when your agent looks)
- Personal preferences → User cabinet (same rule as family)
Then tag those drawers with the same label. Now the system knows not just what the thing is, but how it should behave at each scope.
5. Index It
This is where it all comes together.
When you index:
- All tagged entities are pulled
- All tagged drawers are pulled
- The KFC is included
Run expand and suddenly the agent has the full picture. Not a guess. Not a partial memory. The whole operational context.
What Happens Next
So after you set this up here’s what happens, your KFCs now will:
- Re-summarize on a cadence
- Emit Katas
- Feed the super summary attention system (this is how the agent knows at boot if its important)
remember the additional drawers above?
The Ninja Summarizer includes house-level context during KFC runs.
So the resulting Kata reflects:
- The environment
- The system state
- How this process behaves in this home <<<
But just as important:
User-specific context is NOT collected during a KFC run.
Which means:
- No personalization bleed into system behavior
- No cross-user contamination
- No “why is this acting like Nathan for everyone?” bugs
KFC defines truth at the system and house level. User context gets applied later, at interaction time. This is how we scale and your agent doesn’t have to eat a whole elephant every run.
TL;DR
- Don’t put 'SOP’s in Cortex
- Label everything
- Write a KFC for instructions
- Store preferences in the correct cabinet
- Index and expand
- Trust the Ninja to summarize with house context, not user bias
No Cortex or directive hacks, just clean, composable, scoped context.
I continue to tune the KF Writer to do as much of this as possible automagically. I’m not editing the one that ships in RP2. but the SP1 version I’ll probably SIGNIFICANTLY update this to make it easier for the agent to oneshot.
(edit: nope, ‘scribe’ is going in GA)