Plan to version 1.0.0
- close issues that are irrelevant or too far-fetched
- aggregate issues into macro-issues with sub-issues
- prioritise and order for potential implementation
https://github.com/smartcorelib/smartcore/issues?page=1
Here is a comprehensive plan to organise the 52 open issues in smartcorelib/smartcore.
Issues to Close
These issues are either too vague, exploratory dead-ends, near-duplicates, or out of scope for a focused ML library:
| # |
Title |
Reason to Close |
| ^302 |
CUDA support request |
Out of scope; WASM-first posture conflicts with GPU backend; author stated they'll fork regardless |
| ^300 |
Geometric algebra / geonum |
Highly speculative, O(1) claims are contested; no concrete impl path |
| ^244 |
RL model-free algorithms |
Massive scope, unrelated to supervised/unsupervised ML focus; no body beyond a screenshot |
| ^195 |
BED file format support |
Domain-specific (genomics), too niche for core library |
| ^188 |
String support via anyinput |
Superseded by the type system; no concrete use case defined |
| ^84 |
Multi-target training (question) |
This is a usage question, not a feature issue; no actionable request |
| ^233 |
"Improve trees" |
Completely empty body; too vague to action |
| ^198 |
Generic cache system |
Subsumed by #317 (memory pooling), can be closed as duplicate |
| ^242 |
std::mem size/alignment analysis |
Exploratory with no clear outcome; low ROI |
Macro-Issues with Sub-Issues
Group actionable issues into 7 macro-themes:
🧱 1. Core API & Type System Cleanup
Foundation work that unblocks everything else.
⚡ 2. Performance & Memory
Optimisation work for real-world scale.
🌲 3. Tree Models & Ensembles
High-demand improvements to the most-used model family.
📐 4. Linear Models & Solvers
Completing the linear algebra and regression stack.
🔧 5. Data I/O & Interoperability
Making smartcore work in real pipelines.
🖥️ 6. DX, Display & Documentation
Developer experience and discoverability.
🧩 7. New Algorithms
Expanding coverage for ML practitioners.
Priority Order for Implementation
| Priority |
Macro-Issue |
Rationale |
| P0 |
🧱 Core API & Type System |
Blocking: trait conflicts (#322) cause user-facing breakage today; type unification unblocks everything |
| P1 |
⚡ Performance & Memory |
The unsafe removal (#368) is actively tracked; perf gap vs scikit-learn (#261) erodes adoption |
| P1 |
🖥️ DX, Display & Docs |
Low-effort, high-visibility; good first issues; #256 (logistic regression panic) is a bug |
| P2 |
🌲 Trees & Ensembles |
Most-used models; sample weights and variable importance are highly requested |
| P2 |
📐 Linear Models & Solvers |
Completes the regression/classification surface; solvers (#70, #63) are well-specified |
| P3 |
🔧 Data I/O & Interop |
ndarray bridge (#326) and parquet (#249) open up real pipeline usage; streaming is complex |
| P4 |
🧩 New Algorithms |
Valuable but requires stable foundation; HDBSCAN, multiclass SVC, and RFE are highest demand |
The single highest-impact starting point is #322 + #219 (trait bound and number trait cleanup), since they directly break user workflows and their resolution would unblock correct cross-validation for tree models. Immediately after, the #256 logistic regression panic should be treated as a bug fix given its user impact.
|