The route-permission fence (#52) failed in CI, not locally: I had run the fonts and import-export suites, not the full api suite, and the fence needs a database. `@AuthenticatedOnly()` is the rule the route always meant — a session, no further permission. |
||
|---|---|---|
| .. | ||
| default-favicon-32.png | ||
| default-favicon-180.png | ||
| README.md | ||
| reference-vs-nfd.docx | ||
| reference-vs-nfd.odt | ||
Runtime assets
reference-vs-nfd.docx / reference-vs-nfd.odt (issue #209, ADR 0022)
Pandoc reference documents for the DOCX/ODT export of a classified page: their page setup defines a header and footer carrying the VS-NfD marking, which pandoc copies into its output — so the marking repeats on every page in Word and LibreOffice and is not deletable body text. Unclassified exports pass no reference document and are unchanged.
These are derived binaries — never edit them by hand. Source of truth
is ../scripts/gen-classified-reference-docs.mjs: it takes the default
reference documents of the pinned sidecar (pandoc/core:3.6, the exact
image the stages run) and injects the header/footer, with the wording from
classificationMarking() in @dorfteich/shared (single source, ADR
0022). Regenerate — after a pandoc pin bump, a wording change, or a layout
tweak in the script — with Docker running:
pnpm --filter @dorfteich/shared build # the script imports the wording
node apps/api/scripts/gen-classified-reference-docs.mjs
Commit script and binaries together. The fidelity suite
(export.fidelity.test.ts) asserts against the real pinned pandoc that a
marked export carries the header/footer parts and an unmarked one does
not.
Per-page verification in the office suites
After regenerating, confirm the marking repeats on every page of a multi-page export (not just structurally in the XML):
- Produce a marked multi-page export (any classified page with a few
screens of text, exported to
.docxand.odt). - LibreOffice (scriptable):
soffice --headless --convert-to pdf <file>and check every PDF page shows the marking twice (header + footer) — e.g. withpypdf. - Word: open the
.docx, check header and footer on every page (print preview). Word's AppleScript/sandbox makes this hard to script — this step is a quick manual look.
Last verified 2026-07-31 (pandoc 3.6 output): LibreOffice 25.8, both
formats, 5/5 pages with 2 markings each. Word: manual check pending —
sample files in the workspace under doku/209-marked-sample.docx/.odt.