Release note · August 3, 2026
A DDE source can change without changing Word text
A Word field can retain its stored result text while its instruction changes. That distinction matters when the instruction identifies material outside the package: text-only review sees the same result, while a static package reviewer can make the stored source boundary explicit without evaluating the field.
Document Change Assurance Benchmark (DCAB) 0.7.0 adds its eighteenth deterministic paired package: external.dde_field_source_retargeted. Both sides retain the same complete w:fldSimple shape, field result, application token, item token, package-member set, and stored w:t sequence. Only word/document.xml changes, and the change is confined to the private source-file argument.
Review a stored instruction; do not process it
Microsoft’s Word field specification for DDE defines separate application, source-file, and source-item arguments for information linked from another application. DCAB fixes the synthetic application and item arguments, uses a synthetic local-style source string, and changes only that source-file argument.
Microsoft’s DDE security advisory documents Office controls for processing DDE fields. That makes the stored instruction a useful review surface; it does not turn this corpus into a client-behavior or exploit test. The builder, verifier, scorer, and adapter never resolve a source, update a field, open Word, start an application, invoke DDE, or claim what an Office client will do.
A deterministic field-instruction boundary
The independent verifier checks the exact fixed field shape and instruction components, deterministic package bytes, stable member set, unchanged stored Word text, and exact one-member pair boundary. The standard python-docx reader opens all 34 .docx fixtures, and its lower-level OPC reader opens all 36 packages.
The optional local DocFence 0.27.0 adapter maps the public external_field_inventory_changed evidence while the aggregate DDE-field count remains one. It uses aggregate evidence only, never the source string or a private signature.
The release passed 14 tests locally, then passed hosted CI on Python 3.11, 3.12, and 3.13 plus a clean DocFence installation. Fresh wheel and source-distribution installs, the uploaded GitHub artifacts, and a fresh Hugging Face dataset download each validate the bundled 18-case corpus.
Use the release
python -m pip install https://github.com/SybilGambleyyu/document-change-benchmark/releases/download/v0.7.0/document_change_benchmark-0.7.0-py3-none-any.whl
dcab validate
dcab docfence-observations --executable docfence --output observations.json
dcab score --observations observations.json --strict
DCAB 0.7.0 retains fixture schema version 1 because the public truth and observation envelopes are unchanged; it extends the corpus from 17 to 18 cases. It does not claim a source exists, is safe, is reachable, was processed, or will be used by any client. It supplies a reproducible static boundary for serious document review.
The MIT-licensed source, generated fixtures, structural verifier, release artifacts, and research notes are available on GitHub. The fixture corpus is also mirrored as a public Hugging Face dataset.