Data Analytics report

Music-CRS Blind-B: a candid retrospective

A private, first-person retrospective of the final Music-CRS Blind-B submission, grounded in the official results and commit-pinned public repositories.

Executive Summary

  • My final result was materially behind the four leading public-code entries. My composite was 0.3811, compared with 0.5759–0.5866 for the comparison set. The exact decomposition shows that ranking quality and the LLM judge account for nearly all of those gaps; catalog diversity was essentially neutral.
  • The strongest evidence points to two broad issues: an unreliable in-sample development estimate, and weaker hidden-set ranking and response outcomes than the released leaders. The first issue explains why I had misplaced confidence in the system; it does not explain the Blind-B score itself. Reusing model-fitting data for evaluation is a measurement failure, not a direct hidden-set cause.
  • The public systems differed in consistent, relevant ways. They more often used leakage-safe validation, behavioral or sequential retrieval, broader candidate unions or late fusion, and richer response grounding, sampling, selection, or critique. I treat those differences as plausible contributors—not session-level causal proof—because the hidden 80-session labels and counterfactual runs are unavailable.
  • What I built still had real strengths. Structured state, broad multimodal retrieval, a traceable ranking handoff, and a reproducible offline bundle are worth preserving. The lesson is to pair that engineering discipline with honest model selection and equal attention to every scored component.

My composite

0.3811 / 1Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv

Official Blind-B composite for npatta01; 0–1 weighted score.

Official Blind-B composite for npatta01; 0–1 weighted score.Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv

Selects the five reviewed Blind-B leaderboard rows from the official challenge results.

My nDCG@20

0.2537 @20Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv

Official Blind-B normalized discounted cumulative gain at rank 20 for npatta01.

Official Blind-B normalized discounted cumulative gain at rank 20 for npatta01.Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv

Selects the five reviewed Blind-B leaderboard rows from the official challenge results.

My LLM judge

3.30 / 5Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv

Official Blind-B LLM response judge score for npatta01, on a 1–5 scale.

Official Blind-B LLM response judge score for npatta01, on a 1–5 scale.Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv

Selects the five reviewed Blind-B leaderboard rows from the official challenge results.

Best public-code composite

0.5866 / 1Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv

Highest official Blind-B composite among the four reviewed public-code leaders.

Highest official Blind-B composite among the four reviewed public-code leaders.Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv

Selects the five reviewed Blind-B leaderboard rows from the official challenge results.

Chapter outline

  1. Final result
  2. Complete system lifecycle
  3. Conversation to query
  4. Data and model knowledge
  5. Retrieval and candidate construction
  6. Ranker feature families
  7. Response generation
  8. Our submitted system
  9. Public-team case studies
  10. Cross-team synthesis
  11. Retrospective lessons
  12. Acknowledgements
  13. Caveats and evidence

How the challenge was scored

The challenge combined four signals. nDCG@20Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv asks whether relevant tracks appear near the top of the 20Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv-track recommendation list; higher-ranked hits count more. Catalog diversity measures how broadly the system uses the catalog across the submission. Lexical diversity measures variety in the generated responses. The LLM judge scores response quality from 1 to 5Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv.

The official composite is 0.50 × nDCG@20 + 0.10 × catalog diversity + 0.10 × lexical diversity + 0.30 × (LLM judge − 1) / 4. Ranking therefore carries half the score, while the normalized judge contributes 30%Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv. This makes response quality a first-class objective rather than packaging around the recommender.

Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv

Selects the five reviewed Blind-B leaderboard rows from the official challenge results.

The final result exposed two large deficits

My entry, npatta01, finished at 0.381109682Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv composite: 0.253684925Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv nDCG@20Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv, 0.031484353Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv catalog diversity, 0.786187845Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv lexical diversity, and 3.3000/5 LLM judge. Each comparison entry was roughly 0.195Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv0.206Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv composite points ahead. The table keeps the official precision so the calculation can be audited rather than inferred from rounded cards.

Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv

Selects the five reviewed Blind-B leaderboard rows from the official challenge results.

Official Blind-B composite score overviewFive reviewed entries; the exact values and all four scored components are in the adjacent table.
Official Blind-B composite score overview data
Leaderboard entryComposite scoreExact compositeExact nDCG@20Exact LLM judge /5
volart0.59composite score0.590.44.9
niwatori0.59composite score0.590.494.45
swyoo0.58composite score0.580.384.85
team2_s20.58composite score0.580.454.65
npatta010.38composite score0.380.253.3

Official Blind-B comparison

Five reviewed entries; exact final values as of July 12, 2026. Higher is better for every column.

Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv

Selects the five reviewed Blind-B leaderboard rows from the official challenge results.

Official Blind-B comparison
Leaderboard entryPublic repositoryComposite (exact)nDCG@20 (exact)Catalog diversity (exact)Lexical diversity (exact)LLM judge /5 (exact)
volartartvolgin/music-crs-recsys20260.59Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv0.4Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv0.03Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv0.93Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv4.9Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv
niwatoriryowk/recsys2026-niwatori0.59Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv0.49Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv0.03Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv0.77Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv4.45Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv
swyooyoobros/music-crs-challenge0.58Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv0.38Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv0.03Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv0.95Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv4.85Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv
team2_s2lopsandrea/music-crs-team20.58Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv0.45Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv0.03Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv0.77Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv4.65Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv
npatta01npatta01/music-conversational-music-recomender-20260.38Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv0.25Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv0.03Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv0.79Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv3.3Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv

The signed bars answer a narrower question than the leaderboard: which scored terms mathematically make up each leader’s advantage over my submission? Ranking and judge contributions dominate every panel. Catalog diversity is essentially neutral. Lexical diversity helps volart and swyoo, while it slightly favors my entry against niwatori and team2_s2; those negative lexical terms correctly point below zero instead of being hidden inside a positive stack.

The four component terms reconcile to the total gaps shown in the panel labels and exact table within 0.000000001Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv, the last-decimal rounding residual in the reviewed published values. This is an arithmetic decomposition, not a causal decomposition: it tells me where the score difference appears, not which implementation choice created it.

Chart source: Official Music-CRS Blind-B final results.

Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv

Selects the five reviewed Blind-B leaderboard rows from the official challenge results.

A common lifecycle makes unlike systems comparable without making them identical

The five released systems expose different models, branches, and validation choices. The shared lifecycle below is a comparison grammar: it names the handoff boundaries that every case study must explain, not a claim that the implementations were the same.

Two scored boundaries deserve separate audits. Retrieval quality ends at the ranked, selected track IDs; response quality begins from those IDs and the evidence passed to the generator. Both nevertheless depend on the same upstream interpretation of the conversation: a mistaken intent, history, or constraint can degrade candidate construction and also give the response model the wrong explanation context.

The first design choice was how each system turned dialogue into search work

A conversational recommender does not send one universal text string everywhere. The important comparison is which dialogue window is read, what structure is extracted, whether an LLM rewrites or summarizes it, and how each downstream retriever receives a representation suited to its evidence type.

Question answered by this matrix: how did dialogue become one or more search representations? The conversation window is what each path could see. Interpretation is explicit state, entities, deterministic intent, or learned encoding derived from it. LLM query work separates model-authored rewriting or summarization from deterministic rendering. Query variants names the representations produced before candidate construction; history filtering and candidate constraints are reserved for the later retrieval matrix. Not documented is an evidence boundary, not proof that a capability was absent.

Audit detail: the disclosure immediately below preserves the exact prompt excerpts, complete commit-pinned inventory, and additional reviewed files behind this matrix.

Sources for the query audit: npatta01 state-extraction prompt; volart retrieval-rewrite prompt; swyoo session-summary prompt.

How dialogue became search representations

Conversation window → interpretation → LLM or deterministic query work → one or more query variants; candidate constraints appear only in the retrieval matrix.

Source: Normalized queryComparisons rows from the commit-pinned evidence ledgerTables: evidence.json#queryComparisons, npatta01/music-conversational-music-recomender-2026@2ecc45a7d5ea83535f0504b48352b009b3379139, artvolgin/music-crs-recsys2026@781ca9942b7c233255ac4a68da12fe42ec340b3a, ryowk/recsys2026-niwatori@5679a718c100aaf7779f122bb2eb65f702160f40, yoobros/music-crs-challenge@33dfe44dd36515e14e74116a8d23d059856d2d04, lopsandrea/music-crs-team2@e8ca96f67279a44aa38c614f51b4a015a65a2a90

Projects the reviewed queryComparisons rows into the report snapshot, scalarizing evidenceIds without changing narrative fields.

How dialogue became search representations
TeamConversation windowInterpretation / stateLLM or deterministic query workSearch representations producedEvidence status
npatta01The state extractor receives the multi-turn session_memory through the current cutoff; the separate b1 query uses only previous user turn, current user turn, and most-recent played track.DeepSeek emits fact-first V1 state covering the current request; artist, album, track, and attribute facts; exclusions; played-track feedback and explicit references; temporal constraints; and lyrical theme when relevant. V0Plus projection derives routing/profile fields, and the resolver grounds names to catalog IDs.One structured state extraction per cutoff; b1 uses a deterministic raw-text renderer rather than an additional LLM rewrite.BM25 state clauses; lyric, metadata, attributes, sonic, and visual dense strings; anchor/user centroids; resolved-artist discography and era-popularity lookups; b1 reranker query.Verified
volartThe rewriter receives the stated goal, latest user query, and ctx.history object; no narrower numeric history cap is present in that call site.A separate model extracts positively requested artists, tracks, albums, and a validated era; the rewrite compresses the dialogue for retrieval.GPT-4o-mini produces one cached retrieval rewrite and one cached positive-entity JSON record per session-turn.One rewritten text query shared by lexical and dense lanes, plus structured entity/era matches and played-track IDs for co-occurrence.Verified
niwatoriWindows are source-specific: message-safe current/recent context for lexical and dense text, complete available played-history IDs for history/co-occurrence sources, and the last music track for transition statistics.Surface artist/title/album matching and deterministic genre, mood, and descriptor intent-tag extraction complement learned semantic and behavior-based sources.None documented for the submitted retrieval path; Blind-B-safe inputs explicitly omit conversation_goal and thought.Five-field BM25 text, TF-IDF text, tag-intent terms, a supervised two-tower query, exact surface lookups, artist/album history keys, and track/album/artist co-occurrence or transition keys.Verified
swyooBM25 uses the current request plus prior music-turn metadata; QEmb uses the current request with prior music context; the two-tower receives current request, recent listens, available chat-derived aggregates, and an optional cached session summary.spaCy content terms, recent track metadata, tags, era and popularity aggregates, goal cues when present, and an LLM sentence about the evolving preference trajectory are kept as separate query components.A pre-baked one-sentence session summary is optionally injected only into the two-tower query; turn one skips it, while BM25 and QEmb do not depend on that rewrite.The documented submitted query path keeps three independently rendered variants: music-only BM25, metadata-rich QEmb, and structured two-tower natural language.Verified
team2_s2BM25-conversation uses every prior user turn plus the current request, the live text retriever keeps the last three user turns including current, and item branches use the last one/three or all played tracks depending on source.Deterministic token filtering, played-track metadata expansion, and learned conversation encoders provide lexical, semantic, collaborative, and acoustic views without a shared LLM-extracted state.None documented in the serving query path.Two BM25 strings, Qwen metadata neighbors, recent CF-BPR and CLAP anchors, ALS session vector, a live supervised text query, and cached structured BGE-base/BGE-large lists.Verified

Data provenance and model knowledge entered at different stages

External records, generated artifacts, and latent model associations are not interchangeable. Keeping them separate shows what can be reproduced from files, what must be regenerated, what was checked against the catalog, and where an uncited musical claim can still enter the response.

Where facts and descriptive knowledge came from

Challenge records, external structured data, generated artifacts, and latent model knowledge are separated from the checks that verified or bounded them.

Source: Normalized dataKnowledgeComparisons rows from the commit-pinned evidence ledgerTables: evidence.json#dataKnowledgeComparisons, npatta01/music-conversational-music-recomender-2026@2ecc45a7d5ea83535f0504b48352b009b3379139, artvolgin/music-crs-recsys2026@781ca9942b7c233255ac4a68da12fe42ec340b3a, ryowk/recsys2026-niwatori@5679a718c100aaf7779f122bb2eb65f702160f40, yoobros/music-crs-challenge@33dfe44dd36515e14e74116a8d23d059856d2d04, lopsandrea/music-crs-team2@e8ca96f67279a44aa38c614f51b4a015a65a2a90

Projects the reviewed dataKnowledgeComparisons rows into the report snapshot, scalarizing evidenceIds without changing narrative fields.

Where facts and descriptive knowledge came from
TeamChallenge dataExternal structured dataGenerated artifactsLatent model knowledgeWhat was verified or boundedEvidence status
npatta01Official catalog metadata and embeddings, Blind-B conversations/users, and public labeled conversations used for learned retrieval and reranking.Not documented in the reviewed deployed path.Cached DeepSeek conversation states and committed LLM-generated artist known-for lines used in b1 document text.The Qwen response model may add uncited musical associations while explaining the selected catalog row; the response role permits prose beyond verbatim fields, but no independent record backs such additions.State names are resolved to catalog IDs and the selected track is XML-delimited; no independent response fact checker is documented.Verified
volartOfficial track catalog, conversations, played history, public labels, train co-occurrence, gold-frequency priors, and MOVES-rate priors.No external music dataset is documented in the submitted path; the pinned config explicitly excludes LFM-2B/Last.fm grounding data.Cached LLM query rewrites, entity records, per-track retrieval descriptions, response candidates, critiques, and rewritten responses.Gemini is asked for musically specific explanations and may supply associations not present in catalog blocks; editorial critics score writing quality rather than validate every claim against structured records.Entity matches remain catalog-bound, tracks are never changed by response edits, and independent editorial/lexical guards gate rewrites; structured musical fact verification is not documented.Verified
niwatoriOfficial catalog, conversations, user/history fields, public labeled rows, and challenge-derived co-occurrence/transition statistics.TalkPlayData-1 augments mapped co-occurrence/transition statistics and experiments with two-tower training; TalkPlayData-2 supplies only the Spotify-to-catalog mapping.No LLM-generated retrieval document, query rewrite, profile, or label is documented in the reviewed submitted method; ten response drafts are generated at inference.Qwen3.6-27B writes recommendations from profile, history, current message, and top-three tracks, so any musical detail absent from those inputs comes from model parameters and is not separately verified.External tracks are mapped into the challenge catalog, unmapped IDs are dropped, duplicate-overlap audits are documented, and retriever training uses OOF artifacts; response fact checking is not documented.Verified
swyooOfficial catalog metadata/embeddings, train conversations and labels, user demographics, and prior train-session interactions.LRCLIB and Genius supply lyrics; MusicBrainz fetches recording IDs, ISRCs, labels, countries, release dates, and tags. Two-tower documents directly format MusicBrainz tags, label, and country; the response path separately exposes only crawl caption, a short lyric hook, key, and tempo.Cached one-sentence session summaries and synthetic track mood/theme/use-case documents, plus PAS drafts and repairs.The synthetic-document model and GLM PAS responder can supply associations beyond provided fields; synthetic cards are generated from named inputs, while PAS validation checks citations/themes rather than every latent music fact.Crawl guardrails check completeness, text quality, title/artist/duration matches, and critical fields; PAS validates and repairs themes and cited recommended titles against the legal pool.Verified
team2_s2Official 47,071-track catalog, conversations, user data, precomputed Qwen/CF-BPR/CLAP embeddings, and public training labels.Not documented in the reviewed submitted path.Response drafts and second-pass refinements are generated at inference; no persistent LLM-generated retrieval rewrite, profile, document, or label is documented in the reviewed files.Gemini drafts and preserves 'music knowledge' during editing, so musical associations not present in the verified catalog-fact string may come from model parameters and lack a cited record.Catalog-derived title/artist/album/year/duration/popularity/tags ground the prompt; the refiner has an editorial length fallback, but no independent structured fact or recommendation-ID integrity check is documented.Verified

The practical boundary is reproducibility, not whether an LLM appears anywhere. Cached states, summaries, and descriptions can be replayed when their artifacts and versions are preserved; latent associations in fresh prose cannot be independently audited without another record. swyoo documented the broadest external structured-data path and field-level guardrails, while the reviewed author and team2_s2 paths did not document an external music dataset. None of those differences alone establishes Blind-B causality.

Candidate construction determined what the ranker was allowed to rescue

Each system rendered multiple query forms for sparse, dense, collaborative, history, lookup, or transition sources. The important boundary is the union handed to the ranker: evidence outside that candidate set is unrecoverable regardless of downstream model quality.

Retriever inputs, history use, and candidate constraints

This matrix starts after representation construction: what each source received, how history seeded or filtered candidates, and which constraints applied.

Source: Retrieval projection of queryComparisons from the commit-pinned evidence ledgerTables: evidence.json#queryComparisons, npatta01/music-conversational-music-recomender-2026@2ecc45a7d5ea83535f0504b48352b009b3379139, artvolgin/music-crs-recsys2026@781ca9942b7c233255ac4a68da12fe42ec340b3a, ryowk/recsys2026-niwatori@5679a718c100aaf7779f122bb2eb65f702160f40, yoobros/music-crs-challenge@33dfe44dd36515e14e74116a8d23d059856d2d04, lopsandrea/music-crs-team2@e8ca96f67279a44aa38c614f51b4a015a65a2a90

Projects the reviewed queryComparisons rows for the retrieval matrix, scalarizing evidenceIds without changing narrative fields.

Retriever inputs, history use, and candidate constraints
TeamWhat retrievers receiveHistory handlingCandidate constraintsEvidence status
npatta01BM25 receives weighted state/entity clauses; Qwen dense branches receive field-aligned intent strings; CLAP and SigLIP receive sonic/visual natural language; centroid branches receive accepted/referenced track vectors or user CF; lookups receive resolved artist and era bounds.Accepted and referenced tracks become anchors, rejected tracks/artists feed drops or demotions, played IDs are carried by resolved state, and process constraints control continuation versus diversification.Explicit track rejection can hard-drop; tag rejection demotes; new/different-artist evidence gates a final artist veto; era is normally a soft range; routing and intent mode adjust branch emphasis.Verified
volartOpenAI metadata dense, BM25, and LLM-description dense receive the rewritten text; entity filtering receives positive artists/tracks/albums/era; the co-occurrence lane receives played track IDs.Played tracks seed co-occurrence and are excluded from candidate results; prior context informs rewriting, while the entity extractor intentionally omits negatively referenced entities.Positive entity and era matches receive dedicated slots; already-played tracks are excluded; a general hard rejection or novelty policy is not documented in the reviewed retrieval files.Verified
niwatoriLexical/dense branches receive safe query text; tag BM25 receives extracted intent tags; history branches receive artist/album IDs; co-occurrence receives played tracks; Markov transition receives the last track; exact sources receive current-text surfaces.Artist/album continuation uses session history, last-artist/album sources emphasize the most recent music turn, co-occurrence aggregates history tracks, and transition uses the last track.Message-only Blind-B safety is explicit; genre/mood and exact-entity preferences are represented, but a submitted hard rejection or novelty enforcement layer is not documented.Verified
swyooBM25 receives content-filtered current text plus played metadata; QEmb receives a document-aligned history/current string; two-tower receives recent-listen, summary, context, and current-request sections.BM25 and QEmb incorporate prior music context; recent listens and chat-derived aggregates condition the two-tower query; all three documented retrievers remove session-seen tracks.Genre, mood, era, popularity, and goal cues are soft query text; already-seen tracks are excluded; a general hard rejection policy is not documented in the reviewed submitted path.Verified
team2_s2BM25 gets recency-weighted user text or last-track titled metadata; text retrieval gets the last three user turns; Qwen/CF/CLAP receive recent played vectors; ALS receives all factor-known played IDs; structured lists are keyed by session.All candidate sources filter already-played tracks; conversation BM25 expands all played metadata, recent vector lanes use up to three anchors, and ALS summarizes the factor-known session.Current lexical intent and played-track exclusion are enforced; explicit rejection, era, popularity, and novelty rules are not independently documented in the reviewed query code.Verified

Rankers differed most in the families of evidence they could combine

Raw feature counts are only useful after the underlying evidence families are named. The comparison therefore starts with the signals each row represents, then reports documented counts and validation lineage.

What signals each ranker could learn from

Actual feature families are named before documented counts, and learned-source evidence is paired with its OOF, held-out, or full-data validation lineage.

Source: Normalized featureFamilyComparisons rows from the commit-pinned evidence ledgerTables: evidence.json#featureFamilyComparisons, npatta01/music-conversational-music-recomender-2026@2ecc45a7d5ea83535f0504b48352b009b3379139, artvolgin/music-crs-recsys2026@781ca9942b7c233255ac4a68da12fe42ec340b3a, ryowk/recsys2026-niwatori@5679a718c100aaf7779f122bb2eb65f702160f40, yoobros/music-crs-challenge@33dfe44dd36515e14e74116a8d23d059856d2d04, lopsandrea/music-crs-team2@e8ca96f67279a44aa38c614f51b4a015a65a2a90

Projects the reviewed featureFamilyComparisons rows into the report snapshot, scalarizing evidenceIds without changing narrative fields.

What signals each ranker could learn from
TeamRetriever signalsDense signalsBehavioral signalsMetadata signalsConversation signalsAgreement / routingValidation lineageDocumented countEvidence status
npatta01Per-branch rank, raw score, margin, ratio, presence, standardized score, branch identity, and percentile transforms across BM25, dense, centroid, and lookup sources.b1_cos; lyric Qwen cosine; message/attribute/lyrics and context metadata cosines; tag-embedding cosine; CLAP/SigLIP/Qwen branch score features.Two CF/BPR behavioral centroid branches are distinct: anchor centroid and user centroid; additional user/last/centroid CF features plus discography and era-popularity lookups. No documented direct track co-occurrence lane or sequential-transition lane exists in the submitted path.Popularity and era percentiles, release year, tag counts/overlap, artist/album/session counts, duration, culture/age affinity, and catalog policy flags.Turn/history depth, request and intent mode, target-artist mode, routing flags, temporal/year constraints, fact counts, new-artist intent, rejection, abandoned-anchor, and state overlap features.Same-artist union count and best rank, branch z-scores/percentiles, artist mention and proxy interactions, and cross-feature terms such as same-artist×new-artist and CF-last×turn.The deployed full-data bundle yields in-sample dev diagnostics; separately documented held-out OOF evaluation covers production and b1_cos variants.142 featuresVerified
volartOpenAI dense and BM25 scores/ranks, entity-filter membership, RRF rank, and description/co-occurrence lane membership.OpenAI query-to-metadata cosine plus the generated-description dense candidate lane; mood/query overlap complements embedding similarity.Played-history artist/album/tag and era continuity, recency-weighted artist matches, direct track co-occurrence sum/max/lane features, and train gold/MOVES priors.Popularity, log popularity, year/decade, tag count and overlaps, mood classes, track/artist/album tokens, and user age/gender/culture interactions.Turn number, history depth, played count, stated goal category/specificity, query moods, listener-goal overlaps, and profile descriptors.RRF rank, entity and lane membership, overlap across retrieval/history signals, and cross-history consistency features.A deterministic 1,500-session subset is excluded from the documented 5,000-session reranker fit for disjoint held-out validation.69 featuresVerified
niwatoriPer-source presence, rank, score transforms, source identity, challenge/TPD1 component scores, and transition probability across the fourteen-source union.TF-IDF query similarity, intent-tag match, Qwen3 dense query-to-track cosine, and supervised two-tower semantic retrieval signals.History artist/album/track consistency, last-music matches, direct track/album/artist co-occurrence, Markov transition, and public/TPD1 behavior components.ISRC year/country, duration buckets, age-to-release-year consistency, seasonal tags, hierarchical artist/album popularity, tag-chain Jaccard/cosine, and PPMI neighbors.User/turn basics, history consistency, current safe query similarity, tag intent, and fixed-width neutralization of unavailable goal/thought/GPA features.Cross-source presence and ranks over the full union, tag-chain neighbor overlap, and source-part distinctions preserved for the ranker.Five-fold local CV; train-fitted sources use OOF artifacts for reranker rows and full-public artifacts for Blind-B, while the shipped final model fits all public labeled rows.176 featuresVerified
swyooEach logical pool contributes native rank and score, with RRF rank/score over the fused candidate head.QEmb and Qwen3-Embedding-8B two-tower semantic evidence enters as source-native scores/ranks rather than separately named cosine columns in the reviewed OOF row schema.User/session history and learned two-tower behavior affect pool outputs; no distinct direct co-occurrence or sequential-transition feature column is established in the reviewed final feature builder.BM25/QEmb/two-tower documents contain catalog and enriched metadata, but the reviewed final OOF rows expose those effects through pool ranks/scores rather than separate raw metadata columns.Turn number plus conversation-goal category and specificity are emitted alongside source features; chat history and current query remain inputs to each pool.RRF rank/score encode multi-pool agreement; the documented feature tooling can derive pool-hit count, min/mean/std/span ranks, best pool, and pairwise rank differences.Five-fold group-aware OOF routing for learned pools; static BM25/QEmb pools are fold-unaware, and Blind-B uses the five-adapter serving bag.Per-pool rank/score + RRF rank/score + turn/category/specificity; exact submitted column count not documented in the reviewed filesVerified
team2_s2RRF inverse rank, six live-source inverse ranks/presence, text-retriever rank/presence, and structured-retriever rank/presence/cosine.Structured BGE cosine, supervised text-retriever membership/rank, semantic Qwen source membership/rank, and acoustic CLAP evidence through the fused pool.CF-BPR and ALS source membership/rank, ALS session-vector dot product, played/history count, recency score, and artist/album matches to recent or full history.Current/all-query overlap with artist/title/metadata, last-track tag Jaccard, popularity, pool artist distribution, and same-album history/pool features.Current-message tokens, all user-message tokens, played count, last/recent/all history comparisons, and already-played indicator.Number of live sources, duplicate source-count feature, RRF position, pool artist concentration, and margin-based routing between structured rankers before ensemble blending.Five-fold structured retriever lists feed serving features; final rankers are importance-weighted retrains using a five-fold blind-like covariate-shift model.37 featuresVerified

Response generation was a second system, not a formatting step

The ranked IDs fixed what was recommended; the response pipeline decided whether the explanation was grounded, specific, stable, and varied. The comparison separates drafting, checking or repair, selection or critique, rewriting, lexical control, and ID integrity so that a multi-pass editor is not confused with best-of-N selection.

Question answered by this matrix: after track selection, how many response candidates and stages existed, and what grounding, selection, repair, rewriting, or ID protection occurred? Drafting names candidate count when documented. Grounding separates catalog or structured records from latent model knowledge. Checking / repair is distinct from selection / critique: a path may revise one draft, choose among many, do both, or document neither. ID integrity asks whether prose operations can alter already-selected recommendations.

Response candidates, grounding, selection, and repair

Five post-selection paths compared from candidate drafting through final handoff; grounding, checking, selection, rewriting, lexical control, and ID integrity remain distinct.

Source: Normalized responseComparisons rows from the commit-pinned evidence ledgerTables: evidence.json#responseComparisons, npatta01/music-conversational-music-recomender-2026@2ecc45a7d5ea83535f0504b48352b009b3379139, artvolgin/music-crs-recsys2026@781ca9942b7c233255ac4a68da12fe42ec340b3a, ryowk/recsys2026-niwatori@5679a718c100aaf7779f122bb2eb65f702160f40, yoobros/music-crs-challenge@33dfe44dd36515e14e74116a8d23d059856d2d04, lopsandrea/music-crs-team2@e8ca96f67279a44aa38c614f51b4a015a65a2a90

Projects the reviewed responseComparisons rows into the report snapshot, scalarizing evidenceIds without changing narrative fields.

Response candidates, grounding, selection, and repair
TeamInputsDraftingGroundingChecking / repairSelection / critiqueRewriting / lexical controlID integrityFinal handoffEvidence status
npatta01Latest extracted state/request, selected top-1 ID, and that track's catalog title/artist/album/tags rendered as XML; older dialogue remains available but the style prompt prioritizes latest state.One temperature-zero Qwen3-30B-A3B LiteLLM call produces one draft about the top-1 track; no seeded candidate set is documented.Catalog metadata and structured listener context are delimited for the prompt; any additional model association is uncited latent knowledge.The metadata-echo guard implementation existed, but Blind-B set echo_retries to 0, so it could not trigger regeneration; no documented independent fact, contradiction, theme, or citation repair layer exists.No documented multi-candidate generation, selector, or independent critic.The phase2_best_qwen style asks for one or two concise sentences, latest-request priority, supported reasons, and honest handling of explicit conflicts; no post-generation lexical pass is documented.Ranking produces the recommendation IDs before the separate top-1 response call; no independent post-edit ID-integrity guard is documented.One top-1 single-pass response from one generation call; Blind-B disabled metadata-echo retries.Verified
volartConversation context, stated goal/profile fields available to ConversationContext, ranked top tracks, and catalog track descriptions.Gemini generates three candidates at temperatures 0.7, 1.0, and 1.2 from the same recommendation set; the initial selector favors low overlap with previously seen response bigrams.Catalog candidate details anchor named tracks, while musically specific prose may also use model knowledge; no external structured fact database is documented.An independent GPT-4o-mini critic flags relevance/specificity problems, Gemini selectively refines flagged replies, and a second hardening pass rechecks grounding, length, and stock phrasing.Best-of-three lexical novelty selection is followed by an independent editorial critic and guarded replacement decisions.Selective refinement and hardening preserve strong replies; the final de-tic pass bans corpus-overused bigrams, generates variants, and accepts only non-degrading quality/lexical changes.Refinement, hardening, and lexical passes edit only predicted_response and explicitly leave track IDs untouched.A selected candidate after independent critique, selective refinement, hardening, and guarded lexical-diversity handling.Verified
niwatoriUser profile, available conversation history, current message, and the same ranked top-three tracks for every candidate generation.Qwen3.6-27B generates ten responses under seeds 0 through 9 with temperature 0.7 and top-p 0.9.The top-three track context and conversation/profile prompt the prose; independent structured-fact verification is not documented.No separate theme, contradiction, fact, citation, or repair pass is documented.A seeded greedy ensemble searches random row orders, scores predicted_response text for corpus distinct-unigram plus distinct-bigram diversity, and selects whole variant records; it is not a factual critic.No post-selection rewrite is documented; lexical control comes from choosing among the ten already generated variants.Not documented: the selector returns whole records containing predicted_track_ids and predicted_response, with no cross-variant track-ID equality assertion or independent ID guard.One whole variant record selected from ten seeded responder outputs, followed only by configured response-text postprocessing; no independent cross-variant ID-equality guard is documented.Verified
swyooCurrent request, chat history, optional user profile/prior interactions and goal, ranked IDs, catalog and crawl-enriched track detail, similarity hints, legal title pool, and deterministic intent groups.The PAS flow deterministically proposes evidence-typed intent groups, then one GLM-5.2/DSPy prediction assigns tracks and selects the response structure, with compiled or routed demonstrations when configured.Catalog metadata plus optional crawl caption, a short lyric hook, key, and tempo ground the response; MusicBrainz IDs, label, country, release date, and tags are not formatted into this response block, and citations are restricted to supplied recommended tracks.validate_and_repair checks structure, themes, citations, and title legality, retries or repairs failures, and resolves cited titles against the top recommendation pool.The model performs PAS assignment/selection inside one generation; deterministic proposal and validator logic provide guardrails, but no best-of-N independent critic is documented.Submission packaging adds deterministic real-tag text arranged to avoid repeated bigrams, stabilizing lexical diversity without replacing the PAS content.Citation resolution is limited to the supplied top-20 pool, and response packaging leaves the ranked top-20 recommendation IDs unchanged.A PAS-structured, validated/repaired response followed by deterministic lexical stabilization.Verified
team2_s2Conversation history, assembled role/response/personalization prompt, optional profile text, selected top-1 recommendation, and catalog-verified rich track facts.Gemini 3.1 Pro Preview produces one MusicMind-style draft; no seeded candidate set or best-of-N generation is documented.The prompt includes verified title, artist, album, year, duration, popularity extremes, and cleaned tags, while any additional music knowledge remains latent model content.Gemini 3.5 Flash performs a second-pass editorial rewrite; empty or under-100-word refinements fall back to the draft, but no independent structured fact check is documented.No independent best-of-N selector is documented; the second model is an editor instructed to preserve the recommendation and music knowledge.The Flash pass removes helpdesk phrasing, filler, and repetition while targeting at least 120 words; programmatic acceptance uses a 100-word floor.The editor is instructed not to change the recommended track, but the reviewed public files do not establish an independent guard that checks recommendation IDs after editing.The polished second pass when it clears the length guard, otherwise the original Pro draft.Verified

The pipelines buy different kinds of control. Sampling and selection can improve variety but do not automatically verify facts. Critics and second-pass editors can improve relevance or style but need explicit guards to preserve IDs and structured claims. Deterministic lexical stabilization protects a metric but should be read separately from the semantic quality of the core explanation. These are architectural comparisons, not proof that any single stage caused a hidden-set score.

Sources for the response walkthroughs: npatta01 response contract; volart generation; volart critic; volart refinement; volart hardening; volart lexical pass; niwatori seeded generation; niwatori diversity selector; swyoo PAS generator and validator; swyoo lexical stabilization; team2_s2 verified fact renderer; team2_s2 two-pass pipeline.

What my system actually built

I built a state-aware retrieve–rerank–respond pipeline whose durable strengths were explicit state, multiple candidate branches, useful CF/BPR centroids, multimodal and catalog evidence, a learned ranker, and response instructions that did not oversell a poor fit. The comparable walkthrough below follows the same query, data, candidate, feature, validation, and response boundaries used for the public teams.

Conversation-to-query path. DeepSeek read the multi-turn session memory and emitted fact-first V1 state: the current request; artist, album, track, and attribute facts; explicit exclusions; played-track feedback and references; temporal constraints; and lyrical theme when relevant. A resolver grounded names to catalog IDs. The compiler then rendered retriever-specific forms: weighted BM25 clauses; field-aligned lyric, metadata, attribute, sonic, and visual strings; anchor and user centroids; resolved-artist discography and era-popularity lookups; and a deterministic previous-turn/current-turn/last-track query for the b1_cos scorer.

Data and model knowledge. The submitted path used official catalog metadata and embeddings, Blind-B conversations and users, and public labeled conversations for learned retrieval and ranking. Generated inputs included cached DeepSeek states and committed LLM-authored artist known-for lines in the b1 document text. External structured music data was Not documented in the deployed path. The response model could add uncited associations from latent model knowledge; those associations had no independent record.

Retrieval and candidate construction. BM25, multimodal Qwen/CLAP/SigLIP approximate-nearest-neighbor branches, catalog lookups, and both deployed CF/BPR behavioral centroids—the default anchor centroid and explicit user centroid—formed the filtered candidate union. The compiler recorded a weighted fusion order for trace and fallback purposes, but LightGBM—not RRF—produced the submitted final ordering. Explicit track rejection could hard-drop, tag rejection could demote, new/different-artist evidence could gate a final artist veto, and era was normally soft. The union contained up to 500 hits from each traced branch; LightGBM scored that union; the trained Qwen3-Embedding-4B two-tower was present as b1_cos, not as its own candidate lane.

Ranker and feature families. The 142 documented features included per-branch ranks, raw scores, margins, ratios, presence, standardization, branch identity, and percentiles; dense and multimodal similarities; CF/BPR and catalog lookup evidence; popularity, era, tag, artist, album, duration, culture, and age fields; request, intent, routing, rejection, and history descriptors; and cross-source agreement and interactions. The count describes the deployed model, not its quality by itself.

Evaluation lineage. The held-out OOF table records 0.1970 nDCG@20 for production-like features and 0.2032 with b1_cos, using predictions for rows outside each fold’s fit. Later full-model dev replays were in-sample diagnostics under the documented fit/evaluate sequence; a separate selection lockbox was Not documented.

Response-generation subsystem. Ranking fixed the top-1 ID before one temperature-zero Qwen3-30B-A3B call. The prompt received latest state and XML-delimited title, artist, album, and tags, asked for one or two concise sentences, prioritized the latest request, required supported reasons, and handled explicit conflicts honestly. The metadata-echo guard implementation existed, but Blind-B set echo_retries to 0, so the submitted path made one generation call with no echo-triggered retry. An independent fact checker, multi-candidate selector, critic, lexical pass, and post-edit ID-integrity guard were Not documented.

Diagram sources: O1, O2, O3, O8, O9 — Blind-B configuration; O4 and O6 — bi-encoder; O5 — reranker reproduction; O7 — response contract.

What worked and is worth preserving

Acknowledged contribution. The submission turned heterogeneous dialogue into an inspectable state-and-query contract rather than one opaque string. Sparse fields, several multimodal dense views, two CF/BPR centroids, discography, and era-popularity lookups reduced dependence on one representation, while the 142-feature LightGBM ranker could combine branch evidence.

Traceability mattered. Extracted state, compiled queries, candidate-source scores, ranker stages, and the final recommendation handoff made it possible to see where an item entered and where it was lost. Commit-pinned models, caches, configuration, and a shared feature function reduced train/serve drift.

The response stance was restrained. The single-pass prompt prioritized the latest request, asked for supported reasons, and explicitly handled conflicts without claiming that a poor fit was perfect. These strengths did not guarantee hidden-set quality, but they remain technically useful and made the limits diagnosable.

The central mistake was measurement, not a direct Blind-B cause

In-sample evidence. The pinned diagnostic leaderboard records the two headline dev numbers I had been using—0.3844 and 0.4562 nDCG@20. They came from applying a full-data model to the same dev population that supplied its training features and labels. Those values described the fitted model; they did not estimate generalization.

OOF evidence. The held-out results were 0.1970–0.2032 nDCG@20, with each row predicted outside its fold’s fit. A separate model-selection lockbox was Not documented.

Blind-B nDCG@20 was 0.2537. Inferred, not proven: that result is more consistent with the OOF range than with the in-sample range. The hidden set was different, small, and potentially shifted, so proximity is not proof. The narrower conclusion is that I selected and discussed the system with more confidence than the validation design justified.

Best-supported ranking contributors

The candidate boundary was part of the ranker. Any relevant track outside the union of up to 500 hits from each traced branch was irrecoverable. niwatori documented full-union scoring, while team2_s2 documented routed and late-fused ranking over explicitly diverse sources. Those contrasts are plausible contributors, not hidden-session proof.

Behavioral/co-occurrence coverage remains Partial, not No. My deployed path had two useful CF/BPR centroid branches—anchor and user—plus user/last/centroid CF features, discography, and era-popularity lookups. It did not document a direct track co-occurrence lane or sequential-transition lane. Centroid similarity is related behavioral evidence but a different mechanism, which is exactly why the high-level matrix retains Partial.

The learned retriever was a feature, not a source. b1_cos joined the dense-similarity family inside LightGBM, but the Qwen3 two-tower candidate branch was not deployed. OOF evidence records a modest gain for that feature; no hidden-set counterfactual establishes the effect of serving its retrieval lane.

Feature families, not counts, define ranker evidence. The submitted ranker combined source ranks/scores/presence and transformations; dense, lyric, acoustic, image, and catalog similarities; CF/BPR centroids and lookup evidence; metadata/popularity/era fields; state, history, rejection, and routing descriptors; and agreement/interactions. The public systems document different behavioral, routing, and OOF lineages. Larger feature counts do not by themselves establish quality.

Best-supported response contributors

The pinned Blind-A response sweep records 4.7000/5 for the selected template; Blind-B received 3.30/5. That measured difference does not isolate a mechanism because sessions, ranked tracks, and judge cases changed together.

Actual response stages. The submitted path fixed one top-1 recommendation, rendered latest state and catalog metadata in XML, and made one temperature-zero Qwen call. The style contract prioritized the latest request, asked for supported reasons, required concise prose, and discouraged overselling explicit conflicts. The metadata-echo guard implementation existed, but Blind-B set echo_retries to 0, so this submission made one generation call with no echo-triggered retry.

Not documented: independent structured fact checking; multiple response candidates; a selector or independent critic; contradiction, theme, or citation repair; a post-generation lexical pass; and an independent ID-integrity guard. volart documented candidate selection plus critique and guarded edits, niwatori selected among ten seeded variants for corpus diversity, swyoo validated and repaired themes and citations, and team2_s2 grounded one draft in verified catalog facts before a second editorial pass.

Inferred, not proven: deeper grounding, selection, or repair are plausible response-quality contributors. I do not compare response lengths because the reviewed evidence does not trace both submitted response files to exact public artifacts, and length alone would not establish quality.

Four public systems show distinct, reusable implementation patterns

Each case uses the same ten visible roles: acknowledged contribution, verified final outcome, conversation-to-query path, data and model knowledge, retrieval and candidate construction, ranker and feature families, response-generation subsystem, difference from our submission, transferable implementation patterns, and limits or undocumented details. The official outcome provides context; architecture remains contributor-level evidence, not causal attribution.

volart — broad hybrid retrieval plus editorial response control

Acknowledged contribution. artvolgin/music-crs-recsys2026 documents a compact hybrid retriever, disjoint ranker validation, challenge-derived behavioral priors, and unusually explicit response selection and editing while preserving recommendation IDs.

Verified final outcome. volart led this public-code comparison at 0.586611845Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv composite, with 0.396534887Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv nDCG@20Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv, 0.926832194Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv lexical diversity, 0.031611820Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv catalog diversity, and 4.9000/5 judge. Its lead over my entry was +0.205502163Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv.

Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv

Selects the five reviewed Blind-B leaderboard rows from the official challenge results.

Conversation-to-query path. The rewriter saw the stated goal, latest user query, and available history, then GPT-4o-mini produced one cached concise retrieval rewrite. A separate cached JSON extraction kept positively requested artists, tracks, albums, and a validated era. The text rewrite fed the lexical and dense lanes; structured entities/era and played-track IDs fed their own sources.

Data and model knowledge. The path used official catalog, conversations, played history, public labels, challenge-train co-occurrence, gold-frequency, and MOVES-rate priors. The pinned submission config excludes LFM-2B/Last.fm grounding; no external music dataset is documented in the submitted path. Generated artifacts included query rewrites, entity records, per-track retrieval descriptions, response candidates, critiques, and edits. Gemini could add musical associations beyond catalog blocks, and the editorial critics did not independently verify every such claim against structured records.

Retrieval and candidate construction. Five lanes—OpenAI metadata dense, BM25, positive entity/era matches, dense LLM-generated descriptions, and challenge-train co-occurrence—were fused with RRF. Played tracks seeded co-occurrence and were excluded from results; entity/era matches received dedicated slots. The fused top 500 formed the LambdaMART boundary.

Ranker and feature families. The 69 documented features included retriever scores/ranks and lane membership; metadata cosine and mood/query overlap; artist/album/tag/era continuity; recency-weighted matches; direct co-occurrence sum/max; gold-frequency and MOVES priors; popularity/year/tags; demographics; turn/history/goal descriptors; and agreement or cross-history consistency. A deterministic 1,500-session holdout was excluded from the documented 5,000-session fit.

Response-generation subsystem. Gemini generated three candidates at temperatures 0.7, 1.0, and 1.2 from the same tracks. Low repeated-bigram overlap informed initial selection; an independent critic flagged weak replies; selective refinement, hardening, and a guarded lexical de-tic pass followed. These passes changed response text without touching track IDs. Structured musical fact verification remained Not documented.

Diagram sources: V1, V3, V4 — method overview; V2 — LambdaMART features; V5 — Blind-B configuration; V6 — response refinement; V7 — response hardening; V8 — lexical pass.

What differed from our submission. Both systems used hybrid retrieval, a learned ranker, and a separate response step. volart explicitly used RRF to fuse a top-500 pool before LambdaMART; our system unioned up to 500 hits from each traced branch, then LightGBM produced the submitted final ordering. volart additionally carried direct co-occurrence and challenge priors into ranking, used a disjoint validation subset, generated three response candidates, and applied independent critique plus guarded editing. The decomposition is consistent with that contrast: judge contributed +0.120000000, ranking +0.071424981, and lexical diversity +0.014064435 to its lead; it does not identify which mechanism mattered.

Transferable implementation patterns. Future systems can study four source-backed patterns here: keep rewritten text, structured entities, and played-track co-occurrence as distinct query inputs; expose source ranks/scores and lane presence alongside behavioral priors to the ranker; generate alternatives only when a documented selector or critic consumes them; and preserve selected recommendation IDs through selective editorial and corpus-level lexical passes.

Limits and undocumented details. Not documented: a general hard rejection or novelty policy in the reviewed retrieval files, structured verification of every musical claim, component-by-component Blind-B ablations, or the stage responsible for any particular hidden session. The disjoint split validates the reranker more cleanly than in-sample replay, but it does not certify generated facts or prove that any architecture difference produced the outcome.

niwatori — full candidate union, OOF learned retrieval, and response ensembles

Acknowledged contribution. ryowk/recsys2026-niwatori documents source-specific safe queries, a fourteen-source ordered union, OOF learned-retrieval artifacts, a behavior-rich LambdaRank model, and seeded response diversity selection.

Verified final outcome. niwatori scored 0.585920046Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv composite, 0.493389952Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv nDCG@20Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv—the strongest ranking result in this comparison—0.773563770Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv lexical diversity, 0.031186930Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv catalog diversity, and 4.4500/5 judge. Its lead over my entry was +0.204810364Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv.

Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv

Selects the five reviewed Blind-B leaderboard rows from the official challenge results.

Conversation-to-query path. niwatori used source-specific deterministic representations rather than a query-stage LLM: five-field BM25 and TF-IDF text, extracted genre/mood/descriptor tags, a supervised two-tower query, exact entity surfaces, artist/album history keys, co-occurrence keys, and a last-track Markov key. Blind-B-safe inputs explicitly omitted unavailable goal and thought fields. Windows varied by source, from current/recent text to complete played history and the most recent track.

Data and model knowledge. Official catalog, conversations, user/history fields, public labels, and challenge-derived behavior were joined by documented TalkPlayData roles: TalkPlayData-1 augmented mapped co-occurrence/transition counts and supported two-tower experiments; TalkPlayData-2 supplied only the Spotify-to-catalog mapping. Unmapped IDs were dropped and duplicate-overlap audits were documented. No LLM-generated retrieval rewrite, profile, document, or label was documented; ten response drafts were generated at inference, and any Qwen musical detail absent from the prompt was latent and not separately verified.

Retrieval and candidate construction. Fourteen lexical, dense, exact, history, co-occurrence, transition, and learned sources formed an ordered deduplicated union. History branches used artist/album continuity, co-occurrence aggregated played tracks, and Markov transitions used the last track. Already-played filtering and message-safe input constraints were explicit. The complete ordered union—not a globally truncated head—reached the ranker.

Ranker and feature families. The 176 documented features covered per-source presence/rank/transforms and public/TPD1 components; TF-IDF, intent-tag, Qwen dense, and two-tower similarity; track/album/artist co-occurrence and Markov probability; history consistency; ISRC year/country, duration, age-era, seasonal tags, popularity, tag-chain, and PPMI evidence; safe-query similarity; and cross-source agreement. Five-fold CV produced OOF learned-source artifacts for reranker rows and full-public artifacts for Blind-B.

Response-generation subsystem. Qwen3.6-27B generated ten variants under seeds 0–9 from the same profile, conversation, current message, and top-three tracks. A greedy ensemble selected whole records using corpus distinct-unigram and distinct-bigram scores. This was a lexical-diversity selector, not a factual critic; separate fact repair and cross-variant track-ID equality checks were Not documented.

Diagram sources: N1–N6 — submitted method; N7 — response ensemble.

What differed from our submission. niwatori used its learned retriever as a candidate source, kept direct co-occurrence and sequential-transition signals distinct from semantic similarity, generated ranker inputs out of fold, and scored the full ordered union. Its +0.119852514 ranking contribution is salient but not mechanistically identified. Lexical diversity was slightly below mine, contributing −0.001262408 to its total lead.

Transferable implementation patterns. Future systems can study four source-backed patterns here: render retriever-specific query representations instead of forcing one universal string; carry co-occurrence and Markov sequence evidence separately from dense or centroid similarity; generate learned source features OOF and use full-public artifacts only for serving; and treat response diversity as a corpus-level scored selection problem when choosing among documented candidates.

Limits and undocumented details. Not documented: a submitted hard rejection or novelty layer, independent response fact checking or repair, cross-variant recommendation-ID equality, per-source Blind-B recall, and hidden-set ablations of full-union scoring or response selection. Seeded generation also notes CUDA nondeterminism. The architecture is consistent with strong ranking evidence; it does not prove why any hidden session scored as it did.

swyoo — fold-safe QLoRA retrieval and evidence-checked responses

Acknowledged contribution. yoobros/music-crs-challenge documents three distinct query renderings, a fold-routed QLoRA retriever bag, guarded external metadata and generated documents, OOF ranker evidence, PAS response repair, and deterministic lexical stabilization.

Verified final outcome. swyoo scored 0.578429003Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv composite, 0.382893624Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv nDCG@20Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv, 0.952048495Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv lexical diversity—the highest in this comparison—0.030273417Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv catalog diversity, and 4.8500/5 judge. Its lead over my entry was +0.197319321Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv.

Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv

Selects the five reviewed Blind-B leaderboard rows from the official challenge results.

Conversation-to-query path. The submitted path kept three independently rendered representations. BM25 received content-filtered current text plus played-track metadata; QEmb received a document-aligned current/history string; the two-tower received recent listens, chat-derived context, current request, and an optional cached one-sentence summary of the evolving preference trajectory. The summary was injected only into the two-tower after turn one. All three documented retrievers removed session-seen tracks.

Data and model knowledge. Official catalog metadata/embeddings, train conversations/labels, demographics, and prior train-session interactions were enriched from LRCLIB and Genius lyrics plus MusicBrainz identifiers, ISRCs, labels, countries, dates, and tags. Two-tower documents directly formatted MusicBrainz tags, label, and country; the response crawl block separately exposed only caption, a short lyric hook, key, and tempo. Generated artifacts included session summaries, synthetic mood/theme/use-case track cards, PAS drafts, and repairs. Crawl guardrails checked completeness, text quality, title/artist/duration matches, and critical fields; generated and latent musical associations were not all independently fact-checked.

Retrieval and candidate construction. Music-only BM25, metadata-rich QEmb, and the five-adapter Qwen3-Embedding-8B two-tower bag produced source-native pools over enriched documents, with RRF over the fused candidate head and already-seen filtering. The reviewed sources establish those submitted pools but do Not document a full-union boundary comparable to niwatori’s.

Ranker and feature families. LightGBM received native rank and score for each logical pool, RRF rank/score, turn number, and goal category/specificity; documented tooling could also derive pool-hit count, min/mean/std/span ranks, best pool, and pairwise rank differences. Metadata and learned behavior entered through pool evidence rather than separate final raw columns. Each training row was routed to its held-out adapter for OOF learned-source features; Blind-B used the five-adapter bag. The exact submitted column count was Not documented.

Response-generation subsystem. PAS deterministically proposed evidence-typed intent groups; one GLM/DSPy prediction assigned tracks and selected structure; validation checked themes, citations, and legal titles against the recommendation pool, then retried or repaired failures. Packaging appended real tags in a deterministic low-overlap order without changing the ranked top-20 IDs. An alternative-draft count or best-of-N independent critic was Not documented.

Diagram sources: S1, S2, S3, S6 — method overview; S4 — OOF ranker training; S5 — PAS generator and validator.

What differed from our submission. swyoo used distinct query forms per retriever, made fold separation part of both learned retrieval and reranker feature construction, enriched retrieval documents with guarded external records, and added explicit response evidence validation plus deterministic lexical stabilization. Its ranking lead was +0.064604349, while judge (+0.116250000) and lexical diversity (+0.016586065) made up most of the remaining gap; that decomposition does not isolate a stage.

Transferable implementation patterns. Future systems can study four source-backed patterns here: align each retriever query with its document representation; route learned-source training rows through held-out adapters; guard external record matching before using enriched fields and limit response prompts to documented fields; and validate/repair legal titles and citations before a deterministic corpus-level lexical pass that preserves selected IDs.

Limits and undocumented details. Not documented: a separate direct co-occurrence or sequential-transition feature column in the final builder, the exact submitted ranker column count, an alternative-response candidate count, a best-of-N independent critic, per-session PAS repair records, or a Blind-B counterfactual without lexical stabilization. Public APIs, token/rate limits, caches, and generated fields also bound reproducibility. These differences support architectural hypotheses, not hidden-session causal claims.

team2_s2 / music-crs-team2 — diverse evidence, routed rankers, and grounded polishing

Acknowledged contribution. lopsandrea/music-crs-team2 documents retriever-specific conversation windows, collaborative and acoustic candidate sources, OOF learned lists, routed and late-fused rankers, covariate-shift weighting, verified catalog facts, and two-pass response editing.

Verified final outcome. The team2_s2 leaderboard entry from lopsandrea/music-crs-team2 scored 0.575916042Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv composite, 0.445184942Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv nDCG@20Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv, 0.765483535Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv lexical diversity, 0.030252172Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv catalog diversity, and 4.6500/5 judge. Its lead over my entry was +0.194806360Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv.

Source: Official Music-CRS Blind-B final results CSVTable: https://nlp4musa.github.io/music-crs-challenge/static/results.csv

Selects the five reviewed Blind-B leaderboard rows from the official challenge results.

Conversation-to-query path. Query windows were source-specific and deterministic. Conversation BM25 recency-weighted every prior user turn toward the current request; the live text retriever kept the last three user turns; item sources used the last one, last three, or all played tracks. Two BM25 strings, Qwen metadata-neighbor vectors, recent CF-BPR and CLAP anchors, an ALS session vector, a live supervised text query, and cached structured BGE-base/BGE-large lists formed separate representations. A shared query-stage LLM state was Not documented.

Data and model knowledge. The path used the official 47,071-track catalog, conversations, user data, precomputed Qwen/CF-BPR/CLAP embeddings, and public labels. External structured music data was Not documented. No persistent generated retrieval rewrite, profile, document, or label was documented; the response draft and refinement were generated at inference. Gemini could add uncited music knowledge beyond the catalog-fact string, and those associations lacked a separate record.

Retrieval and candidate construction. Lexical BM25, semantic Qwen, recent CF-BPR, ALS session affinity, full-catalog CLAP acoustic similarity, the live text bi-encoder, and structured BGE-base/BGE-large lists entered the source pool. All sources filtered already-played tracks; current lexical intent and source-specific history windows were enforced. The reviewed query code did Not document independent explicit rejection, era, popularity, or novelty rules.

Ranker and feature families. The 37 documented features covered RRF and six live-source inverse ranks/presence; text and structured retriever ranks/presence/cosine; Qwen and CLAP source evidence; CF-BPR/ALS membership, rank, and ALS session dot product; history recency, artist/album matches, query overlap, tag Jaccard, popularity, and pool distribution; and source agreement plus margin routing. Five-fold structured lists supplied ranker training; final retrains used tempered importance weights from a five-fold dev-versus-Blind-A shift model built from gold-free input descriptors.

Response-generation subsystem. Catalog-derived title, artist, album, year, duration, popularity, and tags grounded one Gemini 3.1 Pro Preview draft. Gemini 3.5 Flash then removed helpdesk phrasing, filler, and repetition; edits under the programmatic length floor fell back to the original draft. A best-of-N selector, independent structured fact checker, and post-edit recommendation-ID integrity check were Not documented.

Diagram sources: T1 — training method; T2 and T5 — system and response overview; T3 — ranker; T4 — transfer weighting.

What differed from our submission. team2_s2 used several learned retrievers as candidate sources, carried collaborative and acoustic evidence explicitly, routed between two LightGBM boosters by score margin, late-fused with CatBoost, reweighted blind-like training rows, and grounded a second editorial response pass in catalog facts. The lead split between ranking (+0.095750008) and judge (+0.101250000), while lexical and catalog diversity slightly favored my entry; the split is descriptive, not causal.

Transferable implementation patterns. Future systems can study four source-backed patterns here: let each retriever consume the conversation/history window it is designed for; produce OOF learned-retriever lists for ranker training and full lists for serving; combine specialized routed rankers only through documented score calibration and late fusion; and render verified track facts before an editorial pass with a deterministic fallback.

Limits and undocumented details. Not documented: external structured music data, a query-stage LLM rewrite/state, explicit rejection/era/popularity/novelty enforcement, a per-component Blind-B ablation, alternative-draft counts, an independent structured post-edit fact check, or a post-edit ID-integrity assertion. Live two-pass Gemini access and latent uncited associations remain reproducibility and factual-reliability boundaries. These differences do not establish session-level causality.

Cross-team synthesis: coverage mattered more than one magic model

The matrix uses only Yes, Partial, and Not documented. “Not documented” means the reviewed pinned sources do not establish the technique; it does not mean the team definitely omitted it. “Partial” marks a related capability that does not fully match the dimension as defined.

What our submitted path contained

Two CF/BPR behavioral centroid branches—anchor and user—plus discography and era-popularity lookups.

What the leaders documented

Direct track co-occurrence, artist/album history, sequential or Markov transitions, collaborative filtering, and train-frequency priors appeared in one or more released systems.

Why the matrix says Partial

Our centroids supplied related behavioral evidence, but centroid similarity is not a direct track co-occurrence mechanism and is not a sequential-transition lane.

Across the comparison, the most consistent pattern is coverage across several risk surfaces: behavioral evidence, learned retrieval, leakage-safe validation, candidate/ranker breadth, and response control. No single row proves the Blind-B outcome, but my system had more partial or undocumented coverage in several rows that align with the two dominant score terms.

Technique coverage in the reviewed pinned sources

Yes = explicitly documented; Partial = related but incomplete coverage; Not documented = the reviewed sources do not establish it.

Source: Tri-state synthesis of five commit-pinned public repositoriesTables: https://github.com/npatta01/music-crs-2026/blob/2ecc45a7d5ea83535f0504b48352b009b3379139/configs/state_ranker_v10_lgbm_blindset_B.yaml, artvolgin/music-crs-recsys2026@781ca9942b7c233255ac4a68da12fe42ec340b3a, ryowk/recsys2026-niwatori@5679a718c100aaf7779f122bb2eb65f702160f40, yoobros/music-crs-challenge@33dfe44dd36515e14e74116a8d23d059856d2d04, lopsandrea/music-crs-team2@e8ca96f67279a44aa38c614f51b4a015a65a2a90

Materializes the reviewed tri-state claim-ledger synthesis from five commit-pinned public repositories, including the author's two deployed CF/BPR centroid branches.

Technique coverage in the reviewed pinned sources
Comparison dimensionnpatta01volartniwatoriswyooteam2_s2
Behavioral / co-occurrence retrievalPartialYesYesNot documentedYes
Learned retrievalPartialNot documentedYesYesYes
Leakage-safe validationPartialYesYesYesYes
Rich reranker featuresPartialYesYesPartialPartial
Full candidate union or late fusionPartialPartialYesNot documentedYes
Generation samplingNot documentedYesYesNot documentedNot documented
Factual groundingPartialPartialPartialYesYes
Response selection / critiqueNot documentedYesYesPartialPartial

What I would preserve, reconsider, and avoid

This is a retrospective judgment table, not an implementation program. Preserve means the choice produced durable technical value. Reconsider means the evidence exposes an important tradeoff or blind spot. Avoid means the reasoning pattern made the result harder to assess honestly.

Retrospective choices

Principles distilled from the reviewed system and comparison evidence; not a schedule or work program.

Source: Evidence-bounded retrospective judgments from the pinned author systemTable: npatta01/music-conversational-music-recomender-2026@2ecc45a7d5ea83535f0504b48352b009b3379139

Materializes the author’s preserve, reconsider, and avoid judgments from the reviewed evidence.

Retrospective choices
JudgmentChoiceWhy the evidence supports it
PreserveStructured conversation state and multimodal retrieval breadthThey made heterogeneous user language searchable and kept the pipeline understandable.
PreserveTraceable retrieval, ranking, and final-handoff contractsThey made candidate loss and serving boundaries auditable.
PreserveCommit-pinned offline reproducibilityIt reduced ambiguity about the submitted model and supported this evidence review.
ReconsiderUsing the union of up to 500 hits from each traced branch as the learned ranker's hard boundaryRelevant tracks outside the candidate union were unrecoverable, while released peers documented full-union or later-fusion strategies.
ReconsiderKeeping the trained two-tower only as a scout featureOOF evidence showed modest signal, but its candidate lane was absent from the deployed path.
ReconsiderSingle-pass response generation with limited verified groundingThe judge term was a dominant gap and peers documented sampling, grounding, selection, or critique.
AvoidTreating a fitted full-model dev score as model-selection evidenceIt overstated confidence because fitting and evaluation reused the same labeled population.
AvoidOptimizing ranking while treating response quality as packagingThe judge contributed 30% of the official composite after normalization.
AvoidTurning architecture differences into a causal verdictWithout hidden per-session labels and controlled counterfactuals, they remain contributor hypotheses.

Lessons I will carry into future ML competitions

  • Separate model-selection data from model-fitting data. An in-sample score can describe a fitted system; it cannot tell me how well the system generalizes.
  • Treat public-leaderboard evidence as sparse feedback, not a training oracle. Hidden sets are small and noisy, and repeated adaptation can overfit the visible signal.
  • Keep simple behavioral signals beside powerful semantic models. Co-occurrence, transitions, history, and collaborative evidence encode continuity that text similarity may miss.
  • Make the candidate boundary explicit. A reranker cannot rescue an item it never sees, so union construction and pruning are part of the learned-ranking design.
  • Optimize every scored component. Retrieval, ranking, response grounding, response selection, and lexical variety all entered the composite; none was merely presentation.
  • Use architecture comparisons as hypotheses, not verdicts. Released code can reveal better measurement and coverage patterns, but hidden labels are required for causal attribution.

Acknowledgements

This retrospective is possible because the teams released code and enough technical detail to inspect the boundaries, not merely the scores. I am grateful to:

Caveats and assumptions

The Blind-B set contained only 80 hidden sessions, so a few difficult cases can move an aggregate metric. I do not have per-session relevance labels, judge rationales, or counterfactual submissions that change one component at a time. I therefore separate Verified arithmetic and documented architecture from Inferred contributors and Not documented details.

The comparison set is deliberately narrow: the four highest-scoring final entries among the public repositories supplied for review. Repository documentation varies in depth, and absence from a pinned source is not evidence of absence. Competitor feature counts, candidate counts, and pass counts are descriptive; larger numbers are not automatically better.

The in-sample dev range, OOF scores, Blind-A response sweep, and Blind-B outcome come from different evaluation contexts. Their contrast diagnoses confidence and transfer risk; it does not establish a single root cause.

Evidence notes

Evidence boundary. Official values and score contributions come from the final results CSV and the stated composite formula. Architecture claims come from public repositories pinned to the exact SHAs exposed in each diagram marker and in the report’s source metadata.

Report-shape note. The approved retrospective intentionally omits prescriptive work planning. The executive specification’s action-oriented closing role is replaced by retrospective principles because this artifact’s scope is explanation and transferable learning.

Chart map. The native quantitative chart is a zero-based five-entry composite overview with an adjacent exact leaderboard table. The gap decomposition uses the approved self-contained HTML fallback because the available native runtime does not preserve four-panel faceting and nine-decimal signed labels: four team panels share a −0.125 to +0.125 scale, center zero, label every signed component and total exactly, and include all 16 rows in an adjacent semantic table without pagination or movement formatting. The five architecture figures use the proven responsive two-rail HTML pattern with open text equivalents.

Sources

  1. Official Music-CRS Blind-B final results CSVDuckDB · 2026-07-12

    Selects the five reviewed Blind-B leaderboard rows from the official challenge results.

    SQL query
    SELECT *
    FROM read_csv_auto('https://nlp4musa.github.io/music-crs-challenge/static/results.csv')
    WHERE "Team ID" IN ('volart', 'niwatori', 'swyoo', 'team2_s2', 'npatta01')
    ORDER BY "Composite Score" DESC;
  2. Author system repository pinned at 2ecc45a7commit-pinned public source review · 2026-07-12

    Deployed Blind-B configuration, reranker reproduction protocol, OOF bi-encoder results, response-generation architecture, leaderboard captures, and Blind-A response sweep.

  3. Author held-out OOF diagnostics pinned at 2ecc45a7commit-pinned public source review · 2026-07-12

    Direct file source for the held-out OOF nDCG@20 results of 0.1970 and 0.2032.

  4. Author in-sample dev diagnostics pinned at 2ecc45a7commit-pinned public source review · 2026-07-12

    Direct file source for the documented 0.3844 and 0.4562 dev nDCG@20 diagnostics.

  5. Author Blind-A response sweep pinned at 2ecc45a7commit-pinned public source review · 2026-07-12

    Direct file source for the selected response template's Blind-A judge result of 4.7000.

  6. volart repository pinned at 781ca994commit-pinned public source review · 2026-07-12

    Retrieval, LambdaMART, validation, response generation, critique, hardening, and lexical-diversity pipeline.

  7. niwatori repository pinned at 5679a718commit-pinned public source review · 2026-07-12

    Fourteen-source ordered union, OOF two-tower, full-union LambdaRank, and response ensemble selection.

  8. swyoo repository pinned at 33dfe44dcommit-pinned public source review · 2026-07-12

    Five-fold QLoRA two-tower, OOF features, regularized LightGBM, PAS grounding, and lexical stabilization.

  9. team2_s2 repository pinned at e8ca96f6commit-pinned public source review · 2026-07-12

    Multiple BGE retrievers, collaborative/acoustic evidence, routed LightGBM plus CatBoost, shift weighting, and two-pass grounded Gemini.

  10. Cross-team synthesis from five commit-pinned public repositoriesreviewed claim-ledger synthesis · 2026-07-12

    Tri-state technique coverage synthesized only from the five commit-pinned repositories listed in this artifact.