frlink rollout: backfill anchor maps, live-link the CY2027 notebook citations, place + sync the cited paragraphs #638

Closed
opened 2026-08-17 18:18:07 +00:00 by kert · 1 comment
Owner

First-consumer rollout:

  1. stack bib fr-grab --all — backfill anchor maps for every FR-linked rule in bib (~30; one body_html fetch each, be polite to the API).
  2. CY2027 NPRM notebook: upgrade the FR pincites to live jump links via frlink.md_link — at minimum the 91 FR 44218 §414.1425 QP-alignment cite and the CAA-2026 revival cites (44218-44219, 44286). Gate: nb_integration.py single-notebook run pass=1 in the prod notebooks container (bib.sqlite is mounted read-accessible there).
  3. place() those cites and run the tag-scoped zotero sync so 5ITGVDJV carries the child links; verify linkMode=3 children in zotero.sqlite.

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

First-consumer rollout: 1. `stack bib fr-grab --all` — backfill anchor maps for every FR-linked rule in bib (~30; one body_html fetch each, be polite to the API). 2. CY2027 NPRM notebook: upgrade the FR pincites to live jump links via `frlink.md_link` — at minimum the 91 FR 44218 §414.1425 QP-alignment cite and the CAA-2026 revival cites (44218-44219, 44286). Gate: `nb_integration.py` single-notebook run `pass=1` in the prod notebooks container (bib.sqlite is mounted read-accessible there). 3. `place()` those cites and run the tag-scoped zotero sync so `5ITGVDJV` carries the child links; verify linkMode=3 children in zotero.sqlite. Depends on #634–#637. 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 notebookspfsbib labels 2026-08-17 18:18:07 +00:00
kert closed this issue 2026-08-17 18:44:54 +00:00
Author
Owner

Rollout verified (2026-08-17):

  • Backfill: stack bib fr-grab --all → 78 rules grabbed, 192,011 paragraph anchors, zero errors (largest: JJ6AM5HJ, 9,191 ¶ / 813 pages). More rules than the ~30 estimate — bib carries FR-linked rules beyond the PFS family and all grabbed cleanly.
  • Notebook: fr_md() helper (graceful offline fallback) wired into the CY2027 NPRM notebook; the 91 FR 43842 sources cite and the CAA-2026 revival cites (44218, 44286) are live jump links. nb_integration.py single-notebook run pass=1; link resolution proven live inside the notebooks container (not just fallback text).
  • Placement: three links placed on 5ITGVDJV — the 91 FR 44218 page link, the exact §414.1425 QP-alignment paragraph (#p-3600, found by quote), and 91 FR 44286. sync-zotero --tag sup:2027_PFS_NPRM → fr_links: 3; zotero.sqlite verified: 3 linkMode=3 child link attachments with url+title itemData under the rule item.

Correction to #634's stated ground truth: the CY2027 body carries 4,856 paragraph anchors (4,194 <p> + 662 <li>), not 5,079 — the earlier figure was a grep -c line-count artifact that also matched id="page- lines. The parser captures 100% of real anchors, <li> close-tag handling included.

Rollout verified (2026-08-17): - **Backfill**: `stack bib fr-grab --all` → **78 rules grabbed, 192,011 paragraph anchors**, zero errors (largest: JJ6AM5HJ, 9,191 ¶ / 813 pages). More rules than the ~30 estimate — bib carries FR-linked rules beyond the PFS family and all grabbed cleanly. - **Notebook**: `fr_md()` helper (graceful offline fallback) wired into the CY2027 NPRM notebook; the 91 FR 43842 sources cite and the CAA-2026 revival cites (44218, 44286) are live jump links. `nb_integration.py` single-notebook run `pass=1`; link resolution proven live inside the notebooks container (not just fallback text). - **Placement**: three links placed on `5ITGVDJV` — the 91 FR 44218 page link, the exact §414.1425 QP-alignment paragraph (`#p-3600`, found by quote), and 91 FR 44286. `sync-zotero --tag sup:2027_PFS_NPRM` → `fr_links: 3`; zotero.sqlite verified: 3 linkMode=3 child link attachments with url+title itemData under the rule item. Correction to #634's stated ground truth: the CY2027 body carries **4,856** paragraph anchors (4,194 `<p>` + 662 `<li>`), not 5,079 — the earlier figure was a `grep -c` line-count artifact that also matched `id="page-` lines. The parser captures 100% of real anchors, `<li>` close-tag handling included.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: homelab/stack#638