Automatiqa Lab

Project MIT

in development 40%

Gatewright - open-source AI project controls for capital programmes

What is open-source AI project controls for capital programmes?

Gatewright is an open-source PMO harness for programmes that run on gates - capital projects, integrations, transformations, product programmes. It scores each gate against a configurable gate model, runs chasers and forecasts, and exposes everything as MCP tools.

Capital programmes fail quietly between gate reviews

The problem

The schedule says one thing, the mailbox another, the permit office nothing. Project controls teams spend their week chasing confirmations by hand, assembling gate packs from folders, and discovering interdependencies after they have cost float.

Existing tools are either scheduling engines, document stores or generic PMO dashboards that report lagging indicators once a month. A project advances on the strength of its sponsor, not on evidence.

One record, bounded agents, people who stamp

How it solves it

Gatewright owns one record of what the portfolio has committed to - gates, deliverables, commitments, parties, evidence - derives leading indicators from that record, and runs bounded agents that chase, score, scout and forecast. It does not own the schedule, the documents or the mailbox; it connects to them, and it never writes to a schedule.

A deliverable is accepted when a person accepts a linked, hashed artefact, and a gate passes on weighted accepted evidence against a gate model held as data: FEL, RIBA 2020 and a three-gate site model for capital projects, integration-100-day for M&A integrations. A company forks the library, not the code.

Every function is also an MCP tool (gw.*), so a Claude or Copilot session sees the same record under the same approvals. Every agent action is an audited run in the event log, autonomy is earned on that record, and pass, hold and escalate stay with named people.

Model-written text - chases, gap notes, briefs - carries EU AI Act Article 50 marking by construction, recorded in COMPLIANCE.md.

How Gatewright works

Architecture overview

Gatewright system schematic. Schedule, plan, document, message, cost and calendar connections are read through the harness into one record of gates, commitments, parties and evidence; gate models held as data set the readiness rules. Semantic, retrieval and forecast engines hang off the record, Auspex is an optional model provider for the forecast, and signals are derived from the record into an exposure matrix. An event log records every agent run with input, output and cost. Six bounded agents - chaser, gatekeeper, scout, tender, brief and reporter - work under an autonomy ladder from observe to propose, draft and act, with an approval gate where a person approves, and three hard limits in code. People stamp pass, hold and escalate; chasers go to parties, whose replies come back as mail; every surface - web sheets, the morning brief, MCP tools, REST, CLI and webhooks - reads one service layer.

Drag sideways to read the whole schematic →

General notes

  1. 1Connections, read only: the schedule tool (P6, MS Project, Smartsheet, XER files), the planner (Planner, Jira, Asana), the document store, the mailbox and Teams, cost exports and the calendar. Gatewright reads them; it never writes to a schedule.
  2. 2Gate models are data. FEL, RIBA 2020 and a three-gate site model ship for capital projects; integration-100-day ships for M&A integrations run from Planner or Jira.
  3. 3The harness holds the registry, nine capability contracts and connection health, and syncs each connection on its own cadence.
  4. 4One record, derived signals. Every indicator - readiness, float erosion, response rate, exposure - is computed from the record; nobody types a RAG status.
  5. 5Three engines: semantic classifies replies and documents and links evidence, retrieval indexes the record without storing document bodies, forecast scores slip and gate-pass probability, calibrated, with its drivers shown.
  6. 6Auspex, the Lab's prediction harness, is a candidate model provider for the forecast engine.
  7. 7Six bounded agents - chaser, gatekeeper, scout, tender, brief, reporter. One job, one input snapshot, one output type, one autonomy level, one audit record each.
  8. 8Autonomy is earned: agents observe, propose, draft or act, and a person approves at the gate until the share of outputs approved unchanged over 30 days earns the next step - the design of Orchestriq Core.
  9. 9Three hard limits, in code, not policy: never write to a schedule tool, never message a sponsor or authority without a recorded approval, never send text to an external model without the redactor.
  10. 10People stamp. Pass, hold and escalate are decisions by named people with roles, recorded as events.

Legend

Signal or action
External service or party
System boundary
Agents and decisions: readiness rules, the autonomy ladder, chases, stamps
Approval gate
A surfaces, G gate
Fig. 1 - Gatewright system schematic, specification rev B of 23 Oct 2026. Drawing: Automatiqa Lab by Aleks Sidorecs.

Built for programmes that run on gates, not for Gantt charts

What makes it different

evidence
A gate passes on evidence

A deliverable is accepted when a person accepts a linked, hashed artefact. Readiness is weighted accepted evidence against the gate model, and it matches a hand calculation.

standards as data
Gate models are YAML

FEL, RIBA, FEP/BEE, PRINCE2 or your own, with schemas. Cadences, ladders, thresholds and autonomy are policies, so no gate name or threshold is a literal in code.

derived
Signals, never typed

No one types a RAG status. Every indicator is a function of the record and can be recomputed; schedule signals are simply absent for a programme run from a task list, never estimated.

bounded
Agents with hard limits

Six agents, one job each, audited run by run. Three limits are fixed in code: no schedule writes, no message to a sponsor or authority without approval, no external model without the redactor.

Where Gatewright is heading

Features & updates pipeline

spec | nowSpecification rev B

Domain model, architecture, nine capability contracts, gate models, signals, six agents, three engines, policies, MCP and API, the drawing-set UI with twelve sheets, synthetic data and a clickable mock-up of every sheet.

M0 to M1Record, harness, import

Entities, event log and DuckDB; the harness with P6 through XER and longpath, Planner, OneDrive and M365 mail; a synthetic portfolio with 24 months of history; the war room table and the harness sheet.

M2Gates, readiness, policies

Gate model loader and editor with the FEL, RIBA, three-gate and integration templates; readiness and gaps; policies and approvals; the gatekeeper agent.

M3Chaser and semantic engine

Chases on policy with structured replies, an escalation ladder and a send window; replies and documents classified and linked as evidence, with a review queue.

M4 to M5War room, brief, forecast

All signals, the exposure and load heat maps, the scout and brief agents, then slip and gate-pass forecasts, calibrated, with drivers and what-if.

M6Tender, team mode, hardening

The tender agent, Postgres and OIDC, MCP over HTTP, webhooks and packaging.

Out of scope by design: scheduling and CPM, Gantt editing, document storage, cost accounting. Not related to OPA Gatekeeper (Kubernetes) or macOS Gatekeeper. Code lands in the repository milestone by milestone.

Changelog

From github.com/automatiqa-lab/gatewrightReleases and code changes only

daterepositorychangelicence
Full history on GitHub ↗
projectGatewright - open-source AI project controls for capital programmes
titleOpen-source agentic AI for supply chain operations
sheetproject
checkedin public