zotPreview() refuses three plan shapes that broke execution: a create row carrying an item key, the same item twice in one library, and a payload carrying key or version. Each made a batch fail or repeat silently.
zotExecute() recalculates the plan’s digest, so a preview edited after its approval is refused instead of written under the old consent.
zotExecute() records every row as an attempt before its effect and writes the ledger atomically, so an interrupted batch stays resumable and stops on the row whose outcome is unknown with a zotLedgerError.
Verification compares collections, tags and relations as sets, so a read-back differing only in order no longer reports a successful write as failed.
zotVerify(full = TRUE) re-reads every completed row, including creates and Trash, and returns the ledger ids that did not confirm in unconfirmed.
zot 0.2.0
Adds batch files: zotWriteBatch() and zotReadBatch() persist plans, previews and approvals as JSON and recalculate a preview’s digest on read.
Adds catalog reads: zotLibraries(), zotCollections() with paths, zotItems() by key in batches of fifty, and zotListItems(), a bounded listing that refuses to exceed a declared size and detects a library version change between pages.
Adds local reads: zotLocalRecords() with the identity fields of every record and zotLocalFiles() locating attachment files in local storage.
Adds identity helpers: zotIdentity() maps any record shape to the fields zotSameItem() compares, and ztMatches() judges candidates against a set of records.
Adds ztTemplate() and ztCheckPayload() to validate a create payload against its item type template, and zotStatus() to probe the package, credentials, Web API, local database and semantic sidecar.
zot 0.1.2
Removes the redundant “from R” suffix from the package title.
Makes the local item example self-contained and executable, and places the optional semantic-index example in \donttest{} with prerequisite checks.
Extends metadata normalization to recognize multiple known source labels within one parenthetical expression, while preserving other text in parentheses.
Improves configuration errors to identify missing arguments and their environment variables, and documents R startup configuration.
zot 0.1.1
Changes zotConfig() to accept a Zotero user identifier and API key explicitly, with defaults from ZOTERO_LIBRARY_ID and ZOTERO_API_KEY.
Revises the package documentation to distinguish plan construction, approval records, direct write functions, ledger execution, and sampled patch verification.
Documents interactive, scripted, automated, and agent-driven use through the same R interface.
zot 0.1.0
Initial release
Provides Zotero Web API requests with pagination, retry handling, and versioned patch operations.
Provides batch previews, approval records, resumable execution ledgers, and sampled verification of completed patches.
Provides read-only local SQLite access and optional semantic-index queries.
Provides metadata normalization, retitling and refiling plans, collection creation, bibliographic comparison, Crossref mapping, cross-library move plans, census, and file attachments.