Generated: {{ manifest.get('timestamp', 'N/A') }} | CellTypePilot v{{ manifest.get('celltypepilot_version', '?') }} | MKG: {{ manifest.get('mkg_version', '?') }}

Overview

{% if narrative %}

{{ narrative }}

{% endif %}
{{ input_filename }}
Input File
{{ total }}
Total Clusters
{{ passed }}
Passed Critic
{{ flagged }}
Flagged for Review
{{ conf_dist.get('high', 0) }}
High Confidence
{{ conf_dist.get('medium', 0) }}
Medium Confidence
{{ conf_dist.get('low', 0) }}
Low Confidence
{{ conf_dist.get('needs_review', 0) }}
Needs Review

Species: {{ params.get('species', 'N/A') }} | Tissue: {{ params.get('tissue', 'N/A') }} | Cluster key: {{ params.get('cluster_key', 'N/A') }}

{% set validation_scope = params.get('validation_scope') %} {% if validation_scope %}
Validation scope: {{ validation_scope.get('run_role', 'draft_annotation_for_human_review') }}. Batch robustness: {{ validation_scope.get('batch_robustness_claim', 'not_assessed') }}; complex-sample robustness: {{ validation_scope.get('complex_sample_robustness_claim', 'not_assessed') }}. {{ validation_scope.get('required_for_robustness_claims', '') }}
{% endif %} {% set uncertainty_language = params.get('uncertainty_language') %} {% if uncertainty_language %}
Score and uncertainty language: combined_score/evidence_score = {{ uncertainty_language.get('score_columns', {}).get('evidence_score', 'heuristic_evidence_score_not_probability') }}; critic_confidence = {{ uncertainty_language.get('confidence_columns', {}).get('critic_confidence', 'rule_based_review_category_not_probability') }}. Calibrated probability: {{ uncertainty_language.get('probability_columns', {}).get('calibrated_probability', 'not_available_from_annotation_run') }}. Unknown = {{ uncertainty_language.get('abstention', {}).get('unknown_label', 'safety_abstention_not_biological_class') }}.
{% endif %} {% set novelty_ood = params.get('novelty_ood') %} {% if novelty_ood %}
Novelty/OOD review axis: {{ novelty_ood.get('score_semantics', 'review_priority_score_not_discovery_probability') }}. Decisions: {{ novelty_ood.get('decision_counts', {}) }}. {{ novelty_ood.get('claim_boundary', '') }}
{% endif %}