Files
stack/tests/zot/__init__.py
kert c3edf11bb6
Some checks failed
CI / skinny-install (bib) (push) Has been cancelled
CI / skinny-install (bls) (push) Has been cancelled
CI / skinny-install (ccw) (push) Has been cancelled
CI / skinny-install (cli) (push) Has been cancelled
CI / skinny-install (cms) (push) Has been cancelled
CI / skinny-install (conf) (push) Has been cancelled
CI / skinny-install (opps) (push) Has been cancelled
CI / skinny-install (perf) (push) Has been cancelled
CI / skinny-install (pfs) (push) Has been cancelled
CI / skinny-install (rex) (push) Has been cancelled
CI / skinny-install (aco) (push) Successful in 1m52s
CI / skinny-install (api) (push) Successful in 37s
CI / lint-test (push) Has been cancelled
Deploy / build-scan-report (push) Has been cancelled
Infra CI / notebooks (push) Has been cancelled
Infra CI / zotero (push) Has been cancelled
CI / skinny-install (bcda) (push) Has been cancelled
Infra CI / docs (push) Has been cancelled
Infra CI / api (push) Has been cancelled
Infra CI / mc (push) Has been cancelled
feat: zot module — Zotero ORM, DuckDB engine, provenance extraction
Vendors Zotero's 61-table SQLite backend as a first-class Python module:

- zot.db.Db: full ORM with CRUD, EAV fields, creators, tags, collections,
  search, validation, bulk ops, structured reads, delete, stats
- zot.table: 61 Pydantic SQLTable models from real host-zotero.sqlite
- zot.schema: bootstrap fresh zotero.sqlite with complete DDL + 1,100 seed rows
- zot.duck.DuckDb: DuckDB engine with attach/mirror modes, flat views,
  analytics (type/tag/year/collection counts, tag co-occurrence, DOI/PDF
  coverage), Parquet export, Polars DataFrame conversion
- zot.extract.Extractor: parse Zotero HTML notes into Quote objects,
  generate :pincite: directives for docstrings, export provenance for
  knowledge graph ingestion

Fixes all Zotero ID constants across the codebase — every item type,
field, and creator type ID was wrong (fabricated, not from real schema).
Corrected: statute=20, report=15, webpage=13, document=34,
journalArticle=4, attachment=14; title=110, url=1, DOI=26, etc.

Refactors bib.sync to use zot.db.Db instead of raw SQL.
Fixes 6 dev/scripts that had wrong hardcoded IDs and duplicated helpers.
Adds compose mount validation tests, fixes 2 pre-existing test failures.
Closes #247, #249, #250 and 14 pkg-vuln issues.

12,634 tests passing, 0 failures.
2026-04-09 22:21:43 -04:00

0 lines
0 B
Python