Autensa (crshdn/mission-control): A Self-Hosted Pipeline That Turns Market Research Into Pull Requests
The world's first Autonomous Product Engine (APE): AI agents research your market, generate features, and ship code as PRs. Convoy mode, crash recovery, cost tracking, 80+ API endpoints. Self-hosted via OpenClaw Gateway.
At a glance
- What is it?
- Autensa is an MIT-licensed Next.js and TypeScript dashboard that runs a research-to-PR loop for a product you already own, dispatching work to agents through an OpenClaw Gateway. It is a serious self-hosted tool, but the setup surface (GitHub workflow permissions, repo readiness checks, a gateway you must run yourself) is where adoption actually gets decided.
- Who is it for?
- Adopt Autensa if you already run an OpenClaw Gateway, own a repository whose GitHub Actions you control, and want a queue of agent-generated PRs reviewed by a human rather than merged automatically. Do not adopt it if you want a hosted product, if you cannot grant workflow write permissions and add Actions secrets and variables, or if you expect the tool to choose your roadmap.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 71 days ago.
- What is it written in?
- Mainly TypeScript, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.
DEEP OPEN-SOURCE ANALYSIS
The problem Autensa targets: product work that stalls between an idea and a merged PR
Most teams do not lack ideas. They lack the throughput between an idea and a reviewable change. Autensa, the product built in the crshdn/mission-control repository, is aimed at that gap. The README describes a loop that runs "Research → Ideation → Swipe → Build → Test → Review → Pull Request" and claims products "improve themselves" while you sleep. The tagline is louder than the mechanics, but the mechanics are real enough to describe: the system researches a market, proposes features, lets a human swipe to accept or reject them, then dispatches accepted work to agents that produce pull requests against your repository.
The audience is narrow and worth stating plainly. This is not a tool for someone starting from nothing. It is for a team that already has a product, a GitHub repository, and an OpenClaw Gateway deployment, and wants an automated queue of candidate changes. The README's own recommendation to run it on a Hetzner VPS signals the deployment expectation: a persistent server, not a laptop. The v2.5.1 notes add a detail that matters more than the marketing copy: before agents create PR-bound work, Autensa now verifies that a repository is actually ready, checking authenticated git access, the default branch, GitHub API and PR metadata access, GitHub Actions status, workflow token permissions, and PR workflow secrets and variables. A project that ships a readiness gate is telling you where its users get stuck.
How the loop is wired: Next.js on the front, SQLite in the middle, an OpenClaw Gateway at the edge
The repository is TypeScript with Next.js 14 and SQLite 3, according to the badges in the README. That combination tells you a lot about the architecture without reading a line of code. SQLite means a single-node deployment with a local database file, not a horizontally scaled service. Next.js means the dashboard and the API surface live in the same application; the description mentions 80+ API endpoints, which is consistent with a server-side pipeline rather than a thin client.
The agent-side mechanism runs through OpenClaw. Release v2.5.0 introduced per-task sessions, and the changelog explains why: previously all tasks assigned to the same agent shared one conversation session, so context accumulated across tasks until the model's context window filled and the agent stalled. Dispatch now writes a `task_id` into the `openclaw_sessions` table and uses it for session lookup, session ID generation, and insert. That is a concrete data-flow change, and it is the kind of detail that distinguishes a working orchestration layer from a demo. Parallel tasks on the same agent now run independently.
A second mechanism arrived in v2.4.0: an agent skill creation loop. Agents extract reusable procedures from completed tasks, a Bayesian confidence score promotes proven skills, and matched skills are injected at dispatch as primary instructions. The README does not publish the scoring thresholds or how skills are retired, so treat the promotion logic as opaque until you read the source. The gateway sync itself runs on a 60-second cycle, which the v2.4.1 notes confirm when they describe preserving local agent role assignments instead of overwriting them on every sync.
Getting it running: gateway, environment variables, and the Repo Setup gate
The README points to a Quick Start and a Docker section rather than reproducing the commands in the body text supplied here, so the exact install invocation is not something I can quote. What the material does establish is the shape of the configuration. There is an OpenClaw Gateway the system talks to, and there is an `AUTOPILOT_MODEL` environment variable. The v2.4.1 release notes record a fix that removed a hardcoded model override in description generation so that the shared `AUTOPILOT_MODEL` config is respected. If you are deploying this, that variable is the one to set first, because it governs which model the autopilot path uses.
The same release fixed provider model routing: models now route through `openclaw/default` with the original model name carried in an `x-openclaw-model` header, which resolved 404 errors on some OpenClaw deployments. If your gateway is older or expects a different routing convention, that header is the first thing to check when requests fail.
The v2.5.1 Repo Setup tab is the other configuration surface. It verifies a repository before agents create PR-bound work, and when setup is blocked, the UI can set workflow token permissions to read/write, add missing Actions secrets, and add missing Actions variables. The README states that secret values are written directly to GitHub and are not stored in Autensa. That is a deliberate design choice and a reasonable one, but it means the dashboard is a write path into your repository settings, so the account running Autensa needs that authority. Private repo handling is also gated: product creation and settings validate authenticated git access, detect the remote default branch, and require user confirmation before Autopilot starts. The stated reason is to avoid `main` clone failures on repositories that use `master`.
Where Autensa breaks: context exhaustion, gateway format mismatches, and PR checks that are not yours to fix
The changelog is unusually honest about failure modes, which makes it a better source than the feature list. The per-task session fix in v2.5.0 exists because shared sessions filled the context window and stalled agents. That failure mode is structural: any orchestration layer that reuses a conversation across tasks will eventually hit it, and Autensa hit it in production before fixing it. If you run an older build, expect the same stall.
Agent ID validation is the second sharp edge. The v2.5.0 notes say the field now accepts both standard UUID format and 32-character hex identifiers from the OpenClaw gateway, because Zod's strict `.uuid()` check rejected gateway-format IDs and produced "Invalid UUID" errors when imported agents were assigned to tasks. If you are importing agents from a gateway that emits hex IDs, anything before v2.5.0 will refuse them.
The third limitation is the one the project can only partly solve. The PR checks recovery panel classifies failed checks as retryable, repo setup, or external provider failures, and can rerun failed GitHub Actions jobs or rerequest external checks where GitHub supports it. Note the qualifier. When a failure lives with an external provider, Autensa can classify it and not much else. The tool sits on top of GitHub and a gateway; it does not own either. If your CI depends on a third-party check that is down, the recovery panel will tell you so and stop there.
Finally, the product is self-hosted and single-node by construction. SQLite and a Next.js app on a VPS is a fine shape for one team. It is the wrong shape if you need multi-tenant isolation, horizontal scaling, or a managed control plane.
What it is not: the difference between Autensa and a CI-driven agent
The obvious comparison is a GitHub Actions workflow that invokes a coding agent on labeled issues. The difference is where the decision loop lives. In an Actions-only setup, a human writes the issue, applies the label, and the agent codes it; the research and prioritization happen elsewhere, usually in someone's head. Autensa moves that earlier stage into the product: it runs research and ideation cycles, presents candidate features for a swipe decision, and only then dispatches build work. The v2.5.0 Status dropdown (Active or Paused) and the Archive action in the product settings modal exist precisely because those cycles run continuously and someone needs a switch to stop them.
A second difference is state. Actions is stateless per run, while Autensa keeps a SQLite database of products, tasks, sessions, and, since v2.4.0, learned skills with confidence scores. That persistence is what makes preference learning and skill injection possible. It is also what makes the deployment a server you maintain rather than a workflow file you commit.
A third difference is the human checkpoint. Both approaches end in a pull request, but Autensa's swipe step is an explicit gate between research and build. The README's pipeline names Review as a stage before Pull Request. If your team wants agents to open PRs without a research phase, Autensa is more machinery than the job requires.
Upgrade and maintenance cost, and what the MIT license actually covers
The release cadence visible in the material is roughly monthly across v2.4.0, v2.4.1, v2.5.0, and v2.5.1, with the last push in July 2026. Two of those releases are titled around bug fixes and community contributions, which suggests an active contributor base rather than a single-maintainer sprint. The v2.4.1 notes credit four separate contributors for fixes spanning model routing, environment variables, gateway sync, and task chat. That is a healthy sign for maintenance, but it also means upgrade notes matter: the gateway sync fix changed behavior so local role assignments survive the 60-second sync, and the model routing fix changed the request shape. If you pinned an older gateway integration, a version bump can move under you.
The license is MIT, per the repository metadata and the badge in the README. MIT permits commercial use, modification, and redistribution with the copyright notice and permission notice retained. It provides no warranty. That is the whole of what the license does here; it does not govern your relationship with OpenClaw, GitHub, or any model provider you route through `AUTOPILOT_MODEL`. Those are separate terms, and the README's Hetzner referral link is a commercial arrangement that has nothing to do with the code license. I am not giving legal advice, and if you are embedding this in a product you sell, the MIT text is short enough to read in full before you do.
Who should run this, and what to confirm before the first dispatch
The case for Autensa is specific: you have an existing product with a real repository, you already operate an OpenClaw Gateway, and you want a standing queue of research-backed feature PRs that a human reviews before merge. In that configuration, the Repo Setup tab and the PR checks recovery panel are the features that will save you the most time, because they encode the failure modes the maintainers have already seen.
The case against is equally specific. If you do not run a gateway, the setup cost starts before you reach the interesting part. If you cannot grant workflow token write permissions or add Actions secrets and variables to the repository, the readiness gate will block you and the UI's fix actions will not help. If you want agents merging without review, the pipeline's Review stage is in your way by design.
Three things to verify before you dispatch anything. First, confirm the agent IDs your gateway emits; if they are 32-character hex, you need v2.5.0 or later for assignment to work. Second, confirm the detected default branch for any private repo, because the preflight can use the detected branch and the whole point is to avoid a `main` clone failure on a `master` repository. Third, open the Repo Setup tab and read every check it reports before the first product is created, since that is where the project has concentrated its knowledge about what breaks.
Editorial conclusion
Adopt Autensa if you already run an OpenClaw Gateway, own a repository whose GitHub Actions you control, and want a queue of agent-generated PRs reviewed by a human rather than merged automatically. Do not adopt it if you want a hosted product, if you cannot grant workflow write permissions and add Actions secrets and variables, or if you expect the tool to choose your roadmap. Before installing, verify three things: that your gateway exposes agent IDs in the 32-character hex format the validation now accepts, that your default branch is detected correctly for private repos, and that you are willing to read the Repo Setup tab before dispatching anything.
Community notes