feat(drawer): chronic recurrence "Titik Langganan" alert badge #122
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/recurrence-alert-badge"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Executed playbook:
skill://poteto-mode/playbooks/feature.mdPrinciples applied
BurnRecurrenceResultdirectly intoRecurrenceAlertBadgeandClusterDetailDrawer.detectBurnRecurrence) separated as a pure helper in@/lib/gis/burn-recurrence, consuming it via memoized evaluation in the UI drawer.Impact
For the consumer: Displays a prominent pulsing crimson alert badge identifying chronic recurrence peat fires ("Titik Langganan") with sorted historical burn years (e.g. 2015, 2019, 2023).
For the maintainer: Decouples spatial ray-casting logic in pure domain helpers from React component rendering, preserving clean architectural boundaries.
Summary
Implements Issue #72 by mounting the pulsing crimson
RecurrenceAlertBadgeinsideClusterDetailDrawer.Displays
🔥 Titik Langganan Karhutla (Terbakar: ...)with sorted historical fire years whenever an active cluster intersects historical burn scars.Tests
pnpm exec vp check: 0 warnings, 0 errors.pnpm test: All 254 unit tests passing across 34 suites (includingrecurrence-alert-badge.test.tsxandcluster-detail-drawer.test.tsx).Closes #72
feat(drawer): chronic recurrence "Titik Langganan" alert badge (Issue #72)to feat(drawer): chronic recurrence "Titik Langganan" alert badgeCode Review & Ponytail Audit Summary: Chronic Recurrence "Titik Langganan" Alert Badge
1. Mechanical Verification Gate (
scripts/verify-pr.mjs)feat(drawer): chronic recurrence "Titik Langganan" alert badge), mandatory principles citations, impact framing, and anti-overengineering file path filters.2. Ponytail Audit (Zero Bespoke Bloat)
RecurrenceAlertBadgeinsrc/components/drawer/recurrence-alert-badge.tsxconsuming pure domain spatial helpers from@/lib/gis/burn-recurrence. Renders a lightweight, high-contrast pulsing crimson alert chip with sorted historical fire years.ClusterDetailDrawerwith memoizeddetectBurnRecurrenceevaluation on cluster centroid coordinates.Lean already. Ship.3. Subsystem Boundary & Discipline
src/components/drawer/recurrence-alert-badge.tsx,cluster-detail-drawer.tsx, and associated unit test suites). Zero backend pipeline or data mutations.4. Verification & Test Proofs
vp check: Passed 100% (293 files formatted, 0 warnings/lint errors in 129 files).pnpm test: All 263 tests passed across 35 test suites.next build: Next.js Turbopack production build succeeded cleanly.5. Acceptance Criteria
Decision: APPROVED for squash merge into
main.