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
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
-
"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.",
5
+
"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`.",
6
6
"errors": [
7
7
{
8
8
"description": "The requesting user is not allowed to create an arbiter.",
9
9
"name": "ErrPermissionDenied"
10
10
},
11
11
{
12
12
"description": "Account creation or initial record writes failed.",
13
13
"name": "ErrProvisioningFailed"
14
14
}
15
15
],
16
16
"output": {
17
17
"encoding": "application/json",
18
18
"schema": {
19
19
"properties": {
20
-
"ok": {
21
-
"type": "boolean"
20
+
"did": {
21
+
"description": "The DID of the newly created stewarded account.",
22
+
"format": "did",
23
+
"type": "string"
22
24
}
23
25
},
24
26
"required": [
25
-
"ok"
27
+
"did"
26
28
],
27
29
"type": "object"
28
30
}
29
31
},
30
32
"type": "procedure"
31
33
}
32
34
},
33
35
"id": "town.muni.arbiter.createArbiter",
34
36
"lexicon": 1
35
37
}