Claude
fix(ci): pre-commit hooks + pip-audit (security scanner)
f0362de unverified
Raw
History Blame
27.3 kB
{
"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": "— reading: bottom-left",
"gini_cer_note": "X-axis = mean CER, Y-axis = Gini coefficient. An engine in the bottom-left area combines low CER AND low Gini (rare, uniformly distributed errors). The right choice depends on the target workflow.",
"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 tends to produce errors more easily corrected in a critical edition workflow.",
"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",
"skip_to_content": "Skip to content",
"reset_all": "Reset",
"view_data": "View data",
"hide_data": "Hide data",
"chart_no_data": "No data available",
"chart_data_caption": "Chart data",
"no_anchor_data": "Anchor data unavailable.",
"locale": "en-GB",
"palette_toggle": "Colorblind-friendly palette",
"palette_toggle_help": "Switch the report palette to Okabe-Ito (WCAG AA recommended for color-vision deficiency)."
}