Bugfix #1784: keyword XML import - the LAST row no longer decides the whole file testproject::importKeywordsFromSimpleXML() reused its file-level $status as the per-row verdict, so a malformed last <keyword> turned a readable file into 400 wrong_keywords_file while the earlier rows stayed committed, and the same content imported fine when the bad row came first. The XML arm now takes the same optional by-ref $stats report as the CSV arm; both import BFFs publish it instead of back-computing it from the keyword-count delta. Suite 1784 20/20 PASS (bash tmp/verify_1784.sh 18/18 PASS). Refs #1784
Wiki: #1666 - the XML round-trip keyword import wrongly rejected with 400 wrong_keywords_file
Keyword CSV import fix #1616: docs + screenshot
docs: issue #1675 - apply code-review corrections (pre-fix hash, line citations, RESUME probe, history nuance)
docs: issue #1675 - 'Format sample' caption duplication in the Keyword Exchange popup Root cause, minimal fix (div.sample-block wrapper), the margin-collapse risk and its pixel-identical proof, 13/13 regression results, before/after screenshots.
Task #1007: 'View File Format Documentation' link in keyword import/export + keyword exchange page update
docs(#1615): Keyword XML/CSV Export+Import modernized page + 2 screenshots