💳 Secure Payment

Full-Service Web & Software Agency · Klamath Falls and Redding

Meetup talk: An advanced SI protocol ecosystem

Work with Sean

The first half of Module 6, as a talk for the KFalls AI Meetup (evening, business & student): the open agreement at each join a system crosses, behavior laid out as points that can be measured, and a harness in which the model proposes and typed code decides. Advanced, and plain enough for a first look; it runs about twenty-five minutes. Members of the community meet at meetups such as this one. The slides carry only the meetup’s name, and the list after them links each slide to the lesson that goes deeper.

KFalls AI Meetup (evening, business & student)

An advanced SI protocol ecosystem

An agreement wherever two systems meet, an assistant’s answers laid out as points we can measure, and code that checks the model’s work and has the last word

Welcome, everyone, and thank you for coming. Tonight’s talk goes deep, so we’ll take it slowly and keep the words plain. If this is your first look at any of it, you’re very welcome here. And please don’t let the title scare you. SI is the new name federal agencies use for AI, and we’ll say a little more about it in a moment. A protocol is just an agreement two programs keep when they talk to each other, and the ecosystem is the whole family of those agreements, working side by side. A few made-up friends keep us company along the way: a coffee cart, a bakery and a salon. And when we say the model, we mean the part of the system that learned from a great deal of written text, the part that reads and writes words. If you run a business, listen for the places where things get checked before a customer ever sees them. If you’re a student, listen for the agreements, the contracts; writing those well is the craft. And if you’re an engineer, do catch us if a word gets loose.

Where things break: the joins

A booking form sends an appointment to a calendar. A little program reads the price list each morning. A chat assistant places an order with a coffee cart.

Each one is a join, a place where something crosses from one side to the other. When nothing checks what crosses, it’s the customer who finds the mistake first.

Let’s try this on a business you know, maybe your own. Where does something cross from one side to the other: a form, a price list, a booking? And what checks it today? If the answer is nothing, that’s the join to look after first, and in a few minutes we’ll see how. And for the engineers: this join isn’t a database join. It’s the seam where two systems meet, what you might call an interface or a boundary.

SI: what federal agencies now call AI

From September 29, 2026, Executive Order 14434 directs federal agencies to write Super Intelligence, SI, in their own documents and communications, where they used to write artificial intelligence, AI.

The order changes the name, not the law: SI means whatever federal law already defines as AI, so the two words name the same systems. A proposed federal definition is due on the President’s desk within 60 days.

In research, “superintelligence” means something else. Here, SI is only the new name.

Sources: the order and its fact sheet

Here’s a quick, plain word about the name, and then back to the fun part. The order is titled “Inaugurating the Era of Super Intelligence.” It applies to the departments and agencies of the executive branch, the part of government the President leads. The laws Congress has passed, regulations and earlier documents all stay just as they are. In the order, SI means whatever the law’s definition of AI covers. For anyone who likes to look things up, that’s title 15 of the U.S. Code, section 9401, paragraph 3. When researchers say superintelligence, they usually mean a hypothetical system that would far outdo people at nearly everything, and that’s a different idea. The new name makes no claim about what these systems can do. And the 60 days on the slide? That’s the order’s next step: proposed wording for a federal definition goes to the President within that time. So when a federal letter or web page says SI, you can read it as AI. From here on, we’ll say SI too.

One join, one agreement

Each kind of join an SI system crosses has an open agreement, often a protocol: a contract anyone can read and build to.

MCP joins an assistant to tools. A2A joins one agent to another. OpenAPI describes a web service, an API, to the programs that call it.

When a new protocol comes along, ask it three things: which two things does it join, what crosses, and what checks it?

One join, one agreement The cart’s app in the center, joined to six agreements and the parties beyond them. Above: MCP to an assistant, highlighted, OpenAPI to a web client, A2A to the bakery’s agent. Below: WebMCP to a browser agent, AGENTS.md to a coding agent, llms.txt to any agent. MCPassistantOpenAPIweb clientA2Abakery agentthe cart’s appWebMCPbrowser agentAGENTS.mdcoding agentllms.txtany agent
A made-up coffee cart’s app, in the middle. Each box names an agreement, and under it, who’s on the other side. The violet one is MCP.

Let’s unpack some names. There are quite a few, so please don’t try to keep them all; the three questions at the bottom of the slide matter more than any name. An agent, a bit like a travel agent, is an SI system that takes steps on someone’s behalf, like the assistant ordering from the coffee cart. MCP is the Model Context Protocol. It joins an assistant to tools, and a tool here isn’t a hammer: it’s something a program can do when asked, like adding a latte to an order. If you build with it, a friendly heads-up: its revision of July 28, 2026 dropped the opening hello, the handshake, where the two sides traded versions and said what each could do. An older tutorial might still teach it. A2A is the Agent2Agent protocol, now at version 1.0. It’s how agents talk with each other, like the cart’s app asking the bakery’s agent about tomorrow’s pastries. An API, short for application programming interface, is a program’s front counter, where other programs place their orders. And OpenAPI is a standard way to describe a web service’s counter in writing: what you can ask for and what comes back, so other programs, like the web client on the drawing, know how to order. WebMCP, still a draft, lets a web page offer its tools to an agent working in your browser. AGENTS.md is an open agreement too, and so is one that isn’t on the drawing, Agent Skills. Both are kinds of files an agent reads, not protocols that run over a connection. AGENTS.md is like house rules taped up inside a project for the coding agents that work on it. And a skill is know-how an agent picks up when a task calls for it. And llms.txt, still a proposal, is a short note a website leaves for any agent that stops by, summing up the site and pointing to plain copies of its pages.

Who decides

A server, the program on the other side of the join, offers three kinds of things. MCP sorts them by one question: who decides when each one gets used?

The model picks tools, the app picks resources for the model to read, and a person picks prompts.

Even so, a person should always be able to say no when the model reaches for a tool.

Who decides Three columns, each pointing from who decides to what they decide on: the model to tools, such as adding an item to an order, highlighted; the app to resources, such as today’s menu; the person to prompts, such as a template for the week’s special. the modeltoolsadd to an orderthe appresourcestoday’s menuthe personpromptsspecial template
Who decides when each kind of thing is used. The violet column is the model’s: tools, such as adding an item to an order.

Before we sort them, one small word to keep straight. Here, the app is the one you chat in, where the assistant lives. On the last drawing, the cart’s app sat on the other side of the join: it was the server, offering its tools. Same word, different seat. Now let’s sort a few together. Today’s menu is a resource. Adding an item to an order is a tool. And a template for the week’s special is a prompt: a ready-made starting point a person picks from a list. That’s a narrower meaning than the everyday one. Most of us say prompt for whatever words we hand a model, like anything typed to a chatbot, and later on we’ll use it that way too. And a refund? That’s a tool too, one a person approves every single time the model reaches for it. So when we say the model decides, we never mean nobody’s watching.

Which “geometric reasoning” do we mean?

  • A declared design space: we choose in advance the ways an assistant’s answers can vary, and each kind of answer becomes a point. This is the one we mean.
  • The shape inside a model: the numbers it works with, its representations, with reasoning pictured as a path through them.
  • Geometry itself: a model solving geometry problems.
  • Geometric deep learning, a neighboring field: models built for data with a shape, such as a photo’s grid of pixels or a map of roads.

So far we’ve looked at the joins. Now let’s look at something that crosses them: an assistant’s answers. If you’ve ever wondered whether your assistant gets the facts right when it’s brief, and just as right when it’s chatty, this part is for you. To get there, we’ll lean on a phrase that sounds rather grand, geometric reasoning, and you’ll hear it used at least three ways. A neighboring field even has a name that starts the same way. So when it comes up, it’s kind to say which one you mean before anyone starts arguing. If the last three sound like a lot, that’s all right. They’re here so you’ll know them when you hear them. The first one is ours, and it’s a plain idea. Think of writing every size and flavor on the menu board first, then tasting each one in turn. We do the same: we write down ahead of time the ways an assistant’s answers may vary, and each kind of answer becomes a point we can measure. Those ways, written down first, are what the slide calls a declared design space. And why geometric? Once each kind of answer is a point, we can ask which points sit close together, the way you would with towns on a map. The next three slides build on that one.

Points, traits and distance

The cart’s answers about its menu can vary in three ways, called traits: brief or detailed, formal or casual, cautious or bold.

A point picks one side of each, written 0 for the first and 1 for the second, so 011 is brief, casual and bold. Three traits, two sides each: eight points.

Distance is how many traits differ: 011 and 111 are one apart.

The coffee cart’s cube beside its table Left, the eight points of the coffee cart’s three traits in rows of 1, 3, 3 and 1, from 000 at the top to 111 at the bottom, with a line between every two points one trait apart. Lines that change the certainty run down to the left, lines that change the formality run straight down and lines that change the length run down to the right, as the key below the drawing shows. Right, the table lists each point once with its made-up score. Point 011 is outlined in both, and its score is 0.7. 000001010100011101110111pointscore0000.90010.80100.850110.71000.881010.751100.81110.6certaintyformalitylength
The cube beside its table of made-up scores. Each line joins two points one trait apart; 011 is outlined in both.

Think of three little switches for how the cart answers, each one either up or down. The key under the cube calls the traits by short names: length for brief or detailed, formality for formal or casual, and certainty for cautious or bold. Each trait is one axis of the space, one direction you can move in. And why do we call the drawing a cube? Picture a cube balanced on one corner. From top to bottom, its corners come in rows of one, three, three and one, just like the drawing. Its eight corners are our eight points, two choices three times over, and each edge joins two points one trait apart. Take 011 and 111: only the first switch differs, brief against detailed, so they’re one step apart. If you’ve met these ideas before, you may know them by other names: a statistician calls this a two-level full factorial, and a coder calls the distance Hamming distance. And a small thing the engineers will like: nobody writes the points or the distances out by hand. The program works them out from the three traits every time, so they can never fall out of step with the traits. The table beside the cube holds a made-up score for each point. It stands in for whatever we’d measure there, say, how often the answers at that point get the facts right. And for the owners here: your assistant’s voice is something you choose on purpose. Say you’d like the cart’s answers brief, casual and bold. That’s 011, the outlined point, and its score is the one you’d watch. In our made-up example, its 0.7 would mean seven answers in ten get the facts right.

Change one fact, and the answer must flip

A pair is two fact sheets in made-up words, one fact apart.

Flip a fact on the violet path, the proof, and the answer must move. Flip a side fact, a distractor, and it must not.

So we score pairs, not single questions. Always saying yes gets every yes question right, yet misses every pair that flips.

Giving both sheets the same answer misses them too.

A fact sheet and its twin, one fact apart On the left, a highlighted proof path runs from the brintepet to lomkellet, to kellbrinet and down to dairy-free. On the right, two greyed distractors, zorquilet and zorbrinet, form a chain of their own that ends in a line labelled no into dairy-free. The last edge of the proof path is labelled: it was every, and in the changed sheet it is no. Below, the question asks whether the brintepet is dairy-free; the original sheet answers yes and the changed sheet answers no. the brintepetlomkelletkellbrinetdairy-freezorquiletzorbrinetwas: everynow: nonoIs the brintepet dairy-free?original: yeschanged: no
The violet path is the proof, one fact per arrow. Flip its last fact from “every” to “no”, and the answer moves from yes to no.

Don’t let the funny words throw you; we made them up on purpose, and we’ll say why in a moment. A fact sheet is just a short list of facts we hand the assistant, along with one question about them. Let’s read the violet path from the top. We call it the proof, because it’s the chain of facts that leads to the answer: the brintepet is a lomkellet, every lomkellet is a kellbrinet, and every kellbrinet is dairy-free, so the answer is yes. The changed sheet says instead that no kellbrinet is dairy-free, and the answer turns to no. That’s what the little “was” and “now” on the last arrow mean. The grey chain on the right is made of side facts, the distractors: every zorquilet is a zorbrinet, and no zorbrinet is dairy-free. Flip one of those, and our answer has to stay put, because nothing links the brintepet to that chain. And here’s why we score pairs. Picture an assistant that says yes to everything. One question at a time, it looks right whenever the answer is yes. But every pair that flips has a no on one side, so it misses them all. So does any assistant that gives both sheets the same answer. Why made-up words? If we said oat milk, a model could answer from what it already knows about oat milk, without reading the facts in front of it. Made-up words leave it nothing to go on but the sheet. For the owners here, it’s the same check you’d want after you change your price list: did the assistant really read the new one, or answer from habit? Now a few names for the engineers, and everyone else can let them drift by. Researchers build pairs like these by hand and call them contrast sets, and you may hear the two sheets called canonical, the original, and perturbed, the changed one. Here one program writes the pairs, and another, which we call the oracle, is our answer key. It follows the facts to the right answer for both sheets, so nobody types an answer by hand.

Hold the facts, move the voice

The assistant answers one fact sheet once at each of the eight points: that’s a matched family.

The facts and the right answer stay locked; only the voice moves. So when the assistant gets it right at one point and wrong at another, we know which traits to thank, or to blame.

For the cart, the tone can change and the oat milk answer can’t.

A matched family One fact sheet at the top fans out to eight answers, one at each point from 000 to 111. Below them, one highlighted band runs under all eight: the locked, invariant fields, the same at every point: the facts, that oat milk is dairy-free and whole milk isn’t, and the right answer, a latte with oat milk. Below that, the free, expressive part: each point has its own box naming its tone, t1 at 000 through t8 at 111, so no two points share one. one fact sheet000001010011100101110111locked (invariant): the facts and the answeroat milk is dairy-free; whole isn’tanswer: a latte with oat milkfree (expressive): the tonet1t2t3t4t5t6t7t8
One latte fact sheet as a family. The violet band is locked at every point, and each point has a tone of its own.

It’s a bit like one recipe served eight ways: the ingredients never change, only the plating. Here, the question on our sheet is which dairy-free latte the cart can make. Its facts say oat milk is dairy-free and whole milk isn’t, so the right answer is a latte with oat milk. And yes, this time the words are real. That’s all right here, because this check asks something else: does changing the voice change the answer? Whatever the model already knows about oat milk, it knows just the same at all eight points. On the drawing, the little boxes t1 to t8 are the eight tones, one for each point, and no two alike. And here’s the thank-or-blame part. Say the assistant gets the latte right at 011 and wrong at 111. Only the length changed between them, so length is where we look. Every part of an answer, every field, is marked one of two ways: invariant, meaning it stays locked, or expressive, meaning it may change. If nobody marked a part, we count that as a fault, rather than quietly guessing which kind it is. And the program that checks a family lists every fault it finds at once, like a missing point or a changed answer, so one round of fixes can clear them all. It’s like a good teacher who marks the whole paper, instead of stopping at the first wrong answer.

The model proposes; typed code decides

A harness is the plain, predictable program wrapped around a model. The two work in tandem, side by side, on every request.

For a salon booking, the model proposes a time and a reply. Typed code decides which times are offered, which reply goes out and which time is held for the customer.

One list of open times guides the model and feeds the checker.

Two lanes, one contract A frame, one time limit around the whole turn, holds two lanes side by side. The harness lane selects the facts, puts together the offer list and builds the schema. The model lane reads the prompt and sends back one answer, a choice and a reply. Arrows cross from the facts to the prompt the model reads, and from the offer list to the answer. Both lanes end in one highlighted contract box, the offers and the facts, and three exits leave it: passed, highlighted, which holds the time; rejected, which goes back with its reasons; and refused, which sends the salon’s fallback line. One more line leaves the frame itself for refused: a turn that runs out of time goes straight to the fallback line. one time limit, around the whole turnharnessmodelselect factsthe offer listbuild schemaread the promptone answer:choice + replycontract: offers and factspassedrejectedrefusedtime heldretry + reasonsfallback line
One turn in two lanes, inside one time limit. Only the violet exit, passed, holds a time for the customer.

Think of a harness on a horse: the horse brings the strength, and the harness guides where it goes. And by typed code we don’t mean code someone typed at a keyboard. We mean code in which every value has a declared kind, a time, say, or a booking, and the computer checks those kinds before the program ever runs. Now let’s follow the drawing down together. A turn is one message from the customer and the reply to it, and the frame around the two lanes is one time limit for that whole turn. On the left, the harness picks the facts, makes the list of open times and builds the schema from it, a form the answer has to fit. On the right, the model reads the prompt and sends back one answer: a choice and a reply. Both lanes meet at the contract box. That’s the checker: it holds the answer up against the offers and the facts. Three doors lead out of it, and only one, passed, holds a time for the customer. The short line off the frame’s right edge is for a turn that runs out of time: it goes straight to the salon’s fallback line. We’ll open the other two doors on the next slide. So one offer list, the open times, does two jobs. It reaches the model as the schema, which limits what the model can write. And it feeds the checker, which decides what the harness accepts. Now two names for the engineers, and everyone else can let these drift by. Researchers call this pairing LLM-Modulo, LLM being short for large language model. They argue that a language model can’t verify its own plans, so they pair it with checkers that sit outside it. And a property test tries many cases the computer makes up, to be sure the form and the checker keep agreeing.

Every failure is refused, never let through

  • A reply goes out only if it passes, and then word for word, just as the model wrote it.
  • A rejected answer goes back to the model with every reason it was turned down, for another try, until one passes or the tries run out.
  • Out of tries or out of time, the customer gets a message the salon wrote in advance, and the failure stays in the records.

Let’s say the title plainly. When a whole turn fails, say the tries or the time run out, none of the model’s answer goes out, not even part of it. And when all goes well, nobody touches up the reply on its way out. It goes out just as the model wrote it, so nothing half-fixed ever reaches a customer. Think of a shop door that stays locked when the power goes out, rather than swinging open. Engineers call this failing closed. When a turn fails closed, the salon’s own words, written in advance, go out instead. That fallback is like a pre-printed card: there’s no blank on it for the model’s reply or a held time, so it can’t carry one by accident. What went wrong inside stays in the records, away from the customer. And every reply that did go out can be traced back through the records to what made it.

The app and the server, in tandem

This booking takes two rounds, and the server keeps no half-finished booking in between.

In round one, the server asks which time and hands back a signed note of its offer. The app asks the customer. In round two, the app sends the booking again, with the answer and the note, which works only once.

The customer answers one question, and a time the server never offered can’t be booked.

One booking, two rounds Three lanes: the customer, the app and the server. The customer asks for Saturday morning. The app sends the booking, and the server answers that it needs input, with a question and a signed note. The app asks the customer, 10:30 or 11:30, and the customer answers 11:30. Highlighted, the app sends the booking again with the answer and the note, and the server answers complete. customerappserverSaturday a.m.?bookinginput needed10:30 or 11:30?11:30+ answer, notecomplete
One booking in two rounds. The violet round brings the customer’s answer back and completes it.

Let’s read the drawing from the top down: time runs down the page, and each arrow is one message. The customer asks for Saturday morning, and the app sends the booking. The server answers that it needs one thing first, which time, and hands back a signed note of what it offered. The app asks the customer, 10:30 or 11:30, and the customer picks 11:30. Then, in the violet round, the app sends the booking again with the answer and the note, and the server says it’s complete. Think of the signed note as a written quote, signed and dated by the shop. It spells out the times on offer, and the app holds on to it, so the server doesn’t have to keep a drawer of half-finished bookings in between. The server can tell if anyone has changed it, it’s good for only a short while, and it’s honored only once. For that last part, the server does remember one small thing: which quotes it has already honored. A time that was never offered is turned away before anything is booked. And the app is just as careful. It reads every reply against the agreed shape, the way you’d check a delivery against the order slip. Either every part it uses checks out, or it uses none of it. Now a few names for the engineers, and everyone else can let these drift by. In MCP’s own words, two rounds like these are a multi round-trip request, and the signed note is the request state. And MCP calls the app the client here: the program that sends the requests, not the customer.

Extend, don’t fork

A harness grows at the places made for add-ons; the model and the core loop stay fixed.

One question sorts every add-on: is it a judgment call, or must it happen every time?

Judgment calls go where the model can read them. What must happen every time goes into code.

Where each add-on plugs in Two boxes in the middle, the model and the tools, joined by a highlighted loop: a tool call goes out and its result comes back. A small circle sits on each arrow, a hook: one before the call, one after it. Above the model, standing instructions are always on, and below it skills load on demand. Above the tools, an MCP server adds more tools, and below them a subagent works in a context of its own. From the model a last arrow leads to the answer, with an end hook on it. instructionsalways onMCP servermore toolsmodeltoolsbefore the callafter the callendskillson demandanswersubagentown context
Where each add-on plugs in. The violet loop is the core, and no add-on changes it. The small circles are hooks.

This fork isn’t the one in your kitchen drawer. To fork is to copy the whole program and change the core in your own copy, and that’s what we steer away from. The core is the violet loop on the drawing: the model asks for a tool, the tool’s result comes back, and round it goes until the model has its answer. An instruction, in a skill or a standing instructions file, is a request; the model might not follow it every time. A hook is a small piece of code that runs at a set moment: before a tool call, after one or at the end. It runs every time, and one that runs before a call can stop the call outright, so it’s a rule, not a request. An instruction is a note on the fridge; a hook is the lock on the till. So a house habit, say, how you like things named, is a judgment call: it goes in the standing instructions, where the model reads it. A must, like a check every page edit has to pass, goes in a hook. A subagent is a helper the model hands one job to, and it works in a context of its own. One set up ahead of time for that job starts fresh: it begins with only what it’s handed, not the whole conversation so far. Think of a helper at a clean counter with one recipe card: they cook just that dish and bring back only the plate. When we build a harness into an app of our own, it grows the same way: at the places made for add-ons, never by changing the core. And every part we add comes with a scenario that tests it: a short written example of what it must do. For the owners here: when the harness updates, an add-on carries over by itself, while a patched core has to be patched again by hand.

Questions owners ask

Is this hype?

Fair question. We give each claim a row in a ledger and mark it measured, released for anyone to check, or only asserted. A maker’s promise that its assistant never double-books stays asserted until a test calendar checks it.

Won’t it all change too fast?

It does move quickly. Protocols get new versions, so it helps to keep a note of which version your setup uses. The joins themselves hold still, and so does the need to check each one.

A claims ledger is just a list: each claim, where it came from, how much proof is behind it, and what would show it false. Measured means someone tested it and showed how, like a scale the inspector has checked. Released means its code and data are out for anyone to check, like a recipe printed for anyone to bake. Asserted means someone only said so, like “best in town” on a jar’s label. For this promise, the source is the maker’s own page and the status is asserted, and two overlapping bookings in a test calendar would show it false. So we build on what’s been measured or released, and an assertion waits in the ledger until something checks it. And the second question is a fair one too. The names and version numbers keep moving, but a booking form still hands an appointment to a calendar, and something still has to check it.

Questions students ask

Doesn’t SI build websites for free?

First drafts really did get cheap. Deciding what may cross a join, checking it and standing behind it didn’t.

Will SI replace developers?

The model proposes, but someone still writes the contracts, the checks and the scenarios that decide. That’s the engineering, and it’s yours to learn.

Nobody can promise what the future holds, and we won’t pretend we can. Part of the work really did get cheap, and it’s honest to say so. The other part, standing behind the result, still takes a person. And if you’re just starting out, that’s good news: it’s the craft worth learning, and tonight’s three questions are a fine place to begin.

What we covered, and your questions

  • Every join gets an open agreement, and we ask each one: which two things does it join, what crosses, and what checks it?
  • Geometric reasoning, as we mean it: the ways an assistant may answer, laid out in advance as points, then checked in pairs and families.
  • In a tandem harness, the model proposes and typed code decides, and both work from one list of open times.
  • Every failure is refused, never let through: the customer gets the salon’s own words instead.
  • A harness grows at the places made for add-ons; the core loop stays fixed.

Thank you for staying with us through all of that. Here’s something small to take home. If you run a business, pick one join it runs on, a form, a price list or a booking, and ask what checks it today. If you’re a student or an engineer, try the same on any app you use or build: which two things does it join, what crosses, and what checks it? Wherever the answer is nothing, that’s the join to give an agreement first. And now it’s your turn: what would you like to ask?

The talk is the module’s first half in brief. Each slide goes deeper in a lesson:

The AI protocol map starts the lessons themselves, and the Python half, from Python, the team’s way, takes the model work.

Copyright Sean Paul Payne Dinwiddie
All Rights Reserved