bib: place() + Zotero child link attachments (linkMode=3) for cited FR paragraphs #637

Closed
opened 2026-08-17 18:18:07 +00:00 by kert · 0 comments
Owner

bib.frlink.place(store, ref, label='') — resolve then upsert an fr_links row (the curated cited subset; never bulk-place all ~5k anchors, per design review). bib/sync.py gains _sync_fr_links beside _sync_attachments: each fr_links row becomes a Zotero child link attachment — linkMode=3 (linked_url), contentType text/html, itemData url + title = label — idempotent by existing child URL on the parent. CLI: stack bib fr-jump REF [--key K] [--md] [--place [--label L]].

Tests: tmp bib + tmp zotero db (existing test_sync fixture pattern): linkMode=3 child created once, second sync no-ops; fr-jump CLI happy path.

Depends on #634, #635. Spec: docs/superpowers/specs/2026-08-17-fr-jump-links-design.md.

`bib.frlink.place(store, ref, label='')` — resolve then upsert an `fr_links` row (the curated cited subset; never bulk-place all ~5k anchors, per design review). `bib/sync.py` gains `_sync_fr_links` beside `_sync_attachments`: each `fr_links` row becomes a Zotero **child link attachment** — `linkMode=3` (linked_url), `contentType text/html`, itemData `url` + `title` = label — idempotent by existing child URL on the parent. CLI: `stack bib fr-jump REF [--key K] [--md] [--place [--label L]]`. Tests: tmp bib + tmp zotero db (existing test_sync fixture pattern): linkMode=3 child created once, second sync no-ops; fr-jump CLI happy path. Depends on #634, #635. Spec: docs/superpowers/specs/2026-08-17-fr-jump-links-design.md.
kert added this to the P40: FR Jump Links — page/paragraph deep links for every FR citation milestone 2026-08-17 18:18:07 +00:00
kert added the databib labels 2026-08-17 18:18:07 +00:00
kert closed this issue 2026-08-17 18:44:54 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: homelab/stack#637