Docs API reference

AI Infrastructure Production (semiconductor output and utilization) API v1

Generated from core.contract.describe_ai_infrastructure_production_v1() and checked fixture-backed examples. Do not hand-edit the example JSON files.

Capability

What It Can Answer

Represented Facts

Data Point Contract

Does not answer:

REST Surface

MCP Surface

Local MCP Setup

Some MCP clients launch servers from the user's home directory or ignore a configured cwd. Use uv run --directory so the server always starts from the repository project.

{
  "command": "uv",
  "args": [
    "run",
    "--directory",
    "/absolute/path/to/OSINT",
    "python",
    "-m",
    "core.mcp_server"
  ]
}

Leave EXASCALE_PARQUET_BASE / EXASCALE_RAW_BASE unset: the one server hosts every data point's tools, and with no override it resolves each block's promoted snapshots and raw archive from the repository layout. Setting either env var points ALL tools at one directory — a per-block path breaks every other block's tools. They exist only for single-source sandboxes and tests.

Request Schema

Filters:

Input field semantics:

Field Answer Label Source Field Semantics Definition Counting Definition
unit_label series unit (verbatim) unit_label fed_g17_sdmx_unit_attribute The Fed's verbatim SDMX UNIT attribute for the record's series — 'Index:_2017_100' or 'Percentage'. A per-series constant label — context only, never aggregated.
obs_status observation status (verbatim) obs_status fed_g17_sdmx_obs_status The Fed's verbatim per-observation status flag; 'A' is the only code the Board has published on these series (the gate fails closed on any new code). A per-observation flag — context only, never aggregated.
time_period_label Fed time period (verbatim) time_period_label fed_g17_sdmx_time_period The Fed's verbatim TIME_PERIOD stamp — a month-END date (e.g. '2026-05-31'); data_month is the same month normalized to first-of-month. A per-observation label — context only, never aggregated.

Group by:

Date range parameters:

Controls:

Ranking (how order_by / top_n / order join — order_by ranks groups by a metric, never a group_by dimension; top_n needs both a group_by and an order_by):

{
  "no_ranking": "Omit order_by and top_n to return all groups in group-key order.",
  "order": {
    "default": "desc",
    "valid_values": [
      "desc",
      "asc"
    ]
  },
  "order_by": {
    "accepts": "one of output.metrics",
    "note": "Ranks the groups by a metric (a measure). Not a group_by dimension \u2014 rows already come back grouped by each group_by field.",
    "requires": [
      "group_by"
    ],
    "valid_values": [
      "avg_ip_index",
      "min_ip_index",
      "max_ip_index",
      "avg_capacity_index",
      "min_capacity_index",
      "max_capacity_index",
      "avg_capacity_utilization_pct",
      "min_capacity_utilization_pct",
      "max_capacity_utilization_pct",
      "source_record_count"
    ]
  },
  "top_n": {
    "note": "Keeps the top N groups by order_by; the rest fold into one (other) remainder (additive metrics sum into it, non-additive ones are nulled) so the result still reconciles to summary.totals.",
    "requires": [
      "group_by",
      "order_by"
    ],
    "type": "positive integer"
  }
}

Output Schema

Aggregate metrics:

Metric groups:

{
  "capacity_index": [
    "avg_capacity_index",
    "min_capacity_index",
    "max_capacity_index"
  ],
  "capacity_utilization": [
    "avg_capacity_utilization_pct",
    "min_capacity_utilization_pct",
    "max_capacity_utilization_pct"
  ],
  "production_index": [
    "avg_ip_index",
    "min_ip_index",
    "max_ip_index"
  ],
  "records": [
    "source_record_count"
  ]
}

Response summary fields:

Accepted fact policy:

Metric metadata:

Metric Category Unit Aggregation Additive Across Groups Authoritative Total Definition
avg_ip_index production_index index (2017=100) average false summary.totals.avg_ip_index The average of the Fed's published monthly industrial-production index (NAICS 3344) over the result scope.
min_ip_index production_index index (2017=100) minimum false summary.totals.min_ip_index The minimum of the Fed's published monthly industrial-production index (NAICS 3344) over the result scope.
max_ip_index production_index index (2017=100) maximum false summary.totals.max_ip_index The maximum of the Fed's published monthly industrial-production index (NAICS 3344) over the result scope.
avg_capacity_index capacity_index index (2017=100) average false summary.totals.avg_capacity_index The average of the Fed's published monthly capacity index (NAICS 3344) over the result scope.
min_capacity_index capacity_index index (2017=100) minimum false summary.totals.min_capacity_index The minimum of the Fed's published monthly capacity index (NAICS 3344) over the result scope.
max_capacity_index capacity_index index (2017=100) maximum false summary.totals.max_capacity_index The maximum of the Fed's published monthly capacity index (NAICS 3344) over the result scope.
avg_capacity_utilization_pct capacity_utilization percent average false summary.totals.avg_capacity_utilization_pct The average of the Fed's published monthly capacity utilization (NAICS 3344) over the result scope.
min_capacity_utilization_pct capacity_utilization percent minimum false summary.totals.min_capacity_utilization_pct The minimum of the Fed's published monthly capacity utilization (NAICS 3344) over the result scope.
max_capacity_utilization_pct capacity_utilization percent maximum false summary.totals.max_capacity_utilization_pct The maximum of the Fed's published monthly capacity utilization (NAICS 3344) over the result scope.
source_record_count records count count source records true summary.totals.source_record_count Count of normalized source observations (series × month) contributing to the current result scope.

Rollup rules:

Detail record fields returned when include_records is true:

Row-level citation fields:

Aggregate citation fields:

Codebooks

Field Coverage Codes Examples Note
series_name the four pinned NAICS-3344 series (the finest split G.17 publishes for this family) 4 IP.G3344.S = Industrial-production index, seasonally adjusted (2017=100), IP.G3344.N = Industrial-production index, not seasonally adjusted (2017=100), CAPUTL.G3344.S = Capacity utilization, seasonally adjusted (percent), CAP.G3344.S = Capacity index, seasonally adjusted (2017=100) IP. is the industrial-production index (2017=100); CAPUTL. is capacity utilization (percent); CAP.* is the capacity index. Suffix .S = seasonally adjusted, .N = not adjusted. The Fed publishes NO NSA capacity/utilization series.
series_kind every served row is exactly one kind 3 ip = Industrial-production index (2017=100), capacity_utilization = Capacity utilization (percent, SA only), capacity = Capacity index (2017=100, SA only) ip = production index; capacity_utilization = percent of capacity in use; capacity = the capacity index behind the rate.
basis IP on both bases; capacity/utilization seasonally adjusted only 2 seasonally_adjusted = Seasonally adjusted, not_seasonally_adjusted = Not seasonally adjusted (IP only) Two readings of the same industry — never blend them: a scope averaging the IP index across both bases without grouping by basis carries a production_aggregation note.

The complete machine-readable codebooks are included in capability-schema.json.

Checked Examples

Agent question Request params Checked output
How hot are US semiconductor & electronic-component plants running month by month? {"data_month_from": "2025-06-01", "data_month_to": "2026-05-01", "group_by": ["data_month"], "series_kind": "capacity_utilization"} semiconductor-capacity-utilization-trend.json
What is the latest US semiconductor & electronic-component production index (seasonally adjusted)? {"data_month": "2026-05-01", "group_by": ["data_month"], "series_name": "IP.G3344.S"} semiconductor-production-index-latest.json
How has the semiconductor production index averaged by year recently? {"basis": "seasonally_adjusted", "data_month_from": "2024-01-01", "group_by": ["year"], "series_kind": "ip"} semiconductor-production-by-year.json
Return one capacity-utilization record with a row-level citation. {"data_month": "2026-05-01", "include_records": true, "limit": 1, "series_kind": "capacity_utilization"} semiconductor-production-detail-with-citation.json
Verify the raw workbook row behind a returned citation citations[ref].verify (aggregate) or records[0].citation (detail) source-row-evidence.json
Dogfood the tool sequence as an agent list -> describe -> query -> evidence agent-dogfood-transcript.json

The checked schema output is capability-schema.json.

Agent Workflow

  1. Call list_capabilities_v1 and select ai_infrastructure.production.
  2. Call describe_ai_infrastructure_production_v1 to inspect valid filters, groupings, metrics, and citation fields.
  3. Call query_ai_infrastructure_production_v1 with bounded JSON params.
  4. If the answer needs proof, pass a returned row-level citation object to get_source_evidence_v1.
  5. Answer with the resolved as_of and relevant citations. Present returned metrics as authoritative for their declared source, snapshot, grain, and aggregation.
Generated from the tested API contract. Compare with the live capability map ↗