Every idea, enhancement, and feature we've discussed and intentionally deferred. Organized as Epics (parent capabilities) → Features (child capabilities). Each feature is categorized into one of five buckets and scored on five attributes — designed to keep stabilization work visible alongside customer features.
Markdown companion: docs/BACKLOG.md
SafeToSpend.tsx) and Coach (calculate_safe_to_spend): per-account balances, per-bill list, per-card list, setAsideAccounts, loansExcluded, full resolved envelope, typicalDiscretionary.perDayOfWeek, per-bill confidence labels. Plus a known divergence in Smart Pulse (used simplified safe-to-spend instead of the shared service — the Smart Pulse feature itself was removed 2026-06-12).accountsIncluded, creditCards, setAsideAccounts, loansExcluded, full resolved envelope, full untilPayday.bills/income[] arrays, typicalDiscretionary.perDayOfWeek — via projectSafeToSpendForCoach(). Closed 8 gaps in one shot.system_prompt.ts — Coach answers must derive from same fields Home shows; never re-compute or estimate. Cheap reinforcement of F0.1.morning_brief_service.ts computes its OWN simplified safe-to-spend instead of calling shared service. LEARNINGS note acknowledges this as deliberate but it's now stale — Pulse narrates slightly different numbers than Home. Migrate off.coach_safe_to_spend_parity.spec.ts) — every field shown on Home is reachable from Coach output without external tool calls. CI wiring rides F22.1.user_confirmed=true on a recurring_streams row → bypasses occurrence-count threshold. Solves BILT misclassification.recurring_streams.anchor_day (modal weekday) so a holiday-shifted paycheck doesn't drift all future predictions.statement_balance, next_payment_due_date, minimum_payment_amount, last_payment_amount, apr per card. Foundation for F1.2-F1.7.last_payment_amount = 0 for closed cycle, surface as alert.merchant_category_overrides feed back into AI prompts. Compounds.ITEM_LOGIN_REQUIRED webhook + reconnect prompt in Settings.reflection_sessions (streaks removed 2026-06-11).query_reflection_stats worth-it ratio.is_paid flag).LEARNINGS.md entry, every README — verify each is current, comprehensive, and accurate. Clean up GitHub: stale branches, orphan PRs, untriaged issues. Tidy local Git: drop ignored junk (.expo/, .obsidian/, etc.), confirm .gitignore is right. The bar: anyone reading the docs can understand the app without needing to ask Vik or Claude.morning-briefs endpoints, MorningBriefService, the Coach query_morning_brief tool, the morning-briefs queue + jobs, and the morning_briefs + morning_brief_settings tables (migration 1776000000021) are gone — recover via git history. Original epic pitch: "Today's Pulse is one-shot Haiku output with limited differentiation." Vik: "I'm not sure the smart pulse insights are giving us a whole lot at this point."generate_predictions_job.ts.tokens.ts. Blocks regression.net_worth_snapshots; chart progression.safe_to_spend_service.ts with override deltas; produces 3, 6, 12-month forward projections.security-model-map.html.evals-map.html + evals-dashboard.html against actual tool_executor.ts.evals-dashboard.html claims against actual eval runs. The dashboard mocks/fakes some metrics today; either back them with real data or remove them.ci.yaml, evals.yml, deploy.yaml) + GitHub's built-in Pages deploy (green — leave it alone). The scaffolding is good; it was just never finished. This epic makes it real and turns it back on.gh workflow enable CI. Postgres+Redis services and full test-env wiring already exist in ci.yaml — these are real code/setup failures to fix, not infra to rebuild.ANTHROPIC_API_KEY secret + evals/ scripts (eval:ci, eval:nightly, dashboard) run in CI; confirm the nightly dashboard auto-commit works; then re-enable. Compounds with F4.1 / F21.7.deploy.yaml once: ECR push, k3s SSH rollout, migration step. Confirm secrets (AWS_DEPLOY_ROLE_ARN, K3S_HOST, K3S_SSH_KEY) are set. Currently never run — an unknown-good.mainprojects/tide/ on the portfolio repo gets a feature-video gallery — per-feature cards → video + one-paragraph story — consistent with the docs design system (F16.4).scripts/sync-portfolio.sh (manifest-driven from .claude/doc-map.json, --check drift mode) + /ship step 6.6 keep vikkybharadwaj.github.io/projects/tide/*.html in lockstep with tide/docs/*.html.