Run a turf-war drill on a schedule
Run the six fixed Intralock scenarios, read the result of each one, and set a cadence so the drill repeats on its own.
drills.frt
Run the six fixed Intralock scenarios, read the result of each one, and set a cadence so the drill repeats on its own.
drills.frtPut admission in front of your MCP servers, repositories, SaaS tools and cloud accounts. Every agent gets a lease or a reason – and you keep the lever to stop any of them.
You want to know the kernel still behaves as specified: leases exclude, cycles are refused, protected classes hold and a stop never turns a deny into an allow. The drill runs six scenarios.
policies.propose the narrowest permission the doc names for this stepThe code reads the key from INTRAMEDIAL_KEY. Keep it in your shell or your secret store, never in a file you commit. Calls that need a signed-in person cannot use a key: the console makes them.
Call the route. It runs six scenarios against the real Intralock evaluator and answers ok for each, with llm always false. A run is green when every one passes.
drills.frtdrills-frt
curl -sS https://api.intramedial.com/api/v1/acp/drills/frt \
-H "Authorization: Bearer $INTRAMEDIAL_KEY"const res = await fetch("https://api.intramedial.com/api/v1/acp/drills/frt", {
headers: { Authorization: `Bearer ${process.env.INTRAMEDIAL_KEY}`, },
});
console.log(res.status, await res.json());import os, requests
res = requests.get(
"https://api.intramedial.com/api/v1/acp/drills/frt",
headers={"Authorization": "Bearer " + os.environ["INTRAMEDIAL_KEY"]},
timeout=30,
)
print(res.status_code, res.json()){
"results": [
{ "id": "FRT-1", "ok": true, "detail": "holder admitted, waiter blocked" },
{ "id": "FRT-2", "ok": true, "detail": "cycle detected + applyGrant refused" },
{ "id": "FRT-3", "ok": true, "detail": "wildcard blocked on kms write" },
{ "id": "FRT-4", "ok": true, "detail": "waiter-graph cycle is deadlock" },
{ "id": "FRT-5", "ok": true, "detail": "quarantine∪kill is monotone deny" },
{ "id": "FRT-6", "ok": true, "detail": "inclusion walks to merkleRoot" }
],
"llm": false
}Send kind and everyHours, from 1 to 2160. Only a person who administers the workspace can set or clear it.
curl -sS -X POST https://api.intramedial.com/api/v1/acp/drills/schedule \
-H "Authorization: Bearer $INTRAMEDIAL_KEY" \
-H "Content-Type: application/json" \
-d '{
"kind": "frt",
"everyHours": 24
}'const res = await fetch("https://api.intramedial.com/api/v1/acp/drills/schedule", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.INTRAMEDIAL_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
kind: "frt",
everyHours: 24,
}),
});
console.log(res.status, await res.json());import os, requests
res = requests.post(
"https://api.intramedial.com/api/v1/acp/drills/schedule",
headers={"Authorization": "Bearer " + os.environ["INTRAMEDIAL_KEY"]},
json={
"kind": "frt",
"everyHours": 24,
},
timeout=30,
)
print(res.status_code, res.json())Copied from: /docs/drills-frt
The ledger is append-only and sealed under Merkle roots. The time on an entry is Intramedial's own clock, and a signed bundle can be checked offline with the published key.
Drop or add a grant in a copy of the policy, probe it, and read each verdict before and after the change.
drills.counterfactualList the detectors, run lease-overlap, and read the conflicts it cites with their evidence, then read the cases it filed for review.
detection.runAsk for a held lease, read the back-off the plane names and retry until the slot is yours.
coordination.leaseOne short email when we add recipes to the cookbook. No other mail, and you can unsubscribe from any message.
No key or account: Try it on the coordination.admit module page runs the real kernel in your browser. Use a workspace key for your own workspace.