{{ crumb }}
{{ title }}
{{ subtitle }}
Sync
{{ lastSync }}
{{ bannerMsg }}
Protected page
Capital screens sit behind the shared passcode from config/auth.json.
{{ gateErr }}
{{ s.label }}
{{ s.value }}
{{ s.note }}
{{ gg.label }}
{{ gg.value }}
{{ gg.band }}
{{ gg.note }}
Data sources
hover a row for status
{{ s.name }}
{{ s.kind }}
{{ s.status }}
{{ s.latency }}
{{ s.statusWord }}
{{ s.kind }}
{{ s.cadence }} · {{ s.tried }}
{{ s.detail }}
Signal queue
{{ s.label }}
{{ q.sym }}
{{ q.verdict }}
{{ q.note }}
Coverage
{{ c.label }}{{ c.value }}
{{ s.label }}
{{ s.value }}
{{ s.note }}
Sterling source views · under review
{{ sterlingSignalsNote }}
{{ sterlingSignalsDetail }}
{{ sig.symbol }}
{{ sig.signal }}
{{ sig.name }}
{{ sig.reason }}
No active signals. Watchlist assets without a zone assignment or analyst consensus will appear here once analyzed.
{{ s.label }}
{{ s.value }}
{{ s.note }}
Top measured analyst
LEADER
{{ anContext.topScore }}
{{ anContext.topName }}
{{ anContext.topHandle }}
{{ anContext.topHit }} hit rate · {{ anContext.strongCount }} analysts above 60%
Recent call activity
{{ anContext.hitRate }} HIT
{{ anContext.recentHits }}
hits
{{ anContext.recentMisses }}
misses
{{ anContext.upcomingCount }}
pending
{{ anContext.recentTotal }} calls resolved recently
Latest resolved calls
{{ c.author }}
{{ c.result }}
{{ c.asset }}: {{ c.quote }}
{{ anWriteMsg }}
{{ a.name }}
{{ a.handle }}
{{ a.score }}
{{ a.cat }}
{{ a.state }}
{{ a.tier }}
{{ a.hit }}
{{ a.resolved }}
Hover a row for stated bias, resolved calls and open positions.
Scorecard feed unreachable
{{ scDownNote }}
{{ s.label }}
{{ s.value }}
{{ s.note }}
SourceScoreTierStateHit rateHitsClaimsRead
{{ s.name }}
{{ s.handle }} · {{ s.platform }}
{{ s.score }}
{{ s.tier }}
{{ s.state }}
{{ s.hit }}
{{ s.resolved }}
{{ s.claims }}
{{ s.read }}
Consensus window
{{ c.asset }}
{{ c.dir }}
{{ c.conv }}
{{ c.mentions }} sig
{{ c.reason }}
{{ c.analysts }}
Insufficient eligible {{ anWinLabel }} coverage.
{{ anWinReason }}
as of {{ anWinAsOf }}
No net consensus in the {{ anWinLabel }} window.
Social intel feed unreachable
{{ socDownNote }}
{{ s.label }}
{{ s.value }}
{{ s.note }}
Analyst consensus
{{ c.asset }}
{{ c.cls }}
conv {{ c.conv }}
{{ c.dir }}
{{ c.reason }}
{{ c.analysts }}
Consensus note
{{ socSummary }}
Pipeline warnings
{{ i }}
{{ pfSyncStatus.message }}
{{ pfMsg }}
{{ k.label }}
{{ k.value }}
{{ k.note }}
Allocation
{{ s.label }}
{{ s.value }}
{{ s.pct }}
Value over time
High {{ pfLineHigh }} · Low {{ pfLineLow }}
{{ pfLineDrift }}
{{ pfLineNote }}
Exposure mix
{{ e.label }}
{{ e.pct }}%
Top concentration
{{ p.symbol }}
{{ p.weight }}
No positions to concentrate. Cash only.
{{ grp.label }}
{{ grp.count }} · {{ grp.value }}
{{ p.symbol }}
{{ p.srcTag }}
{{ p.name }}
{{ p.qty }}
{{ p.avg }}
{{ p.px }}
{{ p.value }}
{{ p.pl }}
{{ p.plPct }}
{{ p.account }}
Nothing in {{ grp.label }} yet.
Unified transaction ledger
{{ pfTxCount }}
WhenTypeSymbolQtyPriceValueNoteAccount
{{ t.when }}
{{ t.kind }}
{{ t.symbol }}
{{ t.qty }}
{{ t.price }}
{{ t.value }}
{{ t.note }}
{{ t.account }}
{{ pfTxEmptyTitle }}
{{ pfTxNote }}
Controlled accounts
● Live from holdings
InstitutionRegionHoldingsValue (USD)Status
{{ a.inst }}{{ a.note }}
{{ a.cc }}
{{ a.holdings }}
{{ a.value }}
{{ a.hasValue ? '● Live' : '○ Empty' }}
No accounts yet. Add an account to get started.
NET WORTH
{{ heroValue }}
{{ s.label }}
{{ s.value }}
{{ heroFooterLeft }}
{{ heroFooterRight }}
{{ a.label }}
{{ a.value }}
{{ a.note }}
Asset class breakdown
{{ s.label }}
{{ s.value }}
{{ s.pct }}
By account
{{ a.name }}
{{ a.value }}
{{ a.pl }}
{{ a.pct }}
{{ pfCcyNote }} · Auto-saved to server
{{ estSyncStatus.message }}
Show values in
Net worth
{{ nwValue }}
{{ m.label }}
{{ m.value }}
No monthly snapshots available.
/portfolio/api/wealth/snapshots is the only path serving them and it is not readable cross-origin. Net worth above comes from the live holdings ledger.
{{ nwThinTitle }}
Trend plots once three monthly closes are recorded.
{{ nwSpan }}{{ ccyNote }}
Estate at a glance
{{ e.label }}
{{ e.value }}
{{ e.pct }}%
Total estate {{ estateTotal }} · household
Financial side-pocket
{{ estatePocketGrossLabel }}
{{ e.label }}
{{ e.value }}
{{ e.pct }}%
{{ estatePocketBasisSummary }}
{{ estatePocketBasisNote }}
{{ estatePocketReconciliation }}
Only ~20% of the estate. Restaurants are ~3× larger.
Restaurant platform
{{ estateBrandTotal }} equity
BrandYour %100% valueYour equityStatusActions
{{ b.name }}
{{ b.note }}
{{ b.pctOwn }}
{{ b.gross }}
{{ b.equity }}
{{ b.status }}
{{ estateBrandNote }}
Cash accounts
{{ estateAccountsNote }}
AccountHoldingValueSource
{{ a.inst }}
{{ a.holdings }}
{{ a.value }}
{{ a.note }}
No cash in the Portfolio ledger yet. Add it under Portfolio → Holdings → Cash.
Real assets
{{ estateRealTotal }}
AssetClassTotalShareEquityActions
{{ r.asset }}
{{ r.kind }}
{{ r.total }}
{{ r.sharePct }}
{{ r.equity }}
{{ estateVilla }}
Receivables & debt
ItemAmountTypeNoteActions
{{ l.item }}
{{ l.amount }}
{{ l.dirLabel }}
{{ l.note }}
{{ estateLedgerNote }}
Show values in
{{ a.label }}
{{ a.value }}
{{ a.note }}
Asset class breakdown
{{ s.label }}
{{ s.value }}
{{ s.pct }}
By account
{{ a.name }}
{{ a.value }}
{{ a.pl }}
{{ a.pct }}
{{ pfCcyNote }} · Auto-saved · Open full Portfolio →
Plan status & review
{{ planDraftBadge }}
{{ planDraftNote }}
Plan updated on
{{ planUpdatedOn }}
Last substantive change to protected content.
Last reviewed
{{ planLastReviewed }}
Verdict: {{ planLastReviewVerdict }} · No-change reviews also counted.
Data refreshed
{{ planDataRefreshed }}
JSON regeneration time — content may be identical.
Next review
{{ planNextReview }}
Cadence: {{ planReviewCadence }}. Event review runs on confirmed decisions/material catalysts.
Source freshness
{{ planOwnerStatusLabel }}
Store sync {{ planStoreSyncDate }} · Owner balances {{ planBalanceDate }} · Owner valuations {{ planValuationDate }}
Market evidence
{{ planEvidenceLabel }}
{{ e.title }}
as of {{ e.evidenceDate }}
{{ e.ageDays }}
What changed
No prior change events recorded yet — will populate after the next substantive change.
{{ c.atDubai }}
{{ c.summary }}
Review history
No reviews recorded yet. Owner-confirmed dates are not auto-stamped; a review is only added when Sterling or the owner explicitly signs off (including no-change verdicts).
{{ r.atDubai }}
{{ r.verdict }}
by {{ r.reviewer }}
{{ r.summary }}
· {{ p.text }}
Reviewed proposal — current view
Plan & Reallocation data is currently unavailable from the authenticated endpoint. No cached or static plan is shown — this panel stays empty until the live source recovers.
{{ planHeadline }}
· {{ b.text }}
Conversion timeline
{{ p.n }}
{{ p.title }}
{{ p.when }}
{{ p.note }}
Capital reallocation ledger — sources
MoveFromSizeWhenWhy
{{ s.move }}
{{ s.from }}
{{ s.size }}
{{ s.when }}
{{ s.why }}
{{ wLedgerRules }}
Capital reallocation ledger — uses
BuySleeveTargetWhenVehicle
{{ u.buy }}
{{ u.sleeve }}
{{ u.target }}
{{ u.when }}
{{ u.vehicle }}
Execution guardrails
{{ gd.title }}
{{ gd.note }}
Risk flags
{{ r.title }}
{{ r.level }}
{{ r.note }}
Inflation / debasement assumptions
UnitAnnualWhat it means
{{ i.unit }}
{{ i.rate }}
{{ i.what }}
Real value calculator
UnitNominal endReal endReal CAGR
{{ c.unit }}
{{ c.nom }}
{{ c.real }}
{{ c.cagr }}
Allocation shift — today
{{ a.label }}
{{ a.pct }}%
Investable · preservation book
Target — 60 / 30 / 10
{{ a.label }}
{{ a.pct }}%
Research-locked · Aug–Sep 2026 deployment window
Net-worth path
{{ p.when }}
{{ p.value }}
{{ p.note }}
Target growth engine — 60 / 30 / 10
SleeveTargetInstrumentsWhy
{{ s.sleeve }}
{{ s.target }}
{{ s.instruments }}
{{ s.why }}
{{ wEstateTax }}
Thematic entry zones — live prices
NameThesisEntry zoneCurrentYTDStatus
{{ z.sym }}
{{ z.note }}
{{ z.zone }}
{{ z.px }}
{{ z.ytd }}
{{ z.state }}
Prices live from the Data Hub feed. Entry zones are research-locked targets, not current recommendations.
Weekly monitoring — current readings
SignalReadingTriggerStatus
{{ m.signal }}
{{ m.reading }}
{{ m.trigger }}
{{ m.state }}
What the research explicitly rejected
{{ r.title }}
{{ r.verdict }}
{{ r.why }}
Sterling Source Views · Under Review
{{ sigCount }}
{{ sigFreshLabel }}
{{ sigLastRun }}
{{ sigFreshDetail }}
AssetDirConvDeskSourceHeadlineExpires
{{ s.asset }}
{{ s.direction }}
{{ s.conviction }}
{{ s.desk }}
{{ s.source }}
{{ s.headline }}
{{ s.expires }}
Sterling Actions
{{ actOpenCount }} open
{{ actClosedCount }} closed
AssetTitleStatusSizeEntryStopOutcome
{{ a.asset }}
{{ a.title }}
{{ a.status }}
{{ a.size }}
{{ a.entry }}
{{ a.stop }}
{{ a.outcome }}
{{ a.asset }}
{{ a.title }}
{{ a.status }}
{{ a.size }}
{{ a.entry }}
{{ a.stop }}
{{ a.outcome }}
Social Intel Health
X/Twitter: {{ xPending || 'clean' }}
YouTube pending: {{ ytPending }}
Unextracted: {{ ytUnextracted }}
Failed: {{ ytFailed }}
{{ intelTitle }}
{{ intelNote }}
{{ i.t }}
{{ i.s }}
{{ i.sub }}
{{ i.tag }}
{{ briefTitle }}
{{ briefPurpose }}
{{ briefScope }}
{{ briefBundleNote }}
{{ b.n }}
{{ b.label }}
Requirement
{{ b.req }}
Usage
{{ b.usage }}
Prominence
{{ b.prom }}
Workflow
{{ s.n }}
{{ s.text }}
Next reviews
{{ d.label }}
{{ d.value }}
Strategy Pilot
Sterling's 6-card strategy loop — additive pilot, does not replace Decision Board
{{ pilotStatus }}
{{ c.asset }}
{{ c.label }}
{{ c.dir }}
{{ c.thesis }}
Confidence
{{ c.conf }}
Risk
{{ c.risk }}
Horizon
{{ c.horizon }}
Status
{{ c.status }}
Entry zone
{{ c.entry }}
Target zone
{{ c.target }}
{{ c.action }}
Sources: {{ c.sources }}
Calibration & Brier Score
thin sample
{{ brierScore || "—" }}
Brier score (n={{ brierSampleSize }})
Lower is better: 0 = perfect, 0.25 = random
Predicted vs Actual
{{ b.bin }}
{{ b.pred }}%→{{ b.actual }}%
({{ b.gap > 0 ? '+' : '' }}{{ b.gap }})
Source Weights (human-gated)
Fundamental: {{ activeWeights.fundamental || 1.0 }}
Technical: {{ activeWeights.technical || 1.0 }}
Influencer: {{ activeWeights.influencer || 1.0 }}
Social Intel: {{ activeWeights.social_intel || 0.5 }} (provisional)
Pending Review ({{ pendingReview.length }})
{{ p.src }}: {{ p.curr }} → {{ p.prop }}
{{ p.change }}
{{ p.reason }}
Hit Rate by Signal Type (90d)
Conviction
{{ calibMetrics.by_signal_type.conviction.hit_rate || "—" }}% (n={{ calibMetrics.by_signal_type.conviction.total || 0 }})
Trigger
{{ calibMetrics.by_signal_type.trigger.hit_rate || "—" }}% (n={{ calibMetrics.by_signal_type.trigger.total || 0 }})
Target
{{ calibMetrics.by_signal_type.target.hit_rate || "—" }}% (n={{ calibMetrics.by_signal_type.target.total || 0 }})
Standing Assumptions
{{ a.category }}
{{ a.conf }} · {{ a.checkpoint }}
{{ a.thesis }}
Latest Self-Review
Confidence Calibration
{{ selfReview.confidence_calibration.assessment || "—" }}
Week Ending
{{ selfReview.week_ending || "—" }}
{{ selfReview.summary }}
Core cards (daily): {{ coreCardCount }}
Full cards (weekly): {{ fullCardCount }}
What to follow
DateTypeItemSignalWhen
{{ c.date }}
{{ c.kind }}
{{ c.label }}
{{ c.verdict }}
{{ c.away }}
Nothing dated in this window.
Watch triggers
live gauge readings against the plan's thresholds
SignalReadingTriggerMeaningState
{{ t.label }}
{{ t.reading }}
{{ t.trigger }}
{{ t.note }}
{{ t.state }}
Sterling's loops
refresh cadence and freshness threshold per source
LoopRoleOwnerEveryStale atAgeState
{{ l.name }}
{{ l.role }}
{{ l.owner }}
{{ l.every }}
{{ l.threshold }}
{{ l.age }}
{{ l.state }}
Monthly routine
{{ c.label }}
{{ c.note }}
{{ astroDailyTitle }}
{{ astroDailyVerdict }}
{{ astroDailyDate }} · {{ astroUpdated }}
{{ astroDailyText }}
{{ astroMonthlyTitle }}
{{ astroMonthlyVerdict }}
{{ astroMonthlyText }}
{{ astroMonthLabel }}
Signals in {{ astroMonthLabel }}
{{ e.day }}
{{ e.label }}
{{ e.verdict }}
{{ e.when }}
No calendar events in {{ astroMonthLabel }}.
Sterling decision board
resolve to refresh calibration
{{ d.sym }}
{{ d.verdict }}
{{ d.action }}
{{ d.status }}
{{ triggerMsg }}
{{ t.label }}
{{ t.value }}
{{ t.note }}
Feeds
{{ j.name }}
{{ j.cadence }}
{{ j.detail }}
Audit log
{{ l.t }}
{{ l.lvl }}
{{ l.msg }}
Action items
{{ a.desc }}
{{ a.assignee }}
{{ a.source }}
{{ a.prio }}
{{ a.status }}
{{ a.overdue }}
{{ a.follow }}
{{ a.completedAt }}
{{ a.completionNote }}{{ a.staleNote }}
{{ a.ctx }}
No action items match this filter.
The Office — live
Agent org — live
{{ agChip }}
{{ agNote }}
Collaboration — last 60 min
{{ e.label }}
{{ e.subject }}
{{ e.state }} · {{ e.when }}
{{ fe.note }}
Where everything runs
{{ infraNote }}
{{ h.name }}
{{ h.where }}
⇅
{{ ln.t }}
{{ s.label }}
{{ s.value }}
{{ s.note }}
Agent mail — all inboxes
{{ c.agent }}
→ {{ c.toAgent }}
{{ c.title }}
{{ c.when }}
{{ c.status }}
{{ c.summary }}
{{ c.fullContent }}
No conversations match this filter.
Live conversations
{{ streamNote }}
{{ c.from }}
→ {{ c.to }}
{{ c.subject }}
{{ c.status }}
{{ c.excerpt }}
No active conversations in stream.
Pending approvals
{{ apvErr }}
{{ p.agentName }}
{{ p.what }}
{{ p.summary }}
{{ p.createdDubai }}
{{ op.skill }} · SKILL.md
− before: {{ op.oldStr }}
+ after: {{ op.newStr }}
{{ p.rawJson }}
Sure?
{{ p.err }}
No pending approvals.
Decided
{{ h.outcome }}
{{ h.agentName }}
{{ h.what }}
{{ h.appliedText }}
{{ h.decidedDubai }}
No decisions yet.
{{ lane.name }}
{{ b.team }}
Stage: {{ b.label }}
What's happening: {{ b.detail }}
Last updated: {{ b.age }}
Dependencies: {{ b.depsLine }}
NEEDS ATTENTION
No teams in this lane.
No build lanes reported.