io.zzstoatzz.phi.getAbilities

phi.zzstoatzz.io

Schema Diff

+1 -1

From

CID
bafyreiab5hft7rw...
Indexed At
2026-07-25 17:28 UTC
View this version

To

CID
bafyreicjw5q6gd7...
Indexed At
2026-10-09 05:07 UTC
View this version

Compatibility Analysis

Backward Compatible

No changes detected.

1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "ability": {
5 5
      "description": "One registered function tool.",
6 6
      "properties": {
7 7
        "description": {
8 8
          "description": "The tool's docstring — what the model is shown.",
9 9
          "type": "string"
10 10
        },
11 11
        "name": {
12 12
          "description": "The tool name the model calls.",
13 13
          "type": "string"
14 14
        },
15 15
        "operator_only": {
16 -
          "description": "Whether the tool is gated to the operator via the like-as-approval mechanism.",
16 +
          "description": "Whether the tool's primary action requires operator authorization. Mixed tools describe per-action restrictions in their descriptions.",
17 17
          "type": "boolean"
18 18
        },
19 19
        "risk": {
20 20
          "ref": "#risk",
21 21
          "type": "ref"
22 22
        }
23 23
      },
24 24
      "required": [
25 25
        "name",
26 26
        "description",
27 27
        "operator_only",
28 28
        "risk"
29 29
      ],
30 30
      "type": "object"
31 31
    },
32 32
    "main": {
33 33
      "description": "Phi's currently-registered function tools, computed live from the running code rather than hand-maintained, so it cannot drift from what she can actually do. Every tool carries a risk declaration: a tool without one is not a valid tool, and the test suite refuses it. Served at /xrpc/io.zzstoatzz.phi.getAbilities; /api/abilities is kept as an alias.",
34 34
      "output": {
35 35
        "encoding": "application/json",
36 36
        "schema": {
37 37
          "properties": {
38 38
            "abilities": {
39 39
              "items": {
40 40
                "ref": "#ability",
41 41
                "type": "ref"
42 42
              },
43 43
              "type": "array"
44 44
            }
45 45
          },
46 46
          "required": [
47 47
            "abilities"
48 48
          ],
49 49
          "type": "object"
50 50
        }
51 51
      },
52 52
      "type": "query"
53 53
    },
54 54
    "risk": {
55 55
      "description": "What this tool can cost if it goes wrong. Required on every tool — the declaration is what makes a tool valid. Magnitude is ordered by reach and reversibility, not by how often the tool is used.",
56 56
      "properties": {
57 57
        "magnitude": {
58 58
          "description": "none: reads only, changes nothing. low: changes phi's own private state, reversible. moderate: publicly visible under her name, reversible by her. high: reaches other people's attention, spends real money, or cannot be undone with the tools she has.",
59 59
          "knownValues": [
60 60
            "none",
61 61
            "low",
62 62
            "moderate",
63 63
            "high"
64 64
          ],
65 65
          "type": "string"
66 66
        },
67 67
        "reason": {
68 68
          "description": "One sentence saying what specifically could go wrong. Written to be read by a person in the cockpit and by the policy judge when it evaluates a proposed call, so it names the concrete failure rather than restating the magnitude.",
69 69
          "maxLength": 400,
70 70
          "type": "string"
71 71
        }
72 72
      },
73 73
      "required": [
74 74
        "magnitude",
75 75
        "reason"
76 76
      ],
77 77
      "type": "object"
78 78
    }
79 79
  },
80 80
  "id": "io.zzstoatzz.phi.getAbilities",
81 81
  "lexicon": 1
82 82
}

Compare Other Versions

Lexicon Garden

@