brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
repo-developmentMaintain LightFM editable builds, compiled extension variants, Cython regeneration, tests, lint, docs, and CI expectations.
Independent GitHub snapshot · Automated classification · Original documentation governs
Use this sub-skill when the user is maintaining the LightFM repository itself: editable installs, C extension builds, OpenMP/no-OpenMP behavior, Cython template changes, focused tests, linting, documentation builds, or CI compatibility.
LightFM.fit, fit_partial, predict, or inspecting learned representations, route to model-training.Dataset, interaction matrices, user/item feature construction, identity features, or data loaders, route to data-features.random_train_test_split, precision_at_k, auc_score, predict_rank, or train/test intersection handling, route to evaluation-splitting.Work from an isolated Python environment in a LightFM checkout. Treat the package as CPU-only; there is no GPU implementation to enable or verify.
Install the package editable before testing. Add test, lint, or docs requirements only for the scope being changed.
If changing the Cython template or generated extension sources, regenerate the OpenMP and no-OpenMP C files, reinstall editable, and run focused extension/API tests before broader tests.
Use focused pytest targets first, then the full suite when the change can affect package behavior broadly. Dataset and MovieLens-oriented tests may need cached/downloaded data and can be slower than pure in-memory tests.
Run the bundled diagnostic after build or install changes from this sub-skill directory, using the Python environment where the checkout is installed:
python scripts/check_lightfm_install.py --tiny-run
Keep publication actions explicit. Local docs builds are fine when scoped; commands that switch branches, commit, or push must not run without release-maintainer approval.
import lightfm reports version 1.17 for this distilled source version.lightfm._lightfm_fast imports a compiled backend: OpenMP-enabled on Linux when the compiler/runtime supports it, or no-OpenMP on macOS/Windows and fallback builds.