Ready to go - #45
Open
tylermalin wants to merge 8 commits into
Open
Conversation
- resolveContainingCell(lat, lng) → canonical Res-4 H3 cell, works globally - add Vitest + test/test:watch scripts (slots into root test:all) - PRD for Address→Hex Lookup & Reserve feature Slice 1 core: pure resolver is TDD-covered (3 behavior specs). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- parseForwardSuggestions(): pure parser for Mapbox v6 forward-geocode (TDD, 3 specs) - AddressHexLookup.tsx: debounced address autocomplete -> resolveContainingCell -> composes existing HexBoundaryPreview to render the containing Res-4 cell - /lookup demo route (non-invasive; embed the component into presale/map later) Slice 1 complete: address -> containing Res-4 hex, read-only. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- global-hold-store.ts: exclusive off-chain Res-4 holds in a separate hold:* KV namespace; atomic sadd lock, 30-day TTL with lazy expiry reclaim, owner-only release, list-by-email. Never touches genesis:issued (isolation spec locks it). - /api/holds POST/GET/DELETE; server derives the cell from lat/lng and blocks native/tribal cells. force-dynamic. - vitest: add @ -> src path alias (needed once a tested module imports @/lib/*). Slice 3 of address-hex-lookup. 6 store specs (12 total green). Smoke-tested live: POST 201, duplicate 409, list, non-owner DELETE 403. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- classifyCellStatus(): pure status decision — native | curated-available | curated-taken | global-available | global-held, with native precedence. - resolveCellStatus(): wires curated/native sets + claim + hold + price + centroid; rejects invalid H3 cells via isValidCell (bug caught in live smoke test where cellToLatLng returned garbage instead of throwing). - GET /api/hexes/resolve?hex=<index> or ?lat=&lng= (derives the Res-4 cell). Slice 2 of address-hex-lookup. 6 status specs (18 total green). Smoke-tested live: curated-available, native, global-available, global-held (after a hold), invalid -> 400. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- cellStatusCta(): pure status -> CTA mapping (mint | hold | disabled). - neighborCells(): gridDisk(1) ring helper for nearby suggestions. - AddressHexLookup: resolves cell status on select; shows price + status CTA. curated-available -> link to /presale?hex=; global-available -> free 30-day hold form (POST /api/holds); taken/native -> disabled + available neighbours. Slice 4 of address-hex-lookup. 9 new specs (23 total green). /lookup compiles clean; /presale?hex= target verified live. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- listActiveHolds(): all active holds from hold:index (expired filtered). - GET /api/hexes/holds: active holds as a GeoJSON FeatureCollection. - HexMap: amber dashed overlay layer for held cells, visually distinct from the teal Genesis grid. Slice 5 of address-hex-lookup. 25 tests green incl. an in-process route-handler test (live dev can't persist memKv across requests without Redis — same limitation as the existing claim flow; works in production/preview where Upstash is connected). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- explorer HexMap: amber dashed global-holds overlay (HOLDS_SOURCE), matching /map. - CLAUDE.md: branch strategy now reflects 'ready-to-go' as the integration branch (develop does not exist); flag the CI/deploy-testnet 'develop' trigger divergence for the team to reconcile. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
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.
Description
Checklist
Please verify the following before submitting your PR:
docs/audit/invariants.md.README.mdand relevant documentation insidedocs/have been updated to reflect these changes.Additional Context