es-ude / es-ude/OnDeviceTraining
continual-learning: post-#326 hardening follow-ups (test gaps, CCIPCA in-place, CI gate order)
- 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
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