Every enterprise AI project I’ve ever seen dies a little in the same place: waiting for data access. The use case is approved, the agent pattern is proven, and then everyone sits for six weeks while security reviews a service account for a demo.

So we stopped waiting. We publish the enterprise systems themselves as static APIs.

The pattern

A static API is a read-only API served entirely from files on a Git host — no server, no database, no runtime. GitHub’s raw CDN is the host: free, globally cached, CORS-open, forkable. One idempotent build script turns hand-authored seed data into responses shaped exactly like the real system’s wire format.

This week we added two new organs to the commons at kody-w.github.io/rapp-static-apis:

  • sap/ — an S/4HANA gateway simulation. OData v2 envelopes, __metadata per row,

real service names (API_COMPANYCODE_SRV, API_PLANT_SRV, API_BUSINESS_PARTNER). A client — a custom connector, an HTTP node, a RAG ingester — cannot tell it from a live gateway.

  • sharepoint/ — a Graph-flavored document library for a fictional S/4HANA transformation

program: charter, workstream directory with owners and backups, governance and escalation paths, per-stream one-pagers, a data-migration playbook, a cutover plan, an FAQ.

The company is Meridian Manufacturing Group. The program is Project Phoenix. Neither exists. Every name, plant, and risk register entry is invented — which is precisely why we can publish all of it.

Try it — no auth, no signup, any language:


RAW=https://raw.githubusercontent.com/kody-w/rapp-static-apis/main
curl -s $RAW/sap/registry.json
curl -s $RAW/sap/api/opu/odata/sap/API_PLANT_SRV/A_Plant.json
curl -s $RAW/sharepoint/api/v1/sites/phoenix/documents.json
curl -s $RAW/sharepoint/api/v1/sites/phoenix/docs/workstream-directory.md

What grounds on it

On top of those two sources we built a transformation knowledge companion — the classic MVP every large program asks for: “Who is responsible for this workstream?” “Who owns Procure-to-Pay?” “I’ve got a blocker — who do I escalate to, and who’s their backup?”

It’s two small Python files on the RAPP memory-agent platform (kody-w/rapp-ai): an ingest agent that walks the library listing, fetches each document, and chunks it by section; and a companion agent that scores chunks against the question and returns passages with citations — document title, section, author, URL. The LLM is instructed to compose only from those passages and cite its sources. Ask the escalation question and it merges the Data Migration Playbook with the Governance & Escalation doc into one answer — several sources, one clear response, every fact attributed.

The part that matters: repoint two URLs and the same agent grounds on a real SAP gateway and a real SharePoint site. The demo isn’t a mockup of the production system — it’s the production system with synthetic data behind it. The distance from demo to pilot is a config change.

Why static?

Because the data plane becomes infrastructure anyone can hold:

  • Forkable — fork the repo, edit the seed JSON, run build.py, and you have your industry’s

version in an afternoon.

  • Versioned — every state of the “enterprise” is a commit. Demos are reproducible forever.
  • Zero standing cost — nothing to patch, scale, or pay for.
  • Honest — it’s all synthetic by construction, so there is nothing to leak. The security

review takes as long as reading this sentence.

The loop that makes it fun

The platform loads its agents from cloud storage at runtime. So once the Microsoft 365 channel is wired up (a Copilot Studio solution, imported once), a new or changed agent file hot-deploys into the running app over HTTP and is answering in the M365 chat seconds later — no redeployment, no solution reimport. Iterating on an agent in front of the people who’ll use it, in their own Copilot, is a genuinely different way of building.

Fork the commons, point an agent at it, and stop waiting for data access.

Everything above is public: the commons, the platform, the agents, the build scripts. All example data is synthetic; any resemblance to a real company is coincidental.