Conversation
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.
Search a fictional directory by longitude, latitude, radius in meters, category and a bounded limit. Deno/Oak and Postgres.js query PostGIS geography with parameterized ST_DWithin, exact spheroidal distance ordering and a stable ID tie-breaker; a small browser form shows sorted cards.
Separate administrator/schema-owner commands install PostGIS, migrate and seed. The application uses a SELECT-only role, verified Cloud CA/hostname and explicit cached Deno permissions, with no automatic runtime DDL.
Validation on 2 October 2026: frozen install, formatting, lint/type checks, 3 domain tests, empty-schema bootstrap plus repeated migration/seed, 7 real Cloud tests and 6 browser/HTTP checks passed. Checks include spatial edge cases/date line, grant denials with the read-only default disabled, TLS negative/positive controls, unforced EXPLAIN, mobile layout and confirmed graceful process restart. CI runs only local checks without Cloud secrets.
The fixture is 12 synthetic rows; its observed index/sort plan is not a scale benchmark. The app has no pagination, authentication or mutation routes and binds to loopback. Companion article and raw acceptance evidence are local and excluded from this PR.