mirror of
https://github.com/yamadashy/repomix.git
synced 2026-05-30 11:18:53 +02:00
fa06e5059c
Six items from gemini, claude initial review, and claude follow-up: - turnstile.ts: Update misleading comment that claimed the metric filters on `event=turnstile_siteverify` and `outcome=success`. The actual Cloud Monitoring metrics in `monitoring/metrics/` filter on `siteverifyDurationMs` field presence, which uniformly captures both the parallel success log (event=turnstile_siteverify) and the four rejectAndLog failure paths (event=pack_completed). The comment contradicted README and YAML and would mislead future readers. - turnstile.ts: Wrap rejectAndLog in a local `rejectWithDuration` helper so every post-siteverify branch automatically carries `siteverifyDurationMs`. Prevents drift if a fifth reject reason gets added later. - client.ts: Split the wire-protocol `PackProgressStage` (server-emitted SSE values) from the display-only `DisplayProgressStage` superset that adds `verifying`. Keeping the synthetic stage out of the wire type prevents silent divergence with the server's `PackProgressStage`. - usePackRequest.ts, TryItLoading.vue, TryItResult.vue: Switch the display-side type to `DisplayProgressStage`. `onProgress` callbacks still take the wire `PackProgressStage`. - usePackRequest.ts: Clear `progressStage` on token-acquisition failure branches (aborted / error). Functionally invisible since loading=false hides the loading UI, but prevents the next submit's verifying flash from briefly showing the previous run's stale state. - monitoring/metrics/turnstile_siteverify_duration.yaml: Retune the exponential bucket layout for the 100ms-1s SLO band where decisions get made. Doubling buckets only placed ~3 boundaries between 100ms and 1s; growthFactor=1.5 with scale=10 places ~8 boundaries there. 18 finite buckets cover 10ms to ~9.85s, comfortably above the 5s siteverify timeout so timeouts don't land in overflow. - monitoring/README.md: Document that pre-network rejections (secret_missing, missing_token, token_too_long) intentionally don't carry siteverifyDurationMs, so they're excluded from both metrics but still appear in the existing pack_requests metric. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>