SFIO — Private Digital CIO

Production v1.0 RC19 — Release Candidate. Finance remains independent and authoritative. SFIO uses an occasional/on-demand Finance snapshot for Portfolio Health Check and otherwise operates on public-market intelligence. No continuous Finance connection and no automatic trading.

Command Centre

Privacy guarantee: SFIO does not display cash balances, account names, ownership lists, quantities, book values, gains/losses, transfers, income, expenses, taxes or net worth.

RC20 Integrated Intelligence Hub

RC20 Release Candidate: Runs Recommendation, Portfolio, Opportunity, Dividend, Earnings/Event, Macro, Alerts and Weekly CIO intelligence as one cycle. Finance remains optional and on-demand only; no raw snapshot is stored by this dashboard. Privacy: attach finance.json only while using SFIO on the host computer at 127.0.0.1/localhost; raw Finance upload is blocked over Home LAN and Cloudflare.
Use your refreshed market/watchlist data. For portfolio-aware analysis, optionally choose a current Finance snapshot.

Potential Opportunities — Not Currently Owned

This section is separate from your portfolio. It shows Yahoo-watchlist candidates that are not in the uploaded Finance snapshot. Opportunity score, confidence, value zone and Batch Action use the latest persisted Advice Centre Batch Fast results when available.
Ticker Company / Fund Name Opportunity Tier Price Zone Portfolio Fit Confidence Analysis Basis Batch Action

Owned Securities — Finance Privacy Bridge

Ticker Coarse Exposure Band Ownership Detail Governance / Score Effect
Run the RC20 cycle to generate the integrated Weekly CIO brief.

Live Market Intelligence

Unified watchlist: Live Market Intelligence uses the same persistent Yahoo-watchlist universe as Advice Centre, Daily Tracking and Learning. Upload or replace the Excel/CSV in Advice Centre only; additions/removals propagate here automatically.
Yahoo Finance live integration is configured through the included local SFIO server. Start the server, open the dashboard at http://127.0.0.1:8765, and keep the server running. Market quotes refresh automatically while the dashboard is open; Refresh Now remains a manual override. Quotes show source, timestamp and freshness. Yahoo is an unofficial personal-use provider, so SFIO caches requests and displays stale/unavailable states rather than silently reusing old data.
MARKET DATA LAST UPDATED: Waiting for refresh
Ticker Company / Fund Name Latest public price Change (%) Change Day range 52-week range Day chart Freshness

Daily Tracking Automation

Macro-first automatic operation: SFIO restores the saved watchlist and runs Macro followed by a full Recommendation cycle at 9:00 AM, 10:00 AM, 11:30 AM, 1:00 PM, 2:30 PM, 3:30 PM and 10:00 PM America/Toronto while the server is running. The Recommendation cycle waits for its matching Macro refresh and records the exact snapshot consumed. RC21.3 remains event-driven between cycles. No owner action is required. Manual UAT controls are available only on the Testing page.

Phase 1 Historical Intelligence — Evidence Ledger

Shadow evidence only: SFIO stores public adjusted price history, every governed recommendation cycle, and later 1/5/10/20/60/120/250-session outcomes. Outcomes begin only after the recommendation production date; no pre-recommendation session may be scored. Maximum history is collected gradually to respect provider limits. Newly listed or provider-limited symbols are retained explicitly without endless retries. It does not read Finance holdings, alter approved price ranges, promote a model change, or trade. Any future learning change requires adequate samples and owner approval.
Phase B1 — Automatic Observation Service: Browser-independent public-market evidence collector linked to the immutable Phase A decision record. It samples the latest provider 1-minute bar on a governed 15-minute cadence during the observation window, writes idempotent durable evidence, flags valuation-zone crossings, and preserves hourly/market-close checkpoints. Evidence collection cannot trade, change recommendations, apply model settings, or read raw Finance account/holding data.

RC21.4 — Recommendation Lifecycle / Outcome Engine

Purpose: recommendation history is now lifecycle-managed rather than treated as an ever-growing pending queue. Automatic UI sync: lifecycle detail loads when SFIO opens and refreshes with the existing Learning/Calibration orchestration; the button below is only a UAT/admin override. SFIO keeps one active outcome window per tracked ticker, supersedes it only when the recommendation materially changes, evaluates eligible active windows after the minimum horizon, and preserves all prior versions for audit and governed learning.

Composite Buy Intelligence & Advice Centre

Single ticker or Watchlist Screening: single-ticker analysis performs a full deep analysis. Excel/CSV upload uses rate-limit-resilient Batch Fast analysis for up to 200 watchlist symbols. Watchlist rows are not ownership indicators. Current holdings are determined only from an uploaded Finance Snapshot in the RC20/RC21 Intelligence Hub.
Download Excel Template
Enter a ticker and select Fetch & Score Ticker. Available public inputs will populate automatically; manual override remains available.

Automatic Tracked-Universe Intelligence

Loading automatic tracked-universe status…

Active recommendations

Ticker Action Score Confidence Recommendation price Recommendation as of Current price Current price as of Buy zone Strong-buy zone Composite fair value Avoid above Valuation confidence Thesis / valuation basis

RC21.3 — Event-Driven Recommendation Reassessment

Automatic governed reassessment: Provider-confirmed earnings releases and supported corporate actions trigger a fresh public-data analysis for the affected ticker. SFIO captures before/after recommendation state, updates Advice Centre with the latest reassessment, and surfaces owner attention only when material thresholds are crossed. No model setting changes and no automatic trading. Idempotent event processing: an unchanged confirmed event is processed once; a reassessment repeats only if provider-supported event evidence changes.

Current reassessment activity

Time Ticker Trigger Before After Score Δ Confidence Δ Fair value Δ Materiality Evidence / rationale
Historical / pre-resilience provider failures — retained for audit
These records pre-date the latest successful RC21.3 Safe UAT and are preserved as immutable audit evidence. They do not count as current operational failures.
Time Ticker Trigger Classification Error Evidence

Dividend Intelligence Centre

Purpose: Public dividend intelligence only. This table never reveals whether a security is owned, personal dividend income, quantities, cost base or account data.
Ticker Yield Safety Growth Payment frequency Previous ex-dividend Next ex-dividend Days to ex-dividend Next payment SFIO action Completeness

Dates and yields must be refreshed from a public provider before trading. SFIO recommendations are research outputs, not ownership indicators.

Dividend Rankings, Safety & Growth

Automatic tracked-universe review: SFIO runs a daily Dividend Batch Fast screen from the same persistent Yahoo watchlist. Single-ticker deep analysis and file upload remain manual overrides for deeper review/testing.
No dividend batch uploaded.
How to read the Dividend Rankings columns
Status: processing status; OK is not an investment rating.
Mode: DIVIDEND_BATCH_FAST is the automatic tracked-universe screen, not deep due diligence.
Dividend score: SFIO 0–100 dividend-screen score from available Batch Fast inputs. Higher is stronger within this screen; it is not a BUY probability.
Safety: qualitative dividend-reliability view from available history/coverage. Partial data means important inputs are missing.
Growth: qualitative view of verified dividend-growth history.
Yield: trailing-12-month cash distributions divided by current price.
Payment frequency: inferred from verified historical ex-dividend spacing (for example Monthly, Quarterly, Semi-annual or Annual). “Variable” means the recent pattern is not perfectly regular; “Unknown” means there is not enough reliable history to infer a frequency.
Last dividend: most recent cash distribution per share.
Previous ex-dividend: most recent verified ex-dividend date; buying on/after it does not qualify for that distribution.
Next ex-dividend: next verified upcoming ex-dividend date. “—” means SFIO could not verify one and will not invent a date.
Days to ex-dividend: calendar days remaining until the next verified ex-dividend date. This is a timing aid only; it does not override valuation, safety or the overall SFIO recommendation.
Next payment: next verified payment date when available; useful for cash-flow timing, secondary to ex-dividend eligibility.
Years ↑: consecutive years of increases detected from available history; zero can also reflect insufficient coverage.
5Y growth: annualized growth of verified cash distributions over the available five-year comparison. For ETFs/funds this is distribution growth, not necessarily corporate dividend growth.
Action: dividend-screen conclusion such as WAIT / REVIEW or AVOID / NO DIVIDEND; not the final SFIO portfolio recommendation.
Completeness: input coverage. PARTIAL means treat the row as screening intelligence, not complete dividend due diligence.
Enter a ticker and select Fetch & Score Ticker. Yahoo-derived fields will populate where available; unavailable values are clearly marked and can be overridden.
Rank Ticker Yield Payout FCF payout Years ↑ 5Y growth Safety Growth rating Income rating Payment frequency Last dividend Previous ex-dividend Next ex-dividend Next payment SFIO action Actions

Earnings Intelligence Centre

Automatic earnings lifecycle: Today/future events come from the persistent watchlist. SFIO checks earnings events every 30 minutes while the dashboard is active. A calendar date alone never marks an event Reported; Yahoo must expose provider-supported reported EPS. Confirmed releases trigger immediate reassessment and roll into retained history.

Today & Upcoming Earnings

Date Ticker Stage Importance Expectation / result Guidance Estimate trend SFIO posture Recommendation impact Release status Last provider check Next check Actions
Reported / Earnings History — retained for review, audit and learning
Date Ticker Stage Importance Expectation / result Guidance Estimate trend SFIO posture Recommendation impact Release status Last provider check Next check Actions

Corporate Actions Centre

Automatic public feed: Yahoo-supported cash dividends and stock splits are synchronized daily. Buybacks, M&A, spin-offs, issuance and insider events require an additional provider and are not inferred.
Date Ticker Type Importance Details Impact Suggested response Actions

Valuation, Recommendation Explainability & Review Triggers

Every decision must answer: Why now? Why not wait? What changed? What would change the recommendation? What are the key risks and upcoming events?
Ticker Action Expected upside Buy below Strong buy Confidence Why now / why not wait Change / trigger Risks / events Actions

Earnings, Dividend & Corporate Event Calendar

Date Type Ticker / Region Event Importance Expected impact Suggested response

Macro, Political & Global Intelligence

Automatic monitoring: Patch 5J runs automatically while the SFIO server is running. Cross-asset monitoring includes Bitcoin, volatility, yields, FX, commodities, equities and credit. Governed Canada inputs now include Bank of Canada policy/mortgage rates plus Statistics Canada CPI, employment, unemployment and GDP; U.S. policy/inflation/labour/growth remains connected through FRED. Public global-event monitors cover geopolitics, trade/policy and supply chains as contextual headline signals. Material macro-regime changes may trigger a governed recommendation reassessment automatically. No single variable, including Bitcoin, mechanically triggers a trade, and automatic trading remains off.
Automatic scheduler active

Current intelligence feed

As of Region Category Development Importance Market impact SFIO implication

Authoritative source diagnostics

Automatic diagnostics: Patch 5J reports every expected official macro source and global-event monitor as OK/CACHED_OK/PUBLIC_EVENT_SIGNAL/FAILED. Global monitors use GDELT first with a public RSS fallback; failures remain visible and last-known-good intelligence is preserved where available.
Source Status As of Detail

Coverage checklist

Canada

Bank of Canada, CPI, jobs, GDP, housing, federal budgets, tax and regulatory changes.

United States

Federal Reserve, Treasury yields, CPI, payrolls, GDP, elections, tariffs and earnings conditions.

Global

Wars, sanctions, elections, trade disputes, supply chains, shipping, China, Europe and emerging markets.

Cross-asset

Oil, gas, metals, CAD/USD, USD index, credit spreads, volatility and rate curves.

Economic & Central-Bank Calendar

Date Region Event Importance Consensus Actual Affected SFIO response Actions

Macro-to-Sector Intelligence Desk

Manual scenario override — UAT/research only: Use this control for hypothetical sensitivity testing. Normal Sector Desk context is synchronized automatically from Macro & Global.

Intelligence coverage register

Domain Required indicators Status Last review Owner action

Portfolio Health Check — On Demand

Snapshot architecture: Finance is not continuously connected to SFIO. Upload a periodic Finance snapshot only when you want a health check. Raw snapshot data is processed in memory and is not persisted; only normalized privacy-safe context may be retained for current-state continuity. Privacy boundary: raw finance.json upload is localhost-only on the SFIO host computer and is blocked over Home LAN/Cloudflare; normalized privacy-safe context may still be viewed remotely.

Accepted formats: finance_privacy_snapshot_v2 for governed Portfolio Intelligence + positive-ownership display prioritization, finance_privacy_snapshot_v1 for legacy context only, or sfio.finance-snapshot v1.0 for legacy holdings-based analysis. Finance v2 ownership never changes recommendation scores. SFIO never writes back to Finance.

No Finance snapshot loaded.
Upload a Finance snapshot to generate portfolio-aware advice.

Portfolio Intelligence — Privacy-Safe Outputs

Sector posture

These outputs describe posture only. No holdings, quantities, values or ownership indicators are displayed.

Portfolio Intelligence Lab — Privacy-Safe

Milestone 3: This module accepts only aggregated decision outputs. Do not enter holdings, quantities, balances, account names, cost base, or market value.
Date Health Diversification Concentration Income Risk Geo Sector Deployment Actions

Privacy-Safe Rebalancing Planner

Uses only categorical sector posture and target direction. It never requires security quantities or dollar amounts.
Add one or more sector-level actions.
Priority Sector Current Target Suggested direction Rationale Review Actions

Portfolio Stress & Sensitivity Lab

Date Scenario Severity Estimated health Risk change Resilience Suggested response Actions

Unified SFIO Automation Orchestrator

Automatic operation: The orchestrator starts with the dashboard. The local server remains authoritative for the persistent watchlist, daily recommendation capture, seven-day outcome maturity and governed learning. Browser-side modules refresh automatically at source-appropriate cadences while SFIO is open. Manual buttons elsewhere are overrides, not normal requirements.
Source coverage: Live Market Intelligence, Alerts, Watchlist Intelligence, Opportunity Centre, Dividend Rankings, Learning status, Weekly CIO, Earnings and Yahoo-supported Corporate Actions are orchestrated automatically. The health layer counts consecutive failures, uses exponential retry/backoff, and marks overdue modules STALE/DEGRADED rather than pretending data is current.

Public Data Provider Registry

Provider definitions contain public-data endpoints only. Never place Finance credentials or private account data here.
Name Type Endpoint Auth Enabled Last check Actions

Automation Audit & Notification History

Time Workflow Status Summary

Weekly CIO Automation

Generate the report after refreshing market data and recommendations.

RC21.2 Controlled Learning Governance

Governance rule: Outcomes and calibration may be collected/calculated automatically. No model setting changes automatically. Every production adjustment requires explicit owner approval, creates a new model version, records rationale/effective date/expected effect, and remains reversible.

Outcome Capture

Daily Governed Learning Review

Automatic every day: SFIO reviews eligible learning evidence and may create one evidence-based proposal for you. It never applies the proposal automatically. You approve or reject. If evidence is too weak, the daily result is No proposal — insufficient evidence.

Governed Model Adjustment

Advanced/manual proposal: this remains available for testing/admin use. Creating a proposal does not change production logic.

Outcome Detail / Audit

Audit view: This table explains the learning result only. It does not change recommendations or model settings.
Recorded Ticker Original action Normalized action Score Confidence Entry price Outcome price Return Classification Rule / basis Module Company / Fund

Research Database

How to test: Save a ticker and thesis, reload the page, and confirm the record remains. Use Edit or Delete in the table.
Ticker Name Sector Thesis Risks Review trigger Next review Actions

Scenario Analysis

Smart Alerts

SFIO Intelligence Digest & Exception Centre

Purpose: SFIO summarizes material intelligence during the market day so routine reassessments do not require owner acknowledgement. Evidence remains preserved for closed-loop outcome validation. Only meaningful exceptions stay individually visible. Automatic trading remains OFF. Model/model-setting changes remain OWNER APPROVAL ONLY.
Exception & audit detail — open only when investigation is needed
Routine events are summarized above. This table is reserved for material exceptions and backward-compatible audit handling; acknowledgement is not an intelligence-learning signal.
Priority Ticker Source Decision signal Reason Detected Owner state Actions
Automatic evaluation: Enabled alerts are re-evaluated automatically while the dashboard is open. Enter a ticker/condition once; Evaluate Now remains a manual override. Alerts are stored locally.
Ticker Type Threshold Status Last checked Enabled Actions

Robust Testing

Phase A1 — Evidence & Calculation-Trace Foundation: Non-destructive diagnostic for the new immutable evidence schema and calculation-trace invariants. It verifies trace schema/version, score-contribution reconciliation, fair-value anchor ledger, valuation-zone derivation, ordered boundaries and governance. It does not execute a trade or change model settings.
Phase B1 — Automatic Observation Service / Evidence Collector: Non-destructive diagnostic using a temporary synthetic SQLite store. It verifies observation schema, decision linkage, same-bucket idempotency, valuation-zone crossing detection, hourly checkpoint marking, restart-safe durability, and governance. It does not write synthetic evidence into Production history.
Final Whole-SFIO Closure Diagnostic: Final non-destructive integration gate for the locked post-soak baseline. It verifies live server/tracking health, persistent tracked-universe consistency, Macro-first seven-cycle reconciliation, Macro health and production attribution, canonical explainability, owner-decision readability, orchestrator health, Eastern-Time/governance controls, then reruns the previously closed safe fixtures. Synthetic fixture state must be restored exactly; automatic trading remains OFF and model changes remain OWNER APPROVAL ONLY.
Patch 5T / D5-10 — Owner Decision State-Machine Persistence: Non-destructive validation of the governed RC21.5 owner-decision lifecycle. The fixture creates one synthetic RC21.3 material decision, proves OPEN → Acknowledge → Defer → Dismiss persistence, proves an unchanged reassessment does not duplicate or silently reopen the reviewed decision, then proves explicit Reopen returns the same stable decision to OPEN. All production owner-decision and RC21.3 notice state is restored. Automatic trading remains OFF; model settings remain OWNER APPROVAL ONLY.
Patch 5S / D2-03 — Live-Price Boundary → RC21.3 Reassessment: Adds governed automatic boundary detection to Live Market Intelligence refresh. A reassessment is requested only when the same tracked ticker moves from one persisted valuation state to another; initial/missing prices and within-zone moves do not trigger churn. The Safe UAT uses two synthetic tickers, proves only the crossing ticker is reassessed, exercises RC21.3 materiality and RC21.5 owner routing, then restores production state. Automatic trading remains OFF.
Patch 5R / D2-06 — Focused Provider & Valuation Regression: Exercises the same resilient single-ticker analysis fetch used by Fetch & Score Ticker. The safe fixture rejects HTTP 524/non-JSON, verifies bounded retry/backoff and recovery, then verifies a bounded permanent-failure path while preserving recommendations, market state and last-known-good valuation state. Production state is restored; no recommendation is changed and automatic trading remains OFF.
Macro-first seven-cycle schedule UAT: Non-destructive validation of the governed 9:00 AM, 10:00 AM, 11:30 AM, 1:00 PM, 2:30 PM, 3:30 PM and 10:00 PM America/Toronto schedule. Each full Recommendation cycle follows its completed Macro refresh and records the exact snapshot consumed. Earlier missed slots are audited rather than replayed using current data. Automatic trading remains off.
Phase 5M — Governed Macro → Sector → Recommendation → RC21.3 → RC21.5 E2E: Safe non-destructive validation using the current tracked-universe component scores and governed Macro baseline. It runs both an immaterial-noise gate (must create zero churn) and a controlled material HIGH_RISK shock, applies the same Macro-to-Sector sensitivity formulas, exercises RC21.5 queue routing with temporary RC21.3-format notices, then restores production state. No synthetic event is written into production history and automatic trading remains off.
Pre-5M regression gate: Non-destructive system gate covering live-server reachability, section/module availability, Command/Owner Decision metric semantics, Eastern-Time display, RC21.6 availability, and a safe RC21.3 provider-resilience/material-routing fixture. Production recommendation state is restored after the test and automatic trading remains off.
Provider-resilience simulation: Non-destructive fixture: injects one synthetic HTTP 524 HTML response, verifies bounded retry and JSON validation, then injects a valid JSON recovery response. It must not change recommendation state or trading controls.
Missed-cycle simulation: This is a non-destructive UAT fixture. It exercises the production missed-cycle detector against a simulated multi-day gap without changing recommendation history, scheduler state, watchlist state, or provider data.
Owner UAT controls: These manually invoke the production tracking pipeline for testing only. Normal operation does not require them.
How to test: Click the button. All checks should show PASS. A failed check includes the reason.

RC21.6 — Production Hardening & Deployment

Release objective: freeze the RC21.x intelligence workflow behind explicit production-readiness checks. RC21.6 adds regression coverage, backup/restore verification, startup/orchestrator recovery validation, persistent-decision validation and deployment status without changing portfolio privacy boundaries or enabling automatic trading.
Check Status Detail

Documentation & Deployment

Local mode

Open index.html. Data is stored locally in the browser.

Hosted static mode

Serve this folder from a private HTTPS host. No backend is required for manual/provider refresh while open.

Continuous scheduler

Use the included deployment guide to connect a scheduled data refresher and alert delivery service.

Backup

Export and retain the privacy-safe JSON backup regularly.

Read docs/USER_GUIDE.md, docs/PRIVACY_ARCHITECTURE.md, docs/DEPLOYMENT_GUIDE.md and docs/TEST_PLAN.md.