Work Tracker

📊 Daily Overview

Total Activity: 12 commits + 4 merges across 4 repositories


🚀 GitHub Activity

1. VipinKaushik 🔒 — 6 commits + 2 merges

feat(tokens): add P0/P3+ design-system primitives · af65d12

Adds 33 tokens to styles/handoff/tokens.css that were defined in DESIGN.md
but missing from the implementation, blocking every component spec’d in
design/COMPONENT_SPECS.md.

Typography (11): —fs-xs/sm/md/lg/xl/2xl/3xl/4xl/5xl + —fs-label-sm/md
(DESIGN.md §4 modular scale + label sub-scale)

Semantic UI aliases (6): —ring, —border-subtle, —color-error,
—fg-base/muted/subtle. Single point of override for component CSS.

Status pills (4): —transit-status-{scheduled,completed,cancelled,no-show}
(DESIGN.md §8e — appointment status, inherits §8c chip geometry)

feat(auth): P2 — role claim, edge middleware, soft birth-data gate · 84843dd

Wires Next.js to the -mb/server identity backend via cookie-authenticated
JWT verification. Closes the loop on the P0/P1 identity build (#1, #2 in
VipinKaushik-mb) — VK browser now has a real auth surface.

middleware.ts (root)

  • Matches /dashboard/:path*
  • Verifies vk_access cookie against -mb/server JWKS via jose.createRemoteJWKSet
    (algorithm pinned to EdDSA, 5-min cache TTL, auto-refetch on unknown kid)
  • Unauth → 302 /login?next=
  • Wrong role on /dashboard/practitioner/* → rewrite to /not-found (don’t tip
    the route exists)
  • Valid → attaches x-vk-user-id, x-vk-role, x-vk-has-birth-data headers
    for server components

feat(auth): P-D — migrate VK frontend to MB session consumer (α + γ) · 0c49d40

Completes the architecture cutover started in P-C (VipinKaushik-mb#3).
Browser now talks to vipinkaushik.com only; auth primitives stay in MB.

Same-origin proxy (α):
app/api/auth/_lib/proxy.ts server-side fetch helper to MB
app/api/auth/discover single-workspace stub
app/api/auth/otp/send proxies /api/auth/otp/generate (adds workspaceSlug)
app/api/auth/otp/verify proxies /api/auth/otp/verify, captures MB’s
Set-Cookie session_token, re-issues as
vk_session scoped to .vipinkaushik.com
app/api/auth/logout forwards revocation, clears vk_session

fix(lint): drop unused proxyToMb import + initial body assignment · 2dc3f64

CI lint caught two issues in P-D:

  • app/api/auth/_lib/proxy.ts:32 — let body: unknown = null initial value
    shadowed before any read. Use let body: unknown; (no-useless-assignment).
  • app/api/auth/logout/route.ts:8 — proxyToMb imported but never used;
    logout uses bare fetch with Authorization header to MB, not the proxy
    helper.

fix(deps): add zod via pnpm — VK boundary validation in /api/auth/* · f4671c3

Previous commit used npm install which doesn’t touch pnpm-lock.yaml.
CI runs pnpm install, so zod was missing on the build runner.
Using pnpm add zod updates both package.json and pnpm-lock.yaml.

chore: enforce pnpm — delete stale npm lockfile + gitignore · c59c1f0

VK is the only project in the workspace on pnpm (packageManager: pnpm@10.32.1).
Mixed lockfiles cause CI confusion (see PR #26 build failures — npm install
didn’t update pnpm-lock.yaml, CI couldn’t find zod).

Workspace convention:

  • VipinKaushik (this repo): pnpm
  • VipinKaushik-mb/server, /ui, Astroclarity, Astroclarity_Reddit: npm

Documented in workspace CLAUDE.md (separate repo).

Merges:

  • Merge pull request #26 from Rupali59/feat/mb-foundations
  • Merge pull request #24 from Rupali59/feat/scaffold-sites

2. VipinKaushik-mb 🔒 — 3 commits + 1 merges

feat(server): P0 — auth-only E2E vertical slice for VK identity · ad1ce8c

Greenfield identity backend at -mb/server (cookie-authenticated, parallel to
the existing MB plugin gateway routes). Proves cookie domains, JWKS rotation
with overlap window, Next-edge JWT verification, refresh rotation with
reuse detection, rate limiting, and audit-log writes — all wired together
before the rest of the identity surface lands in P1.

feat(server): P2 — migrate identity to MB session consumer · a2433f4

Replaces the P0/P1 parallel identity stack with a thin MB consumer layer.
Auth primitives (OTP, passkey, session lifecycle) move to motherboard-identity
where they already existed. -mb keeps VK role assignment + VK domain data.

Architecture (locked in docs/AUTH_INTEGRATION_PLAN.md, option 2b + α + γ):
Browser → vipinkaushik.com only (no MB cross-origin)
VK Next.js proxies /api/auth/* to MB server-side
vk_session cookie scoped to .vipinkaushik.com
-mb/server reads MB sessions via direct Mongo lookup (sha256 + findOne)
Role lives in -mb’s User collection, keyed by mb_user_id

P2: migrate identity to MB session consumer (α + γ) · acaf7db

P2: migrate identity to MB session consumer (α + γ)

Merges:

  • Merge pull request #1 from Rupali59/feat/p0-identity-build

3. vipin-kaushik-content 🔒 — 2 commits

docs: lock auth integration plan + supporting docs · 271594e

Three docs that map the auth architecture decision + execution:

docs/AUTH_INTEGRATION_PLAN.md (358 lines)

  • Architecture review caught P0/P1 duplicated motherboard-identity.
  • Locked Option 2b + α + γ: MB owns auth primitives; -mb owns VK role;
    same-origin proxy through VK Next.js; direct Mongo session reads.
  • Phases A-E all done 2026-05-13:
    • VipinKaushik-mb#3 (P-C: -mb consumer)
    • VipinKaushik#26 (P-D: VK frontend consumer)

chore(workspace): cleanup — gitignore sibling repos + env, commit docs+design+scripts · ba1ca9b

Workspace repo cleanup in one pass:

.gitignore additions:

  • VipinKaushik/ — sibling repo with its own .git (was untracked, would show
    as phantom submodule on first commit)
  • sanskrit-texts/ — same
  • node_modules/ — for workspace-level scripts (package.json: sync-persona)
  • .env / .env.local / .env.*.local — hygiene

CLAUDE.md additions:

  • Package manager convention (locked 2026-05-13) — VK is pnpm, everything
    else is npm. Caught after PR #26 failed CI because npm install didn’t
    update pnpm-lock.yaml. Documented to prevent recurrence.

4. Manav-portfolio 🔒 — 1 commits + 1 merges

feat: intent-first design pass — brand system, new routes, Vercel lint gate · d9f8573

  • intent-first redesign across Hero, Films, Quote, Availability, ContactStrip, MobileNav, Topbar
  • new routes: /about, /credits, /progress, /brand (with brand-tokens.css)
  • brand page: typography reference directions (EB Garamond confirmed active), component states, motion demos
  • new atoms: BrandPageTOC, MobileNavPreview
  • remove FilmsCarouselWrapper (replaced by intent-driven FilmsSection)
  • vercel.json: add buildCommand (lint + build) so Vercel deploys only on clean builds
  • CLAUDE.md: reflect current stack, routes, next-dev.sh scripts

Merges:

  • Merge pull request #1 from Rupali59/feat/intent-first-design-pass

📈 Development Analytics

Daily Summary

MetricToday
Commits12
Merges4
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:           58 / 90  (substantive)
Days with any signal last 90:  61 / 90
Skill runs (since 2026-03-25):  74
Commits this year (authored):  884
Decisions logged this year:    0
Eurekas this year:             5
CEO plans authored this year:  12
Projects touched this year:    52
Top projects last 90:          portfolio (26d), Mothership (22d), motherboard-shared (13d), Astroclarity (11d), motherboard-core (9d)

💭 My Notes

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