Export the public cache's items table in sqlite-diffable's format (items.ndjson + items.metadata.json), so sqlite-diffable load restores it.
Leave out pages/page_members: they're cache bookkeeping, and one new bookmark shifts every row.
Order rows by numeric link_id: a new bookmark appends a line, and an edit changes one line in place. No timestamps in the files.
Served at GET /public/<username>/export/items.{ndjson,metadata.json}; the header x-complete flags a partial fill, and the fetch script refuses a partial dump by default.
Open: deletions (the cache only upserts), volatile diigo counters, repo layout.
Sizes come from the dev cache: 14,645 public items, about 15.5 MB.
> [!WARNING]
> **Unreviewed LLM output.** Generated by Claude Opus 5.5; no human has reviewed this design yet.
Design only: [docs/diigo-diffable-export.md](docs/diigo-diffable-export.md).
- Export the public cache's `items` table in [sqlite-diffable](https://github.com/simonw/sqlite-diffable)'s format (`items.ndjson` + `items.metadata.json`), so `sqlite-diffable load` restores it.
- Leave out `pages`/`page_members`: they're cache bookkeeping, and one new bookmark shifts every row.
- Order rows by numeric `link_id`: a new bookmark appends a line, and an edit changes one line in place. No timestamps in the files.
- Served at `GET /public/<username>/export/items.{ndjson,metadata.json}`; the header `x-complete` flags a partial fill, and the fetch script refuses a partial dump by default.
- Open: deletions (the cache only upserts), volatile diigo counters, repo layout.
Sizes come from the dev cache: 14,645 public items, about 15.5 MB.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Export the public cache's items table in sqlite-diffable's format
(items.ndjson + items.metadata.json), ordered by link_id so new
bookmarks append and edits change one line, for a git-scraped repo
that loads back into SQLite. pages/page_members stay out: cache
bookkeeping that churns on every new bookmark.
Generated-by: Claude Opus 5.5
You are not authorized to merge this pull request.
This pull request can be merged automatically.
This pull request is marked as a work in progress.
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Design only: docs/diigo-diffable-export.md.
itemstable in sqlite-diffable's format (items.ndjson+items.metadata.json), sosqlite-diffable loadrestores it.pages/page_members: they're cache bookkeeping, and one new bookmark shifts every row.link_id: a new bookmark appends a line, and an edit changes one line in place. No timestamps in the files.GET /public/<username>/export/items.{ndjson,metadata.json}; the headerx-completeflags a partial fill, and the fetch script refuses a partial dump by default.Sizes come from the dev cache: 14,645 public items, about 15.5 MB.
🤖 Generated with Claude Code
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.