Hey! I'm Your Task Manager.

I have a few tasks lined up for you.
Some easy, some tricky. Let's see how you handle them.
Just follow my instructions and answer when I ask.

Fair warning: I can be a bit... strict.
Don't overthink it. Ready?
task-manager — session active

Wait. What just happened?

0
Tasks You Executed
0
Correct Answers
0
Times Stuck in Loop
0s
Total Time

That "task manager" was a program. You were its CPU.

There was no intelligence on the other side. Just a simple script with loops and conditions. It decided what to ask and in what order. You provided all the thinking.

When you got something wrong, the program refused to continue. It trapped you in a loop. You couldn't skip ahead, couldn't argue, couldn't negotiate. A few lines of code controlled a human brain — deciding when it was satisfied with your output.

Here's the entire "task manager" that just bossed you around

That's it. A while loop and a few CC() calls. This controlled you for .

Now replace "you" with an AI. That's CVM.

Cognitive Virtual Machine does exactly what you just experienced, but with an AI as the CPU. A program defines the workflow — implement this feature, run the tests, fix if broken, commit, next task. The AI provides all the intelligence. The program provides all the discipline.

Every CC() call is a moment where the program stops and waits — forever if needed — for the AI to do its job. Just like it waited for you. The AI can't skip tests (no-escape loop), can't drift from the plan, and the human user can step in between any task to discuss or redirect.

This inverts decades of programming. Normally, programs execute logic and call AI as a tool. In CVM, the program orchestrates the AI. We searched every AI framework — LangGraph, DSPy, ControlFlow, Azure Durable Functions, OpenAI Agent Runtime — nothing else works this way.

Why It Matters

When an AI runs inside CVM, it can't skip tests (no-escape loops), can't drift from the plan (mandatory back-references), and the user can intervene between any step. The program imposes structure and discipline on an AI that would otherwise just freestyle. It's how you get reliable, auditable, plan-driven AI execution.

Get Started in 2 Minutes

1. Add CVM to Claude's MCP settings:

{ "mcpServers": { "cvm": { "command": "npx", "args": ["cvm-server@latest"] } } }

2. Write a program (save as my-task.ts):

function main() { var files = fs.listFiles("./docs"); var summaries = []; for (const file of files) { var content = CC("Read and summarize: " + file); summaries.push({ filename: file, summary: content }); } var report = CC("Create report from: " + JSON.stringify(summaries)); return report; }

3. Tell Claude: "Run my-task.ts with CVM"

That's it. No API keys, no SDK, no build step. CVM runs as an MCP server — Claude handles the rest. If it crashes on file 500 of 1000, the first 499 summaries are safely stored. Just restart.

You couldn't have understood this by reading a README.
You had to be the CPU to get it.

github.com/LadislavSopko/cvm
Read the full research: CVM vs LangGraph vs Claude Code →