Migrate direct raw-S3 bbop-sqlite consumers to the semanticsql CDN
@caufieldjh ya está trabajando en esto.
Desde el 14/7/2026.
Evaluación
Este issue todavía no se ha evaluado.
Descripción
[bot] Opened by a Claude Code agent on behalf of @kltm. Body updated 2026-08-18 (2nd revision): every entry below is now verified against fetched default-branch file content (literal-match), not code-search hits — search tokenizes on hyphens and produced several false positives, now removed. Verdicts also cross-checked against raw-bucket access logs (2026-07-08 → 2026-08-18) and per-file git history.
Companion to #112 (remove raw-bucket access). These projects hardcode the raw bucket URL directly, so they will not auto-migrate via oaklib/ODK bumps; they need to repoint to https://semanticsql.berkeleybop.io (drop-in, same paths) before raw access is removed.
Gotcha RETIRED 2026-08-18: the CDN no longer 403s Python-urllib/* User-Agents (host-scoped Browser Integrity Check exemption, verified). All client types work; the swap is a plain one-line change.
Verified still-present (literal raw URL in current default-branch runtime code)
- monarch-initiative/monarch-ingest —
src/monarch_ingest/download.yamlL28 — outreach monarch-initiative/monarch-ingest#711 (open, no engagement) — phenio pulls also confirmed in access logs - Knowledge-Graph-Hub/kg-alzheimers —
src/kg_alzheimers/download.yamlL186/L255 — outreach Knowledge-Graph-Hub/kg-alzheimers#78 (open, no engagement) — traffic-confirmed - monarch-initiative/dictybase-ingest —
download.yamlL10; ⚠️src/versions.pyfilters oncontains=["bbop-sqlite"], so the URL fix must also update that selector or version-tracking silently breaks — outreach monarch-initiative/dictybase-ingest#3 (open, no engagement) — traffic-confirmed - biobricks-ai/semsql —
stages/01_download.sh(URL generator); ⚠️stages/00_invalidate.shdoes anonymousaws s3 ls(bucket-listing dependency, see below);.bb/source.jsonldmetadata — outreach biobricks-ai/semsql#1 (open, no engagement) - Knowledge-Graph-Hub/universalizer —
universalizer/oak_utils.pyL48 (note: fetches uncompressed.dbobjects) — outreach Knowledge-Graph-Hub/universalizer#41 (open, no engagement) - microbiomedata/ontology-loader —
src/ontology_loader/ontology_processor.pyL100 — outreach microbiomedata/ontology-loader#59 (open, no engagement). Covers microbiomedata/nmdc-runtime too (its notebook just calls this library). - ccb-hms/NHANES-metadata —
code/generate_ontology_tables.pyL30 — outreach ccb-hms/NHANES-metadata#37 (open, no engagement) - waldronlab/bioanalyzer-backend —
app/normalization/grounding/seed.pyL57 (SEMANTIC_SQL_BASE_URL) — outreach waldronlab/bioanalyzer-backend#124 - seandavi/metacurator —
src/metacurator/grounding/local_duckdb.pyL26 (single base-URL constant; cleanest possible migration) — outreach seandavi/metacurator#29 — hancestro pulls confirmed in access logs - seandavi/cdsci-lake —
src/cdsci/lake/config.pyL141 +sources/ontology/ingest.py; ⚠️ its registry IS the bucket listing (paginated ListObjectsV2) — outreach via comment on seandavi/cdsci-lake#40 - CultureBotAI/MediaIngredientMech —
scripts/check_chebi_currency.pyL53 — outreach via comment on CultureBotAI/MediaIngredientMech#206 - microbiomedata/external-metadata-awareness —
notebooks/environmental_context_value_sets/generate_voting_sheet.ipynb(source cell) + ⚠️notebooks/multi-lexmatch/interleave_s3_catalog_yaml_registry_bioportal_obo.ipynbcalls the S3 ListBucket XML API; 2 docs files — outreach microbiomedata/external-metadata-awareness#553 - Knowledge-Graph-Hub/kg-registry —
resource/reactome/reactome*.mdproduct_url:frontmatter — machine-consumable registry metadata, not prose; directs downstream users to the raw URL — outreach Knowledge-Graph-Hub/kg-registry#701
⚠️ Bucket-LISTING dependents (URL swap alone does not migrate these)
Four verified consumers enumerate the bucket rather than (only) fetching objects: ontoProc2 (post-migration code parses ListBucket XML from the CDN root), cdsci-lake (ListObjectsV2 registry), biobricks 00_invalidate.sh (aws s3 ls), external-metadata-awareness (ListBucket XML notebook). Live probes 2026-08-18: the CDN root currently proxies the bucket's V1 listing (works only while the bucket stays public), and CloudFront strips query strings, so V2/pagination params are silently ignored (fine at ~332 keys; breaks at 1,000). #112 must decide a listing strategy: grant s3:ListBucket to the CDN origin access at lockdown, or publish a manifest file and migrate these four to it.
Migrated (verified in current code — done or nearly)
- Knowledge-Graph-Hub/kg-microbe — repointed to the CDN 2026-07-21 (
9c8ddcad, via #595). Residual raw-log traffic through 2026-08-18 attributed to stale checkouts/deployments, not master. - vjcitn/ontoProc2 — runtime repointed 2026-07-29 (
1d4df64d, via vjcitn/ontoProc2#11, still open): remaining items are the READMEaws s3 ls s3://bbop-sqlite/example and the listing caveat above. vjcitn/op2workshop README carries the same example. - monarch-initiative/dismech, ai4curation/ai-gene-review — oaklib lock bumps landed 2026-08-07 / 2026-08-12; verified in traffic.
Docs/examples only (verified literals, prose/log context; fix opportunistically)
- cthoyt/pystow — docstring examples (
api.py,impl.py) - berkeleybop/metpo — 3 docs files (its script uses
sqlite:obo:selectors — migrates with oaklib); turbomam/metpo-attic — 4 docs files incl. a copy-pasteablecurlexample - brad-usredoxlabs/computable-lab — 1 doc
- monarch-initiative/ontogpt-experiments — committed stdout log of an old run (evidence, not config)
Removed after verification (false positives of hyphen-tokenized code search)
monarch-initiative/rare-disease-identification (docstring prose only; runtime uses a local OBO), monarch-initiative/mondo notebook (URL only in saved output cells; source uses sqlite:obo: selectors), several name-only doc mentions elsewhere. Selector-based (sqlite:obo:) consumers are out of scope here — they migrate via oaklib ≥0.7.2, with the standing caveat that pinned lockfiles do not auto-migrate (three CI consumers to date required manual lock bumps).
Coordination notes
- Outreach-by-issue has had near-zero engagement: of the 2026-07-14 wave, only kg-microbe (silent fix) and ontoProc2 (same-day author response) acted; the other six issues have zero comments after five weeks. Minimal PRs are likely the higher-yield instrument for the remaining repos.
- #114 remains the blocker for
semsql download/ library-default users: semsql on PyPI is still 0.4.0 (2025-02-05). - The other ecosystem-wide unlock is an ODK release: the bundled-oaklib bump (INCATools/ontology-development-kit#1354) is merged but unreleased — the newest stable image (
odkfull:v1.6.1) still bundles oaklib 0.6.23, so every ODK-based ontology repo's CI pulls from the raw bucket and cannot migrate by its own action until ODK ships (verified 2026-08-18: onlyodkfull:devcarries the fix). Release request filed: INCATools/ontology-development-kit#1368. - Populations with no discoverable repo (cloud notebooks, one-shot users, private code) remain reachable only via release notes / announcements before #112.
— Posted by Claude Code agent on behalf of @kltm.
- Lenguaje dominante
- Python
- Estrellas
- 70
- Forks
- 7
- Merge medio
- 4 h 18 min
- PR fusionados (30 d)
- 1
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de INCATools/semantic-sql
-
Dificultad 4/5 3-5 días Aptitud para principiantes 52/100
INCATools/semantic-sql#124 ·
-
[bot] Cut a semsql release including the semanticsql.berkeleybop.io defaultQuizá libre de nuevo @caufieldjh la tomó hace 90 días y no hay ningún pull request abierto. Abiertoenhancement
INCATools/semantic-sql#114 · 2 comentarios · 1 reacción · 1 asignado ·
-
enhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
INCATools/semantic-sql#111 · 1 comentario ·
-
Integrate ENERO Foundry ontologies into Semantic-SQLPosiblemente ocupada @cmungall la tomó hace 196 días. Abiertoenhancement
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
INCATools/semantic-sql#107 ·
-
documentation
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
INCATools/semantic-sql#106 · 3 comentarios ·
Todos los issues de INCATools/semantic-sql
Issues similares
-
Dificultad 1/5 1-3 horas Aptitud para principiantes 88/100
gradio-app/gradio#13964 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 93/100
BSData/horus-heresy-3rd-edition#3232 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
jbacalso24/mimry#123 ·
Los mantenedores suelen responder en 1 día
-
p:3-mid pydanty:bug pydanty:is-working
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
pydantic/pydantic-ai#10153 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
good first issue priority: medium size: S testing
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
cubrid-lab/cubrid-cookbook-python#316 ·
Los mantenedores suelen responder en 1 día