✍️ Day Summary
I updated the marketing-intel documentation to reflect the D-light v0 shipment and implemented a plan for future GA4 work. I refactored several routes in marketing-intel from using an SQLite facade to utilizing Mongoose models. Finally, I fixed multiple bugs in the astroacharya calendar logic related to date handling and tithi calculation.
📊 Daily Overview
Total Activity: 109 commits + 23 merges across 8 repositories
🚀 GitHub Activity
1. vipin-kaushik-content 🔒 — 38 commits
fix(hygiene): dedicated daemon-bash copy to work around macOS TCC · 8c2621b
Granting Full Disk Access to /bin/bash does NOT work on modern macOS —
Apple-signed system binaries have a static TCC identity that overrides
user-added FDA grants at the kernel layer. Symptom: launchctl shows
last terminating signal = Killed: 9, log file is empty, daemon never
emits a heartbeat. …
feat(hygiene): T33 — workspace-side precommit-check policy + touch helper · 658aabb
Shared policy script invoked by per-project pre-commit hooks via the
~/.gstack/workspace-root symlink. Single source of “what blocks and what warns.”Policy v1 (conservative):
size-caps — block on RED only (caps exceeded = clear regression)
state-shape — WARN only (gaps clear on PR merge; never block dev commits…
docs(state): T33 — 5 sibling PRs opened (hygiene policy hooks) · 6363df8
Per-project pre-commit dispatchers landed across all 5 sibling repos:
VK#151 (husky, base=production), VK-mb#12 (.githooks/), astroacharya#21
(.githooks/), Astroclarity#5 (husky, appends to existing lint-staged),
Campaigner#5 (.githooks/).…
feat(hygiene): T35-T37 hardening — integration fixture + weekly cron + STATE render · f495bad
T36 — Hygiene daemon section auto-rendered into workspace STATE.md.
/ markers each
collect.sh now splices a block betweentick: heartbeat freshness, per-component status table, last 3 ledger
transitions. …
docs(state): close Workstream D Phase 4 — only T38 (opt-in LLM) remains · 5ea08b5
T35 + T36 + T37 landed in f495bad. Workstream D scope per the parent plan
is complete except T38, which the plan itself defers until manual rhythm
proves the dashboard is enough.Affects: workspace.
fix(hygiene): adversarial review fixes (F1-F12, F19) + report · f112bfe
Closes the adversarial review of Workstream D. Full report at
docs/reports/workstream-d-adversarial-review-2026-06-20.md.REAL BUGS (correctness):
- F1 lock-cleanup race in collect.sh. …
…and 32 more commits in this repo.
2. astroacharya 🔒 — 21 commits + 15 merges
chore(hooks): T33 — hygiene policy dispatcher (workspace-side) · 0b58f04
astroacharya has no husky (Python project), so adopt the .githooks/
pattern (same approach as the workspace + VK-mb):
- .githooks/pre-commit — calls workspace precommit-check.sh astroacharya.
size-caps red blocks; state-shape gaps warn.- .githooks/post-commit — calls workspace post-commit-touch.sh.
- scripts/instal…
feat(panchang): TM-066 correctness roll-up — TM-059 sunrise + TM-062.1 Ugadi masa filter · 5dd3669
Item #1 of the Panchang/Gochar/Festivals V1 spec
(docs/plans/2026-05-24-panchang-gochar-festivals.md, locked 2026-05-24).
Foundation pass: every gochar event + festival calc reads the same
sunrise + masa primitives, so these two fixes ripple through items 2-5.TM-059 — sunrise/sunset: NOAA simplified → swe.rise_trans
…
feat(calendar): TM-047 — /v1/calendar/hindu/{year} with V1 envelope · fff7b9a
Item #2 of the Panchang/Gochar/Festivals V1 spec
(docs/plans/2026-05-24-panchang-gochar-festivals.md, locked 2026-05-24).
Builds directly on the TM-066 foundation shipped in PR #22.New endpoint:
GET /v1/calendar/hindu/{year}?lat=&lon=&tz=&month=
…
revert(festivals): TM-062.1 masa filter broke real Ugadi, restored phantom · 27aeab0
QA pass on the merged /v1/calendar/hindu/{year} endpoint caught a critical
bug introduced by TM-062.1 in PR #22. The Sauramasafilter dropped the
real Ugadi date and kept the phantom Vaishakha Shukla Pratipada.…
feat(calendar): TM-061.1 — tithi-kshaya recovery in compute_yearly_calendar · 6dee478
Closes the bug surfaced by /qa earlier today: real Ugadi 2026 (and Ugadi
in many other years) was silently missing from /v1/calendar/hindu/{year}
because tithi=1 is skipped between consecutive sunrises in those years.…
feat(sky-today): TM-047 item #3 — production-readiness envelope · a5ad953
- X-Powered-By: AstroAcharya middleware on every response
- 60/min rate limit on /v1/sky/today (parity with /v1/panchanga/*)
- Top-level provenance + citations + cache fields (additive; existing
flattened shape preserved — tithi/nakshatra/yoga/planets/scene unchanged)- OpenAPI summary + description on the endpoint
…
…and 15 more commits in this repo.
Merges:
- Merge pull request #29 from Rupali59/envelope-honesty-tz-fix-2026-06-20
- Merge pull request #30 from Rupali59/tm061-b7-jan1-sankranti-fix-2026-06-20
- Merge pull request #25 from Rupali59/tm061-tithi-kshaya-2026-06-20
- Merge pull request #26 from Rupali59/tm047-item3-production-readiness-2026-06-20
- Merge pull request #31 from Rupali59/pra-sunrise-correctness-2026-06-20
- Merge pull request #34 from Rupali59/docs-prabc-trifecta-2026-06-20
- …and 9 more
3. marketing-intel 🔒 — 25 commits + 2 merges
chore(hooks): T33 — hygiene policy dispatcher (workspace-side) · 4a5c783
Campaigner has no husky, so adopt the .githooks/ pattern (matching
workspace + VK-mb + astroacharya):
- .githooks/pre-commit — calls workspace precommit-check.sh Campaigner.
size-caps red blocks; state-shape gaps warn.- .githooks/post-commit — calls workspace post-commit-touch.sh.
- scripts/install-hooks.sh — sets…
chore(deps): bump @types/node from ^20 to ^22 (T14) · f21c9b0
T14 locked align action: workspace runtime is Node 22.22.0 (per
~/Documents/GitHub/Vipin Kaushik/CLAUDE.md), but Campaigner’s
@types/node was pinned to ^20.
npm installclean.npm run lintshows 5 pre-existing issues
(2 react/no-unescaped-entities errors + 3 unused eslint-disable
warnings), unrelated to this bump.…
chore: rename ai-studio-applet → marketing-intel + rewrite README · 7ac6a47
refactor: delete briefing engine + Gemini editorial loop + dependents · 8585860
The Gemini editorial-author loop violates the workspace rule “never
invent Vipin’s voice” (workspace memory feedback_no_invented_vipin_voice).
Per docs/plans/2026-06-20-marketing-intel-d-light.md §“Cut”, removes
the editorial paths while keeping the Gemini client wrapper for v0.1
use (GSC topic classification, anomaly…
refactor: delete SubredditSidebar (Reddit-centric dashboard chrome) · 55a7060
docs(claude.md): rename + deprecate SQLite facade + clarify user model · 923a6f0
…and 19 more commits in this repo.
Merges:
- Merge pull request #5 from Rupali59/chore/hygiene-hooks-t33-2026-06-20
- Merge pull request #6 from Rupali59/chore/types-node-22-2026-06-20
4. Sanskrit-texts — 10 commits
refactor: Normalize corpus to uniform schema + consolidate file structure · f2034e2
Migrate every text JSON off the pre-normalization shape (source, header,
book, english_meaning, hindi_meaning, source_file, source_chunk,
is_duplicate) onto the uniform schema (text_id, title_sa, title_en,
category, chapters[].shlokas[] with text/english/hindi/status). …
feat: Digitize Uttara Kalamrita + Minaraja Uttarakhanda (100% translated) · 3792b90
- uttara_kalamrita: 324 shlokas across 9 chapters, graduated from
README-stub to full digitized text with English + Hindi.- minaraja_yavana_jataka: add the Uttarakhanda (MS_040–071, ~1,887
shlokas) with English + Hindi, completing the text to 4027 shlokas.…
chore(state): catch up to workspace state + plans convention · b13cd88
sanskrit-texts (6th sibling) was bypassed in the 2026-06-19 workspace
sweep. Catch up:
- add docs/plans/README.md (project-plan convention)
- fix malformed .gitignore that hid the tracked docs/ tree; un-ignore
docs/ (BPHS lexicons now tracked); ignore tool-local config + raw
digitization intermediates- STATE.md /…
chore(hooks): T33 — per-project hygiene hooks (6th sibling parity) · da480bd
sanskrit-texts was bypassed in the 2026-06-19 T33 rollout. The hooks are
project-type-agnostic — thin dispatchers that resolve the workspace via
~/.gstack/workspace-root and delegate to the shared
scripts/hygiene/precommit-check.sh, so a no-build data corpus works
identically to the Node/Python siblings.…
docs(decisions): record T33 hooks installed (supersedes deferred note) · e23cbe2
Affects: sanskrit-texts
docs(state): reconcile to post-commit reality (corpus shipped, T33 done) · 50ee4d9
Affects: sanskrit-texts
…and 4 more commits in this repo.
5. VipinKaushik-mb 🔒 — 3 commits + 4 merges
chore(hooks): T33 — hygiene policy dispatcher (workspace-side) · d4f8bb9
VK-mb has no husky, so adopt the .githooks/ pattern (same approach the
workspace uses):
- .githooks/pre-commit — calls workspace precommit-check.sh VipinKaushik-mb.
size-caps red blocks; state-shape gaps warn.- .githooks/post-commit — calls workspace post-commit-touch.sh for the
touch-file fast path.- scripts/in…
chore(deps): bump @types/node from ^20 to ^22 in ui/ (T14) · 3e47793
T14 locked align action: workspace runtime is Node 22.22.0 (per
~/Documents/GitHub/Vipin Kaushik/CLAUDE.md), but VK-mb/ui’s @types/node
was pinned to ^20. The types were lying about the runtime.Verified:
npm run typecheck(tsc —noEmit) passes after install.
Installed: @types/node 22.19.21.…
chore(deps): zod ^3.23.8 → ^4.0.0 in server/ (T14) · fa2bcd6
T14 locked align action — VK is already on zod 4; VK-mb/server was the
last laggard.Zero code changes required. The two existing schemas in server/routes/
(appointments.js + me.js) use surface features that didn’t change
between v3 and v4:…
Merges:
- Merge pull request #13 from Rupali59/chore/types-node-22-2026-06-20
- Merge pull request #11 from Rupali59/chore/un-gitignore-docs-2026-06-19
- Merge pull request #12 from Rupali59/chore/hygiene-hooks-t33-2026-06-20
- Merge pull request #14 from Rupali59/chore/zod-4-2026-06-20
6. Youvan 🔒 — 6 commits
feat: fresh Youvan public site — design system + home shell (P2) · 9a42afe
Replaces the retired portfolio (archived → Youvan-legacy/). Next 16 +
React 19 + Tailwind v4. Implements docs/DESIGN.md: both-theme tokens
(warm-ink dark default + warm-paper light), class-based theme toggle
(no-FOUC), fonts (Fraunces/Newsreader/Tiro Devanagari/Noto Nastaliq
Urdu/DM Sans), per-script line-height, honor…
chore: portless slug (youvan.localhost); PORT in .env.local · 9812409
Per the next-dev rule: PORT lives in .env.local (gitignored), .portlessrc
enables portless wrapping. dev/start scripts call the helper.
feat(home): Variant C ornament set (mandala divider, drop-cap, pillar labels) · 09f7370
Brings the home from B-restraint to the approved C direction (docs/DESIGN.md):
mandala hairline divider above Recent Essays, saffron Latin-only drop-cap on
the featured opening, gold pillar labels on essay rows. Diyas removed from the
navbar per feedback (Diya component retained for later use). Build verified.
feat: P3 — public pages wired to live data (home, writing, reader) · 06af947
Reads youvan.posts directly (Next server components, force-dynamic):
- lib/db.ts (cached mongo client), lib/posts.ts (queries + facets),
lib/format.ts (date/lang/pillar/num helpers), lib/render.ts (marked +
RTL script-segmentation pass).- Home: real featured + recent (8). …
fix(qa): mobile nav, stub pages, Latin-only drop-cap · c8f8bda
QA pass on the live site found 3 issues, all fixed:
- ISSUE-001 (High): no mobile nav / no theme toggle on mobile. Added a shared
SiteHeader (used by home/writing/reader — DRY) with desktop nav, an
always-visible theme toggle, and a mobile Menu drawer.- ISSUE-002 (Med): Palmistry/Social Work/About nav linked to de…
chore: vercel.json for the new Next app (drop old Nx build:vercel) · 5f48e22
7. Astroclarity 🔒 — 2 commits + 2 merges
chore(hooks): T33 — hygiene policy dispatcher (workspace-side) · 4510db8
- .husky/pre-commit — appends hygiene dispatcher AFTER existing
lint-staged step. Calls workspace precommit-check.sh Astroclarity.
size-caps red blocks; state-shape gaps warn.- .husky/post-commit — new file; touch-file fast path.
…
chore(hooks): T33 — also wire post-commit touch-file fast path · 7e14a63
Appends touch-file dispatcher to existing .husky/post-commit (which already
echoes a “commit successful” message). Calls workspace post-commit-touch.sh
so collect.sh’s next tick re-audits only this project.Affects: Astroclarity.
Merges:
- Merge pull request #4 from Rupali59/chore/un-gitignore-docs-2026-06-19
- Merge pull request #5 from Rupali59/chore/hygiene-hooks-t33-2026-06-20
8. kirti-portfolio 🔒 — 4 commits
feat: headshot, share icons, social previews, aligned layout + tokens · dc9dc28
- tokens: add —surface + —space-4..60 scale in globals.css; convert
on-scale spacing literals to tokens (value-identical output)- nav: align logo/links to the 920px column via .nav-inner (was full-bleed)
- headshot: wire public/Headshot.png into profile + sidebar via PROFILE.headshot
- credits: table-layout:fixed…
feat: analytics event layer (share, contact, outbound, section_view) · 891b39a
- lib/analytics.ts: track() wrapper → GA4 (consent-aware) + Vercel Analytics
- SmartLink: client; auto outbound_click on external links + optional event prop
- ShareBar/Nav/SectionNav: fire share, contact_click, section_view events
- Placeholder: priority prop for above-the-fold LCP image
- docs/ANALYTICS.md: event tax…
feat: SEO infra — robots, sitemap, JSON-LD, canonical, favicon · 21f3b9e
- app/robots.ts + app/sitemap.ts (homepage; /share disallowed/noindex)
- app/page.tsx: Person/ProfilePage JSON-LD for name-search entity
(sameAs left empty until real social URLs land); + wires page CTAs to analytics- app/layout.tsx: canonical, author, keywords, robots index directives
- app/icon.tsx: KK monogram fa…
docs: add Figma feedback for Kirti (designer growth + structure) · 2913bdb
Constructive critique of the in-progress Figma file: strengths (tokens/styles),
major gaps (no screens/components/states/responsive/empty-states), a step-by-step
structure to finish the design, and prioritized Figma skills to level up.
📈 Development Analytics
Daily Summary
| Metric | Today |
|---|---|
| Commits | 109 |
| Merges | 23 |
| Skill runs | 0 |
| Decisions | 0 |
| Eurekas | 0 |
| CEO plans | 0 |
| Notes touched | 0 |
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: 69 / 90 (substantive)
Days with any signal last 90: 72 / 90
Skill runs (since 2026-03-25): 75
Commits this year (authored): 1407
Decisions logged this year: 5
Eurekas this year: 5
CEO plans authored this year: 13
Projects touched this year: 57
Top projects last 90: VipinKaushik (26d), portfolio (22d), astroacharya (18d), Mothership (15d), vipin-kaushik-content (15d)
💭 My Notes
[Your own thoughts, observations, or context for this day — this section is never overwritten by automation]