{
  "publication-checks.json": {
    "yaml_safe_load": true,
    "toml_comment_retained": true,
    "toml_value_updated": true,
    "svg_created": "campaign-badge.svg",
    "segno_designator": "4-H",
    "segno_decoded_url": "https://kingy.ai/ai-tools/",
    "markdown_table": true,
    "docx_tables": 1,
    "docx_table_rows": 4,
    "docx_images": 1,
    "docx_office_rendered": false,
    "pypdf_merged_pages": 2,
    "pypdf_metadata": "Fictional creator report",
    "rich_html_export": true
  },
  "database-checks.json": {
    "sqlalchemy_inserted_rows": 24,
    "sqlalchemy_sum": 396,
    "alembic_upgrade_added_column": true,
    "alembic_downgrade_removed_column": true,
    "repeat_upgrade_preserved_rows": true,
    "boundary": "Local SQLite migration only; not a production rollback or other database backend test."
  },
  "cli-checks.json": {
    "black_before": {
      "fictional_signups": 396,
      "channels": 3
    },
    "black_after": {
      "fictional_signups": 396,
      "channels": 3
    },
    "black_semantics_equal": true,
    "typer_search": {
      "channel": "Search",
      "rows": 8,
      "signups": 124
    },
    "typer_invalid_exit": 2
  },
  "api-checks.json": {
    "fictional": true,
    "requests_summary": {
      "fictional": true,
      "rows": 24,
      "signups": 396,
      "spend": 3216
    },
    "httpx_search": {
      "fictional": true,
      "rows": 8,
      "signups": 124,
      "spend": 976
    },
    "valid_post_status": 201,
    "invalid_post_status": 422,
    "pydantic_rejected_fields": 3,
    "jsonschema_errors": 3,
    "cors_allowed": "http://localhost:8080",
    "cors_denied_status": 400,
    "uvicorn": "Actual loopback HTTP served both FastAPI and mounted Starlette app. No public bind, TLS, authentication or load test."
  },
  "data-checks.json": {
    "fictional": true,
    "rows": 24,
    "polars_summary": [
      {
        "channel": "Search",
        "signups": 124,
        "spend": 976
      },
      {
        "channel": "Social",
        "signups": 132,
        "spend": 1072
      },
      {
        "channel": "Video",
        "signups": 140,
        "spend": 1168
      }
    ],
    "pyarrow_roundtrip": true,
    "duckdb_matches_polars": true,
    "scipy_slope": 2.0,
    "scipy_intercept": 11.5,
    "sklearn": {
      "train_rows": 18,
      "held_out_rows": 6,
      "held_out_mae": 2.3684757858670005e-15,
      "boundary": "Targets were generated from this exact linear relationship. This is a code-path check, not evidence of useful campaign prediction."
    },
    "rapidfuzz": [
      {
        "input": "Serach",
        "candidate": "Search",
        "score": 83.33333333333334
      },
      {
        "input": "Socal",
        "candidate": "Social",
        "score": 90.9090909090909
      },
      {
        "input": "Vido",
        "candidate": "Video",
        "score": 88.88888888888889
      }
    ],
    "networkx_order": [
      "Input",
      "Validate",
      "Aggregate",
      "Charts",
      "API",
      "Report"
    ],
    "altair": "Standalone HTML plus Vega-Lite specification; browser interaction checked separately.",
    "bokeh": "Standalone HTML with inline Bokeh JavaScript; browser interaction checked separately."
  },
  "builds": {
    "mkdocs_strict": true,
    "black_check": true,
    "altair_legend": "12 bars to 4 Search bars",
    "bokeh_legend": "Social line hidden, two other lines remain",
    "pdf_pages_visually_reviewed": 2
  }
}