Pin library shelf
pin_shelfRecords an explicit user pin, unpin, or move decision for one item's shelf membership; use it for individual decisions authorized by a dashboard-issued intent token.
Instructions
Record a user's pin, unpin or move decision for one item's shelf membership. Use for an explicit individual decision; use apply_reshelving for run-wide proposed changes. Requires a dashboard-minted user_intent_token tied to the exact operation and current projection revision; no actor string grants authority. The Librarian cannot override the resulting user decision. Retry the same operation_key only with identical arguments.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | pin protects this membership; unpin removes its pin; move records a user-directed placement on the target shelf. | |
| reason | No | Human-readable explanation for the requested action or non-assignment outcome. | |
| shelf_id | Yes | Stable target shelf identifier from the library taxonomy or evidence packet. | |
| video_id | Yes | Stable saved-item identifier from a search or capture result; not necessarily a YouTube ID. | |
| operation_key | Yes | Client-generated key for an identical-operation retry; do not reuse it for different arguments. | |
| user_intent_token | Yes | Operation-bound capability minted after local dashboard confirmation; agents cannot mint it or substitute an actor field. | |
| expected_projection_revision | Yes | Current label-projection revision from the library response; stale writes are refused. |