From 9d2d6a65a035e8615934ebd00245c32d7f26e702 Mon Sep 17 00:00:00 2001 From: "Shuhao Zhang (Tony)" Date: Sat, 29 Aug 2026 22:23:28 +0800 Subject: [PATCH 1/4] paper: add BriskSeed claim-boundary draft --- paper/advisor_review/.gitignore | 4 + paper/advisor_review/BUILD.md | 5 + paper/advisor_review/BUILD_TRANSCRIPT.txt | 15 + paper/advisor_review/Makefile | 6 + paper/advisor_review/main.log | 354 ++++++++++++++++++++++ paper/advisor_review/main.pdf | Bin 0 -> 51388 bytes paper/advisor_review/main.tex | 54 ++++ paper/advisor_review/references.bib | 4 + 8 files changed, 442 insertions(+) create mode 100644 paper/advisor_review/.gitignore create mode 100644 paper/advisor_review/BUILD.md create mode 100644 paper/advisor_review/BUILD_TRANSCRIPT.txt create mode 100644 paper/advisor_review/Makefile create mode 100644 paper/advisor_review/main.log create mode 100644 paper/advisor_review/main.pdf create mode 100644 paper/advisor_review/main.tex create mode 100644 paper/advisor_review/references.bib diff --git a/paper/advisor_review/.gitignore b/paper/advisor_review/.gitignore new file mode 100644 index 00000000..20d39089 --- /dev/null +++ b/paper/advisor_review/.gitignore @@ -0,0 +1,4 @@ +main.aux +main.bbl +main.blg +main.out diff --git a/paper/advisor_review/BUILD.md b/paper/advisor_review/BUILD.md new file mode 100644 index 00000000..89b50802 --- /dev/null +++ b/paper/advisor_review/BUILD.md @@ -0,0 +1,5 @@ +# Build +This independent advisor draft preserves the student manuscript unchanged. +```text +PATH=/home/shuhao/.conda/envs/neuromem/bin:$PATH make pdf +``` diff --git a/paper/advisor_review/BUILD_TRANSCRIPT.txt b/paper/advisor_review/BUILD_TRANSCRIPT.txt new file mode 100644 index 00000000..37028113 --- /dev/null +++ b/paper/advisor_review/BUILD_TRANSCRIPT.txt @@ -0,0 +1,15 @@ +Script started on 2026-08-29 22:20:54+08:00 [] +tectonic --keep-intermediates --keep-logs main.tex +Running TeX ... +Running BibTeX on main.aux ... +Rerunning TeX because bibtex was run ... +Rerunning TeX because "main.aux" changed ... +Running xdvipdfmx ... +Writing `main.out` (910 B) +Writing `main.pdf` (50.18359375 KiB) +Writing `main.bbl` (1.0244140625 KiB) +Writing `main.aux` (2.05078125 KiB) +Writing `main.blg` (191 B) +Writing `main.log` (11.8564453125 KiB) + +Script done on 2026-08-29 22:20:56+08:00 [COMMAND_EXIT_CODE="0"] diff --git a/paper/advisor_review/Makefile b/paper/advisor_review/Makefile new file mode 100644 index 00000000..235235cf --- /dev/null +++ b/paper/advisor_review/Makefile @@ -0,0 +1,6 @@ +TECTONIC ?= tectonic +.PHONY: pdf clean +pdf: + $(TECTONIC) --keep-intermediates --keep-logs main.tex +clean: + rm -f main.aux main.bbl main.blg main.log main.out main.pdf diff --git a/paper/advisor_review/main.log b/paper/advisor_review/main.log new file mode 100644 index 00000000..b7301668 --- /dev/null +++ b/paper/advisor_review/main.log @@ -0,0 +1,354 @@ +** +(main.tex +LaTeX2e <2021-11-15> patch level 1 +L3 programming layer <2022-02-24> (article.cls +Document Class: article 2021/10/04 v1.4n Standard LaTeX document class +(size10.clo +File: size10.clo 2021/10/04 v1.4n Standard LaTeX file (size option) +) +\c@part=\count181 +\c@section=\count182 +\c@subsection=\count183 +\c@subsubsection=\count184 +\c@paragraph=\count185 +\c@subparagraph=\count186 +\c@figure=\count187 +\c@table=\count188 +\abovecaptionskip=\skip47 +\belowcaptionskip=\skip48 +\bibindent=\dimen138 +) (geometry.sty +Package: geometry 2020/01/02 v5.9 Page Geometry + (keyval.sty +Package: keyval 2014/10/28 v1.15 key=value parser (DPC) +\KV@toks@=\toks16 +) (ifvtex.sty +Package: ifvtex 2019/10/25 v1.7 ifvtex legacy package. Use iftex instead. + (iftex.sty +Package: iftex 2022/02/03 v1.0f TeX engine tests +)) +\Gm@cnth=\count189 +\Gm@cntv=\count190 +\c@Gm@tempcnt=\count191 +\Gm@bindingoffset=\dimen139 +\Gm@wd@mp=\dimen140 +\Gm@odd@mp=\dimen141 +\Gm@even@mp=\dimen142 +\Gm@layoutwidth=\dimen143 +\Gm@layoutheight=\dimen144 +\Gm@layouthoffset=\dimen145 +\Gm@layoutvoffset=\dimen146 +\Gm@dimlist=\toks17 +) +(booktabs.sty +Package: booktabs 2020/01/12 v1.61803398 Publication quality tables +\heavyrulewidth=\dimen147 +\lightrulewidth=\dimen148 +\cmidrulewidth=\dimen149 +\belowrulesep=\dimen150 +\belowbottomsep=\dimen151 +\aboverulesep=\dimen152 +\abovetopsep=\dimen153 +\cmidrulesep=\dimen154 +\cmidrulekern=\dimen155 +\defaultaddspace=\dimen156 +\@cmidla=\count192 +\@cmidlb=\count193 +\@aboverulesep=\dimen157 +\@belowrulesep=\dimen158 +\@thisruleclass=\count194 +\@lastruleclass=\count195 +\@thisrulewidth=\dimen159 +) (tabularx.sty +Package: tabularx 2020/01/15 v2.11c `tabularx' package (DPC) + (array.sty +Package: array 2021/10/04 v2.5f Tabular extension package (FMi) +\col@sep=\dimen160 +\ar@mcellbox=\box50 +\extrarowheight=\dimen161 +\NC@list=\toks18 +\extratabsurround=\skip49 +\backup@length=\skip50 +\ar@cellbox=\box51 +) +\TX@col@width=\dimen162 +\TX@old@table=\dimen163 +\TX@old@col=\dimen164 +\TX@target=\dimen165 +\TX@delta=\dimen166 +\TX@cols=\count196 +\TX@ftn=\toks19 +) (enumitem.sty +Package: enumitem 2019/06/20 v3.9 Customized lists +\labelindent=\skip51 +\enit@outerparindent=\dimen167 +\enit@toks=\toks20 +\enit@inbox=\box52 +\enit@count@id=\count197 +\enitdp@description=\count198 +) (microtype.sty +Package: microtype 2022/03/14 v3.0d Micro-typographical refinements (RS) + +(etoolbox.sty +Package: etoolbox 2020/10/05 v2.5k e-TeX tools for LaTeX (JAW) +\etb@tempcnta=\count199 +) +\MT@toks=\toks21 +\MT@tempbox=\box53 +\MT@count=\count266 +LaTeX Info: Redefining \noprotrusionifhmode on input line 1027. +LaTeX Info: Redefining \leftprotrusion on input line 1028. +LaTeX Info: Redefining \rightprotrusion on input line 1036. +LaTeX Info: Redefining \textls on input line 1195. +\MT@outer@kern=\dimen168 +LaTeX Info: Redefining \textmicrotypecontext on input line 1781. +\MT@listname@count=\count267 + (microtype-xetex.def +File: microtype-xetex.def 2022/03/14 v3.0d Definitions specific to xetex (RS) +LaTeX Info: Redefining \lsstyle on input line 236. +) +Package microtype Info: Loading configuration file microtype.cfg. + (microtype.cfg +File: microtype.cfg 2022/03/14 v3.0d microtype main configuration file (RS) +)) (hyperref.sty +Package: hyperref 2022-02-21 v7.00n Hypertext links for LaTeX + +(ltxcmds.sty +Package: ltxcmds 2020-05-10 v1.25 LaTeX kernel commands for general use (HO) +) (pdftexcmds.sty +Package: pdftexcmds 2020-06-27 v0.33 Utility functions of pdfTeX for LuaTeX (HO +) + (infwarerr.sty +Package: infwarerr 2019/12/03 v1.5 Providing info/warning/error messages (HO) +) +Package pdftexcmds Info: \pdf@primitive is available. +Package pdftexcmds Info: \pdf@ifprimitive is available. +Package pdftexcmds Info: \pdfdraftmode not found. +) (kvsetkeys.sty +Package: kvsetkeys 2019/12/15 v1.18 Key value parser (HO) +) +(kvdefinekeys.sty +Package: kvdefinekeys 2019-12-19 v1.6 Define keys (HO) +) (pdfescape.sty +Package: pdfescape 2019/12/09 v1.15 Implements pdfTeX's escape features (HO) +) (hycolor.sty +Package: hycolor 2020-01-27 v1.10 Color options for hyperref/bookmark (HO) +) (letltxmacro.sty +Package: letltxmacro 2019/12/03 v1.6 Let assignment for LaTeX macros (HO) +) (auxhook.sty +Package: auxhook 2019-12-17 v1.6 Hooks for auxiliary files (HO) +) (kvoptions.sty +Package: kvoptions 2020-10-07 v3.14 Key value format for package options (HO) +) +\@linkdim=\dimen169 +\Hy@linkcounter=\count268 +\Hy@pagecounter=\count269 + (pd1enc.def +File: pd1enc.def 2022-02-21 v7.00n Hyperref: PDFDocEncoding definition (HO) +) (intcalc.sty +Package: intcalc 2019/12/15 v1.3 Expandable calculations with integers (HO) +) (etexcmds.sty +Package: etexcmds 2019/12/15 v1.7 Avoid name clashes with e-TeX commands (HO) +) +\Hy@SavedSpaceFactor=\count270 + (puenc.def +File: puenc.def 2022-02-21 v7.00n Hyperref: PDF Unicode definition (HO) +) +Package hyperref Info: Hyper figures OFF on input line 4137. +Package hyperref Info: Link nesting OFF on input line 4142. +Package hyperref Info: Hyper index ON on input line 4145. +Package hyperref Info: Plain pages OFF on input line 4152. +Package hyperref Info: Backreferencing OFF on input line 4157. +Package hyperref Info: Implicit mode ON; LaTeX internals redefined. +Package hyperref Info: Bookmarks ON on input line 4390. +\c@Hy@tempcnt=\count271 + +(url.sty +\Urlmuskip=\muskip16 +Package: url 2013/09/16 ver 3.4 Verb mode for urls, etc. +) +LaTeX Info: Redefining \url on input line 4749. +\XeTeXLinkMargin=\dimen170 + (bitset.sty +Package: bitset 2019/12/09 v1.3 Handle bit-vector datatype (HO) + (bigintcalc.sty +Package: bigintcalc 2019/12/15 v1.5 Expandable calculations on big integers (HO +) +)) +\Fld@menulength=\count272 +\Field@Width=\dimen171 +\Fld@charsize=\dimen172 +Package hyperref Info: Hyper figures OFF on input line 6027. +Package hyperref Info: Link nesting OFF on input line 6032. +Package hyperref Info: Hyper index ON on input line 6035. +Package hyperref Info: backreferencing OFF on input line 6042. +Package hyperref Info: Link coloring OFF on input line 6047. +Package hyperref Info: Link coloring with OCG OFF on input line 6052. +Package hyperref Info: PDF/A mode OFF on input line 6057. +LaTeX Info: Redefining \ref on input line 6097. +LaTeX Info: Redefining \pageref on input line 6101. + (atbegshi-ltx.sty +Package: atbegshi-ltx 2021/01/10 v1.0c Emulation of the original atbegshi +package with kernel methods +) +\Hy@abspage=\count273 +\c@Item=\count274 +\c@Hfootnote=\count275 +) +Package hyperref Info: Driver (autodetected): hxetex. + (hxetex.def +File: hxetex.def 2022-02-21 v7.00n Hyperref driver for XeTeX + +(stringenc.sty +Package: stringenc 2019/11/29 v1.12 Convert strings between diff. encodings (HO +) +) +\pdfm@box=\box54 +\c@Hy@AnnotLevel=\count276 +\HyField@AnnotCount=\count277 +\Fld@listcount=\count278 +\c@bookmark@seq@number=\count279 + (rerunfilecheck.sty +Package: rerunfilecheck 2019/12/05 v1.9 Rerun checks for auxiliary files (HO) + (atveryend-ltx.sty +Package: atveryend-ltx 2020/08/19 v1.0a Emulation of the original atveryend pac +kage +with kernel methods +) (uniquecounter.sty +Package: uniquecounter 2019/12/15 v1.4 Provide unlimited unique counter (HO) +) +Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 2 +86. +) +\Hy@SectionHShift=\skip52 +) +(l3backend-xetex.def +File: l3backend-xetex.def 2022-02-07 L3 backend support: XeTeX +\c__kernel_sys_dvipdfmx_version_int=\count280 +\l__color_backend_stack_int=\count281 +\g__color_backend_stack_int=\count282 +\g__graphics_track_int=\count283 +\l__pdf_internal_box=\box55 +\g__pdf_backend_object_int=\count284 +\g__pdf_backend_annotation_int=\count285 +\g__pdf_backend_link_int=\count286 +) (main.aux) +\openout1 = `main.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 9. +LaTeX Font Info: Trying to load font information for TS1+cmr on input line 9 +. + (ts1cmr.fd +File: ts1cmr.fd 2019/12/16 v2.5j Standard LaTeX font definitions +) +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for TU/lmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. +LaTeX Font Info: Checking defaults for PU/pdf/m/n on input line 9. +LaTeX Font Info: ... okay on input line 9. + +*geometry* driver: auto-detecting +*geometry* detected driver: xetex +*geometry* verbose mode - [ preamble ] result: +* driver: xetex +* paper: +* layout: +* layoutoffset:(h,v)=(0.0pt,0.0pt) +* modes: +* h-part:(L,W,R)=(39.74872pt, 534.79756pt, 39.74872pt) +* v-part:(T,H,B)=(39.74872pt, 715.47255pt, 39.74872pt) +* \paperwidth=614.295pt +* \paperheight=794.96999pt +* \textwidth=534.79756pt +* \textheight=715.47255pt +* \oddsidemargin=-32.52127pt +* \evensidemargin=-32.52127pt +* \topmargin=-69.52127pt +* \headheight=12.0pt +* \headsep=25.0pt +* \topskip=10.0pt +* \footskip=30.0pt +* \marginparwidth=65.0pt +* \marginparsep=11.0pt +* \columnsep=10.0pt +* \skip\footins=9.0pt plus 4.0pt minus 2.0pt +* \hoffset=0.0pt +* \voffset=0.0pt +* \mag=1000 +* \@twocolumnfalse +* \@twosidefalse +* \@mparswitchfalse +* \@reversemarginfalse +* (1in=72.27pt=25.4mm, 1cm=28.453pt) + +LaTeX Info: Redefining \microtypecontext on input line 9. +Package microtype Info: Applying patch `item' on input line 9. +Package microtype Info: Applying patch `toc' on input line 9. +Package microtype Info: Applying patch `eqnum' on input line 9. +Package microtype Info: Applying patch `footnote' on input line 9. +Package microtype Info: Character protrusion enabled (level 2). +Package microtype Info: Using default protrusion set `alltext'. +Package microtype Info: No adjustment of tracking. +Package microtype Info: No adjustment of spacing. +Package microtype Info: No adjustment of kerning. +(mt-LatinModernRoman.cfg +File: mt-LatinModernRoman.cfg 2021/02/21 v1.1 microtype config. file: Latin Mod +ern Roman (RS) +) +Package hyperref Info: Link coloring OFF on input line 9. + (nameref.sty +Package: nameref 2021-04-02 v2.47 Cross-referencing by name of section + (refcount.sty +Package: refcount 2019/12/15 v3.6 Data extraction from label references (HO) +) (gettitlestring.sty +Package: gettitlestring 2019/12/15 v1.6 Cleanup title references (HO) +) +\c@section@level=\count287 +) +LaTeX Info: Redefining \ref on input line 9. +LaTeX Info: Redefining \pageref on input line 9. +LaTeX Info: Redefining \nameref on input line 9. + +(main.out) (main.out) +\@outlinefile=\write3 +\openout3 = `main.out'. + + (mt-cmr.cfg +File: mt-cmr.cfg 2013/05/19 v2.2 microtype config. file: Computer Modern Roman +(RS) +) +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 10. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 10. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 10. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <9> on input line 27. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <5> on input line 27. +Package microtype Info: Loading generic protrusion settings for font family +(microtype) `lmtt' (encoding: TU). +(microtype) For optimal results, create family-specific settings. +(microtype) See the microtype manual for details. + [1 + +] (main.bbl) [2] (main.aux) +Package rerunfilecheck Info: File `main.out' has not changed. +(rerunfilecheck) Checksum: 90931822CC9B098081164C7B66C1B6A6;910. + ) +Output written on main.xdv (2 pages, 85344 bytes). diff --git a/paper/advisor_review/main.pdf b/paper/advisor_review/main.pdf new file mode 100644 index 0000000000000000000000000000000000000000..9c12cf3ffe7b20c1c9292e60194638f4c0ddcd49 GIT binary patch literal 51388 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 literal 0 HcmV?d00001 diff --git a/paper/advisor_review/main.tex b/paper/advisor_review/main.tex new file mode 100644 index 00000000..07e5d8b5 --- /dev/null +++ b/paper/advisor_review/main.tex @@ -0,0 +1,54 @@ +\documentclass[10pt]{article} +\usepackage[margin=0.55in]{geometry} +\usepackage{booktabs,tabularx,array,enumitem,microtype} +\usepackage[hidelinks]{hyperref} +\emergencystretch=1em +\title{BriskSeed: When Is Historical Search-State Reuse Useful?\\\large Advisor Claim-Boundary and Evidence Contract} +\author{Advisor-authored narrative; implementation and experiments remain student-owned} +\date{August 2026} +\begin{document}\maketitle +\begin{abstract} +BriskSeed reuses successful approximate-nearest-neighbor (ANN) search outcomes as seeds while an index evolves. The BriskSeed branch contains an extensive student manuscript and result figures, but its current paper does not compile under Tectonic and its numerical claims are not bound to a single result/provenance manifest. This independent draft therefore treats those numbers as branch-local historical reports, not verified results. It isolates the publishable question: under what drift, query recurrence, and memory budget does seed reuse beat the strongest dynamic-ANN backend at matched recall and total update-plus-query cost? We freeze baselines, oracles, evidence gates, and failure conditions. No experiment was run and the student manuscript is unchanged. +\end{abstract} +\small + +\section{Seven-Question Storyline} +\begin{enumerate}[leftmargin=*,label=\textbf{Q\arabic*.}] +\item \textbf{Problem.} In a continuously updated ANN graph, when can a prior query's result set safely and profitably seed later traversal, and when does drift make reuse harmful? +\item \textbf{Importance.} Dynamic vector services must jointly absorb updates and serve queries. Blind reuse risks recall; rebuilding auxiliary guidance consumes update budget; always falling back loses the opportunity to avoid random graph accesses. +\item \textbf{Related-work assumption.} HNSW is a strong configurable search baseline~\cite{malkov2020hnsw}; GraphReorder targets cache locality but assumes an expensive layout transformation~\cite{coleman2022graphreorder}; Wolverine repairs paths after updates~\cite{liu2025wolverine}; CANDOR-Bench exposes open-world update/query interference~\cite{wang2026candor}. None of these establishes that historical query outcomes remain useful under drift. BriskSeed must separate its reuse mechanism from the benchmark contribution and from backend update quality. +\item \textbf{Mechanism hypothesis.} Keep a bounded hot tier for exact/high-confidence recurrent queries and a bounded semantic tier for long-tail candidates. Retrieve a seed, perform limited native graph expansion, validate its boundary/overlap receipt, and fall back to the unmodified backend when confidence fails. The hypothesis is that avoided traversal exceeds lookup, validation, writeback, and stale-seed recovery cost. +\item \textbf{Feasibility.} The branch contains a two-tier StreamSeed implementation, a plugin seam, runbooks, figures, and CSV summaries. These demonstrate implementation and historical-analysis presence. They do not yet prove a reproducible mechanism result because exact command, exit, hardware, dataset, backend pin, and raw-to-figure linkage are not unified. +\item \textbf{Evaluation.} Section~\ref{sec:eval} specifies matched arms, correctness oracle, metrics, provenance, success gate, and stopping conditions before a held-out run. +\item \textbf{Takeaway.} A positive paper would identify a predictive reuse boundary over drift, recurrence, and memory. A negative paper would show that robust native search/fallback cost eliminates the apparent gain, closing seed reuse for that regime without weakening CANDOR-Bench. +\end{enumerate} + +\section{Architecture and Predictive Boundary} +For query generation $g$, each seed receipt binds query identity/signature, source generation, returned IDs, reuse kind, age, and subsequent validation decision. Update receipts bind inserted/deleted IDs and the exact backend state. A seed hit is not a success: it succeeds only if the accepted result satisfies the exact top-$k$ oracle and reduces total work. The hypothesis predicts lower gains as unseen-query fraction, update batch size, or distribution shift rises; larger gains when recurrence and top-$k$ stability rise; and a backend-dependent crossover because native update repair changes fallback quality. The branch-reported FreshDiskANN recall decrease is therefore a negative boundary, not noise to tune away. + +\section{Matched Evaluation Contract}\label{sec:eval} +\paragraph{Arms.} B0 is the same backend with BriskSeed disabled and its strongest deployable search configuration. B1 caches exact query results with invalidation, separating ordinary caching from seed-guided traversal. B2 periodically rebuilds static guidance with the rebuild interval swept. B3 is an oracle that chooses native versus seeded search after executing both; it measures headroom but is not deployable. Treatment is the frozen two-tier BriskSeed policy. Report HNSW, SymphonyQG, FreshDiskANN, and any dynamic repair backend as separate strata; never pool them as repetitions. + +\paragraph{Matching and provenance.} Freeze Git/submodule pins, compiler flags, CPU/NUMA identity, dataset and split hashes, distance metric, ordered update/query streams, backend construction/search parameters, threads, seeds, and memory cap. Compare latency- or work-matched Pareto frontiers, not one hand-selected \texttt{efSearch}. Charge seed lookup, validation, fallback, writeback, eviction, and memory to the treatment. + +\paragraph{Oracle.} Recompute exact nearest neighbors against the post-update live set at every measured generation. Require 100\% identity conservation: no deleted IDs, duplicates, omissions, cross-generation seed use, or query/ground-truth mismatch. Report Recall@$k$ from the exact oracle and verify that fallback invokes the identical B0 path/configuration. + +\paragraph{Metrics and gate.} Report update latency/throughput, query QPS and p95, Recall@$k$, distance computations, nodes visited, cache misses, fallback rate, seed age/hit/accept rates, bytes, and peak memory with full repeated-run distributions. A positive claim requires a repeated deployable winner switch over the strongest B0--B2 frontier \emph{and} B3 oracle headroom. Recall loss must remain within a student-preregistered bound for every backend, not just on average; numeric margins and repetition counts are TBD until frozen before held-out execution. + +\paragraph{Stops.} Stop if the gain vanishes after charging maintenance/fallback, relies on repeated identical queries, fails on a second drift family/backend, is matched by exact caching, or violates any identity/recall gate. Do not retune validation thresholds after observing held-out failures. + +\section{Evidence Ledger and Two-Week Closure} +\begin{tabularx}{\linewidth}{@{}>{\raggedright\arraybackslash}p{.22\linewidth}>{\raggedright\arraybackslash}p{.18\linewidth}X@{}} +\toprule Artifact & Level & Allowed statement\\\midrule +Student manuscript/figures & historical branch report & Motivate hypotheses only; current Tectonic build fails and no unified provenance manifest binds claims.\\ +Summary CSV files & historical summary & Values are not raw results and are not promoted to real-online evidence.\\ +StreamSeed source/plugin & implementation presence & Establishes a mechanism carrier, not superiority.\\ +This PDF & derived artifact & Establishes only reproducible advisor narrative compilation.\\\bottomrule +\end{tabularx} + +Week one: the student owner freezes all identities, links raw rows to figures/claims, repairs the formal manuscript build, and validates generation-aware exact oracles. Week two: the owner runs matched B0--B3/treatment sweeps and applies the frozen gate. Advisor ownership ends at narrative and acceptance criteria; code, environment, execution, debugging, and results remain student-owned. BriskSeed is currently CPU dynamic-ANN work, so an NPU six-link claim is inapplicable; accelerator mapping without a native counterexample and mechanism is adaptation. + +\section{Conclusion} +The credible contribution is not ``reuse is always faster,'' but a falsifiable boundary for when historical state remains useful after updates. The contract protects that boundary from uncharged maintenance, weak baselines, and unbound historical plots. +\bibliographystyle{plain}\bibliography{references} +\end{document} diff --git a/paper/advisor_review/references.bib b/paper/advisor_review/references.bib new file mode 100644 index 00000000..2f0d8273 --- /dev/null +++ b/paper/advisor_review/references.bib @@ -0,0 +1,4 @@ +@article{malkov2020hnsw,author={Yu A. Malkov and D. A. Yashunin},title={Efficient and Robust Approximate Nearest Neighbor Search Using Hierarchical Navigable Small World Graphs},journal={IEEE TPAMI},year={2020},volume={42},number={4},pages={824--836},doi={10.1109/TPAMI.2018.2889473}} +@inproceedings{coleman2022graphreorder,author={Benjamin Coleman and Santiago Segarra and Alexander J. Smola and Anshumali Shrivastava},title={Graph Reordering for Cache-Efficient Near Neighbor Search},booktitle={NeurIPS},year={2022},volume={35},pages={38488--38500}} +@article{liu2025wolverine,author={Dawei Liu and Bolong Zheng and Ziyang Yue and Fuhao Ruan and Xiaofang Zhou and Christian S. Jensen},title={Wolverine: Highly Efficient Monotonic Search Path Repair for Graph-Based ANN Index Updates},journal={PVLDB},year={2025},volume={18},number={7},pages={2268--2280},doi={10.14778/3734839.3734860}} +@article{wang2026candor,author={Mingqi Wang and Junyao Dong and Zhuoyan Wu and others},title={{CANDOR-Bench}: Benchmarking In-Memory Continuous {ANNS} under Dynamic Open-World Streams},journal={Proceedings of the ACM on Management of Data},year={2026},volume={4},number={1},doi={10.1145/3786630}} From c37092d11a7f0459fc3b3f2f74cb70c8496ac9ed Mon Sep 17 00:00:00 2001 From: "Shuhao Zhang (Tony)" Date: Sat, 29 Aug 2026 22:24:09 +0800 Subject: [PATCH 2/4] paper: bind BriskSeed review artifacts --- paper/advisor_review/MANIFEST.md | 36 ++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 paper/advisor_review/MANIFEST.md diff --git a/paper/advisor_review/MANIFEST.md b/paper/advisor_review/MANIFEST.md new file mode 100644 index 00000000..7ccb5704 --- /dev/null +++ b/paper/advisor_review/MANIFEST.md @@ -0,0 +1,36 @@ +# Advisor review artifact manifest + +- Canonical carrier: `DataSysResearch/CANDOR-Bench`, base branch `BriskSeed` +- Source base: `4cde3b3f079ad9b1e4c98b10c2dfa7edf405f07a` +- Artifact commit: `9d2d6a65a035e8615934ebd00245c32d7f26e702` +- Build: `PATH=/home/shuhao/.conda/envs/neuromem/bin:$PATH make pdf` +- Tectonic exit: `0`; pages: `2`; warnings: none +- Visual check: both pages rendered at 110 DPI and inspected; no clipping, + overflow, broken glyphs, or unintended blank page. + +## SHA256 + +| Artifact | Digest | +|---|---| +| `main.tex` | `0289b0ef89dd9a26934652d2ca6ac6c3e9d97ad4eb5902fcefd6be4031425077` | +| `references.bib` | `5a62eb8ce80a3534178aa7942cfb322ed65de5e90aacbcd15ef85fbe171c3b9e` | +| `main.pdf` | `5406ef30f7f9e449964451c572975f42a0dff345361dab2d6b08be722b2ac173` | +| `main.log` | `935c8f81feda1a2d2637a56b0ce76d3024643d00951b46f6e2a1a50d0dd9d93a` | +| `BUILD_TRANSCRIPT.txt` | `8608fa9a7e8410d6aac0481e07b7d2f76039db7f7ade2064e10426cc8d7ede5e` | + +## Test and evidence boundary + +- `git diff --check`: pass. +- Full host suite, Python 3.11: collection stopped with seven missing-dependency + errors (`numpy`, `yaml`). +- Full host suite, Python 3.10: collection stopped with four errors because + `h5py` is absent. +- Dependency-light subset: 7 passed, 2 failed. Existing failures are + `random-xs` returning no ground truth and a test shell invoking unavailable + bare `python`; this paper-only branch changes no mechanism or test code. +- Existing formal student manuscript was preserved unchanged. Its Tectonic + build fails because the `algorithm` environment is undefined and citation + `Gong20251593` is absent from its bibliography. +- Existing plots/CSV files remain historical branch evidence. No raw-to-claim + manifest binds them, so no numerical result is promoted here. +- Implementation, environment, experiments, and results remain student-owned. From f9661a4f6bddd08c18b51a279c17ff1ac904a82e Mon Sep 17 00:00:00 2001 From: "Shuhao Zhang (Tony)" Date: Mon, 31 Aug 2026 09:10:07 +0800 Subject: [PATCH 3/4] paper: make seven-question semantics explicit --- paper/advisor_review/BUILD_TRANSCRIPT.txt | 25 +++++++++------------- paper/advisor_review/main.log | 2 +- paper/advisor_review/main.pdf | Bin 51388 -> 51586 bytes paper/advisor_review/main.tex | 6 +++--- 4 files changed, 14 insertions(+), 19 deletions(-) diff --git a/paper/advisor_review/BUILD_TRANSCRIPT.txt b/paper/advisor_review/BUILD_TRANSCRIPT.txt index 37028113..d0c45425 100644 --- a/paper/advisor_review/BUILD_TRANSCRIPT.txt +++ b/paper/advisor_review/BUILD_TRANSCRIPT.txt @@ -1,15 +1,10 @@ -Script started on 2026-08-29 22:20:54+08:00 [] -tectonic --keep-intermediates --keep-logs main.tex -Running TeX ... -Running BibTeX on main.aux ... -Rerunning TeX because bibtex was run ... -Rerunning TeX because "main.aux" changed ... -Running xdvipdfmx ... -Writing `main.out` (910 B) -Writing `main.pdf` (50.18359375 KiB) -Writing `main.bbl` (1.0244140625 KiB) -Writing `main.aux` (2.05078125 KiB) -Writing `main.blg` (191 B) -Writing `main.log` (11.8564453125 KiB) - -Script done on 2026-08-29 22:20:56+08:00 [COMMAND_EXIT_CODE="0"] +note: Running TeX ... +note: Running BibTeX on main.aux ... +note: Rerunning TeX because bibtex was run ... +note: Running xdvipdfmx ... +note: Writing `main.blg` (191 B) +note: Writing `main.bbl` (1.0244140625 KiB) +note: Writing `main.out` (910 B) +note: Writing `main.pdf` (50.376953125 KiB) +note: Writing `main.log` (11.8564453125 KiB) +note: Writing `main.aux` (2.05078125 KiB) diff --git a/paper/advisor_review/main.log b/paper/advisor_review/main.log index b7301668..458eea51 100644 --- a/paper/advisor_review/main.log +++ b/paper/advisor_review/main.log @@ -351,4 +351,4 @@ Package microtype Info: Loading generic protrusion settings for font family Package rerunfilecheck Info: File `main.out' has not changed. (rerunfilecheck) Checksum: 90931822CC9B098081164C7B66C1B6A6;910. ) -Output written on main.xdv (2 pages, 85344 bytes). +Output written on main.xdv (2 pages, 86116 bytes). diff --git a/paper/advisor_review/main.pdf b/paper/advisor_review/main.pdf index 9c12cf3ffe7b20c1c9292e60194638f4c0ddcd49..8f80347c61ff0d1cd6e9426ee5731923c931793f 100644 GIT binary patch delta 13198 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