mlnomadpy / mlnomadpy/kernel-methods-book
Repository quality and release-readiness upgrade plan
Open
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 0
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
Objective
Increase the repository's executable value by making every computational result, figure, and interactive kernel-method demonstration reproducible and tested.
Required work
- Define one clean command that validates and builds every book format and interactive asset.
- Add executable notebooks/scripts for core algorithms, worked examples, and figures with pinned environments and seeds.
- Add numerical tests for kernel validity, Gram matrices, solvers, approximations, Gaussian processes, and edge cases used in the text.
- Validate internal links, citations, bibliography entries, equation references, generated assets, and chapter provenance in CI.
- Add an interactive kernel laboratory for composing kernels, inspecting spectra, and comparing exact versus approximate methods.
- Add reproducible performance experiments for random features, Nyström methods, iterative solvers, and scalable kernels.
- Separate canonical source from generated publication output and document regeneration.
- Audit quotations, figures, datasets, and exercises for attribution and redistribution rights.
- Add accessibility checks for HTML, equations, figures, color usage, and navigation.
- Version releases of the manuscript, code, environment, and generated site together.
Acceptance criteria
- A clean clone builds the complete book and executable companion.
- Every computational claim/figure maps to tested runnable code.
- Provenance and permissions checks are green in CI.
- A tagged release archives source, environment, and generated outputs.
Path-specific implementation map
Canonical source and build graph
- Treat
book.yml,manuscript/,bibliography.bib,provenance/, andpermissions.ymlas canonical inputs; document which ofpublic/,publication/,tmp/,reports/, andreviews/are generated, retained evidence, or disposable. - Consolidate the many scripts under
tools/into a documented command runner with stages for validate, check examples, build web, build print, link/citation audit, accessibility, and package. - Add a build manifest recording source commit, environment lock hash, tool versions, chapter hashes, generated artifact hashes, and warnings.
- Remove or ignore regenerable content in
tmp/; fail CI when generated output is stale relative to canonical source. - Add schema validation for
book.yml,permissions.yml, everyprovenance/*.yml, bibliography-retained/unresolved files, and migration approvals.
Executable mathematical companion
- Turn individual
checks/ch-*.pyscripts into an importablekernelbook_checks/package plus parameterized pytest suites; retain chapter/exercise IDs in test metadata. - Move shared numerical logic out of check scripts into
src/kernelbook/modules for kernels, Gram validation, solvers, approximations, tests, Gaussian processes, and utilities. - Add PSD/tolerance/property tests and explicitly mark conditionally positive, indefinite/Krein, approximate, randomized, and finite-precision cases.
- Make
notebooks/labs/*.pydeterministic apps/scripts with small default datasets, fixed seeds, expected metrics, and exportable results; keepnotebooks/lab_utils.pylimited to shared UI/helpers. - Add a browser
public/lab/or source equivalent for kernel composition, Gram spectra, hyperparameters, random features, and Nyström approximations backed by small verified examples. - In
projects/*/, add dataset generation manifests, baseline tests, metric definitions, expected ranges, and clean-room reset commands.
Traceability and publication quality
- Generate a machine-readable matrix mapping manuscript theorem/example/figure IDs to provenance entries, permissions, executable checks, labs, and publication output.
- Extend
.github/workflows/quality.ymlto run schemas, mathematical tests, deterministic labs, citations, permissions, broken links, generated-output drift, and accessibility before deployment. - Keep
publish-kaggle.ymlisolated from the canonical build and pin every dataset/kernel/environment reference. - Add
docs/BUILD_ARCHITECTURE.md,docs/NUMERICAL_TOLERANCES.md,docs/PROVENANCE_POLICY.md, anddocs/RELEASE_PROCESS.md. - Publish versioned source, web/print outputs, environment lockfiles, test report, provenance matrix, and checksums together.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading book.yml, the tools/ scripts, and .github/workflows/quality.yml to understand the current build and validation paths. The issue is a repository-wide plan rather than a bounded first contribution; completion requires the listed build, numerical, provenance, accessibility, and release criteria to pass together.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, python, yaml
- Domain
- accessibility, build-system, ci-cd, devtools, documentation, release, testing
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100