/* Theory — why Pertel as an MCP is worth it. * Long-form essay in the same tall-card + spine + bridge chrome * as the install page, so it reads as a continuation. */ const THEOREMS = [ { n: '§00', title: <>The bottleneck., tagline: 'context is the bottleneck.', lead: <>Models forget. Tokens run out. Switching from Claude to GPT to Manus mid-thought means re-explaining yourself every time., body: [ <>Pertel sits outside the model’s window. The conversation lives in a folder of markdown files the AI client references on demand. The work survives the model swap because the work was never inside the model., <>The fix isn’t a bigger context window. The fix is putting memory where it belongs: in files you can read., ], aside: { lbl: 'rule', rule: <>Memory belongs outside the model. Otherwise it’s borrowed. }, }, { n: '§01', title: <>The framework, three surfaces., tagline: 'discipline as MCP.', lead: <>A framework written for humans can be re-expressed for AI clients along three axes: things to read, workflows to run, and actions to take., body: [ <>Model Context Protocol gives you three surfaces: Resources (the docs the AI reads on demand), Prompts (the rituals you trigger by name), and Tools (the schemas the AI calls to change state)., <>The same framework, three surfaces. The methodology stops being something you paste in and becomes something the client calls. Pertel is that conversion, applied to the Schedii workbench., ], aside: { lbl: 'principle', rule: <>The doc is the contract. The MCP surface is the interface. }, }, { n: '§02', title: <>Files, not databases., tagline: 'grep beats SQL for a trail you read.', lead: <>A .pertel/ folder of append-only markdown is human-readable, diff-friendly, grepable, portable, and survives the whole stack going down., body: [ <>Schema-less. No migrations. No remote dependency. The session log is a file you can open in any editor; the facts are lines you can search with grep; the handoff is a bundle you can email., <>The workbench gets a database. The conversation gets a folder. Two surfaces, two storage models, one binary., ], aside: { lbl: 'rule', rule: <>If a piece of content is read every session, it’s a resource. If it’s run, it’s a prompt. If it changes state, it’s a tool. }, }, { n: '§03', title: <>The filter, with reasons., tagline: 'refusals get a return type.', lead: <>Most reviews are vibes. Pertel’s Sift is a function: drop work in, get reasons out., body: [ <>The Schedii Bible + AkrosInfra frameworks (Reminiscence Meter, Verify Before Done, Safe-Write Engine, Stable-ID Worklist) become a scoring pass. @sch -f full sifts your draft, kills the junk, re-separates what survives, and attaches the reasons inline., <>It’s not a guarantee. It’s a pass against a contract. The contract is the part that didn’t exist before., ], aside: { lbl: 'shape', rule: <>Tools have input + output schemas. The model sees the schema. The user sees the result. }, }, { n: '§04', title: <>One binary, many modes., tagline: 'a flag is cheaper than an install.', lead: <>Pertel ships as one binary, switched by flag. -d for Dash. -f for Sift. p for the full stack., body: [ <>One install. One key. One configuration. Switch modes when the work demands it. The user’s mental model is a single thing with knobs, not four MCPs to wire up., <>Modes scale. Namespace pollution doesn’t., ], aside: { lbl: 'shape', rule: <>One npx. One key. Many modes. }, }, { n: '§05', title: <>Boundary as architecture., tagline: 'the contract is the product.', lead: <>What touches the backend routes through it. What handles the conversation stays local. Every mutation has a dry-run and returns evidence. Errors surface loudly., body: [ <>The Rock/Sand contract isn’t a policy document — it’s the architecture. The backend is the boundary; the boundary is what the MCP refuses to bypass. No direct DB. No silent provider fallback. No free-text-only tool output., <>The discipline is the product. The MCP is the interface., ], aside: { lbl: 'rocks', rule: <>Every mutation has a dry-run. Every mutation returns evidence. Errors surface loudly. }, }, ]; function HostNavTheory() { return (
Pertel · Intelligence by Schedii
[ Pertel $ Install ? Why
); } function TheoryApp() { return (
{/* Hero — the title */}
theory · why pertel exists

Why this exists.

Six theorems behind Pertel as an MCP. The conversation lives outside the model. The framework has three surfaces. The filter returns reasons. One binary, switched by flag. The contract is the product.

{/* Tall card */}
{THEOREMS.map((t, i) => (
{t.n}

{t.title}

{t.tagline}

{t.lead}

{t.body.map((b, j) =>

{b}

)}
{t.aside.lbl}

{t.aside.rule}

{i < THEOREMS.length - 1 && (
{THEOREMS[i].n} → {THEOREMS[i+1].n}
)}
))}
closing rule
The doc is the contract. The MCP surface is the interface. {' '}The tools are the rituals, executable.
{/* Footer */}
mcp.schedii.app theory · v0.1 snapshot · 2026-05-22 akros · infra
); } const root = ReactDOM.createRoot(document.getElementById('root')); root.render();