Skip to content

Migrate direct raw-S3 bbop-sqlite consumers to the semanticsql CDN #115

Description

@kltm

[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)

⚠️ 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 Repoint hardcoded bbop-sqlite S3 URLs to the semanticsql CDN before raw-bucket access is retired vjcitn/ontoProc2#11, still open): remaining items are the README aws 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-pasteable curl example
  • 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

— Posted by Claude Code agent on behalf of @kltm.

Metadata

Metadata

Assignees

Labels

help wantedExtra attention is needed

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions