Migrate direct raw-S3 bbop-sqlite consumers to the semanticsql CDN
@caufieldjh ci sta già lavorando.
Dal 14/7/2026.
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
[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.
- Lingua principale
- Python
- Stelle
- 70
- Fork
- 7
- Merge medio
- 4h 18m
- PR unite (30g)
- 1
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di INCATools/semantic-sql
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 52/100
INCATools/semantic-sql#124 ·
-
[bot] Cut a semsql release including the semanticsql.berkeleybop.io defaultForse di nuovo libera @caufieldjh l’ha presa 90 giorni fa e non c’è nessuna pull request aperta. Apertaenhancement
INCATools/semantic-sql#114 · 2 commenti · 1 reazione · 1 assegnatario ·
-
enhancement
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
INCATools/semantic-sql#111 · 1 commento ·
-
Integrate ENERO Foundry ontologies into Semantic-SQLForse già presa @cmungall l’ha presa 196 giorni fa. Apertaenhancement
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
INCATools/semantic-sql#107 ·
-
documentation
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
INCATools/semantic-sql#106 · 3 commenti ·
Tutte le issue di INCATools/semantic-sql
Issue simili
-
enhancement from-review
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
khuisman/mcp-gee-sweet#1010 ·
I maintainer di solito rispondono entro 1 giorno
-
bug confirmed issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
open-webui/open-webui#32333 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
ll7/robot_sf_ll7#10368 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
-
mcp: a write that loses its answer is reported as "cannot reach", although it may have landedAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
flop-labs/technocore-chat#982 ·
I maintainer di solito rispondono entro 1 giorno