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 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
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

Drag sideways to read the whole schematic →
General notes
- 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.
- 2Gate models are data. FEL, RIBA 2020 and a three-gate site model ship for capital projects;
integration-100-dayships for M&A integrations run from Planner or Jira. - 3The harness holds the registry, nine capability contracts and connection health, and syncs each connection on its own cadence.
- 4One record, derived signals. Every indicator - readiness, float erosion, response rate, exposure - is computed from the record; nobody types a RAG status.
- 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.
- 6Auspex, the Lab's prediction harness, is a candidate model provider for the forecast engine.
- 7Six bounded agents - chaser, gatekeeper, scout, tender, brief, reporter. One job, one input snapshot, one output type, one autonomy level, one audit record each.
- 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.
- 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.
- 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
Built for programmes that run on gates, not for Gantt charts
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.
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.
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.
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
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.
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.
Gate model loader and editor with the FEL, RIBA, three-gate and integration templates; readiness and gaps; policies and approvals; the gatekeeper agent.
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.
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.
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.