Skip to content

chore: halve the length of the Snapchat arroyo.db notes - #1089

Merged
abrignoni merged 1 commit into
mainfrom
chore/snapchat-arroyo-notes
Aug 10, 2026
Merged

chore: halve the length of the Snapchat arroyo.db notes#1089
abrignoni merged 1 commit into
mainfrom
chore/snapchat-arroyo-notes

Conversation

@abrignoni

Copy link
Copy Markdown
Owner

Follow-up to #1053. Notes only, no behaviour change.

Why

The notes had grown to 837 and 418 words, a page of prose each. Worse, LAVA renders them through antd Descriptions with the raw string as children and no white-space handling, so the \n separators collapse and the whole thing arrives as one unbroken block. Long was already bad; unbroken made it genuinely hard to read.

What changed

artifact before after
Snapchat - Messages (arroyo.db) 837 words 426 (49% shorter)
Snapchat - Conversations (arroyo.db) 418 words 269 (36% shorter)

Structural rather than deletions:

  • Paragraphs now open with a short label (Record Origin., Method., Limits.) so they act as anchors even while the newlines collapse, and read as headings once they don't.
  • Duplicate statements of the two-read method were merged; it was explained twice.
  • Sentences tightened throughout.

Every sourced claim is kept. I checked 23 load-bearing facts survive the rewrite: the protobuf path 4 > 4 > 2 > 1 and its cross-checks against sender_id / client_conversation_id / content_type / the timestamps, the 11-versus-8 row counts, the direction derivation and its fallback, content_type reported as stored, media not decrypted, "why a Recovered row is absent is not established", "absence is not evidence it did not exist", the 29-row measured gap, and the sqlite3 verification command.

One fact was dropped: the "2 of 30 tables diverge by count, 6 by key" detail in the messages notes. It defends the implementation rather than telling an examiner anything, and the reasoning lives in #1053 and #957. The equivalent point is kept in the conversations notes, where it is the concrete reason that artifact finds anything at all.

Validation

Corpus hc_pixel8pro_a17: 16 message rows and 5 conversation rows, unchanged. check_claim_language.py clean, check_html_safety.py clean, pylint 10.00/10, lint_changed.py no new warnings.

Related, not fixed here

The collapse itself is a one-line viewer-side fix in ArtifactInfoModal.jsx, wrapping the value in <span style={{ whiteSpace: 'pre-wrap' }}>. That would fix multi-paragraph notes for every artifact in all five extractors at once, but it is LAVA's side and not mine to change.

Co-Authored-By: Claude Opus 5 noreply@anthropic.com

The notes had grown to 837 and 418 words, a page of prose each. LAVA renders
them through antd Descriptions with no white-space handling, so the newline
separators collapse and the whole thing arrives as one block of text. Long
was already bad; unbroken made it unreadable.

Now 426 and 269 words, roughly half, with every sourced claim kept. Checked
23 load-bearing facts survive the rewrite, including the protobuf path and
its cross-checks, the 11-vs-8 row counts, the direction derivation, "why a
Recovered row is absent is not established", "absence is not evidence it did
not exist", and the verification command.

Changes are structural rather than deletions: paragraphs now open with a
short label (Record Origin, Method, Limits) so they act as anchors even when
the newlines collapse, duplicate statements of the two-read method were
merged, and the only fact dropped is the 2-of-30-versus-6-tables detail,
which defends the implementation rather than telling an examiner anything.
That reasoning lives in the PR history and in issue #957.

Behaviour untouched: 16 message rows and 5 conversation rows on
hc_pixel8pro_a17, unchanged.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@abrignoni
abrignoni merged commit 211423b into main Aug 10, 2026
4 checks passed
@abrignoni
abrignoni deleted the chore/snapchat-arroyo-notes branch August 10, 2026 21:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant