Skip to content

PAE v0.3.0 — Phase 3: native self-host, finished dashboard, hardened core

Pre-release
Pre-release

Choose a tag to compare

@nrupala nrupala released this 27 Oct 02:56
· 56 commits to main since this release
dc462c2

PAE v0.3.0 — Phase 3: native self-host, finished dashboard, hardened core

PAE is a local-first, user-sovereign personal portfolio analytics platform. It is an analytics tool: it does not provide financial advice, recommendations, or order execution.

What ships in 0.3.0

  • Native self-host bundle — no Docker anywhere. One downloadable bundle (Linux x86_64 proven; Windows/macOS installers scripted) with a pae launcher: install, start, seed, status, stop. The Rust engine serves the dashboard itself and proxies analytics, so the product is a single origin on your machine; both services bind loopback by default.
  • Finished dashboard. All 11 views are real: Dashboard, Risk Metrics, Factor Decomposition, Monte Carlo, Stress Testing, Optimizer, Carry Analysis, Decision Journal, Knowledge Base, Import, Holdings — with a shared portfolio selector (the dashboard opens on the first portfolio that actually has holdings).
  • Persistent, verifiable records. The decision journal and version store survive restarts with their hash chain intact; journal entries are encrypted in the browser (AES-256-GCM; key derived with Argon2id — RFC 9106 second-recommended profile: 64 MiB, 3 iterations, 4 lanes).
  • Math validated by known answers. VaR/CVaR/Sharpe/Sortino/Monte Carlo/stress and the Python factor/carry layer are pinned by independent hand-computed test vectors. Stress applies per-asset-class shocks (cash is unshocked in the 2008 scenario) and reports true percents consistently on every surface (REST, dashboard, agent/MCP).
  • Agent surface, authenticated. A2A and crypto-oracle routes require a per-install bearer token (0600 file, never logged); the vault-envelope replacement path refuses unauthenticated overwrites. A loopback guard rejects non-loopback Host headers and cross-site mutations on both services.
  • Honest data doctrine. Market data comes only from first sources with verified free use (SEC EDGAR, Bank of Canada Valet, FRED Fed-owned series, Fama-French with attribution). Where no first+free source exists — live prices — PAE returns an explicit gap error instead of a fallback vendor.
  • Licensing. The edition as a whole is AGPL-3.0-or-later with a commercial dual licence; the common/MCP public surface is Apache-2.0 + commercial dual. See LICENSING.md.

Certification

This build passed the house release gate (verdict: PASS WITH FINDINGS) with multi-tester certification: an independent Gemini review, an independent stranger buyer-walk (its three blockers were fixed and re-walked 19/19), a DeepSeek adversarial read, and a full code-level deep review. Suites at the gated tree: Rust 134 passed, Python 232 passed, UI typecheck clean, guardrail check passes. Dependency audits: RustSec 0 vulnerabilities (an unused dependency carrying a vulnerable chain was removed), pip-audit clean.

Named limits: Windows/macOS bundles are scripted but not yet proven on those systems; the knowledge base is stored unencrypted unless content is ingested with a DEK (disclosed in-product); demo data is fictional and labelled as such.