{
  "run_id": "job_1780394224_fea89f17970b163f",
  "status": "completed_example",
  "canonical_public_example": true,
  "public_flow": [
    "Data Preparedness",
    "EDA",
    "Model Building & Selection",
    "Best Model Performance Plots",
    "Model Review",
    "AI Reports"
  ],
  "source": {
    "platform_repository": "xalec-automl-services",
    "platform_job_folder": "mlagent_website/results/job_1780394224_fea89f17970b163f",
    "report_generated": "2026-06-03T18:26:07Z",
    "training_completed": "2026-06-02 13:09:08",
    "generation_mode": "provider_generated",
    "provider": "ollama / llama3.1:8b",
    "public_note": "This is a public excerpt from a completed AutoML platform job. Full run artifacts belong on the dedicated AutoML platform."
  },
  "review_context": {
    "public_example_review_status": "not_recorded_in_excerpt",
    "current_platform_review_states": [
      "draft",
      "review",
      "approved",
      "needs_changes",
      "rejected"
    ],
    "public_note": "The live platform now includes a model review panel. This public example preserves the evidence a reviewer would inspect, but it does not invent an approval decision for the borrowed run."
  },
  "workflow_quality_contract": {
    "source_artifact": "eda/readiness_profile.json",
    "service_family": "classification",
    "expected_split_strategy": "stratified random split",
    "expected_checks": [
      "dataset overview",
      "role-aware missingness",
      "duplicate rows",
      "dtype/type correction suggestions",
      "target class balance"
    ],
    "expected_metrics": [
      "accuracy",
      "precision",
      "recall",
      "F1",
      "ROC-AUC",
      "PR-AUC"
    ],
    "expected_plot_groups": [
      "target/class distribution",
      "feature distributions",
      "correlation/association heatmap",
      "confusion matrix",
      "ROC curve",
      "precision-recall curve",
      "threshold performance"
    ],
    "implementation_checks": [
      "positive-class handling for binary metrics",
      "imbalance-aware interpretation",
      "selected-model list preserved from upload",
      "classification report uses classification metrics only"
    ]
  },
  "service": {
    "id": "tabular-classification",
    "name": "Tabular Classification",
    "task_family": "classification"
  },
  "dataset": {
    "name": "Titanic passenger survival example",
    "total_rows": 1309,
    "training_samples": 1047,
    "test_samples": 262,
    "raw_feature_count": 6,
    "encoded_feature_count": 12,
    "target_column": "survived",
    "target_positive_label": "Survived",
    "raw_features": [
      "pclass",
      "sex",
      "age",
      "sibsp",
      "parch",
      "fare"
    ],
    "encoded_features": [
      "age",
      "parch",
      "fare",
      "pclass_2",
      "pclass_3",
      "sibsp_1.0",
      "sibsp_2.0",
      "sibsp_3.0",
      "sibsp_4.0",
      "sibsp_5.0",
      "sibsp_8.0",
      "sex_male"
    ],
    "class_balance": {
      "not_survived": 809,
      "survived": 500
    }
  },
  "readiness": {
    "eda_status": "pass",
    "eda_summary": "EDA completed successfully and passed readiness checks.",
    "eda_contract_version": "v1",
    "features_checked": [
      "pclass",
      "sex",
      "age",
      "sibsp",
      "parch",
      "fare"
    ],
    "target_distribution": [
      {
        "label": "Did not survive",
        "count": 809,
        "percentage": 61.8
      },
      {
        "label": "Survived",
        "count": 500,
        "percentage": 38.2
      }
    ],
    "data_quality": {
      "class_imbalance_ratio": 1.618,
      "majority_class_share": 0.618,
      "missing_fraction": 0.0288,
      "rare_category_feature": "sibsp",
      "rare_category_share": 0.0435,
      "high_cardinality_feature_count": 0,
      "near_constant_feature_count": 0,
      "duplicate_rows": 201,
      "duplicate_row_ratio": 0.1536,
      "outlier_review": {
        "method": "iqr_1_5_fence",
        "columns_reviewed": 5,
        "columns_with_outliers": 3,
        "top_outlier_columns": [
          {
            "column": "fare",
            "outlier_share": 0.1307
          },
          {
            "column": "sibsp",
            "outlier_share": 0.0435
          },
          {
            "column": "age",
            "outlier_share": 0.0086
          }
        ],
        "recommendation": "Review high-outlier columns before modeling; do not remove rows automatically without domain justification."
      },
      "warnings": [],
      "recommended_actions": [
        "Address class imbalance before trusting headline performance: use stratified splits, inspect minority-class recall, and consider collecting more examples or simplifying the label set before presenting model quality as production-ready."
      ]
    },
    "recommended_models_after_eda": [
      "CatBoost",
      "LightGBM",
      "RandomForest"
    ],
    "checks": {
      "eda_contract_valid": true,
      "has_plots": true,
      "has_statistics": true,
      "placeholder_only": false,
      "has_error": false
    }
  },
  "evaluation": {
    "split_strategy": "80-20 train/test split",
    "execution_summary": {
      "total_models_requested": 16,
      "models_successfully_trained": 16,
      "models_failed_runtime": 0,
      "models_preflight_unavailable": 0,
      "models_skipped_efficiency": 0
    },
    "primary_metric": {
      "name": "F1 score",
      "score": 0.8082901554404145,
      "display": "80.83%"
    },
    "selection_basis": {
      "summary": "Best-model selection emphasized F1 score, ROC AUC, and PR AUC rather than accuracy alone.",
      "primary_saved_comparison_metric": "F1 score",
      "supporting_selection_metrics": [
        "ROC AUC",
        "PR AUC"
      ],
      "reported_context_metric": "Accuracy"
    },
    "selected_model": {
      "name": "CatBoost",
      "accuracy": 0.8587786259541985,
      "accuracy_ci": [
        0.811411669769785,
        0.8957767455887203
      ],
      "precision": 0.8387096774193549,
      "recall": 0.78,
      "f1_score": 0.8082901554404145,
      "f1_ci": [
        0.7513214084280073,
        0.864321608040201
      ],
      "roc_auc": 0.903858024691358,
      "roc_auc_ci": [
        0.855305675015595,
        0.9373126408122657
      ],
      "pr_auc": 0.8723834418367277,
      "pr_auc_ci": [
        0.8157392516954257,
        0.9212163513320695
      ],
      "optimal_cutoff": 0.441,
      "training_time_seconds": 3.7235913276672363
    },
    "model_comparison": [
      {
        "name": "logistic_regression",
        "accuracy": 0.8282442748091603,
        "precision": 0.7835051546391752,
        "recall": 0.76,
        "f1": 0.7715736040609137,
        "roc_auc": 0.8661419753086421,
        "pr_auc": 0.8362053412636876,
        "training_time_seconds": 23.242586374282837
      },
      {
        "name": "multinomial_nb",
        "accuracy": 0.6641221374045801,
        "precision": 0.5508474576271186,
        "recall": 0.65,
        "f1": 0.5963302752293578,
        "roc_auc": 0.7012037037037038,
        "pr_auc": 0.5592883280430563,
        "training_time_seconds": 0.5088207721710205
      },
      {
        "name": "gaussian_nb",
        "accuracy": 0.40076335877862596,
        "precision": 0.38735177865612647,
        "recall": 0.98,
        "f1": 0.5552407932011332,
        "roc_auc": 0.8008950617283952,
        "pr_auc": 0.7123516946394787,
        "training_time_seconds": 0.8592779636383057
      },
      {
        "name": "svm",
        "accuracy": 0.6412213740458015,
        "precision": 0.5208333333333334,
        "recall": 0.75,
        "f1": 0.6147540983606558,
        "roc_auc": 0.7075,
        "pr_auc": 0.5810530021317635,
        "training_time_seconds": 3.9468111991882324
      },
      {
        "name": "knn",
        "accuracy": 0.683206106870229,
        "precision": 0.5894736842105263,
        "recall": 0.56,
        "f1": 0.5743589743589743,
        "roc_auc": 0.6979938271604939,
        "pr_auc": 0.5377828794425261,
        "training_time_seconds": 1.2447516918182373
      },
      {
        "name": "decision_tree",
        "accuracy": 0.7480916030534351,
        "precision": 0.646551724137931,
        "recall": 0.75,
        "f1": 0.6944444444444444,
        "roc_auc": 0.7575,
        "pr_auc": 0.6020187487810889,
        "training_time_seconds": 0.7929983139038086
      },
      {
        "name": "random_forest",
        "accuracy": 0.816793893129771,
        "precision": 0.7653061224489796,
        "recall": 0.75,
        "f1": 0.7575757575757576,
        "roc_auc": 0.8591666666666667,
        "pr_auc": 0.8100554464825088,
        "training_time_seconds": 5.55046820640564
      },
      {
        "name": "gradient_boosting",
        "accuracy": 0.8358778625954199,
        "precision": 0.8064516129032258,
        "recall": 0.75,
        "f1": 0.7772020725388601,
        "roc_auc": 0.8921913580246914,
        "pr_auc": 0.8545543418896608,
        "training_time_seconds": 3.497817277908325
      },
      {
        "name": "xgboost",
        "accuracy": 0.8473282442748091,
        "precision": 0.8260869565217391,
        "recall": 0.76,
        "f1": 0.7916666666666666,
        "roc_auc": 0.8996296296296297,
        "pr_auc": 0.8462022376339969,
        "training_time_seconds": 0.8013532161712646
      },
      {
        "name": "lightgbm",
        "accuracy": 0.8320610687022901,
        "precision": 0.8043478260869565,
        "recall": 0.74,
        "f1": 0.7708333333333334,
        "roc_auc": 0.885679012345679,
        "pr_auc": 0.8484219632511144,
        "training_time_seconds": 1.560591459274292
      },
      {
        "name": "catboost",
        "accuracy": 0.8587786259541985,
        "precision": 0.8387096774193549,
        "recall": 0.78,
        "f1": 0.8082901554404145,
        "roc_auc": 0.903858024691358,
        "pr_auc": 0.8723834418367277,
        "training_time_seconds": 3.7235913276672363
      },
      {
        "name": "ada_boost",
        "accuracy": 0.7977099236641222,
        "precision": 0.7079646017699115,
        "recall": 0.8,
        "f1": 0.7511737089201878,
        "roc_auc": 0.8577160493827161,
        "pr_auc": 0.8140133290817128,
        "training_time_seconds": 2.373528480529785
      },
      {
        "name": "extra_trees",
        "accuracy": 0.7786259541984732,
        "precision": 0.6875,
        "recall": 0.77,
        "f1": 0.7264150943396226,
        "roc_auc": 0.836358024691358,
        "pr_auc": 0.7491853852798305,
        "training_time_seconds": 4.418558835983276
      },
      {
        "name": "mlp",
        "accuracy": 0.6755725190839694,
        "precision": 0.5477707006369427,
        "recall": 0.86,
        "f1": 0.669260700389105,
        "roc_auc": 0.7673148148148149,
        "pr_auc": 0.660467572769774,
        "training_time_seconds": 4.447218894958496
      },
      {
        "name": "keras_mlp",
        "accuracy": 0.6335877862595419,
        "precision": 0.5138888888888888,
        "recall": 0.74,
        "f1": 0.6065573770491803,
        "roc_auc": 0.7100308641975309,
        "pr_auc": 0.5863728797185394,
        "training_time_seconds": 39.76753544807434
      },
      {
        "name": "keras_cnn",
        "accuracy": 0.8358778625954199,
        "precision": 0.8,
        "recall": 0.76,
        "f1": 0.7794871794871795,
        "roc_auc": 0.8700925925925925,
        "pr_auc": 0.8197892550145489,
        "training_time_seconds": 63.812923431396484
      }
    ],
    "comparison_note": "CatBoost had the strongest saved F1, ROC AUC, and PR AUC profile among the scored models in this revised run. Accuracy is reported as supporting context, not as the selection rule."
  },
  "explainability": {
    "shap_status": "completed",
    "shap_model": "catboost",
    "shap_duration_ms": 18204.05,
    "top_predictive_factors": [
      {
        "feature": "sex",
        "importance_percent": 39.96
      },
      {
        "feature": "fare",
        "importance_percent": 21.43
      },
      {
        "feature": "passenger_class",
        "importance_percent": 16.01
      },
      {
        "feature": "age",
        "importance_percent": 14.21
      },
      {
        "feature": "parch",
        "importance_percent": 4.8
      }
    ],
    "interpretation_note": "Feature importance is descriptive and should not be read as causal evidence."
  },
  "public_assets": [
    {
      "label": "Model comparison",
      "href": "assets/automl-run-example/model-comparison.png"
    },
    {
      "label": "Confusion matrix",
      "href": "assets/automl-run-example/confusion-matrix.png"
    },
    {
      "label": "ROC curve",
      "href": "assets/automl-run-example/roc-curve.png"
    },
    {
      "label": "Precision-recall curve",
      "href": "assets/automl-run-example/precision-recall-curve.png"
    },
    {
      "label": "Threshold performance",
      "href": "assets/automl-run-example/threshold-performance.png"
    },
    {
      "label": "Feature importance",
      "href": "assets/automl-run-example/feature-importance.png"
    },
    {
      "label": "Target distribution",
      "href": "assets/automl-run-example/target-distribution.png"
    },
    {
      "label": "Missing values",
      "href": "assets/automl-run-example/missing-values.png"
    },
    {
      "label": "Correlation matrix",
      "href": "assets/automl-run-example/correlation-matrix.png"
    },
    {
      "label": "Age distribution",
      "href": "assets/automl-run-example/feature-dist-age.png"
    },
    {
      "label": "Sex distribution",
      "href": "assets/automl-run-example/feature-dist-sex.png"
    },
    {
      "label": "Fare distribution",
      "href": "assets/automl-run-example/feature-dist-fare.png"
    },
    {
      "label": "Passenger class distribution",
      "href": "assets/automl-run-example/feature-dist-pclass.png"
    },
    {
      "label": "Parent/child count distribution",
      "href": "assets/automl-run-example/feature-dist-parch.png"
    },
    {
      "label": "Sibling/spouse count distribution",
      "href": "assets/automl-run-example/feature-dist-sibsp.png"
    },
    {
      "label": "Rare category diagnostic",
      "href": "assets/automl-run-example/rare-category-diagnostic.png"
    },
    {
      "label": "Training-time comparison",
      "href": "assets/automl-run-example/model-comparison-training-time.png"
    },
    {
      "label": "Training-time comparison detail",
      "href": "assets/automl-run-example/training-time-comparison.png"
    },
    {
      "label": "SHAP summary bar",
      "href": "assets/automl-run-example/shap-summary-bar.png"
    },
    {
      "label": "SHAP summary beeswarm",
      "href": "assets/automl-run-example/shap-summary-beeswarm.png"
    },
    {
      "label": "SHAP signed effects",
      "href": "assets/automl-run-example/shap-category-signed.png"
    }
  ],
  "generated_outputs": [
    "data/original.csv",
    "executive_brief.html",
    "journal_manuscript.html",
    "journal_manuscript.md",
    "methods_appendix.md",
    "methods_appendix.json",
    "metadata.json",
    "manuscript_input.json",
    "prompt_package.json",
    "references.json",
    "report.html",
    "report.json",
    "service_diagnostics.json",
    "reproducibility_manifest.json",
    "eda/readiness_profile.json",
    "explainability_status.json",
    "model_preset_evidence.json",
    "model/best_model.joblib",
    "model/catboost_predictions.joblib",
    "model/optimal_cutoff.json",
    "model/optimal_cutoffs.json",
    "model/pipeline.joblib",
    "model/preprocessor.joblib",
    "plots/model_comparison_training_time.png",
    "plots/threshold_performance.png",
    "plots/training_time_comparison.png",
    "plots/shap/shap_category_signed.png",
    "plots/shap/shap_meta.json",
    "plots/shap/shap_status.json",
    "plots/shap/shap_values.joblib"
  ],
  "additional_outputs": {
    "source_note": "This section summarizes the updated run's attached outputs without publishing the full private workspace.",
    "workspace_file_count": 126,
    "saved_plot_count": 21,
    "diagnostic_bundle": {
      "source_artifact": "service_diagnostics.json",
      "expected_bundle": "classification",
      "bundle_status": "complete",
      "matched_expected_plot_groups": 4,
      "expected_plot_groups_checked": 4
    },
    "report_package": {
      "primary_source_artifact": "executive_brief.html",
      "secondary_source_artifact": "journal_manuscript.html",
      "supporting_artifacts": [
        "journal_manuscript.md",
        "methods_appendix.md",
        "methods_appendix.json",
        "references.json",
        "prompt_package.json",
        "manuscript_input.json",
        "metadata.json"
      ],
      "recommended_public_use": "Use the executive brief for the visible summary, then summarize the manuscript and methods appendix as expandable supporting evidence."
    },
    "reproducibility_package": {
      "source_artifact": "reproducibility_manifest.json",
      "dataset_fingerprint": "c1b78e7b57a3347cd121d5af77b1ef3a1fbb2197cc9fecc45c6fdae26e8039d6",
      "manifest_sha256": "622a544d62e6d90d0e49b677ccef7a80d40436c1e3ad66a06f2355c934857b14",
      "training_preset": "balanced",
      "package_versions_recorded": true
    },
    "extraction_sources": [
      {
        "artifact": "metadata.json",
        "use": "Report filenames, provider, generation time, report quality flags, and generation provenance."
      },
      {
        "artifact": "reproducibility_manifest.json",
        "use": "Dataset fingerprint, selected models, training preset, package versions, and artifact inventory."
      },
      {
        "artifact": "service_diagnostics.json",
        "use": "Saved plot count, diagnostic bundle status, plot evidence, and service limitations."
      },
      {
        "artifact": "explainability_status.json",
        "use": "SHAP status, plot inventory, explainability hierarchy, and next action."
      },
      {
        "artifact": "report.json",
        "use": "Best-model metrics, EDA payload, service diagnostics, and report-ready run summary."
      }
    ]
  },
  "public_excerpt": {
    "primary_source_artifact": "executive_brief.html",
    "secondary_source_artifact": "journal_manuscript.html",
    "cleaned_for_public_site": true,
    "text": "This completed AutoML run compared 16 classification models on a Titanic survival dataset with 1,047 training records and 262 test records. CatBoost was selected on the strength of its F1, ROC AUC, and PR AUC evidence, with 80.83% F1, 90.39% ROC AUC, 87.24% PR AUC, and 85.88% accuracy reported for context. SHAP explainability completed successfully, with sex, fare, passenger class, age, and parch emerging as the strongest descriptive drivers.",
    "executive_brief_note": "Use the executive brief as the visible reader-facing excerpt because it summarizes the run outcome, selected model, top features, and next review actions in a compact format.",
    "secondary_report_note": "The manuscript-style report is treated as secondary evidence because it contains methods, model comparison, confidence intervals, explainability tables, limitations, references, diagnostic figures, and a methods appendix. The public page summarizes those contents rather than embedding the full manuscript.",
    "curated_report_excerpts": [
      {
        "source_artifact": "executive_brief.html",
        "public_use": "decision-facing summary",
        "excerpt": "Best model was CatBoost; the target outcome was survival; leading features were sex, fare, passenger class, age, and parch."
      },
      {
        "source_artifact": "journal_manuscript.html",
        "public_use": "technical review summary",
        "excerpt": "CatBoost was the strongest observed model in the saved package, with 0.808 F1, 0.904 ROC AUC, and 0.872 PR AUC."
      },
      {
        "source_artifact": "methods_appendix.md",
        "public_use": "reproducibility note",
        "excerpt": "The run used the Titanic CSV, a balanced training preset, 16 selected models, a 0.2 test split, and SHAP explainability."
      }
    ]
  },
  "reporting_guardrails": [
    "Use the measured model outputs from the saved job artifacts.",
    "Describe this as a completed example run, not as a live public product workflow.",
    "Keep raw predictions, model binaries, and full workspace artifacts on the AutoML platform.",
    "Avoid causal claims from feature-importance or SHAP rankings."
  ]
}
