Skip to content

## Spec: Document new bib architecture — sources vs artifacts separation Update

Spec: Document new bib architecture — sources vs artifacts separation

Update docs/specs/ with the new bib/ architecture design:

Design Decision

All generated/shipped artifacts move to .projio/, bib/ holds only human-managed sources.

New layout

.projio/
  render.yml                    # config (human-edited, exists)
  render/
    compiled.bib                # biblio_compile output — THE single bib for pandoc + mkdocs-bibtex
    pandoc-defaults.yaml        # generated (move from bib/)
    csl/                        # shipped by projio, copied during sync
      apa.csl
  filters/
    include.lua                 # shipped by projio (exists)
  biblio/
    merged.bib                  # biblio_merge intermediate
    config/                     # biblio.yml, library.yml (move from bib/config/)
    logs/                       # merge/quality/duplicate logs (move from bib/logs/)
  pipeio/
    modkey.bib                  # pipeio_modkey_bib intermediate

bib/
  srcbib/           # Zotero exports (human-managed)
  articles/         # PDFs

Compilation pipeline

srcbib/*.bib  →  biblio_merge  →  .projio/biblio/merged.bib  ─┐
                                                                ├→  biblio_compile  →  .projio/render/compiled.bib
             pipeio_modkey_bib →  .projio/pipeio/modkey.bib  ─┘

render.yml changes

bibliography: .projio/render/compiled.bib
csl: .projio/render/csl/apa.csl
bib_sources:
  - .projio/biblio/merged.bib
  - .projio/pipeio/modkey.bib

Update: CLAUDE.md architecture section, docs/specs/ if a biblio or render spec exists, and the notio manuscript spec to reference compiled.bib.