Release v0.11.0
May 31, 2026 Enriched
v0.11.0
Date: 2026-05-31
Changes: v0.10.32…v0.11.0
Summary
v0.11.0 is a feature-heavy release covering roughly five weeks of work. It introduces a full Allocation Decisions workflow — capital lineage and counterfactuals, a sortable persisted ledger, Trim to Cash, account labels, and signature-based duplicate detection — alongside a substantially expanded cash-flow simulator that adds retirement-readiness metrics, a Roth conversion strategy, and a birthdate-driven Pre-59.5 Bridge Coverage chart. The Structure and Performance views gain new analytics, including a Cost-Basis Return period column, a Sleeves (Intent) Value/Change/Return toggle, and a Modified Dietz return sensitivity scrubber. A range of CSV-import, snapshot, and Flow-attribution fixes round out the release.
A look at what’s new









Notable Changes
- Allocation Decisions matured into a full workflow: capital lineage and counterfactuals, a sortable ledger with persisted order, Trim to Cash with persistent dismiss, account labels with inbox previews, a backward-look pass with signature-based dedupe and capped attribution, in-app delete confirmation, and once-daily source-price refresh.
-
Cash-flow simulator gained retirement-readiness metrics and a Roth conversion strategy, a Pre-59.5 Bridge Coverage chart driven by birthdate, a Years 0-vs-1 projection at a fixed 8%/yr, reorganized inputs with KEEP-derived defaults, and a
just refresh-cashflowrecipe. - Structure / Sleeves: a Cost-Basis Return period column (and a later column move + sleeve symbol-count fix), a Sleeves (Intent) Value | Change | Return toggle, and a Flow-view fix that attributes cash inflows as flow rather than market impact.
- Performance: a Modified Dietz return % sensitivity scrubber and a Flow-Adjusted line with persisted line toggles.
- Portfolio: redesigned top cards that surface change since the last snapshot.
-
Tooling / docs:
just add-unsettled-cashfor pending trade proceeds, demo refresh/publish recipes, and a new canonical RELEASING runbook.
Features
- feat: Structure — move Cost-Basis Return column + fix sleeve symbol count
- feat: cashflow — retirement readiness metrics + Roth conversion strategy
- feat: Structure — Cost-Basis Return period column on sleeve table
- feat: Portfolio — sleeve carousel with click-through to Structure tab
- feat: just add-unsettled-cash — patch SPAXX** for pending trade proceeds
- feat: cashflow — Pre-59.5 Bridge Coverage chart (birthdate-driven)
- feat: Allocation Decisions — delete row with in-app confirm modal
- feat: Allocation Decisions — backward-look pass, dedupe, signature dupe-check, capped attribution
- feat: Account Labels + Decisions inbox previews & signature dupe-check
- feat: Allocation Decisions — Trim to Cash + persistent dismiss
- feat: Performance — Dietz return % sensitivity scrubber
- feat: cashflow projection chart — Years 0 vs 1 at fixed 8%/yr
- feat: Performance chart — Flow-Adjusted line + persisted line toggles
- feat: just refresh-cashflow — promote cashflow defaults snippet to a recipe
- feat: auto-refresh Allocation Decisions source prices once per day
- feat: just screenshot + capture-demo-screens (AppleScript V3)
- feat: just publish-demo-assets — sync demo metrics to keep-site
- feat: just refresh-demo — sanitized demo follows the live product
- feat: sortable Allocation Decisions ledger with persisted order
- feat: Allocation Decisions — capital lineage and counterfactuals
- feat: redesign Portfolio top cards — surface change since last snapshot
- feat: Sleeves (Intent) chart toggle — Value | Change | Return
- feat: cashflow simulator inputs reorganized + KEEP-derived defaults documented
Fixes
- fix: Flow view — treat cash inflows as Cash Flow, not market impact
- fix: refresh Leading Sleeve card after CSV import + align red
- fix: compute % Daily from price change to exclude same-day transactions
- fix: extend transaction window to 365 days and harden account ID parsing
- fix: refresh snapshot deltas after CSV import
Other
- docs: add canonical RELEASING runbook; correct README release section
- chore: refresh cashflow defaults from latest KEEP snapshot
- docs: local DB encryption plan draft
- style: Performance chart adopts ledger zebra treatment
- chore: extend Allocation Decisions proposal scan to 365 days
- chore: refresh cashflow defaults from latest KEEP snapshot
- chore: refresh cashflow defaults from latest KEEP snapshot
- docs: add v0.10.32 release notes (canonical + enriched)
Files Changed
.gitignore | 10 +-
Claude.md | 63 +-
README.md | 97 +-
apps/cashflow/README.md | 52 +
apps/cashflow/defaults.js | 35 +-
apps/cashflow/index.html | 676 +++++-
apps/cashflow/refresh_defaults.py | 180 ++
apps/desktop/package-lock.json | 4 +-
apps/desktop/package.json | 2 +-
apps/desktop/src-tauri/Cargo.toml | 5 +-
apps/desktop/src-tauri/resources/demo.db | Bin 241664 -> 454656 bytes
apps/desktop/src-tauri/resources/demo_metrics.json | 38 +
apps/desktop/src-tauri/src/bin/keep-migrate.rs | 48 +
.../src-tauri/src/commands/account_aliases.rs | 164 ++
.../src-tauri/src/commands/allocation_decisions.rs | 1686 +++++++++++++++
apps/desktop/src-tauri/src/commands/benchmark.rs | 18 +-
apps/desktop/src-tauri/src/commands/mod.rs | 2 +
apps/desktop/src-tauri/src/commands/sleeves.rs | 73 +
apps/desktop/src-tauri/src/db/migrations.rs | 242 +++
apps/desktop/src-tauri/src/lib.rs | 18 +-
apps/desktop/src-tauri/tauri.conf.json | 2 +-
apps/desktop/src/App.jsx | 2191 ++++++++++++++++++--
apps/desktop/src/SleeveSankey.jsx | 65 +-
apps/desktop/src/utils/periodReturn.js | 69 +
core/src/csv_import/transaction_parser.rs | 97 +-
core/src/db/schema.rs | 2 +
core/src/snapshot.rs | 26 +-
docs/RELEASING.md | 115 +
docs/demo-version/demo-db-impl-plan.md | 2 +
docs/local-db-encryption-plan.md | 141 ++
docs/unsettled-cash-adjustments.md | 82 +
justfile | 225 ++
release-notes/20260426-v0.10.32.enriched.md | 69 +
release-notes/20260426-v0.10.32.md | 65 +
scripts/capture_screen.applescript | 79 +
scripts/generate_demo_db.py | 903 +++++---
36 files changed, 7013 insertions(+), 533 deletions(-)
Artifacts
| Platform | Artifact | Status |
|---|---|---|
| macOS | KEEP-v0.11.0-macos-universal.zip | shipped |
| Linux | KEEP-v0.11.0-linux-amd64.AppImage | shipped |
| Linux | KEEP-v0.11.0-linux-amd64.deb | shipped |
| Windows | KEEP-v0.11.0-windows-x64.msi | shipped |
Raw Commits (source of truth)
- 9f4df13 release: v0.11.0
- 5eabaf7 docs: add canonical RELEASING runbook; correct README release section
- 3565b21 chore: refresh cashflow defaults from latest KEEP snapshot
- b351a11 fix: Flow view — treat cash inflows as Cash Flow, not market impact
- dabb74f feat: Structure — move Cost-Basis Return column + fix sleeve symbol count
- 1f4cdcb feat: cashflow — retirement readiness metrics + Roth conversion strategy
- f040b8a feat: Structure — Cost-Basis Return period column on sleeve table
- 0aabc45 feat: Portfolio — sleeve carousel with click-through to Structure tab
- 4c9cee3 feat: just add-unsettled-cash — patch SPAXX** for pending trade proceeds
- 08fd3cf feat: cashflow — Pre-59.5 Bridge Coverage chart (birthdate-driven)
- ce501f3 feat: Allocation Decisions — delete row with in-app confirm modal
- 1b2a28c feat: Allocation Decisions — backward-look pass, dedupe, signature dupe-check, capped attribution
- f5b3df8 docs: local DB encryption plan draft
- 337e613 feat: Account Labels + Decisions inbox previews & signature dupe-check
- 786a8a5 feat: Allocation Decisions — Trim to Cash + persistent dismiss
- fba7781 feat: Performance — Dietz return % sensitivity scrubber
- c8e12da feat: cashflow projection chart — Years 0 vs 1 at fixed 8%/yr
- 8cda555 feat: Performance chart — Flow-Adjusted line + persisted line toggles
- 57a2364 feat: just refresh-cashflow — promote cashflow defaults snippet to a recipe
- 91901b6 feat: auto-refresh Allocation Decisions source prices once per day
- 42b81ce fix: refresh Leading Sleeve card after CSV import + align red
- 9822628 feat: just screenshot + capture-demo-screens (AppleScript V3)
- 9a4cd3d feat: just publish-demo-assets — sync demo metrics to keep-site
- 7d5a65c feat: just refresh-demo — sanitized demo follows the live product
- 091f903 feat: sortable Allocation Decisions ledger with persisted order
- 648669e style: Performance chart adopts ledger zebra treatment
- d34e333 chore: extend Allocation Decisions proposal scan to 365 days
- 7607380 feat: Allocation Decisions — capital lineage and counterfactuals
- cb46f86 feat: redesign Portfolio top cards — surface change since last snapshot
- bb68aa2 chore: refresh cashflow defaults from latest KEEP snapshot
- a24cbf1 feat: Sleeves (Intent) chart toggle — Value | Change | Return
- 1900a21 chore: refresh cashflow defaults from latest KEEP snapshot
- 03065ee fix: compute % Daily from price change to exclude same-day transactions
- eec7ec6 feat: cashflow simulator inputs reorganized + KEEP-derived defaults documented
- b5e26ff fix: extend transaction window to 365 days and harden account ID parsing
- 4655e64 fix: refresh snapshot deltas after CSV import
- f09001b docs: add v0.10.32 release notes (canonical + enriched)