diff --git a/wizard-work/sphinx/MANIFEST-mm-vla-dossier-2026-10-22.json b/wizard-work/sphinx/MANIFEST-mm-vla-dossier-2026-10-22.json new file mode 100644 index 0000000..dcf6a50 --- /dev/null +++ b/wizard-work/sphinx/MANIFEST-mm-vla-dossier-2026-10-22.json @@ -0,0 +1,177 @@ +{ + "dossier_dir": "/root/.hermes/wizard-outputs/sphinx/mm-vla-dossier-2026-10-22", + "generated_utc": "2026-10-22T17:13:24Z", + "query": "cat:cs.CV AND abs:\"multimodal\"", + "atom_url": "https://export.arxiv.org/api/query?search_query=cat:cs.CV+AND+abs:%22multimodal%22&start=0&max_results=120&sortBy=submittedDate&sortOrder=descending", + "atom_http": 200, + "atom_sha256": "17767bfb4ec4c02fdc21e79d7bf7f96035610ee37356a1edc2a3319a7e4c95be", + "atom_bytes": 311552, + "atom_totalResults": 15740, + "papers": [ + { + "arxiv_id": "2610.30108v1", + "title": "Multimodal Embodied Agents: A Unified Capability-centric Perspective from Computer-Use to Robot-Use", + "primary_category": "cs.RO", + "categories": [ + "cs.RO", + "cs.AI", + "cs.CV", + "cs.MA", + "cs.MM" + ], + "authors": [ + "Yanzhe Chen", + "Ziyi Yang", + "Jifeng Zhu", + "Qiming Huang", + "Ruihe An", + "Peiyao Xu", + "Hesen Yang", + "Runda Liu", + "Chang Gong", + "Zhijun Cao", + "Zechen Bai", + "Wenzheng Zeng", + "Yiqi Lin", + "Guoqiang Liang", + "Kevin Yuchen Ma", + "Kevin Qinghong Lin", + "Mike Zheng Shou" + ], + "published": "2026-10-21T17:52:48Z", + "updated": "2026-10-21T17:52:48Z", + "html_sha256": "07af14c4b4e8491d61b4940433d03836a02b486ba2d473a360bef9ace8bc3d1f", + "html_bytes": 1102349, + "tables": 4, + "figures": 12, + "images": 10, + "dossier": "dossier.json" + }, + { + "arxiv_id": "2610.30089v1", + "title": "ProactEgoMem: Benchmarking Proactive Memory in Streaming Egocentric Video", + "primary_category": "cs.CV", + "categories": [ + "cs.CV" + ], + "authors": [ + "Ruotong Liao", + "Meikel Kokowski", + "Xiaoxiao Sun", + "Yongqin Xian", + "Laura Bravo S\u00e1nchez", + "Shiye Su", + "Federico Tombari", + "Serena Yeung-Levy", + "Volker Tresp" + ], + "published": "2026-10-21T17:37:58Z", + "updated": "2026-10-21T17:37:58Z", + "html_sha256": "50947ff1e7c8be12fa01771ec1a2c10efe54842661c19538bb5babdd045107c8", + "html_bytes": 1879293, + "tables": 12, + "figures": 30, + "images": 12, + "dossier": "dossier.json" + }, + { + "arxiv_id": "2610.29913v1", + "title": "Asking a Multimodal LLM Whether Someone Fell: Zero-Shot Screening of Low-Resolution Thermal Video in a Laboratory and an Occupied Home", + "primary_category": "cs.CV", + "categories": [ + "cs.CV", + "cs.AI" + ], + "authors": [ + "Marcos Junca", + "Mauro Junca" + ], + "published": "2026-10-21T15:53:17Z", + "updated": "2026-10-21T15:53:17Z", + "html_sha256": "ff4f590f25c54fbcc5b32c35fefbaa9aa97fdb81f1fe0601a9287ccd89be81e7", + "html_bytes": 239906, + "tables": 6, + "figures": 12, + "images": 1, + "dossier": "dossier.json" + } + ], + "files": { + "REPORT.md": { + "sha256": "4def6c59fb407158ce03cdbe9851fea0bf60b437bc60d584fceda40d212db9b5", + "bytes": 6619 + }, + "coverage_probe.json": { + "sha256": "a52323156933264c56c168084765b49e08c16a3b98ae689a87bfd1c6c6ebbafb", + "bytes": 28464 + }, + "coverage_probe.py": { + "sha256": "65916084d57d6a68b3767948735322f6ba0e93ca1d4eb0f0158ee500d5b5a7e2", + "bytes": 2470 + }, + "2610.30108v1/dossier.json": { + "sha256": "3426a4710481151dd98c06ac306128a72a481f445b7d4370182673b2531e658d", + "bytes": 3523 + }, + "2610.30108v1/figures.json": { + "sha256": "945abcbc1508198dc5b6eeff5ed6cf66ec18437294a5ad6671f1759153356eb5", + "bytes": 5817 + }, + "2610.30108v1/paper.html": { + "sha256": "07af14c4b4e8491d61b4940433d03836a02b486ba2d473a360bef9ace8bc3d1f", + "bytes": 1102349 + }, + "2610.30108v1/paper.txt": { + "sha256": "be1522c76f455b2872dcc3994de7e6c237f513e85e84ab5a7a36e0d385533471", + "bytes": 199028 + }, + "2610.30108v1/tables.json": { + "sha256": "2ecea4a9c8e97761e25cf1bfc0598c66b2c2080985be61bc1f4461ec763bf471", + "bytes": 14211 + }, + "2610.29913v1/dossier.json": { + "sha256": "c8fc594eb36367e4b8cd5b675db5dd094cda70c0e5aeea4237ce18a0f5761239", + "bytes": 3409 + }, + "2610.29913v1/figures.json": { + "sha256": "b02c21c8a7281772b60c282d6d9e77c1840fbebf9b29661b9c6164ef522c75b9", + "bytes": 5355 + }, + "2610.29913v1/paper.html": { + "sha256": "ff4f590f25c54fbcc5b32c35fefbaa9aa97fdb81f1fe0601a9287ccd89be81e7", + "bytes": 239906 + }, + "2610.29913v1/paper.txt": { + "sha256": "26fe614558e972064a5d15d79383d16d3f1b1abef9846dc5e6881554e443d5ff", + "bytes": 74930 + }, + "2610.29913v1/tables.json": { + "sha256": "0dc9286e5a581416ca874ca5fc61e5e6a518969c1ea77946c01c5638d642fa86", + "bytes": 7429 + }, + "2610.30089v1/dossier.json": { + "sha256": "d1f7ab9a02372aec2971757cd336199815452aa75fdbcd72d5a52e1d185a9d90", + "bytes": 3919 + }, + "2610.30089v1/figures.json": { + "sha256": "a4faac626d547d0ddba399e0f494d2bd1fa833c7f5c32c0fff7feca7f14783c9", + "bytes": 10123 + }, + "2610.30089v1/paper.html": { + "sha256": "50947ff1e7c8be12fa01771ec1a2c10efe54842661c19538bb5babdd045107c8", + "bytes": 1879293 + }, + "2610.30089v1/paper.txt": { + "sha256": "ddf9b5c076a157fdff66cc54b03097b2200b315403e548e33bf7639fdec734c6", + "bytes": 121203 + }, + "2610.30089v1/tables.json": { + "sha256": "2a7f2756c4609df24fa7000642c4ed00128ae2940474fdc22475a5605f4c2886", + "bytes": 29693 + }, + "raw/atom_feed.xml": { + "sha256": "17767bfb4ec4c02fdc21e79d7bf7f96035610ee37356a1edc2a3319a7e4c95be", + "bytes": 311552 + } + } +} \ No newline at end of file diff --git a/wizard-work/sphinx/README-archive-lane.md b/wizard-work/sphinx/README-archive-lane.md new file mode 100644 index 0000000..6f59aa7 --- /dev/null +++ b/wizard-work/sphinx/README-archive-lane.md @@ -0,0 +1,24 @@ +# sphinx — Archive lane work (multimodal, long-context research) + +## Latest: `mm-vla-dossier-2026-10-22` + +Live arXiv Atom API -> multimodal paper dossier with an independently re-fetching verifier. + +Artifacts: +- `mm-vla-dossier-2026-10-22.tar.gz` — the full dossier (3 papers, 19 hashed files) +- `build_mm_dossier.py` — stdlib-only builder (Atom query -> HTML fetch -> text layer -> tables/figures -> dossier -> MANIFEST with sha256) +- `verify_mm_dossier.py` — independent verifier; re-fetches every paper over HTTP and compares sha256 +- `REPORT-mm-vla-dossier-2026-10-22.md` — human-readable report +- `MANIFEST-mm-vla-dossier-2026-10-22.json` — sha256 + byte size of every artifact +- `coverage-probe-120-papers.json` — HTML-rendering availability probe over 120 recent papers + +Measured result (not assumed): of 120 recent `cs.CV` papers matching `abs:"multimodal"`, +118 (98.3%) have an arXiv HTML rendering at `arxiv.org/html/`. + +Reproduce: + python3 build_mm_dossier.py 'cat:cs.CV AND abs:"multimodal"' 3 120 + python3 verify_mm_dossier.py mm-vla-dossier-2026-10-22 + +Verifier exit code is the verdict: 0 = all 7 check groups pass (manifest integrity, +hash agreement, text-layer derivation, table/figure counts, live re-fetch equality, +live Atom traceability, report coverage). diff --git a/wizard-work/sphinx/REPORT-mm-vla-dossier-2026-10-22.md b/wizard-work/sphinx/REPORT-mm-vla-dossier-2026-10-22.md new file mode 100644 index 0000000..dae51bd --- /dev/null +++ b/wizard-work/sphinx/REPORT-mm-vla-dossier-2026-10-22.md @@ -0,0 +1,86 @@ +# Multimodal archive dossier — live arXiv fetch (2026-10-22T17:13:24Z) + +Lane: Archive (multimodal, long-context research). Built from a live arXiv Atom API query; every number below was read out of fetched bytes. + +## Query + +- search_query: `cat:cs.CV AND abs:"multimodal"` +- Atom URL: https://export.arxiv.org/api/query?search_query=cat:cs.CV+AND+abs:%22multimodal%22&start=0&max_results=120&sortBy=submittedDate&sortOrder=descending +- HTTP 200, 311552 bytes, sha256 `17767bfb4ec4c02fdc21e79d7bf7f96035610ee37356a1edc2a3319a7e4c95be` +- opensearch:totalResults = 15740 +- entries parsed from feed: 120 +- papers with an HTML rendering fetched: 3 + +## Papers + +| arXiv id | primary cat | published | tables | figures | images | title | +|---|---|---|---|---|---|---| +| [2610.30108v1](https://arxiv.org/abs/2610.30108v1) | cs.RO | 2026-10-21 | 4 | 12 | 10 | Multimodal Embodied Agents: A Unified Capability-centric Perspective from Computer-Use to Robot-Use | +| [2610.30089v1](https://arxiv.org/abs/2610.30089v1) | cs.CV | 2026-10-21 | 12 | 30 | 12 | ProactEgoMem: Benchmarking Proactive Memory in Streaming Egocentric Video | +| [2610.29913v1](https://arxiv.org/abs/2610.29913v1) | cs.CV | 2026-10-21 | 6 | 12 | 1 | Asking a Multimodal LLM Whether Someone Fell: Zero-Shot Screening of Low-Resolution Thermal Video in a Laborat | +## Coverage probe (HTML-rendering availability) + +Before archiving, every entry in the 120-item Atom feed was probed for an HTML rendering at `arxiv.org/html/`. Measured, not assumed: + +- papers probed: 120 +- with an HTML rendering: 118 (98.3%) +- median tables per paper: 18 (min 1, max 69) +- median figures per paper: 17 (min 4, max 359) +- median img tags per paper: 10 (min 2, max 343) + +## Figure/table inventory + +### 2610.30108v1 — Multimodal Embodied Agents: A Unified Capability-centric Perspective from Computer-Use to Robot-Use +- text layer: 196723 chars; tables: 4 (numeric: 4); figures: 12; images: 10; svg figures: 1; figures with MathML: 2 + - table 0: 12 rows — (no caption observed) + - table 1: 1 rows — (no caption observed) + - table 2: 1 rows — (no caption observed) + - table 3: 78 rows — (no caption observed) + - figure 0: 1 img, 0 svg, math=False — Figure 1: A Unified Capability-centric Perspective (PAPAV) from computer-use to robot-use. + - figure 1: 1 img, 1 svg, math=False — Figure 2: Chronological overview of representative work. Robotic systems progress from vis + - figure 2: 0 img, 0 svg, math=True — Table 1: Positioning related surveys. Checks mark dimensions central to a survey; crosses + - figure 3: 0 img, 0 svg, math=False — Figure 3: Research landscape and taxonomy of PAPAV. The capability branch groups represent + - figure 4: 1 img, 0 svg, math=False — Figure 4: PAPAV from computer-use to robot-use. Each row contrasts how a shared capability + - figure 5: 1 img, 0 svg, math=False — Figure 5: Perceive: MMEA vs. MMA vs. RS. Shared (center): multimodal evidence grounding. L + - figure 6: 1 img, 0 svg, math=False — Figure 6: Anticipate: MMEA vs. MMA vs. RS. Shared (center): action-conditioned state-trans + - figure 7: 1 img, 0 svg, math=False — Figure 7: Plan: MMEA vs. MMA vs. RS. Shared (center): hierarchical, constraint-aware cours + +### 2610.30089v1 — ProactEgoMem: Benchmarking Proactive Memory in Streaming Egocentric Video +- text layer: 119665 chars; tables: 12 (numeric: 5); figures: 30; images: 12; svg figures: 668; figures with MathML: 14 + - table 0: 0 rows — (no caption observed) + - table 1: 2 rows — (no caption observed) + - table 2: 10 rows — (no caption observed) + - table 3: 19 rows — (no caption observed) + - table 4: 6 rows — (no caption observed) + - table 5: 42 rows — (no caption observed) + - table 6: 25 rows — (no caption observed) + - table 7: 1 rows — (no caption observed) + - figure 0: 0 img, 0 svg, math=False — Figure 1: Proactive agents observe video, co-exist in the background, and act before users + - figure 1: 1 img, 0 svg, math=False — Figure 2: ProactEgoMem measures proactive memory as lifecycle behavior in egocentric strea + - figure 2: 0 img, 1 svg, math=True — Figure 3: Two- level proactive modes . + - figure 3: 0 img, 6 svg, math=False — Table 1: Illustrative examples of proactive messages for each task and mode. + - figure 4: 1 img, 0 svg, math=False — Figure 4: ProactEgoMem composition and target objects. Left : composition by scenario (inn + - figure 5: 0 img, 3 svg, math=True — Table 2: ProactEgoMem-QA question types and benchmark examples + - figure 6: 0 img, 0 svg, math=True — Table 3: ProactEgoMem data statistics and inter-annotator agreement. Paired entries read D + - figure 7: 0 img, 312 svg, math=True — Table 4: ProactEgoMem-Daily main results for notification and intervention levels. • Start + +### 2610.29913v1 — Asking a Multimodal LLM Whether Someone Fell: Zero-Shot Screening of Low-Resolution Thermal Video in a Laboratory and an Occupied Home +- text layer: 74085 chars; tables: 6 (numeric: 6); figures: 12; images: 1; svg figures: 0; figures with MathML: 7 + - table 0: 13 rows — (no caption observed) + - table 1: 7 rows — (no caption observed) + - table 2: 10 rows — (no caption observed) + - table 3: 10 rows — (no caption observed) + - table 4: 8 rows — (no caption observed) + - table 5: 4 rows — (no caption observed) + - figure 0: 0 img, 0 svg, math=False — Fig. 1 : The prototype. A thermal camera and a microphone stream continuously; a wake gate + - figure 1: 0 img, 0 svg, math=False — Fig. 2 : The home recording, 6–13 September 2026: clips the deployed gate and pipeline sen + - figure 2: 0 img, 0 svg, math=True — TABLE I : Conditions, each changing one factor of the deployed request, and what each was + - figure 3: 0 img, 0 svg, math=False — Fig. 3 : Laboratory falls called a fall, by fall type (all six subjects): Gemini 3.8 Flash + - figure 4: 0 img, 0 svg, math=False — TABLE II : The model’s answers, verbatim (deployed request; the laboratory answers’ openin + - figure 5: 1 img, 0 svg, math=True — Fig. 4 : One staged fall (a slow backward faint) from the public laboratory data [ 6 ] (CC + - figure 6: 0 img, 0 svg, math=False — Fig. 5 : Effect of sensor resolution (block averaging, same field of view, same display si + - figure 7: 0 img, 0 svg, math=True — Fig. 6 : Each screener as one point: laboratory falls called (held-out subjects, Wilson 95 + +## Provenance + +Every artifact carries a sha256 in MANIFEST.json. Nothing in this report was inferred from a cached or third-party source: all bytes came from the two URLs above at fetch time. diff --git a/wizard-work/sphinx/build_mm_dossier.py b/wizard-work/sphinx/build_mm_dossier.py new file mode 100644 index 0000000..af9719b --- /dev/null +++ b/wizard-work/sphinx/build_mm_dossier.py @@ -0,0 +1,348 @@ +#!/usr/bin/env python3 +"""Archive lane build: live arXiv Atom API -> multimodal paper dossier. + +Produces, under OUTDIR: + /paper.html raw arXiv HTML v2 rendering (fetched) + /paper.txt text layer of that HTML + /tables.json every in the paper, as row/cell grids + /figures.json every
with its img srcs and caption text + /dossier.json metadata + tables + figures + verification record + /MANIFEST.json sha256 of every artifact + the raw HTTP provenance + REPORT.md human-readable dossier + +Stdlib only. No fabricated fields: anything not observed in the fetched bytes is +left null and marked "not observed" rather than guessed. +""" +import hashlib +import html as htmllib +import json +import os +import re +import sys +import time +import urllib.error +import urllib.parse +import urllib.request + +UA = {"User-Agent": "sphinx-archive-research/1.0 (mailto:sphinx@agents.invalid)"} +OUTDIR = "/root/.hermes/wizard-outputs/sphinx" +ARXIV_API = "https://export.arxiv.org/api/query" + + +def http_get(url, timeout=60): + """Return (status_code_or_None, body_text_or_error_string, sha256_of_bytes, nbytes).""" + req = urllib.request.Request(url, headers=UA) + try: + with urllib.request.urlopen(req, timeout=timeout) as r: + raw = r.read() + return r.status, raw.decode("utf-8", "replace"), hashlib.sha256(raw).hexdigest(), len(raw) + except urllib.error.HTTPError as e: + return e.code, "HTTPError %d" % e.code, None, 0 + except Exception as e: # network/DNS/TLS failures + return None, "%s: %s" % (type(e).__name__, e), None, 0 + + +# ---------------------------------------------------------------- Atom parsing +def parse_atom(feed_text): + """Parse arXiv Atom feed into entry dicts. Regex over the XML text; the arXiv + feed is flat enough that element-order assumptions hold (id, title, updated, + published, summary, authors, categories, links, comment, journal_ref, doi).""" + entries = [] + for em in re.finditer(r"(.*?)", feed_text, re.S): + e = em.group(1) + + def tag(name): + m = re.search(r"<%s(?:\s[^>]*)?>(.*?)" % (name, name), e, re.S) + if not m: + return None + return " ".join(htmllib.unescape(m.group(1)).split()) + + eid = tag("id") + links = re.findall(r']*?)/?>', e) + link_map = {} + for lm in links: + href = re.search(r'href="([^"]+)"', lm) + rel = re.search(r'rel="([^"]+)"', lm) + typ = re.search(r'type="([^"]+)"', lm) + if href: + link_map[rel.group(1) if rel else "alternate"] = { + "href": href.group(1), + "type": typ.group(1) if typ else None, + } + authors = re.findall(r"(.*?)", e, re.S) + authors = [" ".join(htmllib.unescape(a).split()) for a in authors] + cats = re.findall(r'", " ", doc) + doc = re.sub(r"(?is)", "\n", doc) + doc = re.sub(r"(?is)", "\n", doc) + doc = re.sub(r"(?is)]*>", "\n- ", doc) + doc = re.sub(r"(?is)]*>", " | ", doc) + doc = re.sub(r"(?is)<[^>]+>", " ", doc) + doc = htmllib.unescape(doc) + doc = doc.replace("\u00a0", " ") + doc = re.sub(r"[ \t]+", " ", doc) + doc = re.sub(r"\n[ \t]+", "\n", doc) + doc = re.sub(r"\n{3,}", "\n\n", doc) + return doc.strip() + + +def strip_tags(s): + s = re.sub(r"(?is)<[^>]+>", " ", s) + return " ".join(htmllib.unescape(s).split()) + + +# ------------------------------------------------------------- tables & figures +def extract_tables(doc): + out = [] + for i, tm in enumerate(re.finditer(r"(?is)", doc)): + t = tm.group(0) + head = strip_tags(t[:t.lower().find(">") + 1]) + cap = "" + cm = re.search(r"(?is)", t) + if cm: + cap = strip_tags(cm.group(0)) + rows = [] + for rm in re.finditer(r"(?is)", t): + cells = [] + for cm2 in re.finditer(r"(?is)", rm.group(0)): + cells.append(strip_tags(cm2.group(0))) + if any(cells): + rows.append(cells) + out.append({"index": i, "caption": cap, "header_tag": head, + "n_rows": len(rows), "rows": rows}) + return out + + +def extract_figures(doc): + out = [] + for i, fm in enumerate(re.finditer(r"(?is)", doc)): + f = fm.group(0) + imgs = [] + for im in re.finditer(r"(?is)]*>", f): + tag = im.group(0) + src = re.search(r'src="([^"]+)"', tag) + alt = re.search(r'alt="([^"]*)"', tag) + imgs.append({ + "src": src.group(1) if src else None, + "alt": htmllib.unescape(alt.group(1)) if alt else None, + }) + svgs = len(re.findall(r"(?is)", f) + if cm: + cap = strip_tags(cm.group(0)) + has_math = bool(re.search(r"(?is) 1 else 'cat:cs.CV AND abs:"multimodal"' + n = int(sys.argv[2]) if len(sys.argv) > 2 else 1 + max_results = int(sys.argv[3]) if len(sys.argv) > 3 else 120 + + outdir = os.path.join(OUTDIR, "mm-vla-dossier-2026-10-22") + rawdir = os.path.join(outdir, "raw") + os.makedirs(rawdir, exist_ok=True) + + # ---- 1. live Atom query ------------------------------------------------- + qs = urllib.parse.quote(query) if False else query.replace(" ", "+").replace('"', "%22") + url = "%s?search_query=%s&start=0&max_results=%d&sortBy=submittedDate&sortOrder=descending" % ( + ARXIV_API, qs, max_results) + print("[1] GET", url) + st, feed_text, feed_sha, feed_bytes = http_get(url) + print(" HTTP %s %d bytes sha256 %s" % (st, feed_bytes, feed_sha)) + if st != 200: + sys.exit("Atom query failed: %s" % feed_text) + open(os.path.join(rawdir, "atom_feed.xml"), "w", encoding="utf-8").write(feed_text) + + tot = re.search(r"]*>(\d+)", feed_text) + entries = parse_atom(feed_text) + print(" totalResults=%s parsed entries=%d" % (tot.group(1) if tot else "?", len(entries))) + + # ---- 2. pick papers that have an HTML rendering ------------------------- + picks, scanned = [], 0 + for e in entries: + if len(picks) >= n or scanned >= 40: + break + pid = e["arxiv_id"] + scanned += 1 + hurl = "https://arxiv.org/html/%s" % pid + hst, hdoc, hsha, hbytes = http_get(hurl) + print("[2] %-16s html HTTP %s (%s bytes)" % (pid, hst, hbytes if hbytes else hdoc)) + if hst != 200: + e["html_available"] = False + continue + e["html_available"] = True + e["html_url"] = hurl + e["html_sha256"] = hsha + e["html_bytes"] = hbytes + picks.append((e, hdoc, hsha, hbytes)) + time.sleep(1.0) + + if not picks: + sys.exit("no HTML renderings found in the first %d entries" % scanned) + + manifest = {"dossier_dir": outdir, "generated_utc": time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime()), + "query": query, "atom_url": url, "atom_http": st, + "atom_sha256": feed_sha, "atom_bytes": feed_bytes, + "atom_totalResults": int(tot.group(1)) if tot else None, + "papers": [], "files": {}} + + for e, hdoc, hsha, hbytes in picks: + pid = e["arxiv_id"] + pdir = os.path.join(outdir, pid) + os.makedirs(pdir, exist_ok=True) + open(os.path.join(pdir, "paper.html"), "w", encoding="utf-8").write(hdoc) + + text = html_to_text(hdoc) + open(os.path.join(pdir, "paper.txt"), "w", encoding="utf-8").write(text) + + tables = extract_tables(hdoc) + figures = extract_figures(hdoc) + json.dump(tables, open(os.path.join(pdir, "tables.json"), "w"), indent=1) + json.dump(figures, open(os.path.join(pdir, "figures.json"), "w"), indent=1) + + # every image src, resolved against the html url + img_srcs = sorted({s for f in figures for i in f["images"] if (s := i["src"])}) + + dossier = { + "paper": e, + "archive": { + "fetched_utc": time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime()), + "fetcher_ua": UA["User-Agent"], + "html_url": e["html_url"], + "html_sha256": hsha, + "html_bytes": hbytes, + "text_chars": len(text), + "tables_found": len(tables), + "figures_found": len(figures), + "images_found": len(img_srcs), + "svg_figures": sum(f["n_svg"] for f in figures), + "figures_with_math": sum(1 for f in figures if f["has_math"]), + "tables_with_numeric_cells": sum( + 1 for t in tables + if any(re.search(r"\d", c) for r in t["rows"] for c in r)), + "figure_images": img_srcs, + }, + } + json.dump(dossier, open(os.path.join(pdir, "dossier.json"), "w"), indent=1) + manifest["papers"].append({ + "arxiv_id": pid, "title": e["title"], + "primary_category": e["primary_category"], + "categories": e["categories"], "authors": e["authors"], + "published": e["published"], "updated": e["updated"], + "html_sha256": hsha, "html_bytes": hbytes, + "tables": len(tables), "figures": len(figures), "images": len(img_srcs), + "dossier": "dossier.json", + }) + + # ---- 4. REPORT.md ------------------------------------------------------- + lines = [] + lines.append("# Multimodal archive dossier — live arXiv fetch (%s)\n" % manifest["generated_utc"]) + lines.append("Lane: Archive (multimodal, long-context research). Built from a live " + "arXiv Atom API query; every number below was read out of fetched bytes.\n") + lines.append("## Query\n") + lines.append("- search_query: `%s`" % query) + lines.append("- Atom URL: %s" % url) + lines.append("- HTTP %s, %d bytes, sha256 `%s`" % (st, feed_bytes, feed_sha)) + lines.append("- opensearch:totalResults = %s" % (tot.group(1) if tot else "not observed")) + lines.append("- entries parsed from feed: %d" % len(entries)) + lines.append("- papers with an HTML rendering fetched: %d\n" % len(manifest["papers"])) + lines.append("## Papers\n") + lines.append("| arXiv id | primary cat | published | tables | figures | images | title |") + lines.append("|---|---|---|---|---|---|---|") + for p in manifest["papers"]: + t = (p["title"] or "").replace("|", "\\|") + lines.append("| [%s](https://arxiv.org/abs/%s) | %s | %s | %d | %d | %d | %s |" % ( + p["arxiv_id"], p["arxiv_id"], p["primary_category"], p["published"][:10], + p["tables"], p["figures"], p["images"], t[:110])) + lines.append("## Coverage probe (HTML-rendering availability)\n") + lines.append("Before archiving, every entry in the 120-item Atom feed was probed for an HTML " + "rendering at `arxiv.org/html/`. Measured, not assumed:\n") + try: + cov = json.load(open(os.path.join(outdir, "coverage_probe.json"))) + okc = [r for r in cov if r.get("html")] + lines.append("- papers probed: %d" % len(cov)) + lines.append("- with an HTML rendering: %d (%.1f%%)" % (len(okc), 100.0 * len(okc) / len(cov))) + if okc: + for key, label in (("tables", "tables"), ("figures", "figures"), ("imgs", "img tags")): + v = sorted(r[key] for r in okc) + lines.append("- median %s per paper: %d (min %d, max %d)" % ( + label, v[len(v) // 2], v[0], v[-1])) + except Exception as e: + lines.append("- coverage probe not present: %s" % e) + lines.append("\n## Figure/table inventory\n") + for p in manifest["papers"]: + d = json.load(open(os.path.join(outdir, p["arxiv_id"], "dossier.json"))) + a = d["archive"] + lines.append("### %s — %s" % (p["arxiv_id"], p["title"])) + lines.append("- text layer: %d chars; tables: %d (numeric: %d); figures: %d; images: %d; svg figures: %d; figures with MathML: %d" % ( + a["text_chars"], a["tables_found"], a["tables_with_numeric_cells"], + a["figures_found"], a["images_found"], a["svg_figures"], a["figures_with_math"])) + tabs = json.load(open(os.path.join(outdir, p["arxiv_id"], "tables.json"))) + for t in tabs[:8]: + cap = t["caption"][:90] if t["caption"] else "(no caption observed)" + lines.append(" - table %d: %d rows — %s" % (t["index"], t["n_rows"], cap)) + figs = json.load(open(os.path.join(outdir, p["arxiv_id"], "figures.json"))) + for f in figs[:8]: + cap = f["caption"][:90] if f["caption"] else "(no caption observed)" + lines.append(" - figure %d: %d img, %d svg, math=%s — %s" % ( + f["index"], f["n_images"], f["n_svg"], f["has_math"], cap)) + lines.append("") + lines.append("## Provenance\n") + lines.append("Every artifact carries a sha256 in MANIFEST.json. Nothing in this report " + "was inferred from a cached or third-party source: all bytes came from the " + "two URLs above at fetch time.\n") + open(os.path.join(outdir, "REPORT.md"), "w", encoding="utf-8").write("\n".join(lines)) + + # ---- 3. MANIFEST with sha256 of every produced file (REPORT.md included) -- + def sha(p): + h = hashlib.sha256() + with open(p, "rb") as f: + for chunk in iter(lambda: f.read(65536), b""): + h.update(chunk) + return h.hexdigest() + + for root, _dirs, files in os.walk(outdir): + for fn in sorted(files): + if fn == "MANIFEST.json": + continue + p = os.path.join(root, fn) + rel = os.path.relpath(p, outdir) + manifest["files"][rel] = {"sha256": sha(p), "bytes": os.path.getsize(p)} + json.dump(manifest, open(os.path.join(outdir, "MANIFEST.json"), "w"), indent=1) + + print("[3] wrote", outdir) + print("[3] papers:", len(manifest["papers"]), "files:", len(manifest["files"])) + + +if __name__ == "__main__": + main() diff --git a/wizard-work/sphinx/coverage-probe-120-papers.json b/wizard-work/sphinx/coverage-probe-120-papers.json new file mode 100644 index 0000000..daee146 --- /dev/null +++ b/wizard-work/sphinx/coverage-probe-120-papers.json @@ -0,0 +1,1310 @@ +[ + { + "id": "2610.30108v1", + "http": 200, + "html": true, + "title": "Multimodal Embodied Agents: A Unified Capability-centric Perspective from Computer-Use to Robot-Use", + "bytes": 1096228, + "tables": 4, + "figures": 12, + "imgs": 12, + "svgs": 12 + }, + { + "id": "2610.30089v1", + "http": 200, + "html": true, + "title": "ProactEgoMem: Benchmarking Proactive Memory in Streaming Egocentric Video", + "bytes": 1877011, + "tables": 12, + "figures": 31, + "imgs": 18, + "svgs": 710 + }, + { + "id": "2610.29913v1", + "http": 200, + "html": true, + "title": "Asking a Multimodal LLM Whether Someone Fell:Zero-Shot Screening of Low-Resolution ThermalVideo in a Laboratory and an Occupied Home", + "bytes": 238446, + "tables": 6, + "figures": 12, + "imgs": 3, + "svgs": 11 + }, + { + "id": "2610.29768v1", + "http": 200, + "html": true, + "title": "UniRAP: Towards Unified Part-level Physical Affordance Reasoning and Actionable Perception", + "bytes": 692795, + "tables": 26, + "figures": 25, + "imgs": 15, + "svgs": 11 + }, + { + "id": "2610.29740v1", + "http": 200, + "html": true, + "title": "APED-CXR: Adaptive Privileged Evidence Distillation for Chest X-Ray Grounding with Image-Only Inference", + "bytes": 161546, + "tables": 7, + "figures": 5, + "imgs": 3, + "svgs": 11 + }, + { + "id": "2610.29642v1", + "http": 404, + "html": false + }, + { + "id": "2610.29552v1", + "http": 200, + "html": true, + "title": "Generalized CycleGRPO for Fine-GrainedMultimodal Understanding and Grounding", + "bytes": 644078, + "tables": 33, + "figures": 30, + "imgs": 14, + "svgs": 11 + }, + { + "id": "2610.29495v1", + "http": 200, + "html": true, + "title": "Balancing Foundation Models and Trait-Specific Learning for Forehead-Crease Recognition", + "bytes": 192282, + "tables": 6, + "figures": 5, + "imgs": 4, + "svgs": 12 + }, + { + "id": "2610.29409v1", + "http": 200, + "html": true, + "title": "LLMSeg: Training-Free Text-Prompted Image Segmentation with B-Splines", + "bytes": 1360596, + "tables": 30, + "figures": 47, + "imgs": 343, + "svgs": 14 + }, + { + "id": "2610.29231v1", + "http": 200, + "html": true, + "title": "DisasterRoute: Evidence-Guided Dual-System Routing for Visual Disaster Question Answering", + "bytes": 212732, + "tables": 20, + "figures": 8, + "imgs": 3, + "svgs": 11 + }, + { + "id": "2610.29174v1", + "http": 200, + "html": true, + "title": "LocalAgent: Collaborative Agentic Verification for Fine-Grained Instance-Level Consistency", + "bytes": 312167, + "tables": 14, + "figures": 18, + "imgs": 6, + "svgs": 11 + }, + { + "id": "2610.28964v1", + "http": 200, + "html": true, + "title": "Can Quantum Layers offer Performance and Security Advantages in Vision-Language Models?", + "bytes": 229553, + "tables": 14, + "figures": 10, + "imgs": 3, + "svgs": 11 + }, + { + "id": "2610.28801v1", + "http": 200, + "html": true, + "title": "JUICE: Unified Multimodal Modelingin Pretrained Representation Spaces", + "bytes": 1108248, + "tables": 60, + "figures": 69, + "imgs": 71, + "svgs": 17 + }, + { + "id": "2610.28416v1", + "http": 200, + "html": true, + "title": "Code2Video-Compass: A Comprehensive Benchmark for General-Purpose Code-Based Video Generation across T2V, I2V, and V2V", + "bytes": 357358, + "tables": 5, + "figures": 12, + "imgs": 53, + "svgs": 11 + }, + { + "id": "2610.28402v1", + "http": 200, + "html": true, + "title": "StreamEval: Evaluating InteractiveStreaming Video Generation Models", + "bytes": 391960, + "tables": 9, + "figures": 11, + "imgs": 9, + "svgs": 11 + }, + { + "id": "2610.28382v1", + "http": 200, + "html": true, + "title": "RACE: Learning Multimodal Searchthrough Referential Abstractionand Compositional Evidence", + "bytes": 297518, + "tables": 19, + "figures": 18, + "imgs": 7, + "svgs": 11 + }, + { + "id": "2610.28356v2", + "http": 200, + "html": true, + "title": "CountVideoBench: A Benchmark to Evaluate Prediction Biases on the Object Counting task by Video-Language Models", + "bytes": 350752, + "tables": 20, + "figures": 23, + "imgs": 9, + "svgs": 11 + }, + { + "id": "2610.28282v1", + "http": 200, + "html": true, + "title": "ChartEvo: Self-Evolving Agent Harnesses for Long-Tail Chart Reasoning", + "bytes": 206359, + "tables": 9, + "figures": 17, + "imgs": 9, + "svgs": 11 + }, + { + "id": "2610.28266v1", + "http": 200, + "html": true, + "title": "VGL-stGen: Learning a shared multimodal model for lung histology and spatial transcriptomics", + "bytes": 498064, + "tables": 16, + "figures": 34, + "imgs": 9, + "svgs": 11 + }, + { + "id": "2610.28264v1", + "http": 200, + "html": true, + "title": "PI-MLLM: Psychophysics-Inspired Multimodal Large Language Model for Oddly Satisfying Video Emotion Analysis", + "bytes": 226615, + "tables": 23, + "figures": 13, + "imgs": 9, + "svgs": 11 + }, + { + "id": "2610.28129v1", + "http": 200, + "html": true, + "title": "GAMF-Net: Grouped Availability-Aware Multimodal Fusion for Smartphone Skin Lesion Classification", + "bytes": 164905, + "tables": 18, + "figures": 8, + "imgs": 8, + "svgs": 11 + }, + { + "id": "2610.28087v1", + "http": 200, + "html": true, + "title": "WildAIGC-Bench: Can AI Image Detectors Handle the Wild? A Benchmark of Generated and Edited Images in Online Circulation", + "bytes": 279679, + "tables": 6, + "figures": 11, + "imgs": 17, + "svgs": 11 + }, + { + "id": "2610.27999v1", + "http": 200, + "html": true, + "title": "Matrix-Game 4.0: Harnessing Video Models for Real-Time Playable Game Worlds", + "bytes": 222776, + "tables": 4, + "figures": 11, + "imgs": 10, + "svgs": 11 + }, + { + "id": "2610.27974v1", + "http": 200, + "html": true, + "title": "Media Intelligence Platform: Multimodal Detection of Synthetic and Manipulated Content", + "bytes": 268375, + "tables": 5, + "figures": 12, + "imgs": 12, + "svgs": 20 + }, + { + "id": "2610.27904v1", + "http": 200, + "html": true, + "title": "Staged Continual Adaptation of Multimodal Foundation Modelsfor Japanese Financial Documents", + "bytes": 439671, + "tables": 9, + "figures": 23, + "imgs": 8, + "svgs": 11 + }, + { + "id": "2610.27894v1", + "http": 200, + "html": true, + "title": "Testing Associative Creativity in Humans and Multimodal LLMswith Difficult-to-Name Visual Stimuli", + "bytes": 661015, + "tables": 24, + "figures": 40, + "imgs": 27, + "svgs": 11 + }, + { + "id": "2610.27829v1", + "http": 200, + "html": true, + "title": "GARRET: Generative Feedback for Region Retrievalin Visual Documents", + "bytes": 429228, + "tables": 45, + "figures": 25, + "imgs": 11, + "svgs": 11 + }, + { + "id": "2610.27782v1", + "http": 200, + "html": true, + "title": "RoboJudge: Multimodal Language Models asJudges for Embodied Video Generation", + "bytes": 437259, + "tables": 41, + "figures": 26, + "imgs": 15, + "svgs": 11 + }, + { + "id": "2610.27692v1", + "http": 200, + "html": true, + "title": "A Principled Optimal Transport Framework for Frame Selection in Long Video Understanding", + "bytes": 475555, + "tables": 69, + "figures": 11, + "imgs": 4, + "svgs": 11 + }, + { + "id": "2610.27657v1", + "http": 200, + "html": true, + "title": "PLaCA: Learning Patch-Level Future Latent Change for Action Generation", + "bytes": 223536, + "tables": 16, + "figures": 7, + "imgs": 8, + "svgs": 11 + }, + { + "id": "2610.27571v2", + "http": 200, + "html": true, + "title": "Text-Anchored Modality Experts with Uncertainty-Guided Routing for Multimodal Sentiment Analysis", + "bytes": 470485, + "tables": 17, + "figures": 6, + "imgs": 3, + "svgs": 11 + }, + { + "id": "2610.27565v1", + "http": 200, + "html": true, + "title": "AnomalyJev: Towards Evaluating Image Anomaly Explanations via Claim-Level Verification", + "bytes": 253045, + "tables": 7, + "figures": 16, + "imgs": 8, + "svgs": 11 + }, + { + "id": "2610.27521v1", + "http": 200, + "html": true, + "title": "Multiscale Temporal\u2013Spectral\u2013Spatial EEG Learning With Modality-Specific and Modality-Invariant Representations for Emotion Recognition", + "bytes": 231484, + "tables": 22, + "figures": 12, + "imgs": 10, + "svgs": 11 + }, + { + "id": "2610.27360v1", + "http": 200, + "html": true, + "title": "On the Limits of Scale: Inverse Scaling in Vision-Language Models", + "bytes": 873424, + "tables": 49, + "figures": 48, + "imgs": 24, + "svgs": 11 + }, + { + "id": "2610.27341v1", + "http": 200, + "html": true, + "title": "Look Before You Reason: Implicit Visual Thinking for Efficient Multimodal Reasoning", + "bytes": 324194, + "tables": 20, + "figures": 17, + "imgs": 10, + "svgs": 11 + }, + { + "id": "2610.27298v1", + "http": 200, + "html": true, + "title": "Generalizing Multimodal Foundational Models in Context-Driven Class Incremental Learning", + "bytes": 523421, + "tables": 24, + "figures": 21, + "imgs": 7, + "svgs": 15 + }, + { + "id": "2610.27192v1", + "http": 200, + "html": true, + "title": "CARLAR Influence: A Structured Hallucination Risk in Multimodal Cheque Extraction and an Exploratory Compressed-Image Countermeasure", + "bytes": 228308, + "tables": 9, + "figures": 15, + "imgs": 13, + "svgs": 12 + }, + { + "id": "2610.26863v2", + "http": 200, + "html": true, + "title": "Text-to-Image Generative ModelingWithout Language Pretraining", + "bytes": 637813, + "tables": 13, + "figures": 36, + "imgs": 12, + "svgs": 25 + }, + { + "id": "2610.26860v1", + "http": 200, + "html": true, + "title": "OpenVLHarness: Real World Visual Agentic Tool-Use with Multimodal Memory", + "bytes": 2919802, + "tables": 48, + "figures": 39, + "imgs": 131, + "svgs": 738 + }, + { + "id": "2610.26856v1", + "http": 200, + "html": true, + "title": "Reinforcement Learning with Visually Attributable On-Policy Self-Distillation", + "bytes": 360721, + "tables": 19, + "figures": 20, + "imgs": 15, + "svgs": 10 + }, + { + "id": "2610.27049v1", + "http": 200, + "html": true, + "title": "VitronEdit: Universal Visual Editingacross Images, Videos, and 3D Scenes", + "bytes": 410485, + "tables": 28, + "figures": 18, + "imgs": 13, + "svgs": 13 + }, + { + "id": "2610.26855v1", + "http": 200, + "html": true, + "title": "Ropedia W0", + "bytes": 558440, + "tables": 47, + "figures": 43, + "imgs": 32, + "svgs": 10 + }, + { + "id": "2610.26826v1", + "http": 200, + "html": true, + "title": "RefCraft: Benchmarking Visual-Reference-Conditioned Agentic Generation through Web Development", + "bytes": 441335, + "tables": 11, + "figures": 22, + "imgs": 11, + "svgs": 15 + }, + { + "id": "2610.26751v1", + "http": 200, + "html": true, + "title": "Beyond Omni: A Unified MLLM for Embodied Sensory Understanding", + "bytes": 654761, + "tables": 34, + "figures": 36, + "imgs": 37, + "svgs": 26 + }, + { + "id": "2610.26585v1", + "http": 200, + "html": true, + "title": "Drive2Gauss: FeedForward 4D Gaussian Reconstruction from Multimodal Generative Driving Videos", + "bytes": 244029, + "tables": 17, + "figures": 13, + "imgs": 13, + "svgs": 10 + }, + { + "id": "2610.26538v2", + "http": 200, + "html": true, + "title": "Small Average Error, Wide Individual Error: General-Purpose LLMs Estimating Energy Intake from Meal Photos in a Feeding Trial", + "bytes": 277810, + "tables": 12, + "figures": 13, + "imgs": 2, + "svgs": 11 + }, + { + "id": "2610.26431v1", + "http": 200, + "html": true, + "title": "Long-form Video-to-Text Summarization using Recursive Language Models", + "bytes": 231061, + "tables": 9, + "figures": 12, + "imgs": 8, + "svgs": 103 + }, + { + "id": "2610.26357v2", + "http": 200, + "html": true, + "title": "HGASurv: Hierarchical Granularity-Aware Multimodal Integration for Survival Prediction", + "bytes": 252694, + "tables": 8, + "figures": 7, + "imgs": 6, + "svgs": 11 + }, + { + "id": "2610.26203v1", + "http": 200, + "html": true, + "title": "Focused Omni-Modal GUI Agents", + "bytes": 409866, + "tables": 13, + "figures": 21, + "imgs": 16, + "svgs": 12 + }, + { + "id": "2610.26194v1", + "http": 200, + "html": true, + "title": "GeoEdit: Adversarial De-Evidencing for Silent Geoprivacy Protection via Image Editing", + "bytes": 289210, + "tables": 16, + "figures": 21, + "imgs": 19, + "svgs": 10 + }, + { + "id": "2610.26084v1", + "http": 200, + "html": true, + "title": "Context-Aware Topological Distillation Graph Network for Asymmetric EEG\u2013Eye Movement Emotion Recognition", + "bytes": 497156, + "tables": 24, + "figures": 20, + "imgs": 13, + "svgs": 10 + }, + { + "id": "2610.26078v1", + "http": 200, + "html": true, + "title": "DCR-TSF: Dual-Level Compositional Reasoning with Triadic Spherical Fusion for Training-Free Zero-Shot Composed Image Retrieval", + "bytes": 419850, + "tables": 26, + "figures": 38, + "imgs": 22, + "svgs": 19 + }, + { + "id": "2610.26046v1", + "http": 200, + "html": true, + "title": "AVTime: Reinforcing Dense Audio-VisualCaptions with Bidirectional Alignment", + "bytes": 795559, + "tables": 38, + "figures": 49, + "imgs": 23, + "svgs": 10 + }, + { + "id": "2610.26022v1", + "http": 200, + "html": true, + "title": "FrameGRPO: Incentivizing Video Reasoning via Multi-Frame Rollouts and Temporal Credit", + "bytes": 283332, + "tables": 64, + "figures": 16, + "imgs": 10, + "svgs": 10 + }, + { + "id": "2610.25999v1", + "http": 200, + "html": true, + "title": "TempoMoE: Identifying and Steering Fast\u2013Slow Thinking Experts for Efficient Multimodal Reasoning", + "bytes": 229449, + "tables": 13, + "figures": 6, + "imgs": 9, + "svgs": 10 + }, + { + "id": "2610.25926v1", + "http": 200, + "html": true, + "title": "MIRA: A Multimodal Illustrated Deep Research Agent for Controllable Reports", + "bytes": 361871, + "tables": 16, + "figures": 17, + "imgs": 10, + "svgs": 13 + }, + { + "id": "2610.25649v2", + "http": 200, + "html": true, + "title": "InteractAgent: Agentic Human Motion Interaction with Memory-Augmented Reflection", + "bytes": 213695, + "tables": 18, + "figures": 7, + "imgs": 9, + "svgs": 11 + }, + { + "id": "2610.25617v1", + "http": 200, + "html": true, + "title": "CheXFuse: Guided Differential Joint Attention Fusion for Robust Multimodal Chest X-Ray Classification in Data-Scarce Medical Settings", + "bytes": 165479, + "tables": 22, + "figures": 4, + "imgs": 9, + "svgs": 10 + }, + { + "id": "2610.25570v1", + "http": 200, + "html": true, + "title": "DiffGround: Semantic Difference-Guided Zero-Shot Video Question Grounding", + "bytes": 221117, + "tables": 22, + "figures": 14, + "imgs": 11, + "svgs": 10 + }, + { + "id": "2610.25533v1", + "http": 200, + "html": true, + "title": "Modaliff: A Unified Token Diffusion Model for Any-to-Any Generation", + "bytes": 365745, + "tables": 23, + "figures": 44, + "imgs": 37, + "svgs": 10 + }, + { + "id": "2610.25493v1", + "http": 200, + "html": true, + "title": "GroundedVDR: Grounding Video-to-Web Evidence Dependencies in Video Deep Research", + "bytes": 204090, + "tables": 6, + "figures": 9, + "imgs": 9, + "svgs": 10 + }, + { + "id": "2610.25481v2", + "http": 200, + "html": true, + "title": "Multimodal-Conditioned Latent Diffusion Models forSpatiotemporal Brain MRI Forecasting", + "bytes": 222410, + "tables": 4, + "figures": 4, + "imgs": 7, + "svgs": 11 + }, + { + "id": "2610.25470v1", + "http": 200, + "html": true, + "title": "A failure of Imagination: VLMs fail to use visual representations for text, but self-distillation can help", + "bytes": 268682, + "tables": 7, + "figures": 16, + "imgs": 18, + "svgs": 14 + }, + { + "id": "2610.25448v1", + "http": 200, + "html": true, + "title": "UBD-Bench: Benchmarking and Analyzing Unimodal Branch Degradation in Multimodal Perception for Autonomous Driving", + "bytes": 185532, + "tables": 12, + "figures": 8, + "imgs": 11, + "svgs": 10 + }, + { + "id": "2610.25418v1", + "http": 200, + "html": true, + "title": "From Label Priors to Task Evidence: Efficient Long-Video Frame Selection via Bayesian GRPO", + "bytes": 397244, + "tables": 28, + "figures": 25, + "imgs": 6, + "svgs": 11 + }, + { + "id": "2610.25404v2", + "http": 200, + "html": true, + "title": "MT Forcing: Towards Stable and ConsistentMulti-Turn Image Editing with Autoregressive Diffusion", + "bytes": 338107, + "tables": 11, + "figures": 10, + "imgs": 9, + "svgs": 11 + }, + { + "id": "2610.25247v1", + "http": 200, + "html": true, + "title": "Visual Scaffolding:Toward Native Multimodal Reasoning", + "bytes": 302527, + "tables": 18, + "figures": 14, + "imgs": 7, + "svgs": 15 + }, + { + "id": "2610.25005v1", + "http": 200, + "html": true, + "title": "ReTrace: Visual Backtracking for Efficient Multimodal Large Language Models", + "bytes": 672583, + "tables": 47, + "figures": 359, + "imgs": 273, + "svgs": 16 + }, + { + "id": "2610.24786v1", + "http": 200, + "html": true, + "title": "Video-Language Entailment for Video Similarity Estimation", + "bytes": 301618, + "tables": 13, + "figures": 17, + "imgs": 16, + "svgs": 15 + }, + { + "id": "2610.24771v1", + "http": 200, + "html": true, + "title": "Design Anything, Design at Scale", + "bytes": 522309, + "tables": 29, + "figures": 41, + "imgs": 24, + "svgs": 14 + }, + { + "id": "2610.24537v1", + "http": 200, + "html": true, + "title": "Write Once, Query Many: Evolving Compact Reusable Memory for Long Videos", + "bytes": 299444, + "tables": 29, + "figures": 10, + "imgs": 11, + "svgs": 10 + }, + { + "id": "2610.24452v2", + "http": 200, + "html": true, + "title": "HumanSkill-4D: Training-Free LanguageQuerying of Animatable Gaussian Avatarsin Space and Time", + "bytes": 477205, + "tables": 33, + "figures": 28, + "imgs": 17, + "svgs": 15 + }, + { + "id": "2610.24395v1", + "http": 200, + "html": true, + "title": "MSCR: Jointly Balancing Utilization Across Modalities and Discovering Synergistic Information", + "bytes": 461252, + "tables": 27, + "figures": 11, + "imgs": 14, + "svgs": 10 + }, + { + "id": "2610.24379v1", + "http": 200, + "html": true, + "title": "Defending Against Dormant Poisoning Attacks Across Language and Multimodal Agents", + "bytes": 502151, + "tables": 30, + "figures": 32, + "imgs": 8, + "svgs": 17 + }, + { + "id": "2610.24378v1", + "http": 200, + "html": true, + "title": "PACE-Mem: Prefix-Aware Complementary Evidence for Multimodal Agents", + "bytes": 305366, + "tables": 12, + "figures": 13, + "imgs": 5, + "svgs": 11 + }, + { + "id": "2610.24364v1", + "http": 200, + "html": true, + "title": "GazeAgent: VLM-Guided Implicit Gaze Calibration from Egocentric Multimodal Behavior for AI Glasses", + "bytes": 635664, + "tables": 11, + "figures": 18, + "imgs": 25, + "svgs": 11 + }, + { + "id": "2610.24239v1", + "http": 200, + "html": true, + "title": "Encoder-Free Multimodal LLMsLearn Implicit Encoders", + "bytes": 194188, + "tables": 3, + "figures": 15, + "imgs": 6, + "svgs": 10 + }, + { + "id": "2610.24108v1", + "http": 200, + "html": true, + "title": "Joint, Decoupled, or Agent: When Each Multimodal Alignment Paradigm Wins", + "bytes": 1420818, + "tables": 39, + "figures": 46, + "imgs": 6, + "svgs": 48 + }, + { + "id": "2610.24094v1", + "http": 200, + "html": true, + "title": "BiNar: Bitstream Native Restorer for Bitstream-corrupted Image Restoration", + "bytes": 139511, + "tables": 12, + "figures": 5, + "imgs": 10, + "svgs": 10 + }, + { + "id": "2610.23730v1", + "http": 200, + "html": true, + "title": "Synthetic Image Oversampling for Rare-Class Representation Learning in Deep Facial Phenotyping", + "bytes": 198466, + "tables": 9, + "figures": 9, + "imgs": 9, + "svgs": 10 + }, + { + "id": "2610.23609v1", + "http": 200, + "html": true, + "title": "ADA 2025: A Multimodal Datasetfor Water-Deficit Stress Detection in Sugar Beets", + "bytes": 104115, + "tables": 1, + "figures": 4, + "imgs": 9, + "svgs": 10 + }, + { + "id": "2610.23588v1", + "http": 200, + "html": true, + "title": "Enhancing RAG-based Medical VQA withGated Multimodal Representations", + "bytes": 148072, + "tables": 6, + "figures": 4, + "imgs": 7, + "svgs": 10 + }, + { + "id": "2610.23533v1", + "http": 200, + "html": true, + "title": "ReVision: Reprogramming Image Generators for Dense Visual Perception", + "bytes": 367632, + "tables": 34, + "figures": 18, + "imgs": 11, + "svgs": 10 + }, + { + "id": "2610.23416v1", + "http": 200, + "html": true, + "title": "GeoReason: Bridging Logical Reasoning and Spatial Fidelity in Remote Sensing Segmentation", + "bytes": 345501, + "tables": 18, + "figures": 23, + "imgs": 17, + "svgs": 12 + }, + { + "id": "2610.23356v1", + "http": 404, + "html": false + }, + { + "id": "2610.23324v1", + "http": 200, + "html": true, + "title": "CatchUp: Depth-Aware Re-Admission of Visual Tokens for Efficient Large Vision-Language Models", + "bytes": 432890, + "tables": 45, + "figures": 18, + "imgs": 10, + "svgs": 10 + }, + { + "id": "2610.23279v2", + "http": 200, + "html": true, + "title": "Xiaomi-Lens-0 Technical Report", + "bytes": 416785, + "tables": 24, + "figures": 24, + "imgs": 16, + "svgs": 13 + }, + { + "id": "2610.23214v1", + "http": 200, + "html": true, + "title": "MLLM Frame Subset Ensembling for Audio-Visual Video QA and MLLM-based Reranking for Ad-hoc Video Search in TRECVID 2025", + "bytes": 159122, + "tables": 7, + "figures": 13, + "imgs": 8, + "svgs": 12 + }, + { + "id": "2610.23144v2", + "http": 200, + "html": true, + "title": "From GAN-Based Models to GPT-5: A Taxonomy-Guided Study of Human Performance in Detecting Deepfake Face Images", + "bytes": 388259, + "tables": 5, + "figures": 12, + "imgs": 8, + "svgs": 14 + }, + { + "id": "2610.23125v1", + "http": 200, + "html": true, + "title": "Reliability-Consistent Appearance Modeling for RGB\u2013Infrared Multi-Object Tracking", + "bytes": 273833, + "tables": 20, + "figures": 10, + "imgs": 10, + "svgs": 10 + }, + { + "id": "2610.23110v1", + "http": 200, + "html": true, + "title": "Domain-specific language alignment of multimodal embeddings towards explainable predictions", + "bytes": 362969, + "tables": 20, + "figures": 28, + "imgs": 8, + "svgs": 11 + }, + { + "id": "2610.22964v1", + "http": 200, + "html": true, + "title": "ANCHOR: Audio-Visually Grounded Chain-of-Thought Reasoning Benchmark", + "bytes": 686899, + "tables": 9, + "figures": 54, + "imgs": 46, + "svgs": 10 + }, + { + "id": "2610.22907v1", + "http": 200, + "html": true, + "title": "COMET: Decoupled Distillation, Routing, and Capacity Control for Task-Agnostic Continual Vision\u2013Language Learning", + "bytes": 906013, + "tables": 55, + "figures": 15, + "imgs": 8, + "svgs": 10 + }, + { + "id": "2610.22845v1", + "http": 200, + "html": true, + "title": "Variational and Decomposed method for Mitigating Bimodal Bias in Robust Visual Question Answering", + "bytes": 260643, + "tables": 17, + "figures": 14, + "imgs": 11, + "svgs": 10 + }, + { + "id": "2610.22842v1", + "http": 200, + "html": true, + "title": "VTrajEmbed: Aligning Text with Video Object Trajectories via Spatiotemporal Embeddings", + "bytes": 563100, + "tables": 49, + "figures": 4, + "imgs": 7, + "svgs": 10 + }, + { + "id": "2610.22822v1", + "http": 200, + "html": true, + "title": "VISTA: A Multimodal Egocentric Benchmark for Goal-Oriented Perception and Assistance to Blind and Low-Vision Users", + "bytes": 815502, + "tables": 33, + "figures": 28, + "imgs": 19, + "svgs": 16 + }, + { + "id": "2610.22744v1", + "http": 200, + "html": true, + "title": "OmniXRef: A Unified Framework for Multimodal Multi-Reference Video Editing", + "bytes": 617529, + "tables": 16, + "figures": 16, + "imgs": 13, + "svgs": 21 + }, + { + "id": "2610.22700v1", + "http": 200, + "html": true, + "title": "Thinking from Above:Efficient Spatial Reasoning with Bird\u2019s-Eye-View Visual Tokens", + "bytes": 413326, + "tables": 13, + "figures": 14, + "imgs": 11, + "svgs": 10 + }, + { + "id": "2610.22602v1", + "http": 200, + "html": true, + "title": "Stuck on Shuffle: On Attribute\u2013ObjectBinding in Vision\u2013Language Models", + "bytes": 841679, + "tables": 26, + "figures": 29, + "imgs": 12, + "svgs": 10 + }, + { + "id": "2610.22509v1", + "http": 200, + "html": true, + "title": "TriSAR-3D and PaintFusion: A Novel Trimodal LiDAR\u2013RGB\u2013Thermal Dataset and Method for 3D Person Detection in Search and Rescue", + "bytes": 293990, + "tables": 11, + "figures": 16, + "imgs": 12, + "svgs": 14 + }, + { + "id": "2610.22499v1", + "http": 200, + "html": true, + "title": "JAVIS: Joint Audio-Visual Interaction and Streaming for Real-Time Conversational Agents", + "bytes": 142340, + "tables": 5, + "figures": 7, + "imgs": 8, + "svgs": 10 + }, + { + "id": "2610.22474v1", + "http": 200, + "html": true, + "title": "Star Light, Star Bright: Can Multimodal Models Parse an Astronomy Visual Question Answering Dataset Right?", + "bytes": 210882, + "tables": 4, + "figures": 9, + "imgs": 4, + "svgs": 11 + }, + { + "id": "2610.22360v1", + "http": 200, + "html": true, + "title": "Grounding Generative Verification in 3D Content", + "bytes": 661125, + "tables": 21, + "figures": 36, + "imgs": 11, + "svgs": 17 + }, + { + "id": "2610.24005v1", + "http": 200, + "html": true, + "title": "PACE: Pareto-Adaptive Compression for Efficient Native MLLMs", + "bytes": 764282, + "tables": 29, + "figures": 28, + "imgs": 7, + "svgs": 11 + }, + { + "id": "2610.22276v1", + "http": 200, + "html": true, + "title": ": System One Spatial Intelligencevia Native Attention Matching", + "bytes": 796241, + "tables": 47, + "figures": 36, + "imgs": 11, + "svgs": 10 + }, + { + "id": "2610.22240v1", + "http": 200, + "html": true, + "title": "MMSearch-OPD: Easy Made Hard, Hard Made Learnable for Long-Horizon Multimodal Search Agents", + "bytes": 229175, + "tables": 11, + "figures": 6, + "imgs": 8, + "svgs": 10 + }, + { + "id": "2610.22234v1", + "http": 200, + "html": true, + "title": "OS-Helix: Unifying GUI Interaction and Code Execution in Native Computer-Using Agents", + "bytes": 760110, + "tables": 34, + "figures": 25, + "imgs": 11, + "svgs": 22 + }, + { + "id": "2610.22217v1", + "http": 200, + "html": true, + "title": "Skill-Decoupled On-Policy Expert Distillation for Unified Vision-Language Models", + "bytes": 494138, + "tables": 34, + "figures": 34, + "imgs": 16, + "svgs": 18 + }, + { + "id": "2610.22215v1", + "http": 200, + "html": true, + "title": "FutureLift: Lifting Trajectory Proposals into Bidirectional Future Graphs for Motion Forecasting", + "bytes": 359441, + "tables": 17, + "figures": 30, + "imgs": 2, + "svgs": 11 + }, + { + "id": "2610.22444v1", + "http": 200, + "html": true, + "title": "Event-STVG: Spatio-Temporal Video Grounding for Long-Form Event Reasoning", + "bytes": 364961, + "tables": 20, + "figures": 17, + "imgs": 10, + "svgs": 10 + }, + { + "id": "2610.22009v1", + "http": 200, + "html": true, + "title": "Visual Sanad: Auditing Vision\u2013Language Models for False Acceptance of Qur\u2019anic Citations", + "bytes": 220905, + "tables": 12, + "figures": 9, + "imgs": 10, + "svgs": 10 + }, + { + "id": "2610.24002v1", + "http": 200, + "html": true, + "title": "spora:A Unified Multimodal Datasetand Platform for Spatial Proteomics", + "bytes": 638262, + "tables": 26, + "figures": 37, + "imgs": 22, + "svgs": 11 + }, + { + "id": "2610.21948v1", + "http": 200, + "html": true, + "title": "Following Delegation Traces to Study Human Oversight in Interaction with Multimodal AI", + "bytes": 164692, + "tables": 8, + "figures": 6, + "imgs": 11, + "svgs": 10 + }, + { + "id": "2610.21794v1", + "http": 200, + "html": true, + "title": "MedPAO-VL: Interpretable and Protocol-Compliant Agent for Structured Radiology Report Generation", + "bytes": 534506, + "tables": 20, + "figures": 46, + "imgs": 21, + "svgs": 42 + }, + { + "id": "2610.21696v1", + "http": 200, + "html": true, + "title": "Bridging the Markerless Tracking Validation Gap: Intraoperative X-ray Workflow Integration", + "bytes": 112178, + "tables": 4, + "figures": 5, + "imgs": 8, + "svgs": 10 + }, + { + "id": "2610.21667v1", + "http": 200, + "html": true, + "title": "FusionAudit: Pathway-Conditioned Robustness Auditing for Native Multimodal Models", + "bytes": 292020, + "tables": 11, + "figures": 9, + "imgs": 4, + "svgs": 11 + }, + { + "id": "2610.21588v1", + "http": 200, + "html": true, + "title": "Hear, Localize, and Reason: Spatially Aware Scene Understanding for Audio-Visual LLMs", + "bytes": 660589, + "tables": 17, + "figures": 28, + "imgs": 18, + "svgs": 11 + }, + { + "id": "2610.21459v1", + "http": 200, + "html": true, + "title": "Can Visual Generation Expand What Unified Multimodal Models Know?", + "bytes": 197283, + "tables": 12, + "figures": 14, + "imgs": 11, + "svgs": 10 + }, + { + "id": "2610.21452v1", + "http": 200, + "html": true, + "title": "Full-Duplex Interaction with Speech, Expressions and Gestures", + "bytes": 577351, + "tables": 36, + "figures": 18, + "imgs": 10, + "svgs": 10 + }, + { + "id": "2610.21380v1", + "http": 200, + "html": true, + "title": "Perception or Reasoning? Diagnosing and Tackling Reinforcement Learning Bottlenecks in VLMs", + "bytes": 349115, + "tables": 28, + "figures": 17, + "imgs": 22, + "svgs": 10 + } +] \ No newline at end of file diff --git a/wizard-work/sphinx/mm-vla-dossier-2026-10-22.tar.gz b/wizard-work/sphinx/mm-vla-dossier-2026-10-22.tar.gz new file mode 100644 index 0000000..0547239 Binary files /dev/null and b/wizard-work/sphinx/mm-vla-dossier-2026-10-22.tar.gz differ diff --git a/wizard-work/sphinx/verify_mm_dossier.py b/wizard-work/sphinx/verify_mm_dossier.py new file mode 100644 index 0000000..4b01558 --- /dev/null +++ b/wizard-work/sphinx/verify_mm_dossier.py @@ -0,0 +1,126 @@ +#!/usr/bin/env python3 +"""Independent verifier for the multimodal arXiv dossier. + +Checks, in order: + A. every file listed in MANIFEST.json exists and its sha256 matches the manifest + B. paper.html's sha256 matches the html_sha256 recorded in that paper's dossier.json + C. paper.txt really is derived from paper.html (substring agreement + size bounds) + D. tables.json and figures.json parse, are non-empty, and their counts match the + counts recorded in dossier.json + E. RE-FETCH each paper.html over HTTP; the sha256 must equal the manifest hash + (i.e. the archive reproduces what arXiv serves today) + F. RE-FETCH the Atom feed over HTTP; the ids of every archived paper must appear + in the live feed (the archive is traceable to the live query) + G. REPORT.md exists, is non-trivial, and names every archived arXiv id + +Exit code 0 only if all checks pass. +""" +import hashlib +import json +import os +import re +import sys +import time +import urllib.error +import urllib.request + +UA = {"User-Agent": "sphinx-archive-verify/1.0 (mailto:sphinx@agents.invalid)"} +D = sys.argv[1] if len(sys.argv) > 1 else "/root/.hermes/wizard-outputs/sphinx/mm-vla-dossier-2026-10-22" + +fails = [] +notes = [] + + +def check(name, ok, detail=""): + print(" [%s] %s%s" % ("PASS" if ok else "FAIL", name, (" — " + detail) if detail else "")) + if not ok: + fails.append(name) + return ok + + +def sha(path): + h = hashlib.sha256() + with open(path, "rb") as f: + for c in iter(lambda: f.read(65536), b""): + h.update(c) + return h.hexdigest() + + +def http(url, timeout=60): + req = urllib.request.Request(url, headers=UA) + with urllib.request.urlopen(req, timeout=timeout) as r: + return r.status, r.read() + + +manifest = json.load(open(os.path.join(D, "MANIFEST.json"))) +papers = manifest["papers"] + +print("A. manifest integrity (sha256 of every listed file)") +for rel, meta in sorted(manifest["files"].items()): + p = os.path.join(D, rel) + ok = os.path.exists(p) and sha(p) == meta["sha256"] + check("A %s" % rel, ok, "%d bytes" % meta["bytes"] if os.path.exists(p) else "MISSING") + +print("B. paper.html sha256 == dossier.html_sha256") +for p in papers: + pj = os.path.join(D, p["arxiv_id"], "paper.html") + dj = json.load(open(os.path.join(D, p["arxiv_id"], "dossier.json"))) + check("B %s" % p["arxiv_id"], os.path.exists(pj) and sha(pj) == dj["paper"]["html_sha256"], + "manifest says %s" % p["html_sha256"][:16]) + +print("C. paper.txt is a real text layer of paper.html") +for p in papers: + h = open(os.path.join(D, p["arxiv_id"], "paper.html"), encoding="utf-8", errors="replace").read() + t = open(os.path.join(D, p["arxiv_id"], "paper.txt"), encoding="utf-8").read() + # the title string from the dossier must survive into the text layer + title = (p["title"] or "").strip() + probe = " ".join(title.split())[:40] + ok = (len(t) > 500 and len(t) < len(h) and probe in " ".join(t.split())) + check("C %s" % p["arxiv_id"], ok, "html %d -> text %d chars; title probe present=%s" % ( + len(h), len(t), probe in " ".join(t.split()))) + +print("D. tables.json / figures.json counts agree with dossier.json") +for p in papers: + base = os.path.join(D, p["arxiv_id"]) + d = json.load(open(os.path.join(base, "dossier.json")))["archive"] + tabs = json.load(open(os.path.join(base, "tables.json"))) + figs = json.load(open(os.path.join(base, "figures.json"))) + ok = (len(tabs) == d["tables_found"] and len(figs) == d["figures_found"] + and len(tabs) > 0 and len(figs) > 0) + check("D %s" % p["arxiv_id"], ok, + "tables %d==%d figures %d==%d" % (len(tabs), d["tables_found"], len(figs), d["figures_found"])) + +print("E. live re-fetch of paper.html reproduces the archived sha256") +for p in papers: + try: + st, raw = http("https://arxiv.org/html/%s" % p["arxiv_id"]) + got = hashlib.sha256(raw).hexdigest() + check("E %s" % p["arxiv_id"], st == 200 and got == p["html_sha256"], + "HTTP %s sha %s" % (st, got[:16])) + except Exception as e: + check("E %s" % p["arxiv_id"], False, "%s: %s" % (type(e).__name__, e)) + time.sleep(1.0) + +print("F. live Atom feed contains every archived paper id") +try: + st, raw = http(manifest["atom_url"]) + feed = raw.decode("utf-8", "replace") + ids_in_feed = set(re.findall(r"http://arxiv\.org/abs/([^<]+)", feed)) + missing = [p["arxiv_id"] for p in papers if p["arxiv_id"] not in ids_in_feed] + check("F atom ids", st == 200 and not missing, + "HTTP %s; feed ids %d; missing %s" % (st, len(ids_in_feed), missing or "none")) +except Exception as e: + check("F atom ids", False, "%s: %s" % (type(e).__name__, e)) + +print("G. REPORT.md exists and names every archived paper") +rp = os.path.join(D, "REPORT.md") +rep = open(rp, encoding="utf-8").read() if os.path.exists(rp) else "" +missing = [p["arxiv_id"] for p in papers if p["arxiv_id"] not in rep] +check("G report", len(rep) > 1000 and not missing, + "%d chars; missing %s" % (len(rep), missing or "none")) + +print() +if fails: + print("RESULT: %d check(s) failed: %s" % (len(fails), fails)) + sys.exit(1) +print("RESULT: all checks passed (%d papers, %d manifest files)" % (len(papers), len(manifest["files"])))