I remember being told a story about an agency that celebrated the business cards of everyone they met. The entrance wall was dominated by a vast web of business cards and red wool. An evolving web of red lines and coloured rectangles. Essentially their whole business, visible to the team and to anyone who came to visit. It's an idea that has stuck with me. My head's a boundless castle of clustered memories and the things I've read and learned, but that's another story entirely. This story is about the visibility of data, and how things connect with one another. As I started this business, it was clear that everyone was bolting AI onto their thinking, their business model, their title, and their LinkedIn post. I did too. First things first. These new tools are incredible. They have limitations. They have dangers. They are absolutely not going back in the box. I read a post by Nic Hodges around that time. While most were talking to LLMs, he kept saying we should be building tools. Tools used to be expensive. They still cost time and willpower. They can be anything you want them to be. My early career maps the start of social media. I remember getting one of the first Facebook invites when they decided to open things up beyond the Ivy League. I remember the ASmallWorld invite that followed soon after. What I remember most though is that building on someone else's platform ends up costing more each year. See Meta ad revenues. The Cluetrain Manifesto it turned out not to be. I sat down to build a tool that would help me and the business I'm building. Connected to these incredible machines, but built on my real estate, not theirs. Businesses are built on lists. Some are nicely formalised, like the ones that come from Finance. Most are buried deep on a share drive, atomised across a thousand desktops as they become Business_Pipeline_040325_Pete's Copy (v2) edited FINAL FINAL.xls. The most important list when you're starting a new business is the one that tracks new business. It's full of stale information. Best guesses. Hopeful numbers. Compounding lies. Obvious place to build out a product from, really. As I understand it, most databases already created in the world are nested lists. Useful, but about the same level of innovation as taking a desk with documents stored in folders, digitising it, tilting it somewhere between 85 and 90 degrees, and calling it a desktop. Because most of the examples in the world are nested lists, every LLM will steer you toward an SQL database. It's the training material talking. When I started building, it happened to me. If you don't have opinions, [it will happen to you](/writing/your-instincts-are-wrong) too. It's the commercial context that defines consultancy. The people and entities that you build relationships and a record of value around. The connections between them, the way they influence each other, the red wool of where they've come from. My early observation is that the better you can define the edges that connect your data, the more useful those edges become in this new phase of computational knowledge. The wool now not only keeps the connection. It holds the context of how it was strung. So I'm building out from my contacts and the companies I want to work with. The hierarchies you choose, or if you're new to vibe-coding, the hierarchies you accept, have real consequences for how your data is held and how these new agents will interact with it. I have eschewed lists for structure. ## Operator Plan B runs on a system I've called Operator. Because The Matrix. It's a typed-graph CRM. Contacts and companies are nodes. The wool between them is typed and directional. Introduced by is not competes with is not advises. The graph is queried, not browsed. The question is never show me my contacts. The question is show me the shortest trusted path to this account, and through whom. Anything that carries weight waits in a pending queue. It stares at me until I admit I meant it. That isn't a database feature. It's a judgement gate. ## A Thinking Surface The graph isn't only contacts and companies. Knowledge is a primary node too. At any point of an interaction with Operator, a four-level knowledge approach can be triggered. One of the edges these knowledge nodes pick up is a node_added that connects to the place I was when I had the idea. The lowest knowledge rung is a Scratch. A Scratch might be something I noticed. An article that rang true. A simple pique of interest. The cognitive equivalent of muttering at a passing bus. Scratches must carry one of three types of information. A sentence, an image (integrated into mobile camera), or a URL. You can force a link to another node and add tags to help organise things overall. Most Scratches die where they fell. That's the job. Stepping up from a Scratch is a Basis. A Basis is an idea that might be applied to a given problem. It demands a claim and a defence. All knowledge types above a Scratch get a belief slider I set, and a relevance score that the machine contributes to over time. These help prioritise things overall. The next evolution of thought is a Hypothesis. Which, as Buddy the T.Rex was so fond of saying, is an idea you can test. A Hypothesis demands an if-this-then framing, articulating what would happen if it were true, and offers a link back to a Basis. Finally, after an idea tests true, there's a Solve. A Solve offers different ways to articulate the belief in the idea, the reasoning behind it, and the potential for it to become. It's the basis of what gets provided to a client. Usually festooned with versioned deck artefacts. There are waaaaay more Scratches than Solves, and frankly most ideas deserve that ratio. Up until now, that would have been a very specific way to arrange information in a way that only makes sense to the conspiracy theorist muttering and tying knots in frayed red wool. But now, the voices in my head are real. Or at least can be programmed to supplement and shape the work I do. I speak of agents. The MCP is the toolbox. It's how the model gets to use what you've built, and more importantly, it's where you decide what it's allowed to break. Broad capabilities to read. Narrow and specific ways to write. The same instinct as the pending queue, one floor up. So the MCP becomes the UI. Structured pages and tidy little forms give way to natural language queries through Claude. I don't open a contact card. I ask. Show me the trusted path to Sue's portfolio. Promote that Scratch to a Basis. The graph answers because the tools were built to let it. I stop clicking around my own software like a customer. Scout is a signal agent and a gossip with judgement. She looks for media mentions, audience-level conversations, and cultural trends that support the nodes on the thinking surface. Her tools are structured searches across the channels where signal actually lives. Trade press, audience-level conversation, research feeds, the places that don't get scraped well by general search. She keeps an eye on my NBD and dream clients as part of this, the way a good assistant remembers a name you forgot to write down. Her work attaches as a Scratch and can be promoted to a Basis by a human. She learns what gets promoted over time, and she has feelings about it. Librarian is an Orangutan. Terry Pratchett knows why. He looks backwards rather than forwards. He goes deep into what already exists. Academic work, archives, the dusty corners of established research, the things that would take me a week to find on my own. He takes his time. He comes back with provenance and the faint sense that you should have known this already. Scout finds what's emerging. Librarian finds what's already known. Ook. Tester hunts for proof against a specific Hypothesis. Where Librarian retrieves what's known, Tester decides whether any of it actually supports the claim on the table. He's reluctant. He'd rather not commit. He writes as a Basis when the evidence holds, and flags the Hypothesis as unsupported when it doesn't, which happens more than I'd like. Assassin approaches things differently. He stalks Solves, Hypotheses, and Bases. A student of the philosophy of criticism. Annoying to argue with and hard to get around. He won't attack work he thinks is good, which is more annoying than attacking everything, because it means when he does come for you, he means it. He writes as a Scratch flagged as anti to any other knowledge object. I run all of these as routines in Claude Code to avoid API agent costs. All of them are tweaked for small-volume quality over high-volume noise. All machine input carries a confidence score that sets it apart from human input. The agents cluster toward my focus rather than drifting outward, which is the only way I've found to stop a system like this from quietly turning into everyone else's system. ## The Same Spine This isn't really a story about software. It's the same argument Plan B has made before, pointed in a new direction. [Brand Sentinel](/writing/brand-inside-the-machine) was about encoding brand judgement into AI systems, so good decisions travel with the tools rather than trailing behind them in a PDF nobody opens. Operator does the same thing one floor down. It holds how a firm actually knows what it knows. The relationships, the reasoning, the evidence, the doubt, the orangutan in the back office. So none of it evaporates the moment I leave the room. Plan B builds judgement into systems. It doesn't leave it in people's heads and hope. ## The Room If you chair a board or run a portfolio, you don't care that a strategist writes code on weekends. Fair enough. Here's what's in the room. The wall isn't a wall yet, it's a screen, but the principle holds. The companies are on it. The people who run them. The leadership change that fired last week, and the path through it, and the reason that path exists. Scout is in the corner. Librarian is somewhere in the stacks. Assassin is annoyed about something. The wool is labelled and the labels mean something. Nothing important commits without me agreeing it should. That's me, an empty room, and 85 miles of red wool.