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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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