{
  "publisher": "Frontera Signal",
  "series": "labor-ranges",
  "title": "Labor and capacity",
  "schema_version": "2.0",
  "latest_week": "2026-W30",
  "query": {
    "from": "2026-W30",
    "to": "2026-W30"
  },
  "cadence": "monthly",
  "fields": [
    "week_id",
    "metric",
    "value",
    "unit",
    "value_type",
    "value_text",
    "as_of",
    "age_days",
    "cadence",
    "stale",
    "source",
    "status",
    "backfill"
  ],
  "returned": 3,
  "rows": [
    {
      "week_id": "2026-W30",
      "metric": "build_time_2100sf",
      "value": {
        "low": 9,
        "high": 11,
        "unit": "months"
      },
      "unit": "months",
      "value_type": "range",
      "value_text": "9-11 months",
      "as_of": "2026-07",
      "age_days": 79,
      "cadence": "monthly",
      "stale": false,
      "source": "Frontera Signal",
      "status": "reported",
      "backfill": false
    },
    {
      "week_id": "2026-W30",
      "metric": "enforcement_climate",
      "value": "elevated",
      "unit": null,
      "value_type": "category",
      "as_of": "2026-07-24",
      "age_days": 86,
      "cadence": "monthly",
      "stale": false,
      "source": "Frontera Signal",
      "status": "reported",
      "backfill": false
    },
    {
      "week_id": "2026-W30",
      "metric": "construction_loans_rgv",
      "value": -30,
      "unit": "pct vs 2025",
      "value_type": "number",
      "value_text": "-30pct vs 2025",
      "as_of": "2026-01",
      "age_days": 260,
      "cadence": "monthly",
      "stale": true,
      "source": "Frontera Signal",
      "status": "reported",
      "backfill": false
    }
  ],
  "disclaimer": "Every value carries as_of, age_days, cadence and stale (weekly measures go stale after 14 days, monthly measures after 90). dark = the source published nothing that week; no_reading = we have no reading for it. Ranges are {low, high, unit}; approx marks a rounded reading. Not a quote, bid or appraisal. Terms: https://fronterasignal.com/terms/"
}