es-ude / es-ude/OnDeviceTraining

continual-learning: post-#326 hardening follow-ups (test gaps, CCIPCA in-place, CI gate order)

Open
#346 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
C
Stars
1
Forks
3
Avg merge
1d 1h
Merged PRs (30d)
8

Description

Roll-up of accepted-not-blocking items from the #326 final whole-branch review:

- **Test gaps vs spec §8**: sample out-dtype-violation death test (guard exists in `ppcaReplaySample`, untested); packed (SYM/ASYM) update-INPUT ingest tests (only INT32 shipped); RowBroadcast dtype/rank/out-dims guard branches untested.
- **CCIPCA per-sample stack cost**: path-B FLOAT32 streaming stages a k·d·4-byte rawData VLA per sample because the basis executeOp conservatively sets `writesInPlaceSafe=false` while the target aliases op[0]. The kernel is per-element read-before-write on op[0], so `true` looks legal — the spec's own "in-place variant refinement, decide with a test" item. Flip only with a dedicated aliasing test.
- **CI**: the continual mini-gate is the last step of the examples job — consider moving it right after the HAR BIT_PARITY block for faster feedback.
- **T5 test-design note**: the packed-sampling characterization uses identically-seeded stream pairs, which is structurally blind to corruption shared by both paths — future sampling-epilogue tests need absolute-value assertions.
- **Docs/conventions**: `Distributions → RNG` and `TensorApi → Distributions` were promoted to PUBLIC CMake links (public-header include propagation) — one line in docs/conventions explaining when PUBLIC is warranted would prevent cargo-culting.
- CCIPCA deflation mutation is soft at the 8000-sample budget (hard-killed at 6000; algebra-verified) — revisit if the convergence fixture changes.

Contributor guide

Open the contributing guide

Research direction

Split the roll-up into separate test, CCIPCA aliasing, CI ordering, test-design, and documentation tasks. Start by inspecting ppcaReplaySample, the CCIPCA basis executeOp, the HAR BIT_PARITY block, and the packed-sampling tests. Done means each accepted follow-up has a focused test or documented change, with CI and convergence behavior checked.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, cmake
Domain
ci-cd, documentation, machine-learning, performance, testing-qa
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.