Spreadsheet Operations & Collaboration
Arte Sheets AI Assistant Sheet Commands & Stale-Version Protection in Live Collaboration
Understand how Arte Sheets protects real-time multi-user workbooks by binding AI proposals to {workbookId, sheetId, version} and enforcing sheet naming rules (<= 31 chars, < 200 sheets, no \ / ? * [ ] :) across create_sheet, rename_sheet, and select_sheet.
Prevent silent overwrites when teammates edit cells while an AI proposal is open!
In a real-time collaborative workbook where multiple contributors edit cells simultaneously (with live cursors, avatars, cell suggestions, threaded comments, @mentions, and personal notifications), what happens if you ask the Arte Sheets AI Assistant (on an eligible plan with verified email and metered monthly credits) for a formula proposal and a teammate edits the sheet before you click Apply changes? Arte Sheets’ live AssistantUI records the exact snapshot tuple {workbookId, sheetId, version} when generating a proposal and re-verifies that all three match before applying — automatically blocking stale proposals with a clear notice so concurrent collaborator edits are never silently overwritten!
For structural tab navigation and setup via text or voice (including inside ordered execute_steps sequences up to 10 steps), the AI Assistant provides select_sheet (matching by sheetId or case-insensitive name), create_sheet (requiring a unique trimmed name of 1 to 31 characters containing none of the 7 reserved characters \ / ? * [ ] :, when total sheets < 200, and activating the newly created tab), and rename_sheet (on unprotected sheets when the user has editor/owner write access and is not in viewer, suggester, or suggest mode)!
| AI Assistant Sheet / Concurrency Check | Live Rule in commands.js & ui.js | Outcome When Violated |
|---|---|---|
| Proposal Snapshot {workbookId, sheetId, version} | Must equal current store state on Apply | Refuses stale apply; asks for fresh prompt |
| Sheet Name Length & Uniqueness | 1..31 trimmed chars; case-insensitive unique | Throws invalid / exists error before creating |
| Reserved Workbook Characters | Forbids \ / ? * [ ] : | Rejected so Sheet!A1 formulas stay valid |
| Workbook Sheet Capacity & Roles | < 200 sheets; blocked for viewer/suggester/suggest | Throws limit or readonly error cleanly |
Pre-Validate Sheet Tab Name Length (1..31 Chars) & Workbook Sheet Cap (< 200)
Checks trimmed sheet-name length LEN(TRIM(B2 & "")) in 1..31 and existing sheet count B3 < 200 before issuing create_sheet or rename_sheet.
=IF(OR(LEN(TRIM(B2 & "")) = 0, LEN(TRIM(B2 & "")) > 31), "Invalid Sheet Name Length (Requires 1–31 Trimmed Chars)", IF(B3 >= 200, "Workbook Reached 200-Sheet Assistant Limit", "Valid Sheet Name Length & Tab Count"))Concurrent Version Staleness Check (Proposal_Version = Current_Store_Version)
Compares proposal snapshot version B4 against current live workbook version B5 to mirror AssistantUI’s stale-proposal guard.
=IF(OR(B4 < 0, B5 < B4), "Invalid Version Counter", IF(B4 = B5, "Fresh Snapshot: Safe to Apply Proposal", "Stale Proposal: Workbook Changed by Collaborator — Regenerate"))Try the example
Use the original values or change them to test your understanding.