[Bug]: Incremental knowledge-graph compile cites far fewer new sources than a full compile of the same files (Shuffle history recall capped at 4, Reduce related_outputs [:12])
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 45/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- python
- Ambito
- data-engineering
Direzione di ricerca
Read bot/vikingbot/compile/ops/shuffle.py and bot/vikingbot/compile/ops/reduce.py, starting with the cited history and related-output limits and the Reduce prompt. Then inspect how incremental runs record source coverage in pipeline/coverage.json. Done means incremental knowledge-graph runs either achieve comparable coverage or report when coverage falls short; the issue offers a reproducible 41-file comparison.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Version
- OpenViking core v0.5.3 (
178a8cdfb) - Compile:
bot/vikingbot/compilefrom main4b92b30656c821712e2cf5f053963dedc66206d9(the limits below are unchanged on main3fab17054) - LiteLLM 1.102.4 (OpenViking's pin)
Setup
Directory compile with the bundled knowledge-graph Skill, routing mode all, one Reduce. Incremental mode: the new batch in full_dirs, earlier batches (already compiled into the same target) in diff_dirs. Inputs are plain-text documents, 25 to 45 files per batch.
Minimal reproduction
- Compile batch A into a knowledge-graph target in full mode.
- Add batch B (41 files) incrementally: B in
full_dirs, A indiff_dirs, same target. - Count how many of B's 41 files are cited by any entity or edge in the resulting graph.
- For comparison, compile B alone into an empty target in full mode and count again.
Observed
| Run | Map records | Reduce output | B originals cited |
|---|---|---|---|
| Incremental (B added to A) | 136 | 5 files (4 new entities and one relations.jsonl patch) |
8 of 41 |
| Full mode, B alone | n/a | 54 entities, 78 edges | 31 of 41 |
The task completed successfully. The stage review itself reported that integration "cannot be confirmed", but nothing failed or flagged the coverage drop.
Expected
An incremental compile should integrate the new sources at roughly the coverage a full compile achieves on the same files, or report the shortfall (for example as incomplete coverage) instead of completing silently.
Likely causes (at 4b92b3065)
bot/vikingbot/compile/ops/shuffle.py,candidates(): history recall isr.client.find(text, target_uri=r.target, limit=4)(line 290), the text-search fallback usesgrep(..., node_limit=4)(line 301), and the results are then truncated withentries[:4]. When a match is a directory, its children are listed withnode_limit=4(line 332). Each record therefore sees at most 4 historical matches, so a new source that relates to more than a few existing entities is routed against a small slice of the graph.bot/vikingbot/compile/ops/reduce.py(lines 262 to 272):related_outputsis sorted by path (not relevance) and truncated to[:12];related_subjectsis also truncated to[:12]in record order.- The Reduce prompt states "References establish provenance, not semantic completeness" (
reduce.pyline 37), and nothing requires the output to cover every input, so Reduce can fold 136 records into a handful of edits and still pass.
Workaround
We stopped using incremental mode for knowledge graphs and compile one full-mode graph per batch, then check source coverage externally.
Ask
- Is incremental compile intended to keep source coverage comparable to a full compile? If yes:
- Make the Shuffle history recall limit (and the
node_limit) and the Reduce related-output cap configurable per Skill or target, or raise them for knowledge-graph targets. - Add a coverage requirement or check for incremental runs (for example, fail or mark incomplete when the share of new inputs cited falls below a threshold), using the data already in
pipeline/coverage.json.
Happy to run a patched build against the same batch and report the numbers.
- Lingua principale
- Python
- Stelle
- 41.8k
- Fork
- 3.4k
- Merge medio
- 19h 29m
- PR unite (30g)
- 500
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di volcengine/OpenViking
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
volcengine/OpenViking#7485 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 80/100
volcengine/OpenViking#7210 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
volcengine/OpenViking#7205 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
[Bug]: Retrieval rerank fallback statistics stay zero after provider failureForse già presa @97Three l’ha presa 8 giorni fa. Apertabug kernel
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
volcengine/OpenViking#7014 ·
I maintainer di solito rispondono entro 1 giorno
-
[Bug]: memory.prefetch_search_topn is inert above 5 (call site omits limit), plus two docstrings state the wrong defaultsForse già presa @peterzhang987723 l’ha presa 8 giorni fa. Apertakernel
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
volcengine/OpenViking#6923 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di volcengine/OpenViking
Issue simili
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 88/100
aws-samples/sample-per-model-bedrock#857 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 70/100
521xueweihan/HelloGitHub#4328 ·
-
documentation maintainer-managed
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
awslabs/visual-asset-management-system#1418 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno