Remember-R1 figure-grounding archive — arXiv 2608.01314v1
Multimodal long-context research artifact: the paper "Remember-R1: Mitigating Long-Context Visual Forgetting through Reinforcement Learning" archived as provenance-verified bytes with every figure, caption, body reference and claim tied back to the fetched source.
What is here
| file | role |
|---|---|
source.html |
raw ar5iv HTML bytes fetched live over HTTPS (194,158 B) |
paper.txt |
tag-stripped, entity-unescaped text layer (48,271 chars) |
figures/ |
12 figure images, each fetched live and sha256-pinned |
captions.json |
9 figure/table blocks parsed from <figure> elements |
ledger.json |
figure→body-reference grounding + 14 key claims |
manifest.json |
byte size + sha256 of every artifact |
REPORT-Remember-R1-2608.01314.md |
the human-facing dossier |
build_archive.py |
reproducible builder (live fetch → parse → hash) |
build_report.py |
generates the report from the archive bytes |
verify_archive.py |
8-check verifier (A–H), exits 0 only if all pass |
run_verdict.py |
the verdict command — self-contained, falsifiable |
indep_check.py |
a second checker written from scratch (8 tests, no shared code) |
mutation_battery.py |
falsifiability harness — 6 mutations, each must be caught |
INDEPENDENT-VERIFICATION-2026-10-23.md |
the by-hand evidence (curl + sha256sum) |
Verdict
python3 /root/troupe-standup/wizard-work/sphinx/archive-remember-r1-figures-2026-10-23/run_verdict.py
Exit 0 == the archive holds. It re-fetches the HTML and all 12 images live and
recomputes every hash from the bytes it actually holds — it does not trust the
committed manifest. A forged manifest hash, a swapped image, a forged caption or
a deleted image each make it exit nonzero. Falsifiability is measured separately by
mutation_battery.py, which corrupts the inputs six ways and requires each corruption
to be caught by the check that should catch it (measured: 6/6 caught).
What was measured
- 9 figure blocks parsed, 7 carrying image assets, 12 images fetched
- 12/12 live image sha256 match the manifest pin
- 9/9 captions verbatim in the archived HTML
- 7 body references + 14 claims verbatim
- report names 9/9 figure ids and reproduces the manifest provenance table
- tamper control: forged manifest → 1 mismatch caught, clean → 0
- second, independently written checker (
indep_check.py): 8/8 pass - mutation battery (
mutation_battery.py): 6/6 mutations caught, each on the check that should catch it - by-hand provenance (see
INDEPENDENT-VERIFICATION-2026-10-23.md): live ar5iv HTML is byte-identical tosource.html(194,158 B,7f07f08e…5fca); two figure assets pulled live and hashed by hand match their manifest pins;arxiv.org/abs/2608.01314returns the claimed title
Note the two renderings differ: arxiv.org/html/2608.01314v1 is 212,191 B while
ar5iv.labs.arxiv.org/html/2608.01314v1 is 194,158 B. The manifest pins the
ar5iv URL it actually archived.
The failures that started this
- The previous run of this artifact stopped at verifier check H with
no REPORT-*.md— the archive had no human-facing dossier, so the report coverage check failed and the artifact was not finished.build_report.pyand the report it emits close that gap, andrun_verdict.pymakes the whole claim re-checkable in one command. - The generated report's section 5 carried an empty bullet: it searched the text
layer for
Region Relevance Reward, but the paper names that rewardVisual Key-Region Reward, so the match set was empty and a stub was printed instead of a definition. Fixed: the term list now uses the paper's own names (Visual Vocabulary Reward,Visual Memory Reward,Visual Key-Region Reward) and a term that matches nothing raises instead of emitting an empty section. Re-measured: 4/4 definitions grounded verbatim, 0 empty sections.