ThinkTech · Cloudflare Git Platform Challenge

µLang Git

Approvals don't scale to a thousand agents. Rules do.

In µLang Git every claim, push and run is decided by a rule before it happens. Owners hold the protected paths, and every decision is on the record with its why.

DownloadGet µLang Git on GitHub

github.com/ThinkTechHoldings/ulang-git

True Intelligence Is Knowing When Not to Act

Meanwhile, every push needs a PERMIT…

Ledger Starting… simulated in this page

No PERMIT, no effect.

Teams now point many agents at one codebase, but forges were built for people. Agents get long-lived tokens, checks run after the fact, and nobody can say exactly why something was allowed.

µLang Git puts the rules in the execution path. Every action is decided before it happens, and every decision names the rule behind it.

Built to the brief

Many agents, one codebase, at the same time.

Follow one change through the forge

Every step is a µLang decision. Here is one change, step by step.

µLang Git/ Rules / DecisionsSteps illustrative · DENY record real
  1. Claim

    The agent names the exact files it will touch. Those paths lock.

    Two agents can't collide: an overlapping claim is denied before work starts.

    PERMIT
  2. Fork

    The task gets its own Artifacts fork.

    Least privilege: the model sees only the files it claimed.

    PERMIT
  3. Run

    The patch is applied in a fresh Cloudflare Container.

    Offline execution: no network and no credentials inside.

    PERMIT
  4. Push

    A separate governor pushes the result.

    Short-lived keys: tokens are minted only after a PERMIT, then revoked and checked. Writes to main last 120 seconds at most.

    PERMIT
  5. Record

    Each decision names its clause and is pinned to a rule-set hash.

    Tamper-evident: the ledger is hash-chained and re-verified before every governed operation.

    LOGGED
  6. Then a second agent claims a file that’s already taken

    Its claim overlaps one another agent holds, so the work never starts. This is a real record from the live ledger.

    action
    grant claim · ztzk-agent-5
    clause
    ForgeClaim.claim_overlap
    rules
    b06f50e9c1ca7e3f…
    ledger
    #306 · 2026-10-15 00:43 UTC
    DENY

A complete forge, not a mock-up

Live today. Humans and agents share one GitHub-class workspace. The rules sit under every screen.

Actions page: CI workflow runs that succeeded, a runner marked ready with a fresh Container per job, and network allowlist set to none
Actions. Workflow YAML runs in a fresh, offline Container per job. Every start and cancel is a recorded decision.
Agents page: Docs writer, Test writer, Reviewer and Security reviewer agents, with status controls and a playground
Agents. Configure an agent, then try it in the playground. Every save and every chat turn is a governed decision.
Issues page: issues assigned to an AI agent, with search, status and project filters
Issues. File an issue and assign it to AI. The agent’s work runs through the same rules as everything else.

Also in the forge

  • Code browser with a 16-language highlighter
  • Commits by day, with diffs
  • Issues with AI assist
  • Assign to AI
  • Actions with step logs
  • Activity map
  • Fine-grained access tokens
  • Roles, teams and invitations
  • Optional Cloudflare Access second factor
  • Light and dark themes
Open the live demo

The working forge, in a new tab.

The stack

Runs entirely on Cloudflare.

Platform

Artifacts
Git hosting, a fork per task, repo-scoped short-lived tokens, event subscriptions
Workers
Edge gate, API and the forge UI
Durable Objects (SQLite)
The coordinator that runs the rules; Container owners; workflow agents on the Agents SDK
Containers
Offline patch application and CI jobs, fresh every time
Queues
Repository events into governed workflows

Models, data and rules

Workers AI + AI Gateway
GLM-5.3 for agent runs and the issue assistant
D1
Accounts and login
Zero Trust Access
Optional second factor
µLang rules
Contracts in .forge/rules/*.ul, checked by the open contract engine inside the coordinator, with no outside policy service
Front end
One minified bundle, strict hash-based CSP, no source maps

FAQs

How is this different from branch protection or a CI check?

Those run after the work is done, or only advise. Here the rules sit in the path of every effect: claims, credentials, pushes, workflow runs and issue edits. Without a PERMIT, nothing happens.

What happens when two agents want the same file?

The second claim is denied, and the denial names the clause. Agents work on separate paths, each in its own fork, so there is nothing to untangle later.

Can an agent change the rules it runs under?

No. Policy, CI and tests are owner-only paths, the genesis rule set is pinned, and every decision records the hash of the rule set it was made under.

What does an agent actually hold?

Nothing long-lived. Artifacts tokens are minted per action after a PERMIT, used in-process and revoked, and the revocation is verified. Writes to main use tokens that last at most 120 seconds. Containers run with no network and no credentials. Tokens never reach the browser bundle or URLs, and are stored only as SHA-256 hashes.

Where do people fit in?

Owners hold authority over protected paths, instead of counting approvals. People file issues, assign them to AI, watch runs and read the ledger in the same workspace the agents use.

Why should anyone trust a decision?

Every PERMIT or DENY names its clause and rule-set hash and is appended to a hash-chained ledger. The forge re-verifies the chain before every governed operation, so a tampered history is caught.

Is it all open source?

Yes. The complete source is MIT-licensed, including the contract engine the forge runs, which is parity-tested against the production engine.

How do I run it?

Step-by-step instructions in the README deploy it to your own Cloudflare account. Artifacts is in open beta on the Workers Paid plan.

How does it scale?

It is serverless end to end. Each task gets its own fork on Artifacts, which Cloudflare designed to scale to millions of repositories.

Try it

Live demo
git-demo.thinktechholdings.com
Source
github.com/ThinkTechHoldings/ulang-git
Run it
Step-by-step in the README
Built by
ThinkTech · Jake Martin, CTO
Contact
[email protected]
Follow us
ThinkTech on LinkedIn