Deterministic CI/CD and Governance for Autonomous Agents.

Stop probabilistic models from breaking deterministic systems. OpenGantry fail-closes on verify before scoped edits merge — hooks, runtime exec, and CI gates enforce architectural boundaries and SDLC checks. Unstructured errors become machine-readable findings[].


          
          npm install -g @jeger-ai/opengantry
        
~/your-repo · zsh
$ git commit -m "export internal auth helper"
→ gantry verify --json
{
  "status": "failed",
  "envelope_schema_version": 3,
  "findings": [
    {
      "failed_gate": "arch",
      "offending_file": "src/auth/internal.ts",
      "line": 12,
      "severity": "error",
      "resolution_hint": "Import crosses layer boundary per TARGET_ARCHITECTURE.yaml"
    }
  ]
}
→ commit rejected — auth layer not in public surface

Why

Who OpenGantry is for

Ship faster without babysitting every agent run.

OpenGantry scopes multi-agent graphs and single IDE sessions with the same verify gates. When an agent drifts, you get structured findings[] with offending_file and resolution hints when a structured producer supplies them — generic gates stay coarse; use gate_log_path for full traces. Pin a mission, run your orchestration graph, and let the kernel enforce TMVC roots, import layers, and gate_command hooks you already trust.

In practice

A day with OpenGantry

Composite scenes from how OpenGantry is used.

Staff engineer

The agent walked into a forbidden zone

I pinned MSN-0042 and let the session run. It tried to rewrite .gitagent/foreman/MANIFEST.json. Runtime failed closed. findings[] named the path. The next hop stayed in src/cli/.

gantry pin · TMVC deny

Tech lead

Verify is not the same pass that edited

I will not rubber-stamp a chat transcript. The executor appends PASS rows to EXECUTOR_LOG.md. Those rows have to quote the gate output. gantry verify maps every claim. A missing quote fails the mission.

SOD · verbatim PASS quotes

Security lead

The PR has a receipt, not a promise

Review is a mission YAML, a quote in EXECUTOR_LOG.md, and an optional attest file under .gitagent/history/receipts/. I keep the verify JSON. I do not keep a screenshot of a model saying it was careful.

attest receipt · verify JSON

See the full set Four roles plus a Tuesday on the command line.

North Star

The post-PR software factory

OpenGantry referees an agentic graph. Inner and Outer Loop name the DevEx locus — local generation vs cloud PR — not a cyclical agent workflow.

  1. The outer-loop trap

    Commits rain into a PR funnel faster than humans can review. Probabilistic AI reviewers stamp question marks — not proofs.

  2. Intent vs physics

    The Visionary drops business intent on the graph. The Architect draws the cage: deterministic rules, not feature code.

  3. Autonomous assembly

    Intent fans out to parallel Executor nodes. The work is a DAG — not a sequential loop.

  4. The graph referee

    Structural violations hit the cage and route Exit 1 back to the Executor. Compliant blocks pass Exit 0 into staging — no human in the dark.

Define the intent. Enforce the physics. Read the manifesto.

Orchestration

Agentic graphs, not monolithic loops

OpenGantry governs agentic graphs — planners, parallel workers, promote steps, and retry branches — with the same mission YAML and findings[] contract. A single IDE chat is the minimal case; orchestration buses and CI pipelines are the norm at scale.

Multi-worker agentic graphs

Production setups use orchestration buses (e.g. iii.dev): many holder workers, shared mission scope, and promote-class calls that must carry a verify verdict. OpenGantry registers cold-path `gantry::verify` and hot-path `gantry::middleware` — admission and worktree automation stay in your graph, not in GXT law.

  • iii trigger gantry::verify — gates + trace on the fixture repo
  • gantry::middleware denies promote without verdict token
  • RBAC hooks block squatting the gantry:: namespace

How it works

Deterministic walls. Actionable findings.

Four gates between agents and merge — at every graph node that touches the repo. Fail closed with machine-readable remediation, not unstructured stderr.

Scope Enforcement

Restrict agent file mutations to explicitly authorized directories and paths via TMVC roots and forbidden zones.

Architectural Boundaries

Prevent agents from sneaking unauthorized dependencies or public surface area into your codebase.

Static Analysis

Stop hallucinations before they compile. Wire mission hooks directly into your existing linters and type checkers.

Execution Gates

Force agents to fix their own mistakes. On failure, OpenGantry returns structured JSON findings[] so agents self-correct instead of dumping broken code into your lap.

Integrations

Middleware for agent buses and SDLC tools

OpenGantry sits between agent harnesses and the systems you already trust — Git, npm, and your test runners.

Quickstart

Legislate. Verify.

1

Initialize the mission


          
          gantry legislate "your intent" --msn MSN-0042 --skill-key gantry
        
2

Gate the execution


          
          gantry verify --json
        
Read the full documentation Architectural boundaries, perimeter rules, and adoption paths.