Update Deck
update_deckRevise a container or specialist deck configuration.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| load | No | Change the deck's load handle (the boot key). Lowercase, hyphens allowed, max 24 chars, must start with letter or number, must not be reserved (meta/console/container-context), must be unique per user. Mirrored onto raw_json.load. | |
| name | No | Rename the deck (display name, max 64 chars). Optional — provide to rename. Mirrored onto raw_json.name. | |
| action | No | Default 'write'. 'validate': pre-send check across all three write surfaces (content field caps via the same enforceDeckCaps the write runs, content_ops op/field vocabulary, name ≤64, load format) WITHOUT writing; returns { valid, missing_required[], over_cap: [{field, len, cap}], not_checked? }. Deck resolution, merged-content caps, and content_ops application still run at write time. No identifier needed for validate. | |
| handle | No | Alternative identifier — deck.load handle. Use when neither deck_id nor container_id is at hand. | |
| content | No | Partial content patch. Shape: intent (≤600), description (specialized-context only, ≤300 — container-context rejects it; intent is the container's single what-is-this answer), guidelines (instruction_item[]), out_of_bounds (instruction_item[]), data_refs, file_map. file_map is keyed by stable reference name; every item is { path: string, description?: string }, stays deck-local, and key-merges with existing (null deletes a key). instruction_item is { rule, priority, shared? } — per-item shared governs what flows to specialized loads (guidelines/data_refs opt-in via shared:true; out_of_bounds opt-out via shared:false). data_refs entries take optional declaration-layer knobs: read {projection: 'outline'|'summary' | sections: string[]} on medium='kb_record' (grounding grain) and routing 'pcd'|'direct'|'auto' on medium='mcp_connection' (broker vs client reach); rejected on other mediums. Most fields REPLACE on provided — prefer content_ops for single-item edits on the three arrays. session_modes retired — sending it rejects. Optional — may be omitted when only patching name/load. | |
| deck_id | No | Preferred identifier — deck UUID. Required for specialized-context (since multiple per container). | |
| contract | No | Help mode — return the complete contract with no operation performed. | |
| deck_type | Yes | User-editable deck type. Platform-managed types (container-meta, user-meta, company-meta) are NOT writable through this tool — they live behind their dedicated tools. | |
| content_ops | No | Per-item ops against the CURRENT stored arrays; no whole-array resend. Applied sequentially, first failure rejects the call (no partial application). A field addressed here must not also appear in content. The post-ops array flows through the same caps + knob validation as a whole-array write. | |
| container_id | No | Alternative identifier — container UUID. Only valid when deck_type='container-context' (1-per-container). |