- Migrate everything to TS. - Avoid 'any' and 'unknown' - Prefer Redux Toolkit (slices + configureStore) to reduce boilerplate and co-locate logic. - Enforce strict TypeScript across Redux (no `any`, strict compiler/lint rules). - Use `createAsyncThunk` or RTK Query for async/server state where appropriate (optional per domain). - Co-locate reducers, actions, selectors, and tests in a slice per domain. - Remove legacy action-type enums and split action files as each domain is migrated. - Require CI to run type-check, lint, and tests before merging.