1 · Draft v1
Attune drafts the brief from Acme's docs and the granted files. Both teams confirm v1.
Product preview · fictional organizations
Your integrationAI forward deployed engineer for integrations
Attune plans the integration with your team and your customer's team. It builds the change in a sandbox and checks it. Their owner authorizes each release.
Watch the integration workflow · 75 sec
Scroll to begin, or choose a step.
Access
Acme Studios, the vendor, selects the files of its customer's repository that the brief needs. Only the Fernhill Labs repository owner can grant them, file by file.
One integration
Your product docs and the files their owner grants feed one shared brief. Attune builds in a sandbox and runs the acceptance checks from the brief. Their owner authorizes the release.
Brief and review
1 · Draft v1
Attune drafts the brief from Acme's docs and the granted files. Both teams confirm v1.
2 · Discussion
Fernhill's engineer asks if a retried upload can make two renditions. Attune answers from the brief and proposes a change.
3 · Proposed change
Task T2 changes. The acceptance checks stay the same. Saving creates v2, and both teams must confirm v2.
Sandbox
Each attempt changes only granted files and new files in the brief's scope, and makes one revision. After a failed check, Attune repairs the code in a new attempt. The checks stay the same.
Checks
A result applies only to that revision in that sandbox environment. A failure stays visible until a repair passes the same check. A blocked check names its owner and the next action.
Release
Their repository owner grants access. Both teams confirm the current brief version. Their environment owner authorizes one revision to one target. Fernhill Labs then accepts it, as a separate decision.
Acme Studiosyour product
Attuneshared brief and sandbox
Fernhill Labstheir code and release
Fernhill Labsrelease
POST /v2/assetsasset.renderedupload.pywebhooks.pyinvoices.pyAcme Studios approves what Attune learns.
Only their owner grants code access, file by file.
Attune builds in a private sandbox and runs the acceptance checks.
Their environment owner authorizes each release.
Integrations Fernhill Labs Assets sync
Maya R. · Acme Studios
Current operation: read and model processing for the Assets sync brief.
fernhill/catalog-service at 4c1e9a7
Local repository in this preview. The GitHub connection is built; its live test is pending.
Select files, then request access. Only the Fernhill Labs owner can grant it.
Customer owner view · Dana K., Fernhill Labs repository owner
For the Assets sync brief: read, and model processing. Approved text goes to Anthropic's Claude.
v1 confirmed by both teams.
Changes upload.py, webhooks.py and a new acme_client.py in catalog/assets/. Out of scope: billing/.
acme_client.py.5 to 8 engineering hours for T1 to T3 · Attune's estimate, not a commitment. It assumes Acme's documented retry rules.
Integrations Fernhill Labs Assets sync
Maya R. · Acme Studios
Private copy of fernhill/catalog-service at 4c1e9a7. Built against brief v1.
Attempts
Changed files · attempt 2
May change granted files, new files in catalog/assets/
May not change billing/, deploy settings, secrets. No network.
catalog/assets/upload.pyAttempt 2 · 9f3c2e1 · changed lines only
def on_new_image(image): queue_for_later(image) key = uuid.uuid4().hex # T2 v1: a new key on each send result = acme_client.send_upload(image, key) store.save_asset_id(image.id, result["asset_id"])
T2 v1: a new key on each send. A retry after a timeout sends a second key. C3 shows the effect.
No grant for upload.py and webhooks.py in this session: this shows the work a grant makes possible. Preview: scripted code, and +/− counts the lines shown. Nothing runs on a real repository.
Integrations Fernhill Labs Assets sync
Maya R. · Acme Studios
Revision 9f3c2e1 · attempt 2 · brief v1
Acceptance checks · set in the brief before work, unchanged
| Check | Result on 9f3c2e1 | Evidence |
|---|---|---|
| C1 Upload returns 201 | Not run | |
| C2 Duplicate webhook is ignored | Not run | |
| C3 A retry makes one rendition | Not run | |
| C4 A bad signature is rejected | Not run |
Not run on 9f3c2e1. Results from 5e81c0a do not apply to it.
Repair attempts
5e81c0aC2 failed. Attune sent it back for repair.9f3c2e1Current revision. The same four acceptance checks apply.Integrations Fernhill Labs Assets sync
Maya R. · Acme Studios
Target: fernhill/catalog-service to staging · revision 9f3c2e1
Change Attempt 2, brief v1: 3 files, +28 −2 lines shown · Inspect the change
Evidence Acceptance checks have not run on 9f3c2e1. Open the checks
1 · Access grantDana K., Fernhill Labs repository owner
Not granted in this session. Go to Access
2 · Brief confirmation · v1Each team confirms the same version
Fernhill Labs confirmed v1
Acme Studios confirmed v1
3 · Release authorizationBy their environment owner
Customer owner view · Dana K.
4 · Customer acceptanceA separate decision by Fernhill Labs
Customer view · Sam O. · after step 3
Authorization waits for the owner's grant of upload.py and webhooks.py; a run of the acceptance checks on 9f3c2e1.
Acme Studios cannot grant or authorize, and Attune cannot approve its own work. Preview: nothing deploys or contacts GitHub.
Illustrative product walkthrough · Attune is in development.
Where Attune fits
Each story shows what their owner grants, one acceptance check set in the brief, and who authorizes the release.
Illustrations of integration types. Today Attune runs on Python services in local repositories, with synthetic companies and data.
Payments in their billing app
Illustration
InvoiceAmount (USD)Status
INV-1042$630.00Paid
INV-1043$84.20Open
POST /v1/payments Idempotency-Key inv-1042-a1
201 succeeded · invoice marked paid
Second click · same key · no second payment
billing/payments.py · readTelemetry from their services
Illustration
orders-apisending
checkout-websending
http.server.duration http.server.requests
Test alert fired and cleared · readback checked
services/*/otel.yaml · readCalls that update their CRM
Illustration
Call summary
Customer asks for a quote by Friday.
Action create_follow_up_task
TaskDueOwner
Send quoteFriJ. Ruiz
Fields mapped as their CRM admin approved
crm_sync/tasks.py · readOrder status between two systems
Illustration
OrderTheir system
ord_77Packed
PUT /v1/orders/ord_77 status packed
Your dashboard shows Packed
Retry after a timeout · one update, not two
orders/events.py · readOnly owner-granted files reach Attune or a model.
Verified in local runsAcceptance checks are set before any code is written.
Verified in local runsAcceptance checks run in isolated containers with restricted network access.
Verified in local runs (local development sandbox)Confirmations bind to one exact brief version.
Verified in local runsA person authorizes each exact release.
Verified in local runs (synthetic release target)Approved text goes to Anthropic's Claude. Your own model key is planned.
Planned (your own model key)Read Security and access for every statement and its limits.
Your integration
We want to start with one real integration. Tell us which one.
Today
Attune runs in local development with synthetic companies, data and participants. Those runs cover Python services in local repositories. The GitHub connection is built; its live test is pending. No customer deployment yet.
Integrations Your integration
New brief · draft