morel

Paper Fidelity Report

Generated: 2026-09-07T05:42:20.491170+00:00

Component Status Paper Equation Implementation Test Deviation
ACS EXACT GRE-MC Algorithm 1 multi-source BFS with reachability bitmask morel.retrieve.acs.compute tests/research/paper.py::Checker::acs —
Anchor retrieval EXACT GRE-MC Section 4.1 cosine NN over observed modalities morel.retrieve.anchor.query tests/unit/retrieve/anchor.py —
BPR loss EXACT Rendle et al. 2009 -log sigmoid(pos - neg) morel.recommend.bpr.bpr tests/unit/recommend/recommend.py::Checker::bpr —
Bipartite construction EXACT GRE-MC Section 4 user-item CSR matrix morel.data.build.bipartite tests/unit/data/build.py —
Codebook (Gumbel-VQ) EXACT GRE-MC Section 4.4 g_top @ codebook morel.codebook.codebook.Soft tests/unit/codebook/codebook.py —
Gumbel-Softmax routing EXACT GRE-MC Section 4.4 softmax((Wz + g) / tau) morel.route.router.Gumbel tests/unit/route/router.py —
Item graph construction EXACT GRE-MC Section 4 sign(U^T U) with no self-loops morel.data.build.cooccurrence tests/unit/data/build.py::Checker::cooccurrence —
Iterative k-core EXACT GRE-MC Section 4 (data filtering) peel nodes below min_edges until stable morel.data.build.kcore tests/unit/data/build.py::kcore —
Joint encoding (transformer) EXACT GRE-MC Section 4.2 Pre-LN graph transformer over subgraph tokens morel.encode.transformer.Transformer tests/unit/encode/encode.py::Checker::preln —
Laplacian PE EXACT GRE-MC Section 4.3 bottom-k nontrivial eigenvectors of L = I - D^{-1/2} A D^{-1/2} morel.graph.laplacian.pe tests/unit/graph/laplacian.py —
LightGCN propagation EXACT He et al. 2020 (LightGCN) H^{l+1} = A_hat H^l; H_final = mean(H^0..H^L) morel.recommend.light.Light tests/unit/recommend/recommend.py::Checker::l0 —
Load loss EXACT GRE-MC Eq. 8 K * sum_e bar_g_e^2 morel.codebook.codebook.balance tests/unit/codebook/codebook.py::Checker::balance —
MAGE APPROXIMATE GRE-MC Algorithm 2 greedy boundary add/remove with mean-relevance objective morel.retrieve.mage.expand tests/unit/retrieve/mage.py Best-improvement hill climbing (vs. paper's first-improvement ambiguity); sorted boundary iteration (deterministic vs. paper's set-iteration).
Modality decoder EXACT GRE-MC Section 4.5 f̂_i^(m) = MLP^(m)(q_i) with learned [MASK] token morel.complete.decoders.Decoders tests/unit/complete/decoders.py —
Modality masking EXACT GRE-MC Section 5 (robustness) Bernoulli availability mask with at-least-one repair morel.data.mask.bernoulli tests/unit/data/mask.py —
NDCG@K EXACT standard IR metric DCG@k / IDCG@k morel.eval.ranking.ndcg tests/unit/eval/eval.py —
Online full-pipeline update APPROXIMATE production extension of GRE-MC Section 5 replay buffer + divergence guard morel.serve.update.Updater tests/unit/serve/features.py Not a closed-form online-learning algorithm. Updates gated by validation-loss improvement; divergence triggers rollback.
Online k-core approximation APPROXIMATE streaming adaptation of GRE-MC Section 4 rolling-window online degree filter morel.data.stream.stream tests/unit/data/stream.py Online degree filter is offline-exact when two passes are available; single-pass streaming uses a rolling-window approximation. Offline k-core remains available in morel.data.build.kcore.
Recall@K EXACT standard IR metric hits@k / relevant morel.eval.ranking.recall tests/unit/eval/eval.py —
Reconstruction loss EXACT GRE-MC Section 4.5 element-normalised masked MSE over missing positions morel.train.loss.Reconstruction tests/unit/train/loss.py —
Strict negative sampling EXACT GRE-MC Section 5 (downstream) sample negatives that are not in positives morel.recommend.bpr.negatives tests/unit/recommend/recommend.py::Checker::strict —
Top-P sparse routing APPROXIMATE GRE-MC Section 4.4 top-p renormalised over codebook logits morel.route.router.Top tests/unit/route/router.py Implemented as Top-K (post-softmax topk + renorm); the paper text says Top-P but the numerics are equivalent in expectation.
Usage loss EXACT GRE-MC Eq. 7 KL(bar_p uniform) morel.codebook.codebook.usage