✦ A progressive-disclosure explainer

Hapimatic Explained

Run your AI agents as a managed fleet, so one engineer's intent becomes many coordinated streams of verified work.

This page is a progressive-disclosure explainer. It starts with one sentence, and every idea on it opens into the ideas beneath it, level by level, as far as you choose to go. Hapimatic is a meta-harness: a layer above the AI coding tools you already use that turns their one-at-a-time sessions into a coordinated, durable, verifiable fleet. Everything below is one of seven ideas. Each one is an abstraction, and each opens into the more specific ideas it stands for.

What this page covers, in order

Every section below answers one question, and the questions build on each other. How much more can one engineer get done? That is the result. What is Hapimatic, exactly? A layer above the harness, on your own subscriptions. Who manages a hundred sessions? The Project Manager. How does it know what to do, and why would you trust it? The behavioral system: skills, hooks, memory. Where does the work live when a session dies? The work surface, GitHub issues run as a state machine. How does any of this reach a circuit board? By closing the loop on the bench. Why does it get better? Because every mistake becomes a guardrail and every guardrail becomes a fix.

Seven questions, seven sections. The mint chips in each one open the machinery underneath.

A phrase like a worktree per session hides machinery. Click it and a panel opens the ideas beneath it; the article stays put.

PrimerWhy this is not a chatbot, and not a personal agent either

The agents in the news, Muse, Dots, Grokbot, and their kind, have taught the public what an "agent" is: you ask it to do something, it goes and does it, and it comes back. Book me a room. Reorder the filters. Draft the reply. That is real, and it is useful, and it is the picture most people have in their heads when I say "agentic."

It is also a fundamentally different shape of problem from engineering work, and the difference is structural, not a matter of polish. A personal agent is designed around one person, one conversation, one errand, and no state that needs to outlive the errand. Engineering work is many pieces of work, in flight at once, over days or weeks, that must be traceable, reviewable, and resumable by someone other than the person who started them. You can make a personal agent very good and it will still be the wrong shape.

Three analogies, because each one catches a different part of the gap.

The smart new hire

An AI model without a framework around it is like a brilliant new hire. You can hand it a complicated task and it will do impressive work. Then tomorrow is its first day again. It does not remember your conventions, your repository, the three things it learned yesterday about your build, or the mistake it made last week. A framework is what : someone who does not start fresh every day, who follows the same procedures as everyone else, and whose work is recorded where the rest of the team can find it.

The spreadsheet and the database

I can draw a spreadsheet on a piece of paper. Rows, columns, totals in pen. It is a spreadsheet in every meaningful sense. It is also nothing like Google Sheets, and Google Sheets is nothing like a database. Each step up is not a nicer version of the same thing. It is a different category of object with properties the one below cannot have: formulas that recompute, many people editing at once, constraints that reject bad data, a history you can query.

"I taught my chatbot to run a test" is the hand-drawn spreadsheet. It works, for you, once. A meta-harness is the database: the thing that makes the same operation repeatable, concurrent, constrained, and traceable, for everyone, every time.

The ticketing system

Here is the objection I hear most, and it is a fair one. "We handle our work fine. Requests come in by email, each one gets a number, it goes in a spreadsheet, somebody picks it up." Every small company has run exactly that system, and it works right up until it does not. It is extremely hard to explain to that company why they should pay for a purpose-built ticketing system when free boards and spreadsheets exist. And yet the ticketing-system companies are enormous, because at some scale the question stops being "can we track this?" and becomes "can we operate at a level we could not reach before?" Routing, escalation, service levels, audit trails, and a hundred people working the same queue without stepping on each other.

Hapimatic is the purpose-built system. A chatbot with a long memory is the email inbox with a numbering scheme. Both "work." They are not the same category of thing, and the gap shows up precisely when you try to scale.

What the gap looks like in practice

A chatbot or personal agentA meta-harness
The unit of workA message in a conversationA GitHub issue with a state, a plan, and evidence
Who is on the loopYou, driving every stepA manager agent drives; you supervise and decide
Where the work livesIn the chat log, as long as the tab is openOn a durable work surface that outlives any session
How many at onceOne, or a few you babysitAs many as the machines can hold, coordinated
What "done" meansThe agent says soA test, a review, or a measurement says so, and the proof is attached
What happens when it goes wrongYou notice, eventuallyA guardrail blocks it, logs it, and the failure becomes a fix
The physical worldOut of reachInstruments, cameras, and boards are first-class senses and hands

Every row of that table is a thing I had to build because the bare tool did not have it. The rest of this piece walks down through the layers that provide them.


PrimerA short vocabulary, so the layers make sense

This is the part people usually skip and then get lost without. Six terms, each with the analogy I use when I explain it out loud.

Model, harness, meta-harness. The model is the AI itself (Claude, for example). A harness is the application that lets the model act: read files, run commands, edit code. Claude Code is a harness; so are Codex, Gemini CLI, and OpenCode. A meta-harness . It does not replace the harness. It launches it, keeps it alive, gives it a durable place to work, lets many copies of it coordinate, and puts the whole thing on your phone. Hapimatic is a meta-harness. That is why it can run several harnesses side by side, each on your own subscription accounts, each under that account's own limits and terms.

Session and agent: the car and the driver. A session is the container: a persistent, resumable working context with a directory, a history, and a transcript. An agent is the active execution inside it, the thing reading your instructions and doing work. The session is the car; the agent is the driver.

The distinction matters because a car with no driver is still valuable. When I disconnect from a session, it does not vanish. I can reopen it next week. I can tell a different agent, "go read what we decided in that session and bring it back." The car is parked, but it is full of context. The driver, on the other hand, only exists while driving. When the session goes idle, there is no agent, just a set of instructions and a container waiting for the next one. People sometimes call their saved instructions an "agent." To me, those are the driver's directions. The agent is the act of driving.

Skill: a function written in natural language. Most people think a skill is a saved prompt you paste in repeatedly. A skill is a text file, but the right mental model is a function in ordinary code. A prompt is one instruction, said once. A skill is a reusable procedure with parameters. My email-writing skill takes a tone (pick from a list, or describe a new one), a length, and a pointer to the raw notes it should work from, and it produces the email the same way every time, with enough room in the parameters that it is not a form letter.

The sophistication is in the generalization. Make a skill too narrow and you have a macro. Make it so broad that every invocation is completely different and you have built an "omni-skill" that does nothing well. The craft is finding the sweet spot where a frequently needed procedure is specific enough to be nearly deterministic and general enough to be worth reusing. And skills compose. I did not sit down one day and write a Project Manager skill. I wrote a skill to format an issue. Then one to research it. Then one for each stage of the workflow. Then one that runs the whole workflow. The Project Manager sits at the top of that stack and calls the primitives below it as the job requires.

Hook: the bumper in bumper bowling. If a skill is what you want the model to do, a hook is what you want it not to do. This is the brave new world of non-deterministic programming: you give the model a procedure and it will usually follow it, but sometimes, at some fork, it makes a different choice than you intended and the output comes back wrong. When you ask why, there is always a reason ("you said this, and that, so I did the other"). It is usually even logical. It is just a combination it had never faced before.

A hook is a small, deterministic piece of code that fires on a specific event and can block the action. It is the bumper that keeps the ball in the lane. The craft here is generalization again: a well-written hook catches a class of going-off-the-rails, not one incident. If you write hooks badly you need thousands of them. One omni-hook is impossible; ten thousand is unmanageable; somewhere in between is a system you can trust. Hooks are the bridge between deterministic code and a model that is not.

Issue, epic, milestone, board. A GitHub issue is one unit of work. An epic is a parent issue that collects and orders sub-issues toward a larger goal; within one repository GitHub tracks that as a milestone, and across repositories as a project board. The terminology is loose and varies by platform; what matters is the hierarchy. A small goal is an issue. A big goal is . The Project Manager consumes an epic set as its instructions.

Worktree. A Git feature that lets several working copies of one repository coexist on one machine, each on its own branch. It is what lets five sessions work five issues in the same codebase at the same time without colliding. In Hapimatic a new session on a repository is a new worktree by default. You do not set it up; it is simply how a session starts.


TermWhat it isThe analogy
ModelThe AI (Claude, for example)The engine
HarnessThe app that lets the model act on files and commands (Claude Code, Codex, Gemini CLI, OpenCode)The drivetrain
Meta-harnessThe layer above the harness: persistence, fleet, coordination, phone appThe car, the road, and the traffic management
SessionA persistent, resumable working container with its own historyThe car, parked or moving
AgentThe active execution inside a sessionThe driver; gone when the car is parked
SkillA reusable, parameterized procedure in natural languageA function
HookA deterministic guardrail that fires on an event and can block itThe bumper in bumper bowling
IssueOne unit of work, with its state, plan, and evidenceThe ticket
Epic / milestone / boardA goal made of ordered issues, in one repo or across severalThe project plan
WorktreeA separate working copy of a repo on the same machineA lane
Peer sessionA full, visible, independent session another session spawnedA colleague, not a subordinate
Project ManagerA session given the role of running the fleet from an epicThe traffic management center
Work surfaceGitHub issues as the durable, shared recordThe archive room
Closing the loopFeeding results, including measurements, back into the next iterationThe thermostat
01

The result: beyond 10x

An engineer gets far more done than they can personally manage: the jump from one AI session to a hundred coordinated ones.

Chart of throughput per unit of human attention against the number of parallel sessions: five rungs, from one session with one human to sessions federated across machines, with the human-attention ceiling broken at the Project Manager
Throughput compounds across the five rungs; the human-attention ceiling breaks at the Project Manager (a conceptual model, not a measurement)

Here is the mental ladder I climbed, and I think most engineering teams are somewhere on it right now.

You start with one AI coding session. You type, it works, you review. If you are good at it, that one session makes you noticeably faster. Call it the first rung.

Then you notice that the session spends most of its time working while you wait, so you open a second one on a different task. Then a third. A disciplined engineer can keep three or four going. This is where most power users are today, and it feels like a superpower. Call it rung two.

Now do the arithmetic the way a manager would. If one engineer with one session is more productive, and one engineer with four sessions is more productive still, then four engineers each running four sessions is great. What if ?

That is not a hypothetical. As I write this, my Hapimatic session list holds more than a hundred and fifty sessions. Not all of them are active at once, but they are all there: parked, resumable, each one a container for a piece of work that I or an agent can reactivate. The question is no longer "can the AI do the work?" It is "who is managing a hundred concurrent streams of work?" Because a person cannot. You physically cannot hop between a hundred terminals, remember where each one is, notice which one has stalled, and answer the three that need a decision, all while doing your actual job.

The vendors have noticed the problem too. Sessions can now message each other in the mainstream harnesses, which is genuinely useful. But look at what that does and does not solve. Two sessions talking to each other is still two sessions, and you are still the one deciding who talks to whom, about what, and when. The coordination has not gone anywhere. It is still in your head.

The leverage of AI in engineering is not that it types faster than you. It is that your attention, the scarce resource, can be spread across far more parallel work than you could attend to directly. That only happens if something above the sessions is doing the attending. That something is the meta-harness, and the agent that drives it is the Project Manager.

So here is the one-line pitch, and the rest of the piece is the argument for it: if AI is supposed to raise your engineering output many times over, you need a layer that manages that growth, or the growth stops at the number of plates one person can spin.


Open the ideas beneath this section

02

What it is: a layer above the harness

A layer above the AI coding tools you already use, on the subscriptions you already pay for, that turns one-at-a-time sessions into a fleet.

A fleet of machines you own and hosted VMs, connected in one session list
A fleet, not a box: machines you own and VMs, one session list

Now the layers. I will go from the top, where you interact with the system, to the bottom, where it touches the bench, because that is the order in which the value becomes visible.

Underneath the behavioral system is the open-source Hapimatic core: the session layer that makes everything above it possible. Its job is to provide enough lanes, and to make sure a lane never disappears while work is in it.

  • . Server restarts, harness upgrades, crashes, reboots, API outages, and rate limits do not end a session. Park work for weeks, come back on a different account, and pick up where you left off.
  • A fleet, not a box. : see it, message it, spawn it, on any machine you own or any VM you run. Cluster as many machines as you want and the sessions on all of them appear in one list.
  • One app on every device. The same interface on your phone, tablet, and desktop, with every tool call visible and a push notification when an agent needs a yes.
  • Parallel work without collisions. , so several agents work the same repository on the same machine at the same time.
  • Scheduling. Recurring prompts inside a session, and scheduled events that start sessions on their own, with the controls a real scheduler needs.
  • Every transcript, searchable forever. The complete record of every session stays on your node, recoverable by you or by any agent.

None of these is exotic on its own, and several other tools do some of them. The point is that the layers above need all of them at once. You cannot run a Project Manager over sessions that evaporate, or coordinate a fleet that only exists on one laptop, or let a hundred sessions share a codebase without worktrees. The session layer is the floor the rest of the building stands on.

4.6 The engine: your harness, your subscription

At the bottom is the model, reached through the harness you already use. Hapimatic and does not sit between you and the model provider; each session runs the harness as your own process, signed in to your own account through the provider's own flow. Harnesses supported at launch are Claude Code, Codex, Gemini CLI, and OpenCode; the status of each is on the install page.

This is also why the model is swappable. The behavioral system is written in natural language against a harness, not against a model. When a better engine ships, it drops into the same car.


Open the ideas beneath this section

03

The key piece: the Project Manager Paid add-on

An agent that runs the fleet: it takes a goal, spawns one session per piece of work, watches them, and brings you only the decisions that are yours.

A paid add-on of the hosted service. It is not part of the open-source core.

you project manager decisions sessionissue 1sessionissue 2sessionissue 3sessionissue 4 your PCa cloud VM
One manager, many peers

Under Hapimatic, the engineer's job changes shape. You are at the front end, saying what you want: a feature, a fix, a bring-up, a review. You say it in plain language, by voice if you like, and the system turns it into issues, and issues into epics. Then you are at the back end, verifying what came out. I do not take the system's word for it. If it tells me the firmware works now, I want to see the measurement before anything ships to a client.

Everything between those two ends is where the system runs without you in the critical path. This is what people mean by "human on the loop" rather than "in the loop." You are not approving every step; you are stating intent and confirming results, and the layer below is responsible for everything in between.

4.2 The Project Manager: the layer that makes scale manageable

The Project Manager is an ordinary session that has been given a role. The role is a skill, a few hundred lines of instructions for how to run a fleet, and the capabilities it needs are the same ones every session has: it can list other sessions, spawn new ones, send them messages, read their state, and shut them down. Give those capabilities a role and a manager falls out.

. You hand the PM an epic (or a milestone, a board, or just a list of issues) and walk away. It reads the plan, works out which issues depend on which, and which are safe to run in parallel. It spawns one peer session per issue, each in its own worktree, on whatever machine in your fleet has room. Each session takes its issue through the same workflow: formatted, researched, implemented, tested, closed. The PM : what moved, what stalled, what needs a decision. It unblocks what it can. When something needs your judgment (a research plan that is not confident enough, a risk threshold, a question only you can answer), it , in its own session, with the context to answer in one reply, and pings your phone so you know.

Two things about the PM are easy to miss.

First, it stands on the shoulders of everything below it. I could not have written a project-manager skill for a bare coding harness. The PM needs a substrate: sessions that survive, an API to spawn and steer them, worktrees that keep them from colliding, a database of what each session is working on, and a durable record to read their progress from. The PM is the keystone, but it is the keystone of an arch that had to exist first.

Second, it is the thing that moves you from rung two to rung four. Without it, you are the one orchestrating. You are back to four sessions and a lot of tab-switching. With it, the number of sessions is bounded by machines, not by your attention.

The high-water mark, measured rather than estimated: the Project Manager that is running Hapimatic's own productization program started on October 3, 2026 and was still running as this was written on October 29, 2026. In those 26 days it accumulated 164 hours of agent time across 8,727 messages in its own session, spawned 72 peer sessions directly, and drove its program board to 389 of 520 items done, while the repository merged 559 pull requests and shipped 474 releases. Every one of those figures is read from the system with a command that anyone with access can rerun, and they will keep moving until the board is complete.

Open the ideas beneath this section

04

How it knows what to do: the behavioral system

The accumulated procedures and guardrails that make the fleet act well: skills, hooks, memory, and tools, built up over two years.

A manager is only as good as its procedures. The behavioral system is the accumulated set of skills and hooks that turn "do the right thing" into something repeatable. I have been building it since early 2025, and it has three parts.

Skills, in a hierarchy. At the bottom are primitives: format an issue, research it, write the plan, implement it, test it, review the pull request, merge, close. Above those are composites: run the whole issue workflow, triage a backlog for parallel-safe work, sweep a repository and format every new issue. At the top is the PM, which calls whatever primitives the job needs. There are at the moment, and each one has been rewritten more times than I can count, because every time one of them failed in a new way, it got better.

Hooks, as guardrails. Around . Each exists because the model once did something I did not want: pushed to the wrong branch, claimed a test passed without running it, skipped a verification step, declared a board safe to power without reading the schematic. Each of those became a mechanical block. That last one is worth dwelling on: the agent once called a bench setup safe without checking the drawing, so now a rule blocks any power-up advice that does not cite the schematic trace. The rule came from its own mistake.

The workflow state machine. Every issue moves through fixed stages, and each stage applies a permanent checkpoint label on the issue itself: formatted, researched, implemented, tested, closed. . A lock label prevents two sessions from working the same issue at once. and, below a threshold, runs more research or kicks the issue back to a person. Low-risk, well-understood issues flow through without approval; anything risky, complex, or uncertain pauses at a gate you chose.

The workflow defines structure, not content. A word processor does not tell you what to write; it gives you a page, paragraphs, headings, and a way to track changes. The issue workflow is the same. It does not care whether the issue is a firmware bug, a website change, or a schematic review. It cares that the work moves through the same stages, leaves the same evidence, and lands in the same place.

Trust comes from the combination. You cannot prove mathematically that a given set of skills and hooks can never go out of bounds. What you can do is run the system thousands of times, catch every excursion, and turn each one into a hook or a better skill. Confidence is earned by use, and it compounds. More on that in section 6.

Open the ideas beneath this section

05

Where the work lives: the work surface Paid add-on

Every unit of work is a GitHub issue carrying its state, plan, and evidence, moved through a state machine that only advances; the issue outlives any session.

A paid add-on of the hosted service. It is not part of the open-source core.

✅ checkpoint: ✨ created issue-creatora sentence becomes an issue ✅ checkpoint: 📊 formatted issue-formatterrequirements, criteria, risk ✅ checkpoint: 📝 researched issue-researcherthe plan and its confidence ✅ checkpoint: 🧠 expert-reviewed issue-expert-revieweroptional: an expert checks it ✅ checkpoint: 🔨 worked issue-workerimplemented in its own worktree ✅ checkpoint: 🧪 tested issue-testerverified as a user would use it ✅ checkpoint: 👁️ refactor-reflected issue-refactor-reflectorfresh eyes, then your approval ✅ checkpoint: ☑️ closed issue-closerreviewed, merged, summarised Open Session list forgets expandedprojects on reload #128 📋 Overview labels on the issue
An issue moves through the workflow's labels

This is the layer that most changes how you think about AI work, and it is almost invisible once you are used to it.

In a chatbot, the work lives in the conversation. Close the tab, lose the context, hit a rate limit, or let the model's own context window fill and compact, and some of that work is gone. In Hapimatic, the work lives on the GitHub issue. The original request, the structured version of it, the research and the implementation plan, the commits, the test results and screenshots, the review, and the closing summary are all attached to the issue as it moves. The session is disposable. The issue is not.

Three consequences.

It is a safety net. A session can crash, a machine can reboot, an API can go down, and nothing is lost. The next session reads the issue, sees exactly which stage it reached, and continues.

It is connective tissue. Session one and session two are working the same repository. They do not need to talk to each other directly. They read and write the same issues, the same labels, the same branches. The work surface is how a hundred sessions coordinate without a hundred conversations.

It is an audit trail. Six months from now, "when did we change that behavior, and why?" is a search. Find the issue; the full record is there. Anyone with access to the repository, including a client, can see what is being worked and in what state, without asking.

If you already work in Git, you already have the substrate. The Issue Workflow seeds into an existing repository with its existing issues; there is no migration.

Open the ideas beneath this section

06

Why it reaches the bench: closing the loop on hardware Paid add-on

The test-and-iterate loop extends onto the workbench: the agent sees the board, drives the instruments, flashes the firmware, and a bug is not fixed until a measurement says so.

A paid add-on of the hosted service. It is not part of the open-source core.

oscilloscope 3.30 V0.12 A power supply camera MCU pcb dut session
A session at the bench

Everything above applies to any software work. This section is why Hapimatic exists in a hardware consultancy, and it is the capability I have not seen anywhere else.

The hardest part of applying AI to hardware is that the result of the work is physical. The firmware either makes the LED blink or it does not. The regulator either holds the rail or it does not. If the agent cannot see the LED and cannot measure the rail, then a person has to look, read the number, and type it back into the chat, and the person is the bottleneck again. Worse, the agent is reasoning from the schematic alone, telling you what should be happening rather than what is.

So the test-and-iterate stage of the workflow extends onto the bench. A camera over the workbench lets an agent look before it concludes: is the board powered, did the display update, is the LED flashing? Instruments in reach let it measure: capture the rail at power-up on the oscilloscope, profile the sleep current, load the output. A debug probe lets it flash the board. The loop is , measure again, and keep going around until the readings say the bug is gone. The rule I hold the system to: a bug is not fixed until it is explained and proven by a measurement, and the before-and-after captures are attached to the issue for you to check.

Two cases from the talk I gave at Drexel this month, both anonymized.

A cellular wearable sensor arrived abandoned, with a battery gauge that said it would last about a day. The agent drove the power profiler itself: flash one firmware level, unplug the debugger, measure, repeat. Every level sat on the same sleep floor. The gauge was wrong; it had never been told the battery's size, and one default assumed a sleep current a hundred times the real one. The measured average worked out to about nine days of runtime, not one. It went from not working to working in the field.

A battery-powered audio device drew 138 milliamps while it was supposed to be asleep. The agent wrote the deep-sleep firmware and the state machine on a new microcontroller; I measured on the profiler. The result was 1.2 milliamps asleep.

Teaching it a new instrument

Here is the part that makes this a framework rather than a trick. Anyone can sit down and teach a coding assistant to drive one logic analyzer. The question is what happens when you also want the oscilloscope, the electronic load, the power profiler, and the camera, and you want them to work in concert, and you want the system to remember that it knows how, so that next time you do not have to say "use the oscilloscope skill."

Hapimatic has a procedure for learning an instrument. Give it the model number, or the manual, or the vendor's page. It finds the drivers, or writes them. It works out the communication protocol. It talks to the instrument, tests that it can control it, validates every method against the real hardware, and then catalogs the instrument as a capability it has. The analogy I use, at the risk of sounding unprofessional, is the scene in The Matrix where they plug the cable into the back of Neo's head and a moment later he says, "I know kung fu." Say and a while later the system is an expert in it, permanently.

From then on, the tool selection is automatic. When an issue points at a power problem, the system knows the power profiler is the right instrument, knows it knows how to use it, and asks you to set it up. That is the difference between a one-off integration and a framework: the capability is cataloged, composable, and reached for from context.

Safety, briefly

The functionality is what engineers ask about. The safety is what the people who approve budgets ask about, and rightly: how do I know this thing will not blow up my lab? The short answer is that and changing the physical world is gated. The agent can read a camera or a meter whenever it likes. Switching on a supply, changing wiring, or energizing a board waits for a person, and a power-up recommendation that does not cite the schematic is blocked by a hook before it reaches you. The gates are in the path, not in the prompt.


Open the ideas beneath this section

07

Why it gets better: the loop that runs on itself

The methodology hardens through use: every mistake becomes a guardrail, and every repeated guardrail becomes an upstream fix.

One more property, and it is the one I would point to if someone asked what makes this system different in kind rather than in degree.

The methodology , mechanically. Regulated industries call the pattern CAPA, corrective and preventive action, and it is the same shape here.

  1. A mistake happens, and a hook is added. The model does something wrong. The incident is logged, and a hook is written that blocks that specific action. That is the corrective action.
  2. The hook keeps firing, so the cause is fixed upstream. If the same hook catches the same thing across many sessions, the problem is structural: a skill is ambiguous, two instructions contradict, a template produces the wrong frame. The root cause is fixed. That is the preventive action, and it is the more important of the two.
  3. The hook stops firing, and it retires. Once the upstream fix holds, the hook's firing rate drops to zero and it is deleted. The system has hardened against a class of failure, permanently, and the attention that used to go to that class is free for the next, more abstract one.

The behavioral system is itself a Git repository, and it is processed by its own workflow. When a skill needs refinement, I file an issue against it, and the same formatted-researched-implemented-tested-closed pipeline that processes client work processes the methodology. The system uses itself to improve itself. When it trips over an edge case, it files the bug.

It trips often. As of October 11, 2026, the project's own repository had 1,012 issues labeled as bugs, 735 of them closed. I say that as a point of pride, not an admission: every one of those is a failure mode that was caught, recorded, and turned into a fix, in the record, where you can read it. A system that never files a bug against itself is not a system that never fails. It is a system that does not notice.


Open the ideas beneath this section

You might. I want to be honest about where the line is, because the value of a meta-harness is easy to describe in a way that sounds like hand-waving ("more control," "more scale") and I would rather give you the test.

Where a chatbot or a personal agent is the right tool. One person, one task, one sitting. A small, fast, targeted fix. Anything where you would rather watch every step than set up a process. Hapimatic is not nimble for that; its workflow has overhead, and a single small issue can take longer through the pipeline than it would by hand. For a five-minute fix, do the five-minute fix.

Where you have crossed into needing a meta-harness. Any of the following, and especially several at once.

  • The number of concurrent pieces of work exceeds what one head can hold, so you are spending your day switching contexts and losing track.
  • The work must survive the person. Someone else, or a later session, has to be able to pick it up, and the record of what was done has to exist whether or not the chat still does.
  • The work has to be reviewable and traceable, by a client, a manager, or a regulator, with evidence attached rather than a transcript to scroll.
  • "Done" has to mean something stronger than the model saying so: a test, a review gate, a measurement.
  • The work touches the physical world, and you are tired of being the sensor.

That is the ticketing-system moment. It is not that the spreadsheet stopped working. It is that you started trying to do something the spreadsheet was never the right shape for.

What Hapimatic is not, today. It is one operator per instance; multi-user roles are in progress. The agent sandbox exists but ships switched off, so I will not claim it protects you unless it is on. The breadth-first products have more harness adapters, and two of the supported harnesses do not yet persist through a restart of the background service. It is the system one engineer built to run his own shop, and it has run that shop every day since December 2025. That is both its credential and its limitation.


Hapimatic's core is free and open source under AGPL-3.0: the command line, the session server, and the web app, everything you need to build it and run it on a Linux machine you own. The three things this piece spent most of its time on, the Issue Workflow, the Project Manager, and the Hardware Bench, are paid add-ons of the hosted service, which is in pilot. Nothing paid is required to run the core.

We run two fronts at Solid Product Design. Hapimatic is the research lab: the place where the theory, the architecture, and the brave-new-world problems of non-deterministic programming get worked out in the open. SPD is where that gets applied to real client hardware, fast, with the measurements to prove it. If you are an engineering leader being pitched agents and wondering why none of it seems to fit the way your team actually works, the answer is usually that you are being offered the hand-drawn spreadsheet. The database is a different thing, and this is what one looks like.

  • The code: Read the code
  • The site, the docs, and a tour of every screen: https://hapimatic.com
  • The talk this piece grew out of, with the bench work on video: Closing the Loop: Hardware Development with Advanced Agentic AI, https://youtu.be/FA4J1-CL8w4

The AI is the engine. The methodology, the guardrails, the durable record, the orchestration, and the loop that runs on itself are the car. A great engine in a car with no steering, no brakes, no transmission, and no map goes nowhere. The car is what I have been building.