Skip to content

feat: Implement issues 473, 474, 472, 471 - #593

Merged
Darkvader-ship-it merged 5 commits into
PHASE-STELLAR:mainfrom
BlazeTekk:feat/multi-473-474-472-471
Oct 20, 2026
Merged

Darkvader-ship-it merged 5 commits into
PHASE-STELLAR:mainfrom
BlazeTekk:feat/multi-473-474-472-471

Conversation

@BlazeTekk

Copy link
Copy Markdown
Contributor

Summary

This pull request implements four critical integration spikes covering feature flag runtime operations, dependency cadence automation, unified event sourcing/analytics warehouse, and retention cohorts v2.

Implemented Spikes

  1. Spike 607 (Issue # Spike 607 — Feature-flag ops: staged rollout, per-wallet targeting and kill-switch drills #471, phase-174): Feature-flag ops: staged rollout, per-wallet targeting, and kill-switch drills.

    • Separates build-time client bundling from server runtime evaluation.
    • Adds deterministic basis-point rollout ramps (0..10_000 bps) via 32-bit FNV-1a hashing.
    • Introduces optimistic CAS versioning and stale-on-error in-memory rule caching for zero write-path latency.
    • Pins amountStroops inside faucetPending to guarantee mid-poll streak/kill-switch idempotency.
    • Adds non-destructive kill-switch drill runner proving emergency distributor refill halt.
  2. Spike 608 (Issue # Spike 608 — Dependency-update cadence automation with grouped Soroban and Stellar updates #472, phase-175): Dependency-update cadence automation with grouped Soroban and Stellar updates.

    • Unifies @stellar/stellar-sdk on ^15.0.1 across root and CLI scripts, resolving major SDK skew.
    • Standardizes WASM compilation target on wasm32-unknown-unknown and pins stellar-cli 23.0.0 and packageManager: "npm@10.9.2".
    • Exposes soroban_abi_version() -> 22000 on Soroban contracts.
    • Adds grouped Dependabot schedules and runtime cadence checks in CI pipelines.
  3. Spike 610 (Issue # Spike 610 — Unified analytics event warehouse across faucet, claim and notification funnels #473, phase-176): Unified analytics event warehouse across faucet, claim, notifications, forge, and push funnels.

    • Adds SQLite WAL persistence with analytics_events and unique deduplication keys for idempotent writes.
    • Enables session stitching connecting anonymous top-of-funnel visitor session_id to authenticated wallet on connect.
    • Implements bounded closed-label metadata sanitization, redacting sensitive tokens and credentials.
    • Wires full faucet claim lifecycle events (pending, polling, 202, 409, 502, confirmed, failed) and notification/push events.
    • Automatically migrates legacy faucet-funnel-events.json 5k-ring data.
    • Supports GDPR Article 20 data portability export.
  4. Spike 611 (Issue # Spike 611 — Funnel analytics v2 with retention cohorts: day-N, wallet-age bands and quest cohorts #474, phase-177): Funnel analytics v2 with retention cohorts: Day-N, wallet-age bands, and quest cohorts.

    • Calculates Day-1, Day-3, Day-7, Day-14, and Day-30 retention cohorts from user genesis origin.
    • Computes time-to-convert metrics (mean, p50, p90) between key funnel stages.
    • Classifies wallet-age bands (<24h, 1-7d, 7-30d, >30d) through a bulkhead-protected in-memory cache to prevent Horizon rate limits.
    • Implements sybil-weighted retention to differentiate organic users from suspect botting patterns.
    • Migrates referral store I/O to atomic file locks (updateStore) eliminating concurrency race conditions.
    • Exposes retention reports via GET /api/notifications?retention=1.

Closes #471, Closes #472, Closes #473, Closes #474

@drips-wave

drips-wave Bot commented Oct 20, 2026

Copy link
Copy Markdown

@BlazeTekk Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@Darkvader-ship-it
Darkvader-ship-it merged commit 10ed260 into PHASE-STELLAR:main Oct 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment