Work / Chitragupt / Wiki / Entities
portfolio-goal-taxonomy
Entitycanonicalverified 2026-07-10
PORTFOLIO.GOAL-TAXONOMYGoal taxonomy
Summary
The 10 default goals a Portfolio holding can be mapped to, plus user-created custom goals. Goal mapping is a Portfolio-only affordance: it never mutates the underlying statement, and future SIP tranches can auto-map via an "apply to future units" rule.
Canonical values — the 10 defaults
| Key | Goal | Typical horizon | Notes |
|---|---|---|---|
GOAL.RETIREMENT |
Retirement | age 55 / 60 / 65 (user-set) | EPF, NPS, long-hold equity map here by default |
GOAL.HOUSE |
House | 3-7 yr window (user-set target year, e.g. House 2028) |
Debt MFs, FDs, medium-term instruments map here |
GOAL.KID-UG |
Kid · UG | 8-18 yr window (child DOB derived) | Equity MFs + Sukanya + long-hold instruments |
GOAL.LIQUIDITY |
Liquidity | 0-6 mo | Emergency fund — Cash + liquid funds + short FDs |
GOAL.INCOME |
Income | ongoing | Coupon-bearing / dividend-yielding instruments |
GOAL.HEALTH-CORPUS |
Health corpus | ongoing / medical event | Parallel to Liquidity but earmarked for health |
GOAL.HEDGE |
Hedge | tactical | Gold / SGB / hedged positions |
GOAL.TACTICAL |
Tactical · trim | short-term | Positions user intends to exit / reduce |
GOAL.CORE |
Core | permanent | Long-hold anchor equity + index MFs |
GOAL.UNASSIGNED |
Unassigned | — | Explicit user choice to leave unmapped (distinct from ⚠ unmapped-by-default state) |
Canonical rules
| Key | Value | Last changed |
|---|---|---|
GOAL.CUSTOM |
Users can create custom goals via + New goal in the map-goal modal |
2026-07-10 |
GOAL.SPLIT-ACROSS-GOALS |
Holdings can split across multiple goals by % allocation (e.g. House 60% · Retirement 40%) |
2026-07-10 |
GOAL.APPLY-TO-FUTURE-UNITS |
Optional rule on the map-goal modal — future SIP tranches / units auto-map to the same goal(s) | 2026-07-10 |
GOAL.UNMAPPED-STATE |
Holdings without any mapping surface as an amber banner + count ("<N> unmapped to a goal") on Review and Holdings surfaces |
2026-07-10 |
GOAL.AI-SUGGESTIONS |
Modal surfaces AI-suggested mappings ranked by asset class + timeline (e.g. "Debt fund matches 3-4yr horizon → House 78%") |
2026-07-10 |
GOAL.EDIT-PATH |
Settings · Holdings & goals — bulk edit + rule management |
2026-07-10 |
GOAL.MODAL-COUNTER |
Header shows "<n>/<total> unmapped" progress (e.g. "1/4 unmapped") |
2026-07-10 |
GOAL.INVARIANT.NO-STATEMENT-MUTATION |
Goal mapping never mutates the source statement — mapping is a Portfolio overlay | 2026-07-10 |
GOAL.FAMILY.ADMIN-ONLY |
In Family workspace, mapping is admin-only; view-only members get a read-only footer: "Read-only: mapping unmapped holdings to goals is admin-only. Open your Personal portfolio to manage your own holdings + goals." |
2026-07-10 |
GOAL.FUNDING-PACE.KPI |
Dashboard + Portfolio aside show per-goal <N>% funded · <ahead of pace / on pace / behind> |
2026-07-10 |
Related
- portfolio-pillar — where goal mapping lives (as a concept)
- pillar-portfolio — entity: canonical Portfolio chart + block-order
- capital-gains-booking — tax-relevance of goal-driven exits
- family-workspace — admin-only mapping rule in Family
- pillar-dashboard — Goals · funding pace aside is dashboard-visible
Sources
- .context/designs/web/portfolio/map-goal.html
- .context/designs/web/portfolio/portfolio.html
- .context/designs/web/portfolio/family.html
- .context/designs/web/portfolio/view-only.html
Every project of mine is written down like this.
Read the résumé