Work Tracker

📊 Daily Overview

Total Activity: 7 commits across 2 repositories


🚀 GitHub Activity

1. VipinKaushik 🔒 — 5 commits

style(panchang): brand-UX audit fixes — token violations, copy, UX · 6e4b97b

Pass 1 (CSS tokens):

  • Replace 17 remaining broken tokens in pancha-* block (—space-s/m/l → —space-sm/md/lg,
    —fs-s/m/l → —fs-sm/md/lg, —dur-fast/—ease-out → —dur-short/—ease-state)
  • Badge colors: replace hardcoded hex (#4caf7a, 3a9a62, e05c5c, c44040, f08080)
    with —signal-good / —signal-error tokens; dark theme no longer needs overrides
  • Timing row colors: same token replacement
  • Card border-radius: 8px → var(—radius-lg)
  • Spinner: 0.8s → var(—dur-medium)
  • Add accordion body entrance animation (pancha-body-in: 200ms ease-enter)
  • Fix PanchangaCard.css: —space-1/2/4 → —space-xs/sm/md,
    —color-fg/—color-fg-muted → —ink-high/—ink-low; add font-family: var(—font-m…

feat(types): expand astroacharya response types for dasha/yoga/arudha · b75ac43

Add typed interfaces for VimshottariDasha, VimshottariMahadasha,
VimshottariAntardasha, DetectedYoga, and ArudhaPadas. Replaces
unknown/Record<string,unknown> placeholders in HoroscopeResponse.

feat(dashboard): post-login welcome banner + cosmetic fixes · 8ab4816

P3 — welcome moment:

  • LoginForm: append ?welcome=1 to post-OTP redirect URL
  • ProfileRow: detect ?welcome=1 via useSearchParams, show accent-tinted
    “Signed in.” banner; auto-dismisses after 4s, manually closeable;
    strips param from URL history without navigation

Cosmetic fixes:

  • DR-006: mobile timing groups now separated by margin + faint rule
    below 700px (Celestial / Auspicious / Inauspicious stay visually distinct)
  • B-005: panchang date header now shows city label (IP-resolved via
    /api/geolocation); defaults to “Gurugram”; updates once resolved
  • Fix —dur-fast → —dur-short globally in vipinkaushik-inner.css
    (—dur-fast was undefined; 2 remaining occurrences at line 2890)

feat(panchang): wire /panchang page to astroacharya, replace astrologyapi.com · 2c88601

  • getPanchangaDaily() → /v1/panchanga/daily (MongoDB-cached, 1h TTL)
  • fetchFromAstroacharya() maps canonical response to PanchangData
  • fetchPanchang() tries astroacharya first, falls back to astrologyapi.com
  • PanchangaResult updated: end_time, group, gana, deity, moonrise/moonset, muhurta_windows
  • PanchangaDetail: server muhurta_windows replaces client computeDayTimings
  • Nakshatra nature/gana/deity now from server (BPHS-canonical)
  • PanchangData adds tithiGroup, nakshatraNature, nakshatraGana, nakshatraDeity, muhurtaWindows

feat(dashboard): Part A — persistent sidebar nav + mobile tab bar · 3335785

Two-column grid shell (240px sidebar + 1fr content) on desktop; single-
column with sticky 52px mobile header and fixed 56px tab bar on mobile.
DashboardNav carries theme/lang toggles at the bottom; DashboardBottomNav
adapts tabs for practitioner/admin role. Role is read server-side via
getUser() and threaded through both nav components.

2. astroacharya 🔒 — 2 commits

feat(panchanga): complete canonical schema — end times, gana/deity, group, moonrise, rate limiting · c962cc0

  • tithi.group (Nanda/Bhadra/Jaya/Rikta/Purna) computed from (number-1)%5
  • nakshatra.gana, gana_source, deity, deity_source from nakshatras_extended.json
  • vara.number (Sun=1…Sat=7)
  • Slugs on all 5 limbs in /panchanga (was /daily-only)
  • Limb end_time (tithi/nakshatra/yoga/karana) via O(1) moon/sun speed arithmetic
  • compute_moonrise_moonset() via swe.rise_trans() in sky_sun.py
  • sunrise, sunset, moonrise, moonset at top level of /panchanga + /panchanga/daily
  • FLG_SPEED added to ephemeris flags — planet speeds were silently 0.0 everywhere
  • slowapi 60 req/min rate limiting on /panchanga + /panchanga/daily
  • gulika.py: all 5 BPHS upagrahas + rahukala muhurta windows
  • nakshatras_extended.…

fix: add pytest/pytest-asyncio to requirements; guard rise_trans unpack · 79d6d99

  • requirements.txt: add pytest>=8.2,<9 and pytest-asyncio==0.24.0
  • sky_sun.py: wrap swe.rise_trans() unpack in try/except so mock
    contexts and polar-edge cases return None instead of crashing

📈 Development Analytics

Daily Summary

MetricToday
Commits7
Merges0
Skill runs0
Decisions0
Eurekas0
CEO plans0
Notes touched0

Decisions logged today

None today.

Eurekas

None today.

Strategic plans authored

None today.

Notes touched

None today.

Running totals (as of this date)

Active days last 90:           60 / 90  (substantive)
Days with any signal last 90:  63 / 90
Skill runs (since 2026-03-25):  74
Commits this year (authored):  975
Decisions logged this year:    0
Eurekas this year:             5
CEO plans authored this year:  12
Projects touched this year:    53
Top projects last 90:          portfolio (26d), Mothership (23d), motherboard-shared (14d), Astroclarity (10d), motherboard-core (9d)

💭 My Notes

[Your own thoughts, observations, or context for this day — this section is never overwritten by automation]