|
Some checks failed
CD / Build and push images (push) Successful in 2m53s
CD / Deploy to Test (push) Successful in 9s
CD / Smoke tests against Test (push) Successful in 1m11s
CI / Lint, typecheck, test (push) Failing after 4m22s
CI / Auth e2e pack (push) Has been skipped
CI / Import/export fidelity gate (push) Has been skipped
CI / Build container images (push) Has been skipped
CD / Promote to Int (push) Successful in 11s
The asset type lost its name field during the split into path+extension (tsc error), and the fixture's .obsidian/app.json needed Prettier's formatting. Lesson from the /srv move repeated within one day: the gate chain must gate — never '; echo' past a failing typecheck. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| obsidian-vault | ||
| article.docx | ||
| article.docx.expected.md | ||
| article.odt | ||
| article.odt.expected.md | ||
| article.src.html | ||
| formatting.docx | ||
| formatting.docx.expected.md | ||
| formatting.odt | ||
| formatting.odt.expected.md | ||
| formatting.src.html | ||
| README.md | ||
Import fixture corpus (issue #63, ADR 0009)
Representative .docx/.odt documents and the Markdown our import pipeline is
expected to produce from them. import.fixtures.test.ts runs the real two-pass
pandoc conversion over each and asserts the result, so a change in behaviour
(ours or pandoc's) surfaces as a snapshot diff to review — not a silent
regression. This suite is part of the CI fidelity gate (issue #69); see
../README.md for the fidelity contract and the fixture-first
bug process (how a fidelity bug becomes a new corpus fixture).
Files
For each document <name> and format <ext> (docx, odt):
<name>.<ext>— the source document.<name>.<ext>.expected.md— the Markdown the pipeline produces, with every embedded image'sdata:URI normalised to the literaldata:embedded-image(the base64 payload is volatile and not what the snapshot is pinning).
article covers headings, paragraphs, bold/italic, a link, a bullet list
with nesting, an ordered list, an embedded image, and a table. formatting
covers strikethrough, inline code, a blockquote, and three levels of nesting.
Fidelity notes (structure, not layout — ADR 0009)
- ODT images lose their alt text and ODT tables lose their header row: pandoc's HTML→ODT writer does not encode either, so the source documents genuinely lack them. The DOCX variants keep both. This is a pinned pandoc limitation, not an import bug — extend the corpus rather than chasing it.
Limits (ADR 0009)
An uploaded document may be at most 25 MiB (MAX_CONVERSION_INPUT_BYTES),
and each of the two conversion passes may run for at most 60 s
(CONVERSION_TIMEOUT_MS). A ~50-page document converts well inside that ceiling
(import.fixtures.test.ts asserts it); a document that exceeds the timeout fails
the job with converter_timeout.
Regenerating
The documents and snapshots are generated with the pinned pandoc/core:3.6
(the production sidecar) so the snapshots match CI; a different pandoc version
wraps lists and pads tables differently. scripts/gen-import-fixtures.mjs
regenerates everything against a reachable pandoc sidecar (PANDOC_URL).