Can Reducto preserve styled headings and subheadings as nested Markdown heading levels?
Reducto flattened the heading structure in the Markdown output. The file contains one "#", 26 "##" headings, and no deeper levels; the document title is plain paragraph text. The two visible parent/child pairs were emitted as peers, so the nesting expected for styled headings and subheadings was not preserved.
1 of 1 test case failed
Every test case in this scenario has a result.
The test case
Each test case is judged on its own: Pass, Fail, Not gradable, or Untested. The scenario result above counts this row.
Styled headings — hierarchy preservedFailEvidence
# Kirkhollow Analytical Laboratories Ltd Sample Reception and Handling Procedure KAL-SP-06 · Revision 4 · Effective 1 March 2026 ## Scope This procedure covers the receipt, identification, storage and disposal of samples submitted to the laboratory for chemical analysis. It applies to everything received at the Braithe Road reception, including samples delivered by courier and samples brought in by clients. It does not cover samples taken by our own field staff, which are dealt with in KAL-SP-11. ## Reception Samples are received at reception between 08:00 and 17:30 on weekdays and between 09:00 and 12:00 on Saturdays. Outside those hours clients who hold a key may use the refrigerated drop box at the rear entrance. ## Chain of custody Every delivery arrives with a completed submission form. Reception staff check that the form is signed, that the number of containers matches the number listed on it, and that each container carries a legible client reference. The form is signed and timed on receipt and the top copy is returned to the person making the delivery. ## Condition on arrival Reception staff record the condition of each container on the submission form before it leaves the reception bench. Anything recorded there that falls outside the limits below goes to the duty chemist before the sample is booked in. ## Temperature Chilled samples. Where the submission form specifies chilled transport, the temperature of the transport box is measured and written on the form. A box above 8 degrees is accepted, marked, and referred to the duty chemist, who decides whether the analysis can still be reported. A box above 15 degrees is not accepted for microbiological work at all. ## Container integrity Containers that are cracked, leaking, or filled above the shoulder are photographed on the reception bench and set aside, and the client is telephoned the same day. A leaking container is not opened at reception. ## Storage ## Refrigerated storage Samples for chemical analysis are held at 4 degrees in the reception cold room and are racked by the day of receipt, not by client. Racks are cleared every Friday afternoon. ## Frozen storage Samples that require frozen storage are held at minus 20 degrees in the chest freezer in room 4. Nothing goes into the freezer without a completed freezer label, and nothing is stacked above the load line marked inside the cabinet. ## Retention and disposal Analysed samples are kept for twenty-eight days after the report is issued and are then disposed of by the route set out in KAL-SP-19. Samples held longer at a client's request are labelled with the agreed retention date and reviewed monthly by the laboratory manager. ## Records Submission forms, condition records and the reception log are kept for six years. The reception log is a bound book: entries are not erased, and a correction is made by a single line through the original, initialled and dated. ## Responsibilities The laboratory manager owns this procedure. Reception staff carry it out; the duty chemist decides anything it refers to them; and the quality manager audits it twice a year against the reception log and the submission forms. ## Reception staff Reception staff check every delivery against its form, record the condition of each container, book the submission in, and put the samples into the right storage within thirty minutes of accepting them. They do not decide whether a sample outside the limits above can be analysed, and they are not asked to. ## The duty chemist The duty chemist is named on the board in reception for each working day. They decide whether a sample that arrived outside the limits can be reported and on what terms, record the decision on the submission form and initial it, and tell the client where the decision changes what the report will say. ## Identification and booking in ## The laboratory number
Markdown output with one top-level heading and 26 second-level headings; no deeper levels appear. From outside the graded run; shown for context, not graded.
Copied from Output file (Markdown), lines 1–63 · an excerpt
Open the whole Markdown file ↗These are scenario-level criteria. Each test case's Expected and Found are listed separately.
- Whether headings are emitted as Markdown heading levels rather than plain or bold paragraphs.
- Whether nested headings keep their parent-child hierarchy intact.
- Whether the document’s organisation remains visibly structured instead of flattening to one level.
| ✗ | Found: Headings were converted, but the hierarchy collapsed to one # and 26 ## headings. |
The conversion kept headings as Markdown, but it flattened the hierarchy to one top-level heading and 26 second-level headings, so nesting was lost.
Adobe contrast. A contrasting Adobe PDF Extract run on the same fixture kept three levels and nested both pairs, showing the flattening came from this tool.
No typography metadata. The source PDF has no section numbering or usable font-size metadata in its text layer, so adjacent headings are the strongest level cue.
Configuration and setup
How this tool was set up for the run and what the test needed in place. Each row is a fact from the run's records; a fact the records do not hold is left out, not guessed.
How this scenario is graded
How we decide Pass, Fail and Not gradable. The same rules apply to every tool tested on this scenario.
Each test case gets one result per tool: Pass, Fail or Not gradable. A test case we haven't run yet shows Untested. There are no partial results.
- Pass: the tool did everything the test expected, and nothing it said contradicts the correct answer.
- Fail: at least one expected behaviour clearly didn't happen; the row says which and quotes the tool.
- Not gradable: our evidence couldn't settle the outcome (for example a record we needed is missing). It is never counted as a fail, and the row says what's missing.
Where this sits in the benchmark
This page is one cell of a larger study: one tool, one scenario. Only this benchmark's frame appears here.
| Level | Name | Scope |
|---|---|---|
| Benchmark | Converting a complex PDF into clean Markdown with a hosted API → | 12 scenarios · 13 tools |
| Capability | Heading & Section Structure → | |
| Scenario | A document with styled headings and subheadings → | |
| Tool | Reducto → |
Global scenario definition → · Global capability definition → · Reducto product page →
History of this result
What has happened to this result since it was first published. Runs and grades are never overwritten: a retest or a re-grade publishes a new result and keeps the earlier one readable.
Act on this result
Nothing filed here edits the run or the grade. A challenge opens a review, and a review can produce a new run or a re-grade — which becomes the current result and leaves this one in the history.
You run the same kind of test against your own setup and get the same behaviour.
Agree →Yours behaves differently. Tell us what you got, with a screenshot if you have one.
Disagree →Something here is wrong — a reference value, a transcription, a grade.
Report an issue →Tell us what changed and we schedule a rerun of the failing test case. The old result stays as history.
Vendor notice →The same record is available as structured data through the AI Demos MCP server, with the counts, the coverage and every per-test-case reason carried as fields.
Verify the proof files
These files support this result. Open a file to inspect the original evidence.
File fingerprints (SHA-256)
A fingerprint identifies the exact file used for this result.