Phase 6 round-6: soften firm-heterogeneity framing, fix DOCX table render

Framing softening (per partner tone decision: own the limitation rather
than defend the strong claim).

Abstract: "Firm heterogeneity is decisive ... consistent with firm-level
template-like reuse" -> "The framework surfaces pronounced firm-level
heterogeneity ... consistent with firm-level template-like reuse but not
independently diagnostic, since descriptor-only data cannot separate
reuse from digitisation-pipeline or signing-style homogeneity within a
firm; we report it as a scope limitation rather than a mechanism finding."

S V-H Limitations: new bullet "Mechanism attribution for the firm-level
heterogeneity is not identifiable from descriptor-only data." enumerates
three non-mutually-exclusive firm-level mechanisms (template-like reuse /
digitisation-pipeline homogeneity / signing-style homogeneity), notes the
(cosine, dHash) descriptor pair is by construction indifferent to which
mechanism generated a near-identical pair, and lists what additional data
would be needed for attribution.

S VI Conclusion items (3) and (4): "firm heterogeneity quantification" ->
"firm-level heterogeneity surfaced by the framework ... reported as a
framework-discriminative observation rather than a mechanism finding";
item (4) expanded from template/stamp/document-production reuse alone to
the three-mechanism scope, with explicit "not independently establishing"
and S V-H cross-reference.

DOCX export fix (export_v3.py): add missing LaTeX-to-Unicode tokens
(\checkmark, \lvert/\rvert, \lVert/\rVert, \in, \notin, \max, \min,
\log, \ln, \exp, \bullet) that were silently dropping content from
Table III rows 2-4 (integer-jitter robustness check marks empty) and
Table XVIII drift column (|Delta| empty).

Rebuild Paper_A_IEEE_Access_Draft_v3.docx via export_v3.py and install
copy as Paper_A_IEEE_Access_Draft_v4.0_20260515.docx (replaces prior
pandoc-built v4 DOCX which had empty cells in every table header with
LaTeX math and inconsistent column widths). All 43 tables now have
non-empty cells with sub/superscript runs.

Mirrored in paper_a_v4_combined.md for consistency with the single-file
combined source.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-16 02:16:05 +08:00
parent 4efbb7f4b8
commit 3672c9343e
7 changed files with 19 additions and 5 deletions
+10
View File
@@ -153,9 +153,19 @@ LATEX_TOKEN_REPLACEMENTS = [
(r"\\leq(?![A-Za-z])", ""), (r"\\geq(?![A-Za-z])", ""),
(r"\\neq(?![A-Za-z])", ""), (r"\\approx(?![A-Za-z])", ""),
(r"\\equiv(?![A-Za-z])", ""), (r"\\sim(?![A-Za-z])", "~"),
(r"\\in(?![A-Za-z])", ""), (r"\\notin(?![A-Za-z])", ""),
(r"\\to(?![A-Za-z])", ""), (r"\\rightarrow(?![A-Za-z])", ""),
(r"\\leftarrow(?![A-Za-z])", ""), (r"\\Rightarrow(?![A-Za-z])", ""),
(r"\\Leftarrow(?![A-Za-z])", ""),
# Delimiters spelled as commands
(r"\\lvert(?![A-Za-z])", "|"), (r"\\rvert(?![A-Za-z])", "|"),
(r"\\lVert(?![A-Za-z])", ""), (r"\\rVert(?![A-Za-z])", ""),
# Symbols / operators that linearise to text
(r"\\checkmark(?![A-Za-z])", ""),
(r"\\bullet(?![A-Za-z])", ""),
(r"\\max(?![A-Za-z])", "max"), (r"\\min(?![A-Za-z])", "min"),
(r"\\log(?![A-Za-z])", "log"), (r"\\ln(?![A-Za-z])", "ln"),
(r"\\exp(?![A-Za-z])", "exp"),
# Binary operators
(r"\\times(?![A-Za-z])", "×"), (r"\\cdot(?![A-Za-z])", "·"),
(r"\\pm(?![A-Za-z])", "±"), (r"\\mp(?![A-Za-z])", ""),