WIP: design: sqlite-diffable export of diigo-cache #3

Draft
dckc wants to merge 1 commits from dckc/diigo-export-design AGit into main
pull from: dckc/diigo-export-design
Owner

Warning

Unreviewed LLM output. Generated by Claude Opus 5.5; no human has reviewed this design yet.

Design only: docs/diigo-diffable-export.md.

  • 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.

🤖 Generated with Claude Code

> [!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)
dckc added 1 commit 2026-10-10 21:47:35 +00:00
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.
git fetch -u origin refs/pull/3/head:dckc/diigo-export-design
git checkout dckc/diigo-export-design
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: dckc/captoys#3