Governing the Generative Drift: Why We Need the Assumptions & Constraints Manifest (ACM)

A couple of weeks ago, I talked about the “Happy Path Trap”—how LLMs create massive Day 1 velocity while burying teams in silent Day 2 architectural debt.

During that discussion, I pitched an idea: What if we required an Assumptions & Constraints Manifest (ACM) in every AI-assisted PR to make hidden trade-offs visible?

Since I’m not one to wait around for someone else to build tooling I want to use, I spent the last few days building it out.

Today, I’m open-sourcing ACM v1.1—a formal spec and developer toolkit designed to audit architectural boundaries, not just syntax.

🛠️ What’s in the toolkit:
Typed Contracts & Proof Obligations: Requires the PR to explicitly state guarantees around concurrency, idempotency, and scaling—citing exact line numbers and locking mechanisms.

Automated Generation: Drop-in .cursorrules and PR templates that prompt Cursor, Claude, and Copilot to generate manifests automatically during code creation.

CI/CD Linter: An open-source CLI linter (@roblarsen/acm-cli) and GitHub Action to validate manifests and gate PRs automatically in your pipeline.

Instead of spending 45 minutes playing digital archaeology on AI-generated diffs, reviewers can audit explicit boundaries in 30 seconds.

🔗 Get Started
GitHub: github.com/roblarsen/ACM

CLI: npx @roblarsen/acm-cli