{ "bootstrap_note": "95% CI on mean CER per engine (1000 bootstrap iterations).", "btn_customize": "⚙ Advanced", "btn_present": "⊞ Presentation", "cdd_help_axis": "The horizontal axis shows the mean rank of each engine (1 = best, k = worst).", "cdd_help_bars": "Thick horizontal bars connect engines that are statistically indistinguishable at the α = 0.05 level (Nemenyi post-hoc test).", "cdd_help_cd": "The red CD bar in the upper-left area shows the critical distance: two engines whose mean ranks differ by less than CD cannot be distinguished.", "cdd_help_ref": "Reference: Demšar (2006), Statistical Comparisons of Classifiers over Multiple Data Sets, JMLR 7:1-30.", "cdd_help_title": "How to read this diagram?", "cdd_title": "Multi-engine test — Friedman & Nemenyi", "char_engine_label": "Engine:", "class_col": "Class", "col_anchor": "Anchor", "col_anchor_title": "Anchor score: proportion of output trigrams found in the GT — low score = probable hallucinations (LLM/VLM)", "col_cer": "Exact CER", "col_cer_diplo": "Diplo. CER", "col_cer_diplo_title": "CER after diplomatic normalisation (ſ=s, u=v, i=j…) — measures substantial errors ignoring codified graphical variants", "col_cer_max": "Max CER", "col_cer_median": "Median CER", "col_cer_min": "Min CER", "col_diacritics": "Diacritics", "col_diacritics_title": "Diacritic preservation rate (accents, cedillas, umlauts…)", "col_docs": "Docs", "col_engine": "Engine", "col_gini": "Gini", "col_gini_title": "Gini coefficient of per-line CER errors — 0 = uniform errors, 1 = concentrated errors. A good engine has low CER AND low Gini.", "col_ligatures": "Ligatures", "col_ligatures_title": "Ligature recognition rate (fi, fl, œ, æ, ff…)", "col_mer": "MER", "col_overnorm": "Over-norm.", "col_overnorm_title": "Class 10 — LLM over-normalisation: rate of correct words degraded by the LLM", "col_rank": "#", "col_wer": "WER", "col_wil": "WIL", "corr_engine_label": "Engine:", "corr_note": "Pearson coefficient between CER, WER, image quality, ligatures, diacritics. Green = positive correlation, Red = negative.", "customize_columns": "Visible columns", "customize_composite_col": "Score", "customize_filters": "Stratum filters", "customize_filters_empty": "No stratum detected in corpus metadata.", "customize_reset": "Reset view", "customize_title": "Advanced mode — customization", "customize_weights": "Personal composite score", "customize_weights_disable": "Disable", "customize_weights_enable": "Enable", "customize_weights_none": "No non-zero weight — composite score inactive.", "customize_weights_warning": "These weights reflect your use case. There is no universally valid weighting — Picarones suggests none by default.", "date_locale": "en-GB", "doc_sidebar_header": "Documents", "doc_title_default": "Select a document", "errors_classified": "classified errors.", "footer_by": "by Picarones", "footer_generated": "Report generated on", "gallery_empty": "No documents match the filters.", "gallery_filter_all": "All", "gallery_filter_cer_label": "Filter CER >", "gallery_filter_engine_label": "Engine:", "gallery_sort_best": "Best engine", "gallery_sort_cer": "Mean CER", "gallery_sort_difficulty": "Difficulty", "gallery_sort_id": "Identifier", "gallery_sort_label": "Sort by:", "gini_cer_ideal": "— ideal: bottom-left", "gini_cer_note": "X-axis = mean CER, Y-axis = Gini coefficient. An ideal engine has low CER AND low Gini (rare, uniform errors).", "glossary_definition": "Definition", "glossary_empty": "No entry for this term.", "glossary_limits": "Limits", "glossary_measures": "What the metric measures", "glossary_reference": "Reference", "glossary_tooltip": "Definition", "glossary_usage": "Usage", "h_bootstrap": "95% Bootstrap Confidence Intervals", "h_cer_dist": "CER Distribution by Engine", "h_cer_doc": "CER by Document (all engines)", "h_characters": "Character Analysis", "h_clusters": "Frequent Error Clusters", "h_correlation": "Metric Correlation Matrix", "stratification_caption": "Ranking by stratum (script_type)", "stratification_description": "The global table ranks engines across the whole corpus. When the corpus is heterogeneous, some engines dominate on one document type and fail on another — the stratified view reveals this.", "stratification_median_label": "Median CER", "stratification_mean_label": "Mean CER", "stratification_docs_label": "Documents", "stratification_no_data_label": "—", "stratification_n_docs_label": "documents", "stratification_gap_summary": "Leader {leader} inter-stratum gap: {gap_pct} median CER points (between \"{min_stratum}\" and \"{max_stratum}\").", "h_calibration": "Engine calibration", "calibration_note": "ECE (Expected Calibration Error): weighted mean of |confidence − accuracy| gaps per bin. The lower the ECE, the more honest the engine is about its reliability — the diagonal in the diagram is perfect calibration. A high ECE means you cannot rely on confidence scores to focus human proofreading.", "calibration_summary_caption": "Engine calibration (ECE, MCE)", "calibration_engine_label": "Engine", "calibration_ece_label": "ECE", "calibration_mce_label": "MCE", "calibration_n_label": "Predictions", "calibration_acc_label": "Mean accuracy", "calibration_conf_label": "Mean confidence", "calibration_docs_label": "Docs evaluated", "reliability_diagram_title": "Reliability diagram", "reliability_x_axis": "Confidence", "reliability_y_axis": "Accuracy", "h_ner": "Named-entity precision", "ner_note": "F1 computed by IoU ≥ 0.5 span alignment (labels case-insensitive). Higher F1 means more faithful preservation of named entities (people, places, dates) — predicting downstream usefulness for prosopographic indexing. This metric measures OCR + NER extractor jointly; the extraction model itself may hallucinate.", "ner_summary_caption": "Named-entity precision", "ner_per_category_caption": "F1 by entity category (heatmap)", "ner_engine_label": "Engine", "ner_f1_label": "Global F1", "ner_precision_label": "Precision", "ner_recall_label": "Recall", "ner_doc_count_label": "Docs evaluated", "ner_hallucinated_label": "Hallucinations", "ner_missed_label": "Missed entities", "ner_no_data_label": "—", "h_inter_engine": "Cross-engine analysis", "inter_engine_note": "Higher divergence means two engines fail on different error classes — making them candidates for a voting ensemble. The oracle is the upper bound on token-level recall achievable by such a vote (bag-of-words proxy).", "divergence_caption": "Taxonomic divergence between engines", "divergence_metric_label": "Metric", "divergence_max_pair_label": "Most divergent pair", "divergence_diagonal_label": "(identity)", "oracle_caption": "Complementarity — potential gain from a majority vote", "oracle_best_engine": "Best single engine", "oracle_best_recall": "Tokens preserved", "oracle_recall": "Oracle (at least one engine)", "oracle_gap": "Potential ensemble gain", "oracle_doc_count": "Documents evaluated", "oracle_recoverable": "recoverable", "oracle_explanation": "The oracle is the upper bound on token-level recall achievable by a majority vote across engines (bag-of-words proxy).", "h_diff": "OCR Output — diff by engine", "h_duration": "Average Execution Time (seconds/document)", "h_gallery": "Document Gallery", "h_gini_cer": "Gini vs Mean CER", "h_gt": "Ground Truth (GT)", "h_hallucination": "Hallucination Analysis", "h_image": "Original Image", "h_line_metrics": "Error Distribution by Line", "h_pairwise": "Wilcoxon Tests — pairwise comparisons", "h_pareto": "Quality / cost trade-off", "h_quality_cer": "Image Quality ↔ CER (scatter plot)", "h_radar": "Engine Profile (radar)", "h_ranking": "Engine Ranking", "h_ratio_anchor": "Length Ratio vs Anchor Score", "h_reliability": "Reliability Curves", "h_taxonomy": "Error Taxonomy by Engine", "h_venn": "Shared / Exclusive Errors (Venn)", "hall_block_label": "Hallucinated block", "hall_blocks_title": "Blocks with no anchor in GT:", "hall_detected": "⚠️ Hallucinations detected", "hall_more_blocks": "additional block(s)", "hall_ok": "✓ Satisfactory anchoring", "heatmap_end": "End", "heatmap_mid": "Middle", "heatmap_start": "Start", "heatmap_title": "HEATMAP (position)", "html_lang": "en", "lines": "lines", "nav_report": "OCR report", "no_gini": "Gini data not available.", "no_hall_blocks": "No hallucinated blocks detected.", "no_hall_metrics": "No hallucination metrics available.", "no_line_metrics": "No line metrics available.", "no_scatter": "Data not available.", "pairwise_note": "Wilcoxon signed-rank test (non-parametric). Threshold α = 0.05.", "pareto_assumptions_summary": "Detailed assumptions per engine", "pareto_axis_co2": "Carbon (g CO₂)", "pareto_axis_cost": "Cost € / 1000 pages", "pareto_axis_speed": "Speed (s / page)", "pareto_dominated_label": "Dominated", "pareto_empty": "Not enough data for this view.", "pareto_front_label": "Pareto front", "pareto_note": "Engines on the Pareto front (highlighted) are those for which no other engine offers simultaneously a better CER AND a better cost. Prices are indicative (internal table, dated). Carbon mode is experimental.", "percentile_title": "CER PERCENTILES", "proportion_col": "Proportion", "quality_cer_note": "Each point = one document. X-axis = image quality score [0–1]. Y-axis = CER. Negative correlation expected.", "radar_note": "Radar axes: CER, WER, MER, WIL — inverted values (higher = better engine).", "ratio_anchor_note": "X-axis = trigram anchor score [0–1]. Y-axis = output/GT length ratio. ⚠️ Zone: anchor < 0.5 or ratio > 1.2 → probable hallucinations.", "ratio_anchor_subtitle": "— VLM hallucinations", "reliability_note": "For the X% easiest documents (sorted by ascending CER), what is the cumulative mean CER? A low curve = engine performing well even on easy documents.", "synth_cases_link": "To see how other teams reasoned through similar problems, see the case studies.", "synth_hint": "Generated mechanically from results — no LLM, reproducible.", "synth_title": "Factual summary", "tab_analyses": "Analyses", "tab_characters": "Characters", "tab_document": "Document", "tab_gallery": "Gallery", "tab_ranking": "Ranking", "taxonomy_engine_label": "Engine:", "taxonomy_note": "Distribution of error classes (classes 1–9 of the Picarones taxonomy).", "total_errors": "Total:", "venn_note": "Intersection of error sets between the 2 or 3 top engines. Shared errors = overlapping segments.", "philo_profile_title": "Philological profile", "philo_profile_note": "Raw counts per category of philological marker. The tool does not classify each engine's editorial convention — it is up to the researcher to read the figures and conclude according to their own editorial criteria.", "philo_engine_label": "Engine", "philo_global_label": "Global", "philo_strict_label": "Strict", "philo_expansion_label": "Expansion", "philo_n_total_label": "n total", "philo_unicode_blocks_title": "Accuracy by Unicode block", "philo_unicode_blocks_note": "Percentage of characters correctly restored per Unicode block found in the GT (excluding Basic Latin).", "philo_abbreviations_title": "Medieval abbreviations (Capelli)", "philo_abbreviations_note": "Strict = abbreviated form (ꝑ, ꝓ, ⁊…) preserved as-is; Expansion = abbreviated OR expanded form (per, pro, et…) present. The strict/expansion ratio per engine indicates the adopted convention (diplomatic / modernizing).", "philo_mufi_title": "MUFI coverage (Medieval Unicode Font Initiative)", "philo_mufi_note": "Rate of MUFI characters from the GT (þ, ð, ƿ, ſ, æ, PUA letters…) correctly restored by the OCR. Central editorial criterion for medievalists.", "philo_mufi_coverage_label": "Coverage", "philo_early_modern_title": "Early modern typographic markers (16th-18th c.)", "philo_early_modern_note": "Preservation of ligatures (fi fl ff), long s (ſ), dotless i (ı), ampersand (&) and nasal tildes (ã õ ñ). One row per engine, one column per category.", "philo_modern_archives_title": "Modern archive abbreviations (19th-20th c.)", "philo_modern_archives_note": "Strict = abbreviation preserved (Mme, S.A.R., bd, vol., …); Expansion = abbreviated OR expanded form. Displayed per category: civility, ordinals, currency, administrative, civil status, typographic punctuation, Latin, bibliographic, address.", "philo_roman_numerals_title": "Roman numerals: restitution by status", "philo_roman_numerals_note": "For each Roman numeral in the GT, restitution status: strict (exact form), case_changed (case modified), j_dropped (medieval j normalized), converted_to_arabic, lost. The breakdown indicates the convention: majority strict → diplomatic; majority arabic → deep modernization.", "philo_roman_status_strict_preserved": "Strict", "philo_roman_status_case_changed": "Case", "philo_roman_status_j_dropped": "j dropped", "philo_roman_status_converted_to_arabic": "→ arabic", "philo_roman_status_lost": "Lost", "pipeline_report_title": "Composed pipeline report", "pipeline_report_note": "Raw counts per step. The tool measures and aggregates — it does not classify the pipeline as 'good' or 'bad'. It is up to the researcher to judge the figures according to their own criteria.", "pipeline_summary_title": "Benchmark summary", "pipeline_name_label": "Pipeline", "pipeline_corpus_label": "Corpus", "pipeline_n_docs_label": "Documents", "pipeline_succeeded_label": "Pipelines succeeded", "pipeline_failed_label": "Pipelines failed", "pipeline_duration_label": "Total duration", "pipeline_steps_title": "Per-step details", "pipeline_step_name_label": "Step", "pipeline_success_rate_label": "Success rate", "pipeline_duration_mean_label": "Mean duration", "pipeline_duration_median_label": "Median duration", "pipeline_junction_metrics_label": "Junction metrics", "pipeline_error_breakdown_label": "Errors", "pipeline_docs_short": "docs", "pipeline_comparison_report_title": "Pipeline comparison report", "pipeline_comparison_report_note": "Raw comparative data. The tool measures and ranks — it does not settle the editorial debate. It is up to the researcher to read the figures and conclude according to their own criteria.", "pipeline_comparison_summary_title": "Comparison summary", "pipeline_n_pipelines_label": "Pipelines compared", "pipeline_n_pipelines_short": "pipelines", "pipeline_per_pipeline_label": "Per pipeline", "pipeline_ranking_title": "Ranking by {label}", "pipeline_rank_label": "Rank", "pipeline_value_label": "Value", "pipeline_gain_title": "Gain vs {baseline} on {label}", "pipeline_gain_absolute_label": "Absolute gain", "pipeline_gain_relative_label": "Relative gain", "pipeline_baseline_marker": "(baseline)", "baseline_corpus_title": "Is this corpus typical?", "baseline_corpus_harder": "Difficulty observed {current:.2f} — at the {percentile:.0f}th percentile of the {n_runs} previous corpora of your institution. This corpus is harder than usual.", "baseline_corpus_easier": "Difficulty observed {current:.2f} — at the {percentile:.0f}th percentile of the {n_runs} previous corpora. This corpus is easier than usual.", "baseline_corpus_usual": "Difficulty observed {current:.2f} — at the {percentile:.0f}th percentile of the {n_runs} previous corpora. This corpus is in the average.", "taxocooc_title": "Error class co-occurrence", "taxocooc_note": "Jaccard index at the document level: 1.00 = these two classes always appear together; 0.00 = never. Read the most co-occurring pairs below.", "taxocooc_n_docs": "Computed on {n_docs} documents.", "taxocooc_pair_label": "Pair", "taxocooc_jaccard_label": "Jaccard", "intradoc_title": "Intra-document evolution of error classes", "intradoc_note": "Heatmap class × position: relative density per class (darker = concentrated). A class concentrated in the first column suggests a margin error; a uniform distribution suggests a scribe error.", "intradoc_n_words": "Computed on {n_words_gt} GT words, split into {n_bins} bins.", "taxocomp_title": "Taxonomic profile: {engine_a} vs {engine_b}", "taxocomp_note": "Mirror chart of error proportions per class. Color by editorial recoverability (green = correctable, red = irrecoverable). At equal global CER, an engine whose errors are mostly green is preferable for a critical edition.", "taxocomp_level_label": "Category", "taxocomp_recoverable": "Recoverable", "taxocomp_difficult": "Difficult", "taxocomp_irrecoverable": "Irrecoverable", "lexmod_title": "Lexical modernization (top tokens)", "lexmod_note": "GT tokens that the engine rewrites most often. Reading: « maistre → maître modernized in 85 % of cases » tells you what to fix in the prompt to preserve historical spelling.", "lexmod_gt_label": "Historical GT form", "lexmod_hyp_label": "OCR variants", "lexmod_n_label": "n GT", "lexmod_rate_label": "% modernized", "levers_title": "Improvement leverages", "levers_note": "Factual observations synthesized from the analysis modules. No prescription imposed — the researcher decides what is actionable for their workflow.", "levers_top_classes": "Main classes:", "levers_importance_high": "Important", "levers_importance_medium": "Notable", "levers_importance_low": "Minor", "levers_label_dominant_recoverable_class": "Mostly recoverable error classes", "levers_label_pareto_concentration": "CER Pareto concentration", "levers_label_complementarity_observation": "Inter-engine complementarity", "levers_label_lexical_modernization_observation": "Systematic lexical modernization", "levers_label_robustness_projection_observation": "Projected deficit on the real corpus", "levers_dominant_recoverable_phrase": "{pct}% of {engine}'s errors ({n_recov}/{n_total}) are classified as recoverable (case_error, ligature_error, abbreviation_error).", "levers_pareto_phrase": "On {engine}, {n_top} documents ({top_pct}% of the corpus) concentrate {cer_pct}% of the cumulative CER (out of {n_total} documents).", "levers_complementarity_phrase": "The bag-of-words oracle achieves a recall {abs_pct} points higher (+{rel_pct}% relative) than the best single engine.", "levers_complementarity_phrase_with_engine": "The bag-of-words oracle achieves a recall {abs_pct} points higher (+{rel_pct}% relative) than the best single engine ({best_engine}).", "levers_lexical_phrase": "Top GT tokens systematically modernized by {engine}: {items}.", "levers_robustness_phrase": "Projected deficit of {engine} on the real corpus: {deficit_pct} CER points cumulated over {n_types} degradations.", "levers_robustness_phrase_with_worst": "Projected deficit of {engine} on the real corpus: {deficit_pct} CER points cumulated over {n_types} degradations — worst degradation: {worst_type} ({worst_pct} points).", "search_title": "Fuzzy searchability", "search_note": "Fraction of GT tokens recovered in the OCR output within Levenshtein distance ≤ 2 — direct proxy of full-text search quality (Elastic, Solr, Gallica).", "search_engine": "Engine", "search_recall": "Recall", "search_count": "Recovered tokens / total", "search_docs": "Docs", "numseq_title": "Numerical-sequence precision", "numseq_note": "Strict score (form preserved) — the value in parentheses is the score on the value (XIV ↔ 14 accepted). Foliation: recto/verso are not interchangeable.", "numseq_engine": "Engine", "numseq_global": "Global", "numseq_cat_year": "Year", "numseq_cat_roman": "Roman", "numseq_cat_foliation": "Foliation", "numseq_cat_currency": "Amount", "numseq_cat_regnal": "Regnal", "readability_title": "Readability (Flesch delta)", "readability_note": "Flesch readability difference between OCR output and GT. Δ > +5: over-normalisation (typical of LLMs that modernize archaic text). Δ < -5: heavy OCR degradation. Δ ≈ 0: faithful to the linguistic register.", "readability_engine": "Engine", "readability_delta_mean": "Mean Δ", "readability_delta_median": "Median Δ", "readability_over_norm_rate": "% over-normalised", "readability_under_norm_count": "Under-normalised docs", "readability_docs": "Docs", "robproj_title": "Projected robustness deficit on the real corpus", "robproj_note": "Projection of synthetic degradation curves onto real image characteristics. The total deficit assumes independence of degradations — a useful diagnostic approximation, not a verdict.", "robproj_summary": "Per-engine summary", "robproj_detail": "Detail per (engine × degradation) pair", "robproj_engine": "Engine", "robproj_total": "Total deficit (CER pts)", "robproj_n_types": "Types evaluated", "robproj_worst": "Worst degradation", "robproj_deg_type": "Degradation", "robproj_n_docs": "Docs", "robproj_n_with_data": "Docs with data", "robproj_deficit": "Projected ΔCER (pts)", "robproj_above": "Docs ≥ critical threshold", "specialization_title": "Inter-engine specialisation", "specialization_note": "Jensen-Shannon divergence between the taxonomic profiles of each pair of engines (0 = identical profiles, 1 = fully disjoint). A highly specialised pair signals error categories of different natures — it is for the researcher to act on it, not for the tool to prescribe an ensemble.", "specialization_engine_a": "Engine A", "specialization_engine_b": "Engine B", "specialization_score": "Score", "specialization_category": "Reading", "specialization_cat_similar": "Similar profiles", "specialization_cat_distinct": "Distinct profiles", "specialization_cat_highly_specialized": "Highly specialised", "stability_title": "Multi-run stability", "stability_note": "When an LLM/VLM engine is non-deterministic, the variance between successive runs on the same documents is a proxy for scientific reliability. A high CV or low identical-run rate undermines the interpretation of the average CER.", "stability_engine": "Engine", "stability_n_runs": "Runs", "stability_cer": "Mean CER ± σ", "stability_cv": "CV (%)", "stability_identical": "% identical runs", "stability_distinct": "Distinct outputs", "throughput_title": "Effective throughput", "throughput_note": "Pages processable per hour including post-OCR human correction time. Discriminates between a fast but imprecise cloud and a slow but reliable local engine. Correction constant: {time_per_error}s per error (HTR-United default, overridable).", "throughput_engine": "Engine", "throughput_raw": "Pages/h raw", "throughput_effective": "Pages/h usable", "throughput_drag": "% correction", "throughput_pages": "Pages", "throughput_errors": "Errors", "longitudinal_title": "Evolution over time", "longitudinal_note": "Trend and change-points on the SQLite history of previous runs. A positive change signals cumulative degradation — useful to link a regression to a pipeline or model change.", "longitudinal_engine": "Engine", "longitudinal_n_runs": "Runs", "longitudinal_first": "First CER", "longitudinal_last": "Last CER", "longitudinal_delta": "Cumulative Δ (pts)", "longitudinal_slope": "Annual slope (pts/yr)", "longitudinal_r2": "R²", "longitudinal_change": "Change-point", "imgpred_title": "Corpus image profile", "imgpred_note": "Palaeographic complexity score combining noise, blur, low contrast and rotation. The homogeneity score signals whether the global average is reliable (uniform corpus) or misleading (heterogeneous corpus — then see the stratified view).", "imgpred_complexity": "Palaeographic complexity", "imgpred_homogeneity": "Corpus homogeneity", "imgpred_score": "Score", "imgpred_mean": "Mean", "imgpred_median": "Median", "imgpred_min": "Min", "imgpred_max": "Max", "imgpred_stdev": "Stdev", "imgpred_docs": "Docs", "imgpred_feature": "Feature", "imgpred_feat_mean": "Mean", "imgpred_feat_stdev": "Stdev", "imgpred_feat_norm": "Normalised contribution", "imgpred_feat_noise": "Noise level", "imgpred_feat_sharpness": "Sharpness", "imgpred_feat_contrast": "Contrast", "imgpred_feat_rotation": "Rotation", "absorption_title": "Error absorption per junction", "absorption_note": "At each junction of the pipeline, two flows are measured independently: how many errors are corrected vs. how many are introduced. A junction that corrects a lot but also introduces a lot is absorbing upstream differences rather than improving them.", "absorption_junction": "Junction", "absorption_errors_before": "Errors before", "absorption_errors_after": "Errors after", "absorption_corrected": "Corrected", "absorption_introduced": "Introduced", "absorption_corr_rate": "% corrected", "absorption_intro_rate": "% introduced", "absorption_net": "Net improvement", "absorption_sample": "Sample (intro)", "dag_title": "Pipeline DAG", "dag_note": "Directed graph of the composed pipeline. Each edge shows the artifact type transmitted and the metric computed at the junction. Green/orange/red colour code by threshold. Inspection tool — YAML remains the source of truth.", "dag_legend": "Reading", "dag_legend_green": "high quality", "dag_legend_yellow": "moderate quality", "dag_legend_red": "low quality", "incr_title": "Controlled comparison by slot", "incr_note": "Isolated effect of the varying module on pipelines while controlling for the other slots. For each value of the slot: mean ± stdev, average rank across fixed groups, number of observations. A design-of-experiment approach for honest comparisons.", "incr_slot_label": "Varying slot", "incr_value": "Value", "incr_mean": "Mean score", "incr_stdev": "± σ", "incr_rank": "Mean rank", "incr_n_obs": "Observations", "incr_groups": "Fixed groups", "audit_title": "Audited modules", "audit_note": "Summary of the modules used in the composed pipeline. A module that does not pass the audit is not executable. Metadata comes from the manifest provided by the contributor (author, licence, citation).", "audit_pass": "audit OK", "audit_fail": "failed checks", "audit_module": "Module", "audit_status": "Audit", "audit_version": "Version", "audit_author": "Author", "audit_license": "Licence", "audit_io": "Input → output", "audit_citation": "Citation", "audit_homepage": "Project page" }