2026-01-14T03:26:35Z - 2026-07-14T02:26:35Z
Overview
1 release published by 1 user
Tag
v0.2.0
1 pull request merged by 1 user
Merged
#60 feature/50-user-ownership
37 issues closed from 2 users
Closed
#68 Scenario collection endpoint leaks embedded buckets (N+1 + contract violation)
Closed
#54 Frontend: add bucket
Closed
#53 Frontend: view scenario (list + show with buckets)
Closed
#64 Backend: embed buckets in the Scenario item representation
Closed
#35 Production image + Forgejo CI
Closed
#62 Close test-coverage gaps and enforce a coverage threshold
Closed
#52 Auth UI: register, login, logout (incl. POST /api/register)
Closed
#33 Scaffold React/Vite SPA + port 80s aesthetic
Closed
#57 Backend: Bucket PATCH + DELETE operations
Closed
#61 Remove unused distribution_mode field from Scenario
Closed
#58 Backend: Scenario create-from-UI support (validation + defaults)
Closed
#34 Port frontend features: scenario page + bucket UI + distribution
Closed
#50 Scenarios and buckets belong to users (per-user ownership)
Closed
#32 Port allocation/distribution engine
Closed
#31 Port domain model: Scenario, Bucket, Stream entities
Closed
#30 Cookie-session auth (same-origin)
Closed
#29 Dev tooling: PHPStan, PHP-CS-Fixer, PHPUnit + container MCP wiring
Closed
#28 Containerize dev: adopt dunglas/symfony-docker + Postgres + Vite frontend service
Closed
#8 Global scenario setting for fill order strategy
Closed
#7 Implement fill order based on bucket types and buffer
Closed
#27 Add Vite build step to CI pipeline
Closed
#21 Extract reusable UI components for repeated style patterns
Closed
#24 Remove multi-scenario scaffolding
Closed
#2 Fix hot reload and upgrade to coherent UI layout
Closed
#22 Should we only allow one scenario per account?
Closed
#19 Save income distribution to bucket balances
Closed
#18 Add inline editing for bucket name, allocation type, and allocation value
Closed
#17 Phased category-aware distribution with settings
Closed
#16 Normalize allocation_value to integer cents
Closed
#12 Main page: income input & distribution preview
Closed
#13 Main page: inline bucket editing
Closed
#15 Single-scenario MVP: auto-create and direct landing
Closed
#14 Empty state: bucket setup guidance
Closed
#5 Per-bucket buffer size multiplier
Closed
#6 Revisit allocation types with new bucket types
Closed
#4 Add bucket types (need, want, overflow)
Closed
#1 Use UUID in urls
65 issues created by 1 user
Opened
#4 Add bucket types (need, want, overflow)
Opened
#5 Per-bucket buffer size multiplier
Opened
#6 Revisit allocation types with new bucket types
Opened
#7 Implement fill order based on bucket types and buffer
Opened
#8 Global scenario setting for fill order strategy
Opened
#9 Per-bucket fill order override
Opened
#10 Research: Stream model design & income distribution
Opened
#11 Drag-n-drop bucket type management
Opened
#12 Main page: income input & distribution preview
Opened
#14 Empty state: bucket setup guidance
Opened
#13 Main page: inline bucket editing
Opened
#15 Single-scenario MVP: auto-create and direct landing
Opened
#16 Normalize allocation_value to integer cents
Opened
#17 Phased category-aware distribution with settings
Opened
#18 Add inline editing for bucket name, allocation type, and allocation value
Opened
#19 Save income distribution to bucket balances
Opened
#20 Add trace animation to distribution flow lines
Opened
#21 Extract reusable UI components for repeated style patterns
Opened
#22 Should we only allow one scenario per account?
Opened
#23 Nicer bucket creation
Opened
#24 Remove multi-scenario scaffolding
Opened
#26 Create shared lvl0/theme package for cross-project styling
Opened
#27 Add Vite build step to CI pipeline
Opened
#28 Containerize dev: adopt dunglas/symfony-docker + Postgres + Vite frontend service
Opened
#29 Dev tooling: PHPStan, PHP-CS-Fixer, PHPUnit + container MCP wiring
Opened
#30 Cookie-session auth (same-origin)
Opened
#31 Port domain model: Scenario, Bucket, Stream entities
Opened
#32 Port allocation/distribution engine
Opened
#33 Scaffold React/Vite SPA + port 80s aesthetic
Opened
#34 Port frontend features: scenario page + bucket UI + distribution
Opened
#35 Production image + Forgejo CI
Opened
#36 Account entity + bucket→account mapping
Opened
#37 Account management UI
Opened
#38 Model fidelity (alone-in-account flag)
Opened
#39 Plan entity (immutable payday snapshot)
Opened
#40 Compute bucket fills from carried reality + income
Opened
#41 Compute inter-account transfer list
Opened
#42 Reactive plan builder
Opened
#43 Transfer checklist with tick-off
Opened
#44 Plan history / revisit past plans
Opened
#45 Spend-per-bucket from deltas
Opened
#46 Buffer-erosion detection
Opened
#47 Fidelity-aware warning placement
Opened
#48 Option-2 manual split for shared accounts
Opened
#49 Educational nudges
Opened
#50 Scenarios and buckets belong to users (per-user ownership)
Opened
#51 Stream's bucket and scenario must belong to the same scenario
Opened
#52 Auth UI: register, login, logout (incl. POST /api/register)
Opened
#53 Frontend: view scenario (list + show with buckets)
Opened
#54 Frontend: add bucket
Opened
#55 Frontend: add income stream
Opened
#56 Frontend: preview distribution
Opened
#57 Backend: Bucket PATCH + DELETE operations
Opened
#58 Backend: Scenario create-from-UI support (validation + defaults)
Opened
#59 Frontend: edit + delete bucket (inline)
Opened
#61 Remove unused distribution_mode field from Scenario
Opened
#62 Close test-coverage gaps and enforce a coverage threshold
Opened
#63 Rename backend shell.nix helpers dev-* → dev-be-* for symmetry
Opened
#64 Backend: embed buckets in the Scenario item representation
Opened
#65 Test infra: extract shared Scenario/Bucket persistence helpers into a trait
Opened
#66 Frontend: drag-and-drop reorder buckets within a scenario
Opened
#67 E2E: per-worker DB isolation to re-enable parallel Playwright runs
Opened
#68 Scenario collection endpoint leaks embedded buckets (N+1 + contract violation)
Opened
#69 Scenario POST response may leak owner (no normalizationContext on Post)
Opened
#70 Harden bucket allocationValue: guard NaN/negative + server-side constraint + form cancel
1 unresolved conversation
Open
#3
First-time onboarding wizard