Intent Relay
The OZ Intent Relay is contribution infrastructure — submit a described intent, receive a signed compiled artifact. No source code access required. OZ's build agents implement the change, run the test suite, and sign the binary. You get a production-grade artifact without touching the engine internals.
Developer OZ Build Relay ArcFlow Source
┌──────────────┐ Intent ┌──────────────────┐ ┌─────────────┐
│ "Fix the bug │───────────────→ │ Sandboxed build │─────────────→│ Private │
│ where X │ │ AI agent │ │ source code │
│ happens" │ Artifact │ implements fix │ │ │
│ │←─────────────── │ runs tests │←─────────────│ │
│ │ │ signs binary │ │ │
└──────────────┘ └──────────────────┘ └─────────────┘
How it works#
1. Write an intent#
An intent describes what you want, not how to implement it:
{
"category": "bug_fix",
"description": "MERGE with ON CREATE SET creates duplicates when the match key contains a dash character",
"motivation": "Breaks our entity resolution pipeline when IDs contain hyphens",
"test_cases": [
{
"input": "MERGE (n:Entity {id: 'abc-123'}) ON CREATE SET n.name = 'test'",
"expected_output": "1 node created on first run, 0 on second run",
"description": "Idempotent MERGE with hyphenated ID"
}
],
"context": "Reproduction: run the MERGE twice, count(*) returns 2 instead of 1"
}2. Submit via CLI#
arcflow-relay submit --category bug_fix --description "..." --test-case "..."Or via the API:
curl -X POST https://relay.oz.com/v1/intents \
-H "Authorization: Bearer bsk_your_key" \
-H "Content-Type: application/json" \
-d '{ "category": "bug_fix", "description": "...", "test_cases": [...] }'3. Receive artifacts#
The relay:
- Spawns an isolated, sandboxed build session
- AI agent implements the change against the private source
- Runs the full test suite + your test cases
- Signs the compiled artifact (Ed25519)
- Returns the binary + test results
{
"status": "pass",
"artifact": {
"url": "https://relay.oz.com/artifacts/abc123.dylib",
"hash": "sha256:...",
"signature": "ed25519:..."
},
"tests": {
"total": 654,
"passed": 654,
"failed": 0,
"your_tests": { "total": 1, "passed": 1 }
},
"summary": "Fixed MERGE match predicate to handle hyphenated string keys correctly."
}4. Use the artifact#
The custom artifact is a drop-in replacement:
# Replace the standard binary
cp artifact.dylib node_modules/arcflow/arcflow.darwin-arm64.node
# Everything works the same, with your fix included5. Promotion#
If the change passes OZ's quality review, it gets promoted to the official release. You get:
- Credit in the changelog
- Early access (14 days before general availability)
Intent categories#
| Category | When to use |
|---|---|
bug_fix | Something doesn't work as documented |
feature | New functionality needed |
performance | Existing feature is too slow |
compatibility | Integration issue with a specific platform/tool |
Service tiers#
| Tier | Intents/day | Concurrent sessions | Artifact retention | Price |
|---|---|---|---|---|
| Community | 3 | 1 | 7 days | Free |
| Professional | 10 | 3 | 90 days | Contact |
| Enterprise | Custom | 10+ | 1 year+ | Annual contract |
Security#
- Each build runs in process-level isolation (sandboxed)
- No outbound network access during builds
- Maximum 30 minutes per intent
- All artifacts signed with Ed25519
- Artifact signature verification built into the SDK
What the relay never returns#
- Source code, diffs, or patches
- Internal file paths or function signatures
- Build logs beyond pass/fail
- Internal test source code
CLI reference#
arcflow-relay submit # Submit an intent
arcflow-relay status # Check intent status
arcflow-relay artifacts # List your artifacts
arcflow-relay verify # Verify artifact signatureA2A Protocol#
The relay uses the Agent-to-Agent (A2A) protocol for communication. Each intent is wrapped in an A2A Message with structured Parts (text description, test cases, context).
See Also#
- Agent-Native Database — the integration surfaces the relay routes to
- MCP Server — cloud chat UI integration for agents without local shell access
- Skills — declarative relationship rules: another way to add world model features
Try it
Open ↗⌘↵ to run
Loading engine…