{
  "api_surface": {
    "console_script_count": 49,
    "direct_private_target_count": 0,
    "dispatcher_wrapped_count": 48,
    "import_surface_status": "pass",
    "issue_count": 0,
    "public_docs_issue_count": 0,
    "public_docs_scanned_count": 44,
    "readme_issue_count": 0,
    "readme_scanned_count": 14,
    "status": "pass"
  },
  "chart_manifest": [
    {
      "chart_id": "phase_registry_audit",
      "path": "plots/phase_registry_audit.svg",
      "title": "Phase audit",
      "type": "svg_bar_chart"
    },
    {
      "chart_id": "critical_gate_coverage",
      "path": "plots/critical_gate_coverage.svg",
      "title": "Critical gate coverage",
      "type": "svg_bar_chart"
    },
    {
      "chart_id": "config_validation_posture",
      "path": "plots/config_validation_posture.svg",
      "title": "Config validation posture",
      "type": "svg_bar_chart"
    },
    {
      "chart_id": "api_observability_posture",
      "path": "plots/api_observability_posture.svg",
      "title": "API and observability posture",
      "type": "svg_bar_chart"
    }
  ],
  "claim_boundary": [
    "Aggregate public-safe quality-gate metrics only.",
    "No source code, script paths, test paths, command names, config payloads, CPU flags, private traces, model weights, checkpoints, raw prompts, or raw datasets are bundled.",
    "No model-quality, dense-superiority, uptime, service-level, production-readiness, or external benchmark reproduction claim.",
    "Phase-audit and discovery-validation status are separate; this surface reports public-safe aggregate gate posture."
  ],
  "config_validation": {
    "case_count": 12,
    "default_mode": "fail_closed",
    "fail_closed_count": 8,
    "release_rule": "Runtime, benchmark, and training entry points must validate externally supplied config payloads before execution.",
    "status": "pass",
    "unexpected_issue_count": 0,
    "valid_pass_count": 4
  },
  "contract": "neuroforge.erais.public_quality_gates.v1",
  "critical_gate_coverage": {
    "covered_by_module_tests_count": 1,
    "covered_count": 20,
    "critical_gate_count": 21,
    "critical_missing_count": 0,
    "informational_non_gate_count": 22,
    "marked_scaffold_count": 0,
    "status": "pass"
  },
  "generated_at_utc": "2026-07-06T00:28:45.117519Z",
  "headline": {
    "api_console_script_count": 49,
    "api_direct_private_target_count": 0,
    "api_dispatcher_wrapped_count": 48,
    "api_issue_count": 0,
    "config_case_count": 12,
    "config_fail_closed_count": 8,
    "config_unexpected_issue_count": 0,
    "critical_gate_count": 21,
    "critical_missing_count": 0,
    "observability_signal_count": 5,
    "observability_signal_fail_count": 0,
    "observability_signal_pass_count": 5,
    "phase_registry_item_count": 41,
    "phase_registry_missing_requirement_count": 0,
    "phase_registry_pass_count": 41,
    "public_docs_issue_count": 0,
    "public_docs_scanned_count": 44
  },
  "observability": {
    "does_not_support": "service-level, uptime, production operations, or model-quality claims",
    "fail_count": 0,
    "runtime_event_count": 2,
    "runtime_max_rss_mib": 494.0,
    "runtime_total_wall_ms": 0.140989,
    "signal_count": 5,
    "signal_pass_count": 5,
    "status": "pass",
    "supports": "local observability plumbing smoke evidence"
  },
  "phase_registry": {
    "audit_status_counts": {
      "pass": 41
    },
    "missing_requirement_count": 0,
    "phase_max": 41,
    "phase_min": 1,
    "registry_status_counts": {
      "active": 10,
      "historical": 22,
      "reserved": 9
    },
    "status": "pass"
  },
  "source_artifacts": [
    {
      "bytes": 27109,
      "file": "phase_test_coverage.json"
    },
    {
      "bytes": 13388,
      "file": "phase_registry_audit.json"
    },
    {
      "bytes": 3674,
      "file": "api_surface_report.json"
    },
    {
      "bytes": 5544,
      "file": "config_validation_report.json"
    },
    {
      "bytes": 6571,
      "file": "observability_smoke.json"
    }
  ],
  "source_pack": "phase_quality_gate_summaries",
  "status": "public_candidate"
}
