Skip to content

Catalog: share the symmetricfunctions.com bibliography and labels - #1994

Merged
PerAlexandersson merged 1 commit into
mainfrom
catalog/symcat-integration
Oct 21, 2026
Merged

PerAlexandersson merged 1 commit into
mainfrom
catalog/symcat-integration

Conversation

@PerAlexandersson

Copy link
Copy Markdown
Owner

Connects the catalog site with symmetricfunctions.com (SymCat).

What changes

  • Shared bibliography. scripts/symcat_sync.py snapshots the public SymCat feeds
    (site-labels.json, bibliography.json) into website/symcat/, keeping only the entries the
    pages cite. Pages declare references = [...] in their metadata and cite inline with
    [@Key] / [@Key, Thm. 2.4]. Each page gets a generated reference list with BibTeX in
    <details>.
  • Statement links. sf:label links and declaration-level symcat = "label" point to SymCat
    statements; the 93 absolute SymCat URLs in docstrings are now sf: targets.
  • Manifest. catalog-manifest.json lists each page's declarations, with URL and SymCat label.
    This is meant to drive subtle "formalized in Lean" badges on SymCat later.
  • Hosting. build_challenge_pages.py takes --base-path and --site-origin. GitHub Pages
    stays the host for now; this prepares a later lean.symmetricfunctions.com.
  • CI. Runs the new scripts/test_symcat_sync.py.

Migration

  • 178 page/key assignments on 94 pages, using 123 SymCat keys. (The commit message says 170
    on 81, which is a miscount.)
  • Matches use exact DOI, exact arXiv id, or a unique normalised title.
  • 42 of the keys were added to SymCat's bibliography.bib for this PR.
  • 37 works with no source entry stay as prose, for example Descartes, Budan, Fourier and
    unpublished manuscripts.
  • Lean files change only inside module docstrings (checked mechanically for all 99 files).

Checks (local)

  • Focused build of the 99 touched modules passes.
  • lake exe lint-style and check_proof_status pass.
  • build_challenge_pages.py --check passes (106 pages), as does audit_challenge_catalog.py --check.
  • test_challenge_catalog.py (29 tests) and test_symcat_sync.py pass.

The snapshot was taken from a local SymCat build. The 42 new bibliography keys go live on
symmetricfunctions.com with its next deploy.

🤖 Generated with Claude Code

Catalog pages can now cite the SymCat bibliography and link SymCat
statement labels:

- `scripts/symcat_sync.py` snapshots the public `site-labels.json` and
  the selected entries of `bibliography.json` into `website/symcat/`.
- Page metadata takes `references = [...]` and declaration-level
  `symcat = "label"`; prose takes `[@key, locator]` citations and
  `sf:label` links. Pages get a generated reference list with BibTeX.
- The manifest lists each page's declarations with their SymCat labels.
- `build_challenge_pages.py` gains `--base-path` and `--site-origin`.

170 page/key citations on 81 pages now use 123 shared keys. Lean files
change only inside module docstrings.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@PerAlexandersson
PerAlexandersson merged commit 6da5aeb into main Oct 21, 2026
4 checks passed
@PerAlexandersson
PerAlexandersson deleted the catalog/symcat-integration branch October 21, 2026 12:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant