- Fix ghost DROP COLUMN in migration (previousData/previousFilingStatus were
added via db push, never via migration - use IF EXISTS for safety)
- Fix duplicate cellType declaration in K1ImportFieldDto
- Add K1BoxDefinition, K1LineItem, K1AggregationRule, PartnershipMembership, PartnershipValuation models
- Replace CellMapping with K1BoxDefinition module (IRS box definitions + 15 aggregation rules)
- Add K1MaterializedView service for partnership schedule rollups
- Expand aggregation rules from 3 to 15 on frontend verification page
- Fix box key 4c -> 4b in Guaranteed Payments and Total K-1 Income rules
- Add box 19 to Total Distributions rule sourceBoxKeys
- Add Cell Mapping page with aggregation rules table and IRS box definitions
- Fix Cell Mapping page routing (was falling through to wildcard)
- Add Material Icons font to index.html
- Fix text cut-off in K-Document form section titles
- Fix table column widths on K1 Import History page
- Add BOX_KEY_TO_K1DATA_FIELD mapping for confirm pipeline
- Add distribution creation fallback (box 19 total / L_WITHDRAWALS)
- Auto-populate membership capital and partnership valuation on confirm
- Improve 'no active members' error message with tax year context
- Add Prisma migrations for normalized model, drop cell-mapping, widen precision, materialized views
- Add spec 006 documentation and test fixtures
* fix(lib): resolve typescript errors in portfolio filter form
* fix(lib): type safety in template
* feat(lib): implement takeUntilDestroyed
* feat(lib): replace constructor params with injections
* feat(lib): change accounts to input signal
* feat(lib): change assetClasses to input signal
* feat(lib): change holdings to input signal
* feat(lib): change tags to input signal
* fix(lib): implement signal for disabled
* fix(lib): implement model signal for disabled
* fix(lib): reduce any types
* feat(lib): resolve typescript errors
* feat(lib): make input a view child signal
* feat(lib): remove unsubscribe subject
* feat(lib): remove ngOnDestroy
* feat(lib): make currencies an input signal
* feat(lib): make formControlName an input signal
* fix(lib): resolve typescript errors
* feat(lib): migrate to takeUntilDestroyed
* fix(lib): resolve type errors
* feat(lib): implement output signal
* feat(lib): clean up variables
* fix(lib): resolve input is deprecated
* feat(lib): implement input signal on placeholder
* feat(lib): implement input signal on isLoading
* fix(lib): add type annotations for date adapter
* fix(lib): handle form value possibly null
* fix(lint): use arrow fn for validators
* fix(lib): accounts table typings
* fix(lib): remove unsubscribeSubject due to lack of observable
* fix(lib): remove validators variable
* feat(lib): implement inject functions
* feat(lib): make locale an input signal
* feat(lib): make showActions an input signal
* feat(lib): make accountId an input signal
* feat(lib): make accountCurrency an input signal
* feat(lib): make accountBalances an input signal
* feat(lib): make sort a viewChild signal
* feat(lib): implement isNil
* feat(lib): resolve ts errors
* feat(lib): make days protected and readonly
* feat(lib): create formatDay helper function
* fix(lib): remove unused eslint-disable
* feat(lib): change locale to input signal
* feat(lib): change defaultDateFormat to computed signal
* feat(lib): change deviceType to computed signal
* feat(lib): change marketData to input signal
* feat(lib): change historicalDataItems to computed signal
* feat(nx): run ui test
* feat(lib): update days to improve readability
* feat(nx): revert test changes
* fix(lib): change logic for locale
* fix(lib): disable mutating the injected readonly data
* fix(lib): implement takeUntilDestroyed
* fix(lib): implement takeUntilDestroyed
* fix(lib): organize imports
* fix(lib): update displayedColumns type
* feat(lib): use input function for holdings
* feat(lib): make isLoading a computed signal
* feat(lib): make paginator and sort viewchild signals
* feat(lib): make dataSource a computed signal
* feat(lib): use input function for hasPermission fields
* feat(lib): make displayedColumns a computed signal
* feat(lib): remove ngOnChanges
* feat(lib): update types in holdings mock
* fix(lib): update imports for treemap chart component
* fix(lib): remove unused routeQueryParams variable
* fix(lib): prevent creating new table data source every time the signal changes
* fix(lib): remove unused unsubscribe subject as there is no observable subscription
* fix(lib): revert changes to dataSource in the template
* fix(lib): changed locale to input signal
* fix(lib): change ignoreAssetSubClasses to protected
* fix(lib): create canShowDetails function
* fix(lib): remove unused baseCurrency and deviceType inputs
* fix(lib): remove unused baseCurrency and deviceType inputs from stories
* feat(lib): make constructor as public
* fix(lib): prevent table data source to be created every time
* fix(lib): remove unused unsubscribeSubject variable
* fix(lib): change to protected methods
* feat(lib): change locale to signal input
* feat(lib): remove unused deviceType input
* feat(lib): change hasPermissionToOpenDetails to signal input
* feat(lib): change showFooter to signal input
* feat(lib): change activitiesCount to signal input
* feat(lib): change baseCurrency to signal input
* feat(lib): change totalBalanceInBaseCurrency to signal input
* feat(lib): change totalValueInBaseCurrency to signal input
* feat(lib): change outputs to signal outputs
* fix(lib): replace null with undefined in activities table stories
* feat(lib): implement inject functions in accounts table
* feat(lib): change to input functions
* feat(lib): change displayedColumns to a computed field
* feat(lib): change accounts to use input function
* feat(lib): change isLoading to a computed field
* fix(lib): remove unused routeQueryParams variable
* feat(lib): change sort to use viewChild function
* feat(lib): change dataSource to a computed field
* feat(lib): remove ngOnChanges