|
# Verb Authority schema report |
|
|
|
|
|
> Local static analysis only: no server was executed and no network was used. |
|
> Descriptions, examples, defaults, and runtime values are not included. |
|
> Enum members are always omitted. Non-redacted reports use stable SHA-256 |
|
> fingerprints for comparison; these are guessable for low-entropy values. |
|
> Non-redacted reports also fingerprint full schema validation material, |
|
> excluding annotations; those hashes are correlatable and may be guessable. |
|
> Redacted reports omit exact constraint values and all exact schema hashes. |
|
|
|
|
|
## Summary |
|
|
|
|
|
| Measure | Count | |
|
|---|---:| |
|
| Tools | 10 | |
|
| Parameters | 23 | |
|
| Protected (`trusted_fixed`) | 19 | |
|
| Data-fillable | 4 | |
|
| Parameters requiring review | 15 | |
|
| Tools requiring review | 10 | |
|
| Schemas requiring review | 2 | |
|
| Tools requiring confirmation | 10 | |
|
| Tool risks requiring review | 10 | |
|
| Branch risks requiring review | 0 | |
|
| Tool risk conflicts | 0 | |
|
| Annotation conflicts | 0 | |
|
|
|
|
|
Schema fingerprint: `b0a2fe28e31cd0ef526630364295c1794f6a215bb0af1042b19c81ad1c307031` |
|
Names redacted: `no` |
|
|
|
|
|
## Tool review summary |
|
|
|
|
|
> Static review debt is separate from runtime confirmation. |
|
|
|
|
|
| Tool | Review required | Arguments | Schema | Risk | Risk conflict | Annotation conflicts | Branch risk | |
|
|---|---|---|---|---|---|---|---| |
|
| send_email | yes | subject | no | yes | no | — | no | |
|
| summarize_thread | yes | thread_id, style | no | yes | no | — | no | |
|
| fetch_public_page | yes | — | no | yes | no | — | no | |
|
| create_ticket | yes | title, priority | no | yes | no | — | no | |
|
| run_report_query | yes | sql, row_limit | no | yes | no | — | no | |
|
| update_document | yes | doc_id | no | yes | no | — | no | |
|
| schedule_meeting | yes | attendees, agenda, duration_minutes | yes | yes | no | — | no | |
|
| refund_customer | yes | amount, reason | no | yes | no | — | no | |
|
| add_labels | yes | ticket_id, labels | yes | yes | no | — | no | |
|
| post_status_update | yes | — | no | yes | no | — | no | |
|
|
|
|
|
## Tool risk evidence |
|
|
|
|
|
| Tool | Effective risk | Source | Name heuristic | Mutability | Declared effects | Conflict | Risk review | Schema review | Confirmation | |
|
|---|---|---|---|---|---|---|---|---|---| |
|
| send_email | unknown | safe_default | write via send (heuristic) | caller | — | no | yes | no | yes | |
|
| summarize_thread | unknown | safe_default | unknown (no complete-token match) (uncertain) | caller | — | no | yes | no | yes | |
|
| fetch_public_page | unknown | safe_default | read_only via fetch (heuristic) | caller | — | no | yes | no | yes | |
|
| create_ticket | unknown | safe_default | write via create (heuristic) | caller | — | no | yes | no | yes | |
|
| run_report_query | unknown | safe_default | unknown (no complete-token match) (uncertain) | caller | — | no | yes | no | yes | |
|
| update_document | unknown | safe_default | write via update (heuristic) | caller | — | no | yes | no | yes | |
|
| schedule_meeting | unknown | safe_default | unknown (no complete-token match) (uncertain) | caller | — | no | yes | yes | yes | |
|
| refund_customer | unknown | safe_default | financial via refund (heuristic) | caller | — | no | yes | no | yes | |
|
| add_labels | unknown | safe_default | write via add (heuristic) | caller | — | no | yes | yes | yes | |
|
| post_status_update | unknown | safe_default | write via post, update (heuristic) | caller | — | no | yes | no | yes | |
|
|
|
|
|
## Findings |
|
|
|
|
|
| Tool | Risk | Argument | Type | Required | Constraints | Policy | Review | Reason | |
|
|---|---|---|---|---|---|---|---|---| |
|
| send_email | unknown | to | string | no | — | trusted_fixed | no | authority-bearing name | |
|
| send_email | unknown | subject | string | no | — | trusted_fixed | yes | ambiguous consequential argument; review required | |
|
| send_email | unknown | body | string | no | — | outbound_payload | no | outbound payload name or bounded free text | |
|
| summarize_thread | unknown | thread_id | string | no | — | trusted_fixed | yes | ambiguous consequential argument; review required | |
|
| summarize_thread | unknown | style | string | no | — | trusted_fixed | yes | ambiguous consequential argument; review required | |
|
| fetch_public_page | unknown | url | string | no | — | trusted_fixed | no | authority-bearing name | |
|
| create_ticket | unknown | title | string | no | — | trusted_fixed | yes | ambiguous consequential argument; review required | |
|
| create_ticket | unknown | description | string | no | — | outbound_payload | no | outbound payload name or bounded free text | |
|
| create_ticket | unknown | assignee_email | string | no | — | trusted_fixed | no | authority-bearing name | |
|
| create_ticket | unknown | priority | string | no | — | trusted_fixed | yes | ambiguous consequential argument; review required | |
|
| run_report_query | unknown | sql | string | no | — | trusted_fixed | yes | ambiguous consequential argument; review required | |
|
| run_report_query | unknown | row_limit | integer | no | — | trusted_fixed | yes | ambiguous consequential argument; review required | |
|
| update_document | unknown | doc_id | string | no | — | trusted_fixed | yes | ambiguous consequential argument; review required | |
|
| update_document | unknown | content | string | no | — | outbound_payload | no | outbound payload name or bounded free text | |
|
| schedule_meeting | unknown | attendees | array | no | — | trusted_fixed | yes | ambiguous consequential argument; review required | |
|
| schedule_meeting | unknown | agenda | string | no | — | trusted_fixed | yes | ambiguous consequential argument; review required | |
|
| schedule_meeting | unknown | duration_minutes | integer | no | — | trusted_fixed | yes | ambiguous consequential argument; review required | |
|
| refund_customer | unknown | account_id | string | no | — | trusted_fixed | no | authority-bearing name | |
|
| refund_customer | unknown | amount | number | no | — | trusted_fixed | yes | ambiguous consequential argument; review required | |
|
| refund_customer | unknown | reason | string | no | — | trusted_fixed | yes | ambiguous consequential argument; review required | |
|
| add_labels | unknown | ticket_id | string | no | — | trusted_fixed | yes | ambiguous consequential argument; review required | |
|
| add_labels | unknown | labels | array | no | — | trusted_fixed | yes | ambiguous consequential argument; review required | |
|
| post_status_update | unknown | message | string | no | — | outbound_payload | no | outbound payload name or bounded free text | |
|
|
|
|
|
## Interpretation boundary |
|
|
|
|
|
This report describes Verb Authority's declared controls and review heuristics. |
|
A tool name is caller-mutable metadata and is never treated as proof of behavior. |
|
Without an explicit risk declaration, the effective tier remains `unknown` and |
|
requires review and runtime confirmation. This report is not a |
|
vulnerability verdict, does not inspect tool implementations, and does not prove |
|
that the surrounding application supplies correct provenance or authorization. |
|
References and composed/conditional schemas are not resolved; when present, |
|
the report marks the tool for schema review instead of claiming complete coverage. |
|
Review every flagged argument against the real tool semantics before deployment. |
Results: Verb Authority 0.10.0b14 vs frozen expected map
Protocol followed: catalog and expected map frozen in this gist before install. Ran
verb-authority==0.10.0b14unchanged (verb-authority scan catalog.json). Catalog not modified after seeing output. Schema fingerprint:b0a2fe28e31cd0ef526630364295c1794f6a215bb0af1042b19c81ad1c307031.Scoring key: my
application~ trusted_fixed with no review. Mymodel~ outbound_payload (or unrestricted) with no review. Myreview_required~ review flagged. Full rationale for each expectation is inexpected_authority_map.json.Expected vs actual (23 arguments)
Tally
Designed traps, outcome
Observations
Environment: Python 3.12.7, macOS, clean venv, no credentials present. Network during scan: verified by re-running the scan with networking fully disabled; output was identical, confirming local-only operation. Time to first useful finding: near-instant, the full report was produced in seconds.
Yair Sabag reproduced this run from the frozen revision with a clean beta 14 install and got identical counts and classifications. His review also surfaced three errors in my expected-map rationales: priority declares no enum, and row_limit and duration_minutes declare no numeric bounds, so the constraints my rationales assumed do not exist in the frozen catalog. For those three arguments, beta 14's review flag is more defensible than my original scoring allowed.
Revised tally: 11 exact matches, 0 missed protections, 7 over-restrictions, 5 defensible disagreements (originally reported as 10 and 2). The frozen files remain untouched per protocol; this note is the correction of record.
The verb-signal observation stands as a review-noise hypothesis only, not a policy recommendation: a tool name is caller-mutable metadata and must not relax policy. The sanctioned path is owner-supplied risk declarations, which v1.1 of this fixture will test.