# Read the report The zoo run is finished. Somewhere under ``visualization.output_dir`` sits a summary report and a ``results.json``. This tutorial treats that report like a case file: open it, read the headline table, check the traps, then decide what to ship or what to rerun.

Mission. Open summary_report.pdf or HTML, explain joint accuracy versus F5Q versus PQ min in one sentence each, and say whether the recommendation box survives the hardware columns.

```{mermaid} flowchart TB OUT[output directory] --> PDF[summary_report] OUT --> JSON[results.json] PDF --> TAB[Comparison table] TAB --> REC[Recommendation box] TAB --> HW[LUT · DSP · latency] REC --> DEC{Ship, tune, or rerun?} HW --> DEC ``` ## Where to look After ``arcade run`` finishes, open the directory named by ``visualization.output_dir``. A typical layout looks like this: ```text {visualization.output_dir}/ ├── summary_report.pdf ├── results.json ├── data/ ├── filters/ ├── {classifier}/ ├── sweep/ └── hardware/ ``` Configuration knobs that change report shape include ``visualization.summary_sections``, ``visualization.report_detail``, and ``visualization.format``. Supported formats include ``pdf`` and ``html``. ## Anatomy of report detail tiers | Tier | ``report_detail`` | Contents | |------|-------------------|----------| | Executive | ``summary`` and above | Comparison table with Accuracy, Infidelity, F5Q, PQ min, LUT, DSP, and Latency in nanoseconds; confusion small-multiples; speed and fidelity overlay; recommendation for highest joint accuracy | | Detail | ``standard`` and above | Per-qubit fidelity table; per-classifier confusion and hardware blurbs | | Appendix | ``full`` | Cross-fidelity heatmap; grouped per-qubit bars | ## How to read the comparison table Read the table left to right as a story, not as a single scoreboard number. **Accuracy joint** is the fraction of shots where the full multi-qubit label matches. On five qubits this is a thirty-two class problem. It is harder than averaging per-qubit scores. This is usually the ranking key in the recommendation box. **F5Q** is a geometric or product-style aggregation of per-qubit fidelities. It is useful when joint accuracy is dominated by one weak qubit. Read it next to PQ min. **PQ min** is the worst single-qubit fidelity. It flags imbalance across the device. A method can win joint accuracy while quietly harming one qubit your algorithm cares about. **LUT, DSP, and Latency** are analytical FPGA estimates from ``arcade.hardware``. Treat them as ranking aids, not bitstream guarantees. **Recommendation box** highlights the highest joint accuracy under this shared recipe. Always check the hardware columns before deciding what to ship.

Quick read order. Joint accuracy → PQ min → F5Q → hardware columns → recommendation box. If any step disagrees with the box, write down why before you trust the ranking.

## Pitfalls checks ```{warning} A wrong ``data.qubit_bit_order`` systematically destroys joint accuracy while per-qubit numbers can still look plausible. The zoo default is ``lsb0``. Path signature results on Readout 2019 under the zoo recipe are transfer results. Analytical LUT wins are not Vivado timing closure. See {doc}`../explanation/shared_recipe` and {doc}`../explanation/metrics` before claiming paper parity. ``` ## Next Read {doc}`../explanation/metrics` for formal column definitions, {doc}`../explanation/hardware_limits` for FPGA caveats, and {doc}`../reference/classifiers` for how each method earned its row. When you are ready to add your own row, open {doc}`../how_to/add_classifier`.