Software Factory for GitHub organisations

The Vulnetix software factory turns findings, issues and failing builds into verified pull requests

Software Factory is a continuous line for engineering work. Findings, issues, failing builds, pull requests and alerts go in. Each item passes a decision step, a crew of agents and deterministic quality gates, and a person approves the changes that matter. What comes out is a verified pull request, with the run trace, the decision rationale and the evidence that show how it was made.

Run it free on your machine Pix Sandbox from $85 a month Request a demo

Community includes one self-hosted Belai host. Run belai rc on your machine and the factory runs there.

Easy on the first call, and deeper every week after

On day one Software Factory does what you expect from a personal assistant and a factory: you call Pix, say what you want and approve what comes back. Keep using it and the plain-language front steps back. Behind it are years of work on the developer experience, with the customisation, autonomy and self-hosting you would expect from open source you run yourself.

For the people who answer for the outcome

Talk to Pix

Call Pix from the Resolve Platform or the installed app. It opens with what is running and what needs you, answers from your factory's own records, and reads every plan back before a plain yes starts it.

The problem: Agents work around the clock and nobody can watch them all day. You need to know what they did, and to stop them, without opening a dashboard.

What Pix does on a call

For the engineers who shape the work

Build with workflows

Start from one of 11 templates or build your own line: a trigger, crews of agents, decision steps, quality gates and the approvals you require, on a Pix Sandbox or a machine you host.

The problem: Findings, issues and failing builds arrive faster than people can work them, and scripts and one-off bots leave no record of who decided what.

Workflows and templates

  1. Ask and approve

    Day one. Ask what needs you, start a sweep of your repositories and approve the pull request that comes back. There is nothing to learn first, and nothing changes without your yes.

  2. The depth comes forward

    The first weeks. Shape your own workflows, read and edit what each agent remembers about a repository, set budgets per run and per repository, and raise the maximum autonomy one level at a time.

  3. Yours to run

    Months in. Run crews on machines you host with Belai, the Apache-2.0 harness, bring your own model keys, and keep every evidence file in open formats such as CycloneDX and OpenVEX that your team can take anywhere.

Nobody plans every use on the first day. Most of what the factory becomes for your team, you find by using it.

What the security team gets

The controls security teams have asked their tools for, for more than a decade, are part of the line: a hash-linked audit ledger, a quality gate and a release jail that are plain rules with no model in the loop, sandbox egress control, the Package and AI Firewalls on by default in every workflow, signed commits, SLSA levels per repository, and stops that reach from one session to the whole machine. Security and proof in full

Software Factory comes from a team whose roots are in open source intelligence, financial technology and government cyber defence, with more than two decades of real-time data and machine learning work behind it. That experience sits under the plain words, in how the factory reads your data and weighs each decision.

The building blocks, grouped by the problem each one solves

Software Factory is a set of parts that run as one line. Most teams start with a few and reach for the rest as they need them. Each block below says what it does and names the problem it removes.

Decide what is worth doing

GitHub cockpit

Lists the repositories in the GitHub organisations you choose to manage, through a standard GitHub App installation, with their scan state and the runs in flight.

The problem: The factory touches the organisations you chose and no others.

Event-driven triggers

Starts a run from a webhook event, a schedule, an issue label, a scanner finding or a board change.

The problem: A critical exploited finding should not wait for the next sprint.

Vulnetix scanners

Runs SCA, SAST, secrets, IaC, container, malware, licence and end-of-life scans as part of a run.

The problem: Work starts from evidence about what is broken.

Code scanner · SCA · SAST

System One decision nodes

Pick one outcome from a list you define, report a confidence, and take your chosen path below the confidence threshold or on an abstain.

The problem: An unsure answer from a model should reach a person before it reaches production.

Vulnetix AI

Do the work

Agent crews and the agent builder

31 built-in agents in 6 crews (security, feature, bug, delivery, maintenance and UI) take the cards that suit them, and the builder defines your own agents with handoff rules.

The problem: Specialists pick up the work, and a team can add its own.

Pix registry

Quick-start templates

Eleven ready workflows cover patching, bug fixes, features, dependency upkeep, malware and secret response, release provenance, triage and delivery sweeps.

The problem: A new team starts from a working workflow on one repository.

Outputs

Hand back a draft pull request, an issue comment, a VEX statement, a TEA release publish or a notification.

The problem: The result lands where the team already works.

Transparency Exchange

Safe Harbour moves

Safe Harbour opens pull requests that move an image to a hardened base and pin packages to clean versions, and Pix finds out why one fails its checks.

The problem: Starting from a hardened base leaves the crews less to patch.

Safe Harbour

Anywhere Belai is hosted

Runs every agent step, scan and test wherever Belai is hosted: a managed Pix Sandbox with controlled egress, or your own machine connected with belai rc.

The problem: The work runs on infrastructure you choose, managed by Vulnetix or kept on your own.

Pix Sandbox

Agents coordinate over A2A

Each session broadcasts the repository, branch, files and pull request it is working on, agents ask each other direct questions and keep a mailbox of what they heard, both sides of a conversation can read and record repository memory, and a memory page lets a person review, edit or clear what agents remember.

The problem: Two agents on the same repository stop duplicating work and opening conflicting pull requests.

Merge-conflict resolver

Hands a conflicting pull request to belai:conflict-resolver, which tries up to five sets of choices, tests each and pushes the first that passes.

The problem: A conflict stops holding up work that already passed review.

Prove it

Quality gates and the release jail

Plain rules with no model in the loop decide whether a change passes, returns to the crew or stops.

The problem: A confident model cannot talk its way past a rule.

Quality gate · Release jail

Trust and provenance

Reports a SLSA level for each repository, publishes to your TEA catalogue and keeps the Package Firewall and AI Firewall on.

The problem: The factory's own work meets the standard it enforces on yours.

Package Firewall · AI Firewall

Run traces

Keep each run's decisions with their rationale, the handoffs between agents and the evidence files.

The problem: A reviewer sees why a change was made before approving it.

Tamper-evident audit ledger

Chains every entry to the one before it, so the whole record can be verified.

The problem: An auditor can verify what ran.

Delivery estimates

Reports the outcomes, agent time, model spend and people time behind a range, with each figure marked measured, derived or assumed.

The problem: You see what the factory delivered and how each figure was reached.

Stay in control

Human approval

Pauses a run at a plan, a merge review or a publish review until a person you chose answers, and records who said what.

The problem: A change that matters waits for a person you chose.

Token budgets

Cap spend per run, step, workflow, day, month and repository, with an action at the limit: pause, downgrade, switch, ask a person, stop or alert.

The problem: Spend has a ceiling.

Autonomy limits and the kill switch

Set how far the factory goes on its own, from observe to approving a pull request that is ready, cap concurrent runs, stop after repeated failures, or stop everything with one switch, and an A2A blackout beside it stops agent messages crossing between hosts while each host keeps its own audit log.

The problem: You decide how far the factory goes without a person, and you can stop it at once.

Call Pix

Phone Pix, the factory coordinator, from the Resolve Platform or the installed app: ask how runs and sessions are going, start or stop a session on a Pix Sandbox or any other Belai host after Pix reads it back and you say yes, and answer an agent's question by voice.

The problem: You can steer the factory away from your desk, and nothing starts or stops on a model's word alone.

Checkpoint queue

Queues every approval, question, pull request, blocked card and unanswered outside issue in one list, with the head of it on the cockpit.

The problem: Work that waits on a person is in front of that person.

Avoid the work before a crew picks it up

Safe Harbour moves container images to hardened bases with a written migration plan, built from the SBOM, the Dockerfile CI builds and where the image runs, and pins packages to versions with no known vulnerability, exploit or malware report. Pix works on both sides of that change.

How Safe Harbour and Pix work together

One line from trigger to evidence

Every run follows the same line. Something happens, the run gathers context, scans, decides, works, passes the gates, waits for a person where you require one, hands back its output and writes down what it did. The three diamonds are the places where a run can branch, stop or wait.

  1. Trigger: Something happens. A run starts from an event, not from a person watching a dashboard. The trigger decides which repository and which workflow. Cron, Webhook, Issue label, Scanner finding, Kanban change.
  2. Context: The run gathers what it needs. Before it decides, the run collects the repository posture, the open issues and pull requests, and the findings so far. Repository posture, Open issues, Pull requests, Scan findings.
  3. Scan: Run the Vulnetix scanners. A scan node runs the same scanners as the CLI inside the sandbox and writes findings, an SBOM and SARIF. SCA, SAST, Secrets, IaC, Containers, Licences, Malware, End of life.
  4. Decide (switch): A System One model picks an outcome. A decision node returns one outcome from an enum you define, with a confidence. Below your threshold, or on abstain, it takes the action you chose. Classify, Gate (yes or no), Route to a crew, Score.
  5. Work: A crew does the job. An agent or crew edits code, writes tests and answers questions in the sandbox. Handoff rules pass work between agents. belai:security, belai:feature, belai:bug, belai:delivery, belai:ui.
  6. Gate (switch): Deterministic checks decide pass or stop. Gates are plain rules with no model in the loop. A failing gate returns the work to the crew, ends the run or asks a person. Quality gate, Release jail, Tests, Budget check.
  7. Approve (switch): A person says yes. Human approval pauses the run until an approver answers. The approver and the answer go into the trace. Plan approval, Merge review, Publish review.
  8. Output: The work leaves the machine. Outputs are what a run hands back to GitHub and to people, and each one is listed in the run. Draft PR, Issue comment, TEA publish, Notify, VEX.
  9. Evidence: The run is written down. The trace, the decision rationale, the handoffs and the evidence files are kept, and the ledger entry is chained to the one before it. Run trace, Rationale, Handoffs, Ledger entry.

System One decisions with a threshold you set

A decision node asks a System One model to pick one outcome from a list you define and to report its confidence. An exploited library in a live service becomes a patch today, and a finding in a function nobody calls joins the weekly batch. Below your minimum confidence, or when the model abstains, the run does what you chose: ask a person, try a fallback model, take the safest outcome or stop.

The minimum confidence starts at 80%. Below it, a node can: escalate to a person, try a fallback model, take the safest outcome, end the run. When the model abstains or errors, a node can: escalate to a person, retry once, then escalate, end the run. The outcomes are an enum you define, for example patch_now, batch_weekly, suppress_candidate, escalate.

A decision never replaces a gate. The quality gate and the release jail are plain rules, so a confident model cannot talk its way past them.

Workflows built from triggers, gates and outputs

A workflow is a graph. It begins at a trigger (a schedule, a webhook event, an issue label, a scanner finding or a board change), runs through Vulnetix scanners, System One decisions, crews, quality gates and human approval, and finishes in outputs. Eleven quick-start templates cover the common jobs, so a team starts from a working workflow on one repository.

Security patch train

Works the findings that are worth patching today, tests the fix and opens a draft pull request for review.

Starts: Scanner finding. Flow: Scanner finding, then Repository posture, then Patch now, batch or suppress, then Patch in the sandbox, then Tests and quality gate, then Draft PR.

Nightly blackbox regression

Exercises the running application from outside on a schedule and reports what regressed.

Starts: Cron. Flow: Cron, then Run the blackbox suite, then Real regression or flake, then Tests, then Issue comment.

Feature from issue

Turns a labelled issue into a plan, waits for approval, then builds and tests it.

Starts: Issue label. Flow: Issue label, then Is the issue ready to build, then Plan the change, then Plan approval, then Build and test, then Draft PR.

Bug repro to fix

Reproduces a reported bug first, and only writes a fix when the failure is confirmed.

Starts: Issue label. Flow: Issue label, then Reproduce the bug, then Reproduced or not, then Fix and add a test, then Tests, then Draft PR.

Dependency hygiene

Keeps dependencies and licences current on a schedule, grouping safe upgrades into one pull request.

Starts: Cron. Flow: Cron, then SCA and licence scan, then Upgrade now, group or skip, then Bump in the sandbox, then Tests and quality gate, then Draft PR.

Malware response

Confirms a malware verdict, checks the release jail, asks a person and records a VEX statement.

Starts: Scanner finding. Flow: Malware finding, then Malicious or benign, then Release jail, then Human approval, then Notify and VEX.

Secret leak response

Separates live credentials from test values, removes the secret from code and notifies the owner.

Starts: Scanner finding. Flow: Secret finding, then Live credential or test value, then Remove it from the code, then Human approval, then Notify and draft PR.

Release provenance

When a release publishes, scans it, checks the release jail and publishes the SBOM and VEX to your TEA catalogue.

Starts: Release published. Flow: Release published, then SBOM and scan, then Release jail, then Publish review, then TEA publish and VEX.

Kanban triage autopilot

Reads a card that landed in triage, picks the crew that should take it and leaves the reason on the issue.

Starts: Kanban change. Flow: Kanban change, then Board state, then Which crew takes it, then Issue comment.

UI polish pass

Applies interface fixes from a labelled issue and checks them before a draft pull request opens.

Starts: Issue label. Flow: Issue label, then Adjust the interface, then Tests, then Design review, then Draft PR.

Delivery sweep

Walks open pull requests on a schedule, finds the stuck and conflicted ones and unblocks or reports them.

Starts: Cron. Flow: Cron, then Pull request state, then Stuck, conflicted or ready, then Unblock the pull request, then Issue comment and notify.

The 11 templates that change code end in a draft pull request for a person to review. Scan nodes run the same scanners as the Vulnetix code scanner, and the outputs include SBOMs in CycloneDX and statements in OpenVEX.

31 built-in agents, 6 crews and a board they work

Belai, the open source coding harness, ships 31 built-in agents, each with one job, from scanning a repository and patching a finding to reproducing a bug, fixing a failing test and resolving a merge conflict. The board is a kanban those agents work. Cards sit in review, backlog, done, triage and conflicts, and issues mirror to and from GitHub, so the board and GitHub show the same work. The 6 crews group the agents that work together, and the agent builder defines your own agents with handoff rules between them.

Built-in agents by job

Security fixes

A scout runs the Vulnetix scanners, patchers fix each finding on its own branch, and a verifier re-checks every verdict with the scanner before it is recorded.

belai:vuln-scout, belai:patcher, belai:verifier, belai:triage, belai:triage-vulns, belai:vulnetix-scanner

Features, bugs and interface

A planner splits a request into small build items, a designer specifies interface changes as user journeys, a bug investigator names the root cause, and builders and reviewers do the rest.

belai:planner, belai:designer, belai:repro, belai:scout, belai:builder, belai:reviewer

Upkeep

Agents that fix failing tests and lint drift, review a named pull request read only, and resolve merge conflicts.

belai:test-fixer, belai:lint-fixer, belai:pr-reviewer, belai:conflict-resolver

Dependencies by ecosystem

12 agents, each triaging the dependency findings of one group of package ecosystems: Go modules, npm and Deno, Python, Maven and Gradle, Cargo, Composer, Bundler, NuGet, SwiftPM and CocoaPods, CI pipelines, containers and infrastructure files, and the rest.

belai:deps-apple, belai:deps-ci, belai:deps-containers, belai:deps-dotnet, belai:deps-go, belai:deps-javascript, belai:deps-jvm, belai:deps-other, belai:deps-php, belai:deps-python, belai:deps-ruby, belai:deps-rust

General purpose

Reproduce and fix a failure, split an objective into independent read-only questions, or execute a written plan step by step.

belai:debug, belai:fanout, belai:plan-handoff

The board and the crews

Issue mirroring

A card and its GitHub issue are one record, so the board and GitHub show the same work.

Agent builder

Each agent has its own model tier and the handoff rules that pass its work to the next agent.

Plan approval

When you require it, a person approves the plan before belai:feature writes any code.

Agents and crews are kept in your Library. The Pix registry lists the agents, crews, skills and prompts that other organisations publish, and a workflow can follow one by reference.

One queue for everything that waits on a person

Approvals, questions from agents, cards to confirm, lapsed claims, hosts that went offline, draft and ready pull requests, blocked and held cards, and outside issues nobody on your team has answered land in a single list, oldest first. The Needs you panel at the top of the cockpit is the head of that list, so the first screen of the day is the work only a person can do.

Act from the list

Mark a pull request ready or back to draft, update its branch, request reviewers, unblock a card, approve or reject one, or file a card for an issue. Each change asks for confirmation under the row you are on.

Outside authors are marked

An issue or pull request from someone outside your organisation carries an External marker, so a reply to a stranger is a choice you make.

Needs you on the cockpit

The cockpit opens on the same items, counted by kind with the oldest first, and adds pull requests with merge conflicts and signing keys that GitHub dropped.

What the factory delivered, and how each figure was reached

Delivery reports, for a range you choose, the outcomes the factory reached, the agent time and model spend behind them, the decisions it scored and the people it needed. It also estimates what a team doing the same work by hand would have needed. That estimate depends on rates and rules you set, so every figure says how it was obtained.

Ranges and pages

Seven days, thirty days or a quarter, on the cockpit and on pages for decisions, people, contributors and each outcome.

Not recorded is not zero

A figure the factory has not recorded yet reads "Not recorded yet". A real zero reads as zero.

People are counted where a record names a human

Bots, the GitHub App and service accounts are listed as seen and left out of the count.

The by-hand comparison is an estimate

It prices the same work at the roles and rates in your settings, and it is labelled assumed. It is a figure to adjust, and it is no industry benchmark.

A conflicting pull request becomes a card an agent works

Hand a pull request that conflicts with its base to belai:conflict-resolver and one card carries the whole job. The agent merges the base into a fresh checkout, keeps both sides where it can, and builds, lints and tests the result. It tries up to five different sets of choices and pushes the first that passes to the head branch as a fast-forward.

One card per pull request

Asking again while a card is open returns that card. The Pix Sandbox pull requests tab and Checkpoints both offer Resolve conflicts, and a default workflow files the card when a pull request starts to conflict.

An attempt ledger on the card

Each attempt records its files and which side each took (both, current, incoming or mixed), then its result. The card drawer and the Checkpoints inspector show the table.

Forks wait for a person

A card for a pull request from a fork is held until a person approves it, so no host runs fork code unasked.

Agents tell each other what they are doing and keep notes you can read

Agents running in parallel on one repository broadcast the branch, files and pull request they are working on, and ask each other questions without interrupting the work. Both sides can read and record notes in repository memory, and a memory page lets a person review, edit or clear what the agents remember.

Broadcasts

Each session announces its repository, branch, files and pull request. An agent that hears about its own repository can adjust, add a task, wait or ignore, and gives a reason.

Direct questions

An agent asks another and the answer comes from the other agent in a side turn, so its own work is not interrupted. Both transcripts keep the exchange and link to each other.

Repository memory

Every model can read and write notes about a repository, and agent profiles keep their own lessons. A sandbox that restarts gets its notes back, and every host in your organisation shares them.

A memory page

Notes sit under their repository or agent, newest first, with the author, host and time. You can add, edit or delete a note, or clear a whole scope.

An A2A blackout

An owner can stop agent messages crossing between hosts. Each host keeps talking to its own sessions and keeps its own audit log.

The factory passes the controls it applies to your code

An auditor, a customer or your own security team can check what ran, on what, under which controls and who said yes. It is the record security teams have wanted from their tools for years. The factory sits inside the Vulnetix security platform, so its own work goes through the same scanners, firewalls and gates.

SLSA levels per repository

The trust page reports each repository's SLSA level from 0 to 3 and says why it sits there.

TEA catalogue publish

A workflow output can publish to your Transparency Exchange catalogue.

Scanner matrix

One grid shows which Vulnetix scanners cover which repositories, with findings and clean results told apart.

Package Firewall

Workflow defaults keep the Package Firewall on, so a dependency your policy blocks does not install in the sandbox.

AI Firewall

Workflow defaults keep the AI Firewall on, so model traffic passes provider and model policy, guardrails and PII redaction.

Sandbox egress control

The Pix Sandbox controls its own egress, so an agent reaches only the destinations the sandbox permits.

Release jail

A workflow can use the release jail as a gate, so a repository with stale or missing evidence does not ship.

Signed commits

Commits made in a sandbox are signed by a key that never enters the container, so GitHub shows them as Verified.

Provenance is measured against the SLSA specification. Publishing is covered in Transparency Exchange.

Token budgets and autonomy limits you set

Budgets nest. A month holds days, a day holds workflows, a workflow holds runs, a run holds steps, and a per-repository budget cuts across all of them. Each budget names what happens when it is reached, so spend stops where you decided. Separate limits set how far the factory may go without a person.

When a budget is reached it can: pause the run, downgrade to a fast model, switch to the pix allocation, escalate to a person, hard stop, alert only.

Autonomy limits and the kill switch

You set how far the factory may go on its own. Limiting what an agent may do without a person is the control the OWASP Top 10 for LLM applications asks for under excessive agency.

  1. Observe. Reads, decides and writes the trace. Changes nothing on GitHub.
  2. Suggest. Proposes the change on the card or the issue.
  3. Draft PR. Opens a draft pull request for a person to review.
  4. Approve when ready. Approves a pull request once it is ready: checks green, reviews settled, nothing sensitive touched. A person merges.

Everything is on record

Events, decisions, handoffs and approvals are recorded and readable by the people who own the repositories. A reviewer can see why a change was made, and an auditor can verify what ran.

Event stream and run traces

GitHub events, run steps and handoffs arrive on one live stream that filters by run, card, agent, crew, repository or workflow. Each run keeps its decisions with the rationale, the handoffs between agents and the evidence files it wrote.

Tamper-evident audit ledger

Each entry is chained to the one before it, so the whole record can be verified. Editing an entry changes its hash, and hiding that means rewriting every entry after it.

Run the factory by phone

Pix, the factory coordinator, takes calls from the Resolve Platform header and from the installed app. Ask how runs and sessions are going, start or stop a session on a Pix Sandbox or any other Belai host, and answer an agent's question by voice. Pix acts on a session only after it reads the plan back and you say yes.

Ask about the factory

How runs and sessions are going, what is waiting on you, which agent needs an answer, which host is offline and how many sessions ran on a repository. Pix speaks only numbers its tools read from your factory's records, and it never adds figures up itself.

Spend and savings on request

Ask what the factory spent and Pix reads the spend, the tokens and the pace against your budget. Ask what the work was worth and it reads the delivery figures: what was delivered, and what a team would have needed by hand, which it calls an estimate because the rates come from your settings.

Name a repository the way you say it

Say a repository out loud and Pix matches it to one your hosts offer. If two sound alike it offers both, and if none match it asks you to spell it or type it in the box on screen. It chooses a Pix Sandbox first, then the least busy host.

Start and stop with a read-back

Before it starts or stops a session, Pix reads back the repository, branch, host and task. It acts only when your next answer is a plain yes. An answer that changes the request counts as a no, so Pix reads it back again. It can read back up to five sessions at once, and one yes starts them all.

Permission asks stay off unless you want them

You are on the phone, not at the host, so a session started on a call runs with permission asks off. Guardrails still apply. If your factory settings require asks, the read-back says so and asks your leave first, and you can ask for a session that stops for your approval instead.

Steer a running agent

Send a message to a running session's agent, and answer what it is waiting on: allow once or deny a permission, or give a clarifying answer in words. Pix never allows an action for good, and plan reviews wait for the screen.

Stay on the line

While a session runs, Pix plays hold music and speaks up when the agent asks a question or finishes, quoting what it last said. If you hang up first, the finish reaches you as a push notification and the next call opens with it.

Look things up

Pix looks up vulnerabilities, exploits, packages, remediation and detection rules through the Vulnetix MCP server. Only its read-only tools are offered on a call.

Remember what you ask it to

Tell Pix a lasting preference, such as always using plan mode on one repository, and it keeps the note for later calls. Ask what it has noted or to forget one, and delete notes from the call page.

Everything stays on screen, and in your history

The actions Pix took, the tables it read and the conversation stay on the call screen in the order they happened. Past calls keep them: search, read the transcript, download it as Markdown, delete it, or press Call Pix to pick one up where it ended. Audio is not recorded.

In your pocket: outcomes, savings and the stops

A call is half of it. The cockpit runs at phone width, so the delivery figures Pix reads to you are on screen, and so is every stop the factory has.

Five ways to stop

From one session by voice to the sandbox container, each stop says what it halts and what keeps working.

  1. Voice: Stop a session
  2. Cockpit: Pause all automations
  3. Cockpit: A2A blackout
  4. Settings: Stop the factory
  5. Pix Sandboxes: Stop machine

Read the Pix Personal Assistant story

Runs anywhere Belai is hosted

Crews run wherever you host Belai, and every agent step, scan and test executes on that machine. A Pix Sandbox is Belai hosted for you: Vulnetix runs it around the clock with egress control. A team that needs the work to stay on its own infrastructure hosts Belai itself, on a build server, a workstation or any other machine, and connects it with belai rc. The factory treats both the same way. A sandbox or host also runs single agent sessions with no workflow, and Software Factory adds the triggers, decisions, gates, budgets and the record. Start on a Pix Sandbox and move crews to your own machines later, and the workflows stay the same.

The Pix Sandbox · Announcing the Pix Sandbox · Announcing Pix · Package Firewall · AI Firewall

Questions teams ask before they turn it on

What is the difference between Software Factory and the Pix Sandbox?

The Pix Sandbox is the isolated machine that every agent step, scan and test can run on. Software Factory is the feature set you run on it: the cockpit, event stream, board, workforce, workflows, budgets, trust pages and audit ledger. A sandbox can also run a single agent session with no workflow.

Where does the code run, and can we host it ourselves?

Crews run anywhere Belai is hosted. That can be a Pix Sandbox, the managed machine Vulnetix operates around the clock with controlled egress, or a machine you host Belai on yourself and connect with belai rc, when the work has to stay on your own infrastructure.

Which repositories can a workflow touch?

Only repositories in a GitHub organisation you chose to manage. Inside one, the cockpit lists every repository you have scanned or attached, and a workflow names the repositories it may use. The API refuses a repository outside your managed organisations.

Who approves a change?

People you choose. A workflow can pause for human approval at a plan, a merge review or a publish review, and the approver and the answer go into the run trace. A System One decision never replaces a gate, and the quality gate and release jail are plain rules.

Will it merge code without me?

No. The factory has no merge, auto-merge or write access to contents. Maximum autonomy is a setting with four levels: observe, suggest, draft PR and approve when ready. The top level lets it approve a pull request that is ready, and a person still merges. The workflows that change code end in a draft pull request.

What happens when a System One model is unsure?

You decide in advance. A decision node has a minimum confidence. Below it the node can escalate to a person, try a fallback model, take the outcome you marked safest or end the run. A separate setting covers an abstain or an error.

How is spend capped?

Token budgets apply per run, step, workflow, day, month and repository. Each budget names an action at its limit: pause the run, downgrade to a fast model, switch to the Pix allocation, ask a person, stop hard or alert only. A System One decision uses the default model from your Pix allocation, and crews can use the Pix tiers or models you bring through provider keys.

How do I stop it?

There are four ways. Lower the maximum autonomy, set a budget whose action at the limit is a hard stop, cap concurrent runs, or throw the kill switch.

Do agents talk to each other?

Yes, over A2A messaging. Each session broadcasts what it is working on, and an agent that hears about its own repository can change course, add a task, wait or send the other agent a direct question, which is answered without interrupting it. Every message is kept in both transcripts and linked between the sessions. Both agents in a conversation can read and record notes in the repository's memory, which you can review, edit or clear on the memory page. Sessions on one machine coordinate without signing in, and an A2A blackout stops relay between hosts.

Can I run the factory from my phone?

Yes. Tap the phone icon in the Resolve Platform header, or the Call Pix shortcut in the installed app, and talk to Pix. It answers questions about your runs, sessions and hosts, looks up vulnerabilities and exploits, and remembers preferences you give it. To start or stop a session it reads the plan back (repository, branch, host and task) and acts only when your next answer is a plain yes. While a session runs, Pix stays on the line, tells you when it finishes and passes on an agent's questions for you to answer. Everything it did and every table it read stays on the call screen.

How many agents come built in?

Belai ships 31 built-in agents, grouped into 6 crews: belai:bug, belai:delivery, belai:feature, belai:maintenance, belai:security, belai:ui. Of these, 12 each triage the dependency findings of one group of package ecosystems. You can follow agents from the Pix registry and define your own in the agent builder, with a model tier and handoff rules for each.

What waits on a person, and where do I see it?

There are 12 kinds of item that wait on a person: approvals, questions from agents, AI capabilities held for review, deployments waiting for reviewers, cards to confirm, lapsed claims, offline hosts, draft and ready pull requests, blocked and held cards, and outside issues with no reply. Checkpoints lists them in one queue, oldest first, and the Needs you panel at the top of the cockpit shows the head of it.

What happens when a pull request has a merge conflict?

You can hand it to belai:conflict-resolver from Checkpoints or from the Pix Sandbox pull requests tab, and a default workflow can do it for you. One card carries the job. The agent tries up to 5 sets of choices, tests each one, and pushes the first that passes to the head branch. A fork gets the result as a comment, and a card that cannot be resolved waits for a person.

Are the Delivery figures benchmarks?

No. Delivery reports what your factory did in a range you choose, and marks every figure measured, derived or assumed. The comparison with a team doing the same work by hand is an estimate built from the roles and rates in your settings, and it is labelled assumed.

What does an auditor see?

Each run keeps its decisions with the rationale, the handoffs between agents, the approvals and the evidence files it wrote. Ledger entries are chained to each other, so the whole record can be verified, and a SLSA level is reported for each repository.

How do we start?

Choose a GitHub organisation to manage and start from one of the eleven quick-start templates on a single repository. Leave autonomy at draft PR and read the first run trace before you add more.

See the line run on one of your repositories

Start one quick-start template on a single repository with autonomy at draft pull request, and read the first run trace, with every decision and its rationale, before anything widens. Community includes one self-hosted Belai host at no charge, and its crews run on your own model keys. A Pix Sandbox runs it for you instead, from $85 a month.

Run it free on your machine Pix Sandbox from $85 a month Request a demo Pricing Documentation