Three small gaps from the OMP comparison (#77367) that the existing tools
almost covered:
- read_file on .db/.sqlite/.sqlite3 was refused as binary. It now extracts a
schema overview (CREATE per table, row count, first 5 rows, indexes/views)
through the same document-extraction path as .docx/.xlsx, opened read-only
and immutable so a live database is never locked. A .db whose magic bytes are
not SQLite is refused with that reason. The Hermes read denylist now runs
before extraction so protected stores cannot be reached through an extractor.
- read_file reports conflict_blocks: N (plus a hint) when the served range has
balanced <<<<<<< / >>>>>>> marker lines, so the model resolves the conflict
instead of editing around it. A lone marker in prose is not counted.
- web_extract returned 824K chars of raw SQLite bytes as page "content" for a
.sqlite URL (live: Chinook_Sqlite.sqlite via the configured backend). Bodies
starting with an unambiguous file signature (SQLite, ZIP, gzip, xz, 7z, ELF,
Mach-O, PNG/JPEG/GIF/TIFF, FLAC/Ogg) become a typed error pointing at
terminal + read_file. Backends drop NUL bytes, so signatures are compared
NUL-stripped; two-letter signatures (BM, MZ, ID3) are excluded on purpose.