{
  "publication": "GTM Wire",
  "generated_at": "2026-05-30T15:43:01.098Z",
  "launch_state": "local_ready_external_blocked",
  "launch_state_label": "Local product gates are passing; public launch waits on Cloudflare auth and DNS.",
  "base_url": "https://gtmwire.com",
  "counts": {
    "brand_assets": "4/4",
    "briefs": 8,
    "workflows": 12,
    "sources_configured": 14,
    "sources_checked": 14,
    "draft_ready_candidates": 0
  },
  "latest_brief": {
    "title": "GTM AI Is Moving Into Systems Of Work",
    "url": "https://gtmwire.com/briefs/2026-05-28-agentic-gtm-systems.html",
    "date": "2026-05-28",
    "evidence_url": "https://gtmwire.com/evidence/2026-05-28-agentic-gtm-systems.html",
    "engineer_handoff": {
      "technical_signal": "The important AI news this week is not another model launch.",
      "gtm_translation": "The important AI news this week is not another model launch. The pattern is that AI is moving into the systems GTM teams already use: search ads, CRM, spreadsheets, Slack, small-business apps, marketing operations, and sales workflows.",
      "implementation_boundary": "Budget, routing, segmentation, CRM writes, customer-facing claims, and external messages",
      "owner": "RevOps with channel owners",
      "workflow": "AI workflow governance across GTM systems",
      "human_review": "Budget, routing, segmentation, CRM writes, customer-facing claims, and external messages",
      "metric": "Accepted outputs, rejected outputs, rework rate, and qualified pipeline impact",
      "first_test": "Run one AI-assisted workflow for one week with a named owner and approval loop, then ship, stop, or expand",
      "operator_questions": [
        "Which GTM workflow changes?",
        "Which system provides context?",
        "Which output changes execution?",
        "Who approves it?",
        "What metric proves it worked?"
      ]
    }
  },
  "automation": {
    "status": "Active",
    "publisher": {
      "name": "GTM Wire daily publisher",
      "id": "ai-gtm-fieldbook-daily-news-publisher",
      "schedule": "Weekdays at 08:00 America/Chicago",
      "command": "npm run validate:openai:ci && npm run draft:news:ci && npm run launch-check",
      "scope": "Monitor sources, draft with OpenAI when the gate clears, validate, commit publication artifacts, and push."
    },
    "openai": {
      "draft_api": "OpenAI Responses API",
      "model": "gpt-5.4-mini",
      "model_source": "OPENAI_MODEL",
      "mode": "linear monitored publishing",
      "reason": "Source context is gathered, drafted, locally gated, built, and published as a static artifact.",
      "agents_sdk": {
        "status": "not required for current loop",
        "when_needed": "Use the Agents SDK only when the workflow needs separate researcher, editor, reviewer, and publisher agents with tool-specific state."
      },
      "required_secret": "OPENAI_API_KEY",
      "ci_gate": "npm run validate:openai:ci"
    },
    "github_workflow": ".github/workflows/daily-ai-gtm-news.yml"
  },
  "proof_points": [
    {
      "area": "Brand system",
      "status": "In place",
      "summary": "Strategy, phrasing, positioning, and concise GTM language rules are documented and rendered.",
      "evidence": [
        "brand-strategy.md",
        "brand-language-system.md",
        "pages/positioning.md",
        "site/pages/positioning.html"
      ]
    },
    {
      "area": "Editorial product",
      "status": "In place",
      "summary": "Briefs, workflows, use cases, radar digest, series, archive, source radar, queue, search, quality, and handoff pages are generated.",
      "evidence": [
        "site/index.html",
        "site/archive.html",
        "site/use-cases.html",
        "site/radar-digest.html",
        "site/series.html",
        "site/quality.html",
        "site/handoff.html",
        "site/search.html"
      ]
    },
    {
      "area": "Quality gate",
      "status": "In place",
      "summary": "Published briefs expose readability, jargon, GTM-action, checklist, and section checks.",
      "evidence": [
        "site/quality.html",
        "site/quality.json",
        "scripts/validate_editorial.mjs"
      ]
    },
    {
      "area": "Source monitoring",
      "status": "Healthy",
      "summary": "14 of 14 sources checked; 0 new high-signal candidates.",
      "evidence": [
        "sources.json",
        "data/latest-scan.json",
        "data/latest-candidates.json",
        "site/sources.html",
        "site/radar-digest.json",
        "site/queue.json"
      ]
    },
    {
      "area": "Automated drafting",
      "status": "CI gated",
      "summary": "The publisher validates OpenAI access, drafts from current source signals, rebuilds, validates, and pushes publication artifacts.",
      "evidence": [
        "scripts/monitor_news.mjs",
        "scripts/validate_openai_config.mjs",
        ".github/workflows/daily-ai-gtm-news.yml",
        "automation-plan.md",
        "site/automation.html",
        "site/automation.json"
      ]
    },
    {
      "area": "Engineer to GTM bridge",
      "status": "In place",
      "summary": "Each brief exposes technical signal, GTM translation, implementation boundary, questions, and owner context.",
      "evidence": [
        "site/handoff.html",
        "site/handoff.json",
        "site/latest.json",
        "site/briefs.json"
      ]
    },
    {
      "area": "Cloudflare package",
      "status": "Ready for auth",
      "summary": "Static output, headers, redirects, subscribe functions, diagnostics, and deployment config are present.",
      "evidence": [
        "site/_headers",
        "site/_redirects",
        "functions/api/subscribe.js",
        "functions/api/unsubscribe.js",
        "wrangler.toml",
        "cloudflare.md"
      ]
    }
  ],
  "external_blockers": [
    {
      "blocker": "Wrangler auth",
      "owner": "Account",
      "next_step": "Run pnpm dlx wrangler login or set a Cloudflare API token with Pages access."
    },
    {
      "blocker": "Custom domain DNS",
      "owner": "Domain",
      "next_step": "Attach gtmwire.com in Cloudflare Pages and point registrar nameservers to Cloudflare."
    }
  ],
  "endpoints": {
    "status": "https://gtmwire.com/status.html",
    "status_json": "https://gtmwire.com/status.json",
    "launch_evidence": "https://gtmwire.com/launch-evidence.html",
    "launch_evidence_json": "https://gtmwire.com/launch-evidence.json",
    "publish_audit": "https://gtmwire.com/publish-audit.html",
    "publish_audit_json": "https://gtmwire.com/publish-audit.json",
    "quality": "https://gtmwire.com/quality.html",
    "quality_json": "https://gtmwire.com/quality.json",
    "use_cases": "https://gtmwire.com/use-cases.html",
    "use_cases_json": "https://gtmwire.com/use-cases.json",
    "radar_digest": "https://gtmwire.com/radar-digest.html",
    "radar_digest_json": "https://gtmwire.com/radar-digest.json",
    "weekly": "https://gtmwire.com/weekly.html",
    "weekly_json": "https://gtmwire.com/weekly.json",
    "automation": "https://gtmwire.com/automation.html",
    "automation_json": "https://gtmwire.com/automation.json",
    "health": "https://gtmwire.com/health.json",
    "latest_json": "https://gtmwire.com/latest.json",
    "handoff_json": "https://gtmwire.com/handoff.json"
  }
}