docs(oci): §GLASSBOWL-OCI — durable third copy uploaded; the single-disk risk is closed - #113
Merged
Merged
Conversation
…isk risk is closed Closes the residual risk from §GH-DEPLOY-DELETES-GLASSBOWL: glassbowl_data.db existed only on one developer's disk and on gh-pages, in no source tree or bucket. Uploaded per deploy/OCI_UPLOAD.md §RULES to bim-ootb/o/docs/glassbowl_data.db — 94,208 B raw stored as 17,420 B (rule 8: gzip -9, --content-encoding gzip, --content-type application/octet-stream). Target checked empty first per rule 1. Verified the rule-8 way rather than assumed: curl --compressed | md5sum equals the raw local md5 (24d51d7d668873ad...), and the decompressed bytes start "SQLite format 3". Records the restore one-liner, which also dissolves the "guard aborts from a fresh worktree" mystery — that abort is a missing local asset, not a broken build. Deliberately did NOT re-point the five live consumers at OCI. They fetch same-origin from the published site and work. A re-point is viable — CORS was measured, not guessed: the object returns access-control-allow-origin: *, same as the modeller/*_geo.db objects already streaming cross-origin in production — but it trades a local read for a live dependency on bucket availability and buys the user nothing, since durability is already achieved by the backup copy. It would also be a service-worker change with a CACHE_VERSION bump, since sw.js precaches the path. URL and CORS answer recorded for whoever wants it later. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UU4FmnF1izwj4c2tqp6H29
…SBOWL-OCI), correction first Both branches appended to the end of LFS_QUOTA_AUDIT.md. Resolved the way CLAUDE.md's concurrent-branch rule says to: keep both hunks, never drop the other session's. Ordered so #112's correction of the original finding reads before §GLASSBOWL-OCI closes the residual risk that correction restated. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UU4FmnF1izwj4c2tqp6H29
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes the residual risk from §GH-DEPLOY-DELETES-GLASSBOWL:
glassbowl_data.dbexisted only on one developer's disk and ongh-pages— in no source tree, no bucket, no build script.Uploaded, per
deploy/OCI_UPLOAD.md§RULESgzip -9,--content-encoding gzip,--content-type application/octet-stream. 5.4× smaller on the wire.docs/prefix, noglassbowlobject existed.curl -s --compressed <url> | md5sum=24d51d7d668873ad…, equal to the raw local file's md5; decompressed bytes startSQLite format 3.Restore one-liner
This also dissolves the "guard aborts from a fresh worktree" mystery recorded earlier — that abort is a missing local asset, not a broken build.
Deliberately NOT done: re-pointing the live pages at OCI
The five consumers (
glassbowl.html,glassbowl_gravity.html,crud_overlay.js,report_overlay.js,sw.js) still fetch same-origin from the published site, unchanged, and they work.It would be viable — CORS was measured, not guessed: the object returns
access-control-allow-origin: *, identical to themodeller/*_geo.dbobjects already streaming cross-origin in production. But it trades a local read for a live dependency on bucket availability and buys the user nothing, since durability is already achieved by the backup copy. It's also a service-worker change with aCACHE_VERSIONbump, sincesw.jsprecaches the path — not a URL edit.URL and CORS answer are recorded for whoever wants it later.
🤖 Generated with Claude Code