Repository navigation
Query Coverage 24 EN
New features are cheap without another index, but individually fail to improve harm-versus-benefit discrimination. Their mean repository AUCs are 0.4709–0.4933. No new model, operating threshold or automatic routing is enabled.
hintsearch.Index.QueryCoverage(query, ids) returns unique query-term presence fractions for up to 20 selected candidates. Binary-search the existing sorted vocabulary and document posting arrays; do not rescan raw code or use a helper index/model.
Tokenization matches BM25: lowercase Unicode letters/digits, deduplicated query words. Punctuation-only queries contain zero terms. Reject invalid/duplicate IDs, more than 20 candidates, empty queries and queries exceeding 8,192 bytes. Callers supply a permission-filtered index and IDs belonging to that index.
The index gains no persistent fields. Candidate counters/results use fixed arrays, while query tokenization allocates temporary memory. Immutable reads need no shared locks. This is not an allocation-free operation.
Four research features are first-candidate term coverage, mean and population standard deviation across the baseline top min(20,n), and the fraction of unique query terms absent from the baseline vocabulary. Preserve the original 12 features and four score-distribution features; store new values in a separate array before helper retrieval or gold-rank calculation. Lexical presence is neither semantic understanding nor correctness probability.
The plan was committed before execution. As in audit 23, only the training repository selects each feature's orientation. Values below are unweighted means of three repository AUCs, not accuracy.
| New feature | Harm/rest | Benefit/rest | Harm/benefit |
|---|---|---|---|
| First-candidate coverage | 0.5157 | 0.5742 | 0.4933 |
| Top-20 mean coverage | 0.5675 | 0.5696 | 0.4709 |
| Top-20 coverage stddev | 0.5210 | 0.5403 | 0.4745 |
| Query vocabulary absence | 0.4909 | 0.4932 | 0.4756 |
Each full target counts all 2,948 distinct queries once. Harm/benefit is a 478-case subgroup, excluding page ties, not a separate ≥2,400-case final test. There remain 146 harms, 332 benefits and 2,470 ties. Publish tied-score AP, prevalence and every fold alongside AUC.
Do not flip feature direction after seeing low evaluation AUC. Individual weakness does not exclude useful interactions. As precommitted, next freeze a separate 16-versus-20-feature training comparison, adding all four features while holding objective, splits and selection fixed. Do not cherry-pick features or simultaneously change the loss. If the joint comparison also fails, these features lack support for default integration.
Apple M4 Pro/macOS/Go 1.27.1 synthetic fixture: 3,009 documents, 20 selected candidates, four lowercase query words (two known, two absent). Index construction is outside timing.
| Operation | Three runs | Allocation |
|---|---|---|
| Coverage for 20 candidates | 681.6 / 650.1 / 640.3 ns | 64 B/op, 1 alloc/op |
| Baseline ranking, reused arrays | 11,883 / 11,825 / 11,867 ns | 120 B/op, 3 allocs/op |
These operations are not substitutes: coverage adds work after baseline ranking. No end-to-end speedup is established. This fixed short warm-cache query does not bound longer inputs, case conversion or more known terms. The coverage microbenchmark excludes the research-feature mean/stddev reduction and JSON/IPC.
CPU samples attribute 82.61% cumulative time to the coverage method and 36.65% flat to integer posting binary search in that synthetic run. This is not an application-wide/GPU bottleneck measurement. Raw profiles remain local.
One complete source-check/retrieval/feature/audit process took wall 1.85s, user CPU 1.50s, peak RSS 91,717,632 bytes (~87.5MiB). This is whole-process cost, not per-function memory or proof of RSS improvement over prior experiments.
Full report replay is byte-identical. Audit 23 also replays byte-identically after shared preparation changes. Tests compare posting-based coverage with direct synthetic text inspection and cover duplicates, case/Korean text, unknown words, invalid IDs, concurrent readers, unchanged rankings and feature values. All prior 16-feature diagnostics remain unchanged.
go run ./cmd/riido-coverageaudit --out .cache/query-coverage-24
go test ./pkg/hintsearch -run '^$' -bench BenchmarkCoverageAndRanking -benchmemFull results. Repeated development data from three repositories is not fresh ≥2,400 real-user evidence. Agent completion and LLM savings remain unverified. CoSQA reserves remain unscored; no new model weights or HF model repository are produced.
CI passed on macOS and Linux; PR #47 merged. macOS·Linux CI 및 병합 완료. Feature research only; no new model release / 특징 연구이며 새 모델 배포 없음.
Follow-up / 후속: Joint training 25 / 조합 학습. Both seeds worsen page cost; additions deferred. 두 초기값 모두 페이지 비용이 악화되어 추가 채택 보류.
riidolaya is experimental. No demonstrated Codex cost savings; repository selection is preview-only.
riidolaya는 실험 단계입니다. Codex 절감은 미입증이며 저장소 선택은 preview입니다.
English README · 한국어 README · Versioned Wiki sources / Wiki 원본
이전 연구 안내 펼치기 / Earlier research
- 실제 이어 학습 V3 · 한국어 · Actual V3 training · English
- 진행·완료 보고·질문100건 결과 KO · 100-case results EN
- 라벨·이모지·상태 힌트 KO · Content/state hints EN
- 개발 진행·완료 보고·질문 pilot KO · Development pilot EN
- 작은 검증 기록 KO · Compact evidence EN
- 현재 개발 자료 35개·다음 학습 조건 · 35-row data and next training gates
- 개발용 학습 자료 2개 · Two qualified training requests
- 첫 두 과제 실제 관측 · First two actual observations
- 전체 사용법 KO · Full usage EN
- 작은 동작 힌트 KO · Small hints EN
- 설명 보강 비교76 · Caption diagnostic76
- Go 압축 가중치78 · Packed Go weights78
- 공개 함수 동작 검증 · Public function verification
- 다음 학습 자료 준비 · Training data preparation
- 동작에서 학습 정답·실제 학습79 · Grounded labels and actual fit79
- 소스 동작 관찰 · Source observations
- 저장 크기와 RAM · Storage and RAM
- 라이선스 · Licensing
- 시점별 기록 원문 / Chronological history
- 전체 연구 링크 / Full research index
- 문서 목록 / Documentation