APMX

Agentic software factories you can trust.

APMX runs agentic software factories built from Agent Contracts, on any coding agent. Every change ships with signed evidence of how it was made, so you can auto-merge what your policy trusts.

*.contract.md

Agent Contract

A reusable specification for agent work.

  • Assignmentyour intent, each time
  • Rolehow it works, every time
  • Dependencieswhat it can usefrom APM packages
  • Budgetwhat it may spendtries and time today
  • Checkshow the work is judged
  • Deliverableswhat it hands back

Agent factories outrun the people who must trust them.

An agentic software factory is a set of agents that turns intent into an outcome, usually software. APMX makes four promises about yours.

Several agent factories send a flood of pull requests to one human reviewerFactoryFactoryFactoryOne reviewer

Write the role down once: the Agent Contract.

Today, how agents should work is scattered across prompts, chat, skills and MCP servers. An Agent Contract brings it into one versioned file.

Today the way agents should work is scattered across prompts, chat history, skills and MCP servers; an Agent Contract brings it into one versioned fileTodayPromptsChat historySkillsMCP serversAgent ContractOne file in your repository.VersionedReviewedReusedThe intent changes. The contract stays.

Promise: trust

The agent works. Independent checks decide.

Checks are your own commands, run apart from the agent. A rejected attempt goes back to the agent while the budget lasts.

The agent loop: checks reject an attempt, the agent retries within budget, then the output is handed onAgent ContractBudget: 3 triesAgentOutputChecks, attempt 2 of 3[+] Acceptance tests[+] Regression tests[+] Report writtenAttempt 1 rejected: back to the agentPassed: handed on

Chain contracts into a factory.

Each contract's checked output becomes the next one's input. Factories are APM packages, versioned and shared with APM, the agent package manager.

Five stages, each an Agent Contract file, connected by checked files inside one APM packageOne APM package: versioned and sharedYour intentPlan.contract.mdSpecify.contract.mdBuild.contract.mdDocument.contract.mdReview.contract.mdEvery step is an Agent Contract, and must pass its checks before the next starts

Promise: portability

Same factory, same checks, your choice of harness.

We ran one factory on two harnesses, GitHub Copilot CLI and OpenCode. The code came out different. Both passed the same nine checks.

One factory on two coding agents: different code, the same nine checksOne factoryCopilot CLIOpenCodedifferent codeThe same nine checkspassed on both

Promise: traceability

Your code now has another supply chain.

Contracts, skills and tools arrive as packages the APM lockfile pins. APMX records them, the build and the checks in one in-toto receipt (SLSA provenance, SBOM).

One receipt, tied to the exact files it describes.One receipt with three records. Which factory built it: the exact, reviewed version. What went in: contracts, skills and tools, pinned by the APM lockfile, plus the agent and model, recorded. How it was verified: which checks passed. On a laptop the receipt is unsigned. A thread from each record leads to the same delivered code files, which a trusted signer signs.What went inPinned by the APM lockfile+ agent and model, recordedWhich factory built itThe exact, reviewed versionHow it was verifiedWhich checks passed?ContractsSkillsToolsOne receiptunsigned on a laptopYour codethe delivered filesTrusted signatureon each delivered fileOne receipt, tied to the exact files it describes.
One receipt, tied to the exact files it describes.One receipt with three records: which factory built it (the exact, reviewed version), what went in (contracts, skills and tools pinned by the APM lockfile, plus the agent and model, recorded), and how it was verified (which checks passed). On a laptop it is unsigned. Each record names the same delivered code files, which a trusted signer signs.What went inPinned by the APM lockfile+ agent and model, recordedWhich factory built itThe exact, reviewed versionHow it was verifiedWhich checks passed?ContractsSkillsToolsOne receiptunsigned on a laptopYour codethe delivered filesTrusted signatureon each delivered fileOne receipt, tied tothe exact files it describes.

Promise: security

Review the factory. Let its checks gate the pull requests.

Three isolated jobs: the agent works, the checks verify without it, a trusted signer signs. Only fully signed pull requests merge automatically.

  1. Agentwrites the code; can't sign or change the checks
  2. Checksrerun without the agent
  3. Trusted signersigns each delivered file

A factory pull request

  • Signed
  • Signed
  • Signed

Accepted

The same PR + one hand edit

  • Signed
  • Signed
  • Signed
  • Not signed

Blocked: review it by hand

Promise: trust, at scale

One factory for many projects.

Run your factories from one central repository. It opens pull requests in every project, and each project's required check verifies the signatures.

One factory platform: the agent works, checks verify, a trusted signer signs and the platform opens pull requests in many projects, each with a required checkYour factory platformAgent worksChecks verifyTrusted signerOpens PRspull requestsProject AProject BProject C...checkcheckcheckcheckrequired in every project

Honest limits.

  • A signature shows where code came from and which of your checks passed. Your checks are the safety bar.
  • Receipts made on a laptop are unsigned. Only the trusted signer signs.
  • APMX is for your own factories, not for AI pull requests from strangers.
  • Experimental, independent, not a Microsoft or GitHub product.