Conversation
…nday ?den=nedele on a Sunday now decodes to key=7 (next Sunday) instead of 0 (today). off=0 matched because today IS that weekday, but dayToParam(0) always produces 'dnes', so a weekday slug can only mean next occurrence. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Raw fetch('/data/services/…') bypassed the OTA filesystem cache on native.
Switch to loadData() so native OTA-refreshed registry and detail data
stay in sync, matching the pattern already used for photos and confession.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Covers the previously untested case: ?den=nedele on a Sunday must decode to key=7 (next Sunday), not 0. Also verifies the non-Sunday case (Friday → off=2). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
new Date(`YYYY-MMT HH:MM`) is local-timezone; users far east of Prague got a Prague weekday one day off. Use T12:00:00Z so the UTC timestamp always falls on the correct Prague calendar date regardless of locale. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
clusterChurches used visible (viewport subset) when witness tags were active, so cluster boundaries shifted on pan. Use churches (full index) filtered by witness tags, matching the pan-invariant pattern used for the unfiltered case. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…view Removes the TODO foot-gun: production builds (no VITE_WITNESS_PREVIEW) now require 3 independent witnesses before a chip is publicly visible. Prototype/TestFlight builds (VITE_WITNESS_PREVIEW=1) keep min=1. A separate VITE_CORROBORATION_ONE=1 is set in test env to preserve the local-store test behaviour without enabling WITNESS_ENABLED in App tests. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
No production code outside cities.ts imported them; only the test file did. Removing the exports and their direct test cases — the behaviour is covered by the aggregateCities and searchPlaces integration tests. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…pies Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…ced by the season banner Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…alse 401 is in KEEP_STATUS so rounds that return 401 are not hard-fails. The old mock consumed two m-increments per round (HEAD+GET fallback), making all three rounds land on 456; the assertion passed for the wrong reason. Group increments by round (Math.ceil(m/2)) so rounds 1 and 3 see 401 (not a hard fail) and round 2 sees 456 — correctly yielding drop:false. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This branch has not been deployed
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.
Sweep 2026-09-21 — bohosluzby
3 cycles (Red → Green → Refactor). 343 tests pass, typecheck clean.
Findings table
src/App.tsx:266dayFromParamSunday key=7 returned 0 (today) instead of 7 (next Sunday)src/ChurchDetail.tsx:329fetch('/data/services/…')replaced withloadDatato use OTA cachesrc/App.tsx:259-270src/domain/feedback.ts:118src/MapView.tsx:304-306src/lib/feedbackStore.ts:14CORROBORATION_MINdefaults to 3; reduced only for preview/test buildssrc/domain/cities.tsnormalizeCity/fold/slugify(internal helpers)src/lib/geo.ts:48read()wins the racescripts/linkcheck-www.mjs:195flip.exampleselftest assertion corrected todrop:falsesrc/domain/notes.ts:153\d{1,2}, test already covers single-digit months; false positiveRefactors
pragueIsoDatededuplicated intosrc/domain/occurrences.ts(was in 3 files)verifiedYearkey removed fromi18n.ts(replaced by season banner)noteRunsOnshared fromsrc/domain/notes.ts(was duplicated in 3 files)Test evidence
🤖 Generated with Claude Code