Product Spec
Pulse Public/Private Split + Eve's Corner — Spec
Author: Mira (business + governance) · Co-sign: Min (implementation) · Status: In build
Date: 2026-08-09
Pulse Public/Private Split + Eve's Corner — Spec
Author: Mira (business + governance) · Co-sign: Min (implementation) · Status: In build Date: 2026-08-09
1. Why this exists
Pulse Market Brief is going public. Two consequences:
- Young's capital must not be public. Cost bases, floors, entry zones, position sizes and P&L are private trading data — they stay behind an account.
- The Market Brief podcast grows a second segment — "Eve's Corner" — where a macrobiotic principle, in plain words, is tied to the week's market feeling.
The public view must read like commentary a journalist could publish from public data. The private view is Young's trading desk.
2. Public vs Private data matrix
| Data | Public (no login) | Private (logged in) |
|---|---|---|
| Indices, sector moves, news | ✅ | ✅ |
| Ticker prices, daily change | ✅ | ✅ |
| MA50 signals (cross/touch) | ✅ | ✅ |
| 52-week range | ✅ | ✅ |
| Cost basis ($17 SEMI) | ❌ hidden | ✅ |
| Floors / entry zones ($28, $2.85–3.00, $1.50) | ❌ hidden | ✅ |
| Position sizes / P&L / capital | ❌ hidden | ✅ |
| Watchlist "position vs zone" commentary | generic only | full |
| Portfolio table | tickers + prices only | full P&L |
The rule: Pulse public = what a journalist could publish. Your numbers stay behind auth.
3. Account gate (Min's implementation)
- Auth stack — CONFIRMED by Young (2026-08-10): Auth.js (NextAuth)
- Email magic-link — $0, via our own SMTP once wired (or the docs infra). Primary sign-in; no password management.
- Google OAuth — the 90% case for public users. Client ID/secret from Google Cloud console.
- Microsoft OAuth — via Microsoft Entra (Azure) app registration. Covers @outlook/office + enterprise users.
- Phone SMS OTP — Phase 2 only (Twilio ~$0.08/msg) when mobile share justifies the line.
- Two doors, never merged:
- Internal team door — existing nginx basic-auth (docs/eve/pulse admin): Young + fleet.
- Public user door — Auth.js on pulse.youngle.au: users sign in with magic-link / Google / Microsoft.
- Session store →
pulse.dbusers table (Auth.js adapter). One identity across Pulse + Eve later. - Freemium flag →
users.tier(free/pro) on the user row; watchlist/portfolio gates check it. - Server-side gates (already applied by Min):
/api/brief— strips portfolio cost/floor/zone fields when unauthenticated/api/quotes— watchlist requires auth for level commentary/api/ma50-alerts— auth-gated (signal text references levels)- Ask AI chat context — personal data stripped in the injected brief for unauthenticated sessions
- Public chat prompt: must not leak portfolio numbers into the model context.
4. Eve's Corner — segment structure (5-min episode)
4.1 Episode anatomy (5:00 total)
| Segment | Time | Content |
|---|---|---|
| Market Brief | 2:30 | Indices, movers, signals — public-safe only |
| Eve's Corner | 2:30 | One macrobiotic principle in plain words, tied to this week's market feeling |
4.2 Eve's Corner content formula (Mira's lane)
- Open with the feeling — name the market mood (wired, anxious, greedy, flat).
- One principle, plain words — e.g.:
- "markets are wired → what does Kushi say about nervous energy?"
- "lithium's running hot → balance in cycles (Five Transformations)"
- "everyone's chasing the rally → the middle path, no excess"
- One action for the listener — a 2-minute practice (breathing pause, a seasonal meal, daily observation).
- Soft close — one line that returns to the market with a calmer frame.
4.3 Guardrails
- Public-safe: Eve's Corner never references Young's positions or capital.
- Corpus-grounded: every principle cited to the books (Nine Star Ki, Your Body Never Lies, Forgotten Worlds, Macrobiotic & Human Behavior).
- Plain language: everyday terms first, tradition underneath.
- No medical advice: philosophy, not clinical care — disclaimer in the footer.
5. Delivery pipeline (proven, $0)
Echo (script from vault briefs + MA50 + news + Kushi notes)
→ Mira (content review, structure, budget)
→ Edge TTS (Eve's voice — Natasha en-AU, speed 0.9)
→ MP3 → Pulse /podcast + Telegram + docs archive
- Cost: $0/month (free Zen model + free Edge TTS, no new infra).
- Retention: newest 30 on Pulse, older → vault podcast-archive (rclone-backed).
6. Acceptance criteria
- Public view (no auth): portfolio shows tickers + prices only — no cost/floor/zone/P&L
- Private view (auth): full portfolio + watchlist levels + P&L
- Ask AI public session: brief context has no personal numbers
- Episode 1 with Eve's Corner: 5:00, both segments, no private data
- Episode on Pulse + Telegram + docs, $0 tracked
7. Lanes
- Mira — spec, Eve's Corner content structure, public-safe template, cost
- Min — Pulse account gate implementation (in build), podcast pipeline
- Echo — corpus-grounded Eve's Corner scripts
- Nova — (optional) Eve's Corner card on Pulse

