town.muni.arbiter.createArbiter
Schema Diff
+6 -4
Compatibility Analysis
Breaking Changes Detected
3 breaking changes, 1 non-breaking change.
Breaking Changes (3)
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "town.muni.arbiter.createArbiter:output", src: "town.muni.arbiter.createArbiter:output", tgt: "town.muni.arbiter.createArbiter:output.did", kind: "prop", name: Some("did") }
- RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "town.muni.arbiter.createArbiter:output", src: "town.muni.arbiter.createArbiter:output", tgt: "town.muni.arbiter.createArbiter:output.ok", kind: "prop", name: Some("ok") }
- RemovedVertex RemovedVertex { vertex_id: "town.muni.arbiter.createArbiter:output.ok" }
Non-Breaking Changes (1)
- AddedVertex AddedVertex { vertex_id: "town.muni.arbiter.createArbiter:output.did" }
Migration Guidance
Removed Elements
RemovedVertex { vertex_id: "town.muni.arbiter.createArbiter:output.ok" }
Added Elements
AddedVertex { vertex_id: "town.muni.arbiter.createArbiter:output.did" }
Additional Notes
- Breaking: RequiredEdgeAdded { vertex_id: "town.muni.arbiter.createArbiter:output", src: "town.muni.arbiter.createArbiter:output", tgt: "town.muni.arbiter.createArbiter:output.did", kind: "prop", name: Some("did") }
- Breaking: RequiredEdgeRemoved { vertex_id: "town.muni.arbiter.createArbiter:output", src: "town.muni.arbiter.createArbiter:output", tgt: "town.muni.arbiter.createArbiter:output.ok", kind: "prop", name: Some("ok") }
1
1
{
2
2
"id": "town.muni.arbiter.createArbiter",
3
3
"defs": {
4
4
"main": {
5
5
"type": "procedure",
6
6
"errors": [
7
7
{
8
8
"name": "ErrPermissionDenied",
9
9
"description": "The requesting user is not allowed to create an arbiter."
10
10
},
11
11
{
12
12
"name": "ErrProvisioningFailed",
13
13
"description": "Account creation or initial record writes failed."
14
14
}
15
15
],
16
16
"output": {
17
17
"schema": {
18
18
"type": "object",
19
19
"required": [
20
-
"ok"
20
+
"did"
21
21
],
22
22
"properties": {
23
-
"ok": {
24
-
"type": "boolean"
23
+
"did": {
24
+
"type": "string",
25
+
"format": "did",
26
+
"description": "The DID of the newly created stewarded account."
25
27
}
26
28
}
27
29
},
28
30
"encoding": "application/json"
29
31
},
30
-
"description": "Provision a brand-new stewarded PDS account and bring its arbiter online.\n\nThe caller authenticates via serviceAuth (aud = arbiter-server DID,\nlxm = town.muni.arbiter.createArbiter). The server creates a new account\non the configured default PDS using an invite code + random password,\nstores the credentials, writes the service + recovery records from the\nnew account's session, and loads the (default/empty) policies."
32
+
"description": "Provision a brand-new stewarded PDS account.\n\nThe caller authenticates via serviceAuth (aud = arbiter-server DID,\nlxm = town.muni.arbiter.createArbiter). The server creates a new account\non the configured default PDS using an invite code + random password,\nstores the credentials, and writes the service + recovery records from the\nnew account's session. No policy is written: the arbiter stays offline\n(fail-closed) until the recovery admin installs the first policy via\n`town.muni.arbiter.resetPolicy`."
31
33
}
32
34
},
33
35
"$type": "com.atproto.lexicon.schema",
34
36
"lexicon": 1
35
37
}