{
  "id": "pct-2026-11-07-company-de6cc3f6ff",
  "content_type": "article",
  "desk": "company",
  "title": "Modal turns unpredictable AI jobs into a metered cloud business",
  "publication_date": "2026-11-07",
  "observation_date": "2026-11-07",
  "editorial_voice": "AI-assisted Company Desk",
  "body": "# Modal turns unpredictable AI jobs into a metered cloud business\n\n*Company desk | Peterson Compute Trading | November 7, 2026*\n*AI-assisted public-source analysis. No interviews or independently run performance tests. Dollar amounts are US dollars.*\n\nModal's customer buys the ability to start work quickly, expand it briefly and stop paying when resources are released. That proposition suits a model evaluation that arrives without warning or a coding agent that alternates between waiting and running tests. It becomes harder to justify when the same hardware stays busy all day. Understanding the company requires examining both patterns, rather than treating serverless compute as automatically inexpensive.\n\nThe scale is substantial. On October 14, Modal announced a $750 million Series D at a $15.75 billion post-money valuation and said it had exceeded $1 billion in annualized run rate. Those are company-reported figures. Run rate extrapolates current activity; it is not a statement that Modal has already booked a billion-dollar financial year. [Modal's announcement](https://modal.com/blog/1-billion-annualized-run-rate-series-d)\n\n## A customer needs a completed evaluation\n\nA November 6 Modal case study describes Snorkel running millions of agent simulations monthly, with peaks of tens of thousands of sandbox creations per hour. A sandbox is an isolated execution environment. These tests require different environments: an infrastructure agent may need a full Linux kernel, while an ML agent needs a GPU. Snorkel also uses shared and dedicated inference endpoints to evaluate standard and customized models. The commercial deadline can be a day after a new model appears. [Snorkel case study](https://modal.com/blog/how-snorkel-runs-realistic-agent-simulations-with-modal)\n\nThe same account reports roughly 20% savings on Snorkel's total Sandbox bill after adopting resource bursting, with approximately 10–15% of its sandboxes using that feature. The baseline bill, observation period and detailed workload mix are not disclosed. This is an attributed customer result in supplier material, not a general savings promise. [Snorkel case study](https://modal.com/blog/how-snorkel-runs-realistic-agent-simulations-with-modal)\n\nFor a buyer, the useful unit is a valid evaluation delivered before its deadline. Cheap executions that fail because their environment lacks memory contaminate the comparison. A trial should separate model failures from infrastructure failures and record reruns, queueing and elapsed time alongside the invoice.\n\n## The workflow can outlast the first GPU order\n\nRamp supplies customer-authored evidence of a different use. Its January 12 engineering article describes Inspect sessions running in Modal sandboxes with a full development environment, including Postgres and Temporal. Ramp builds repository images every 30 minutes, installs dependencies ahead of time, snapshots the prepared environment and starts new sessions from that state. It snapshots completed work again so a later follow-up can resume it. [Ramp's engineering account](https://builders.ramp.com/post/why-we-built-our-background-agent)\n\nThis explains how an infrastructure supplier can become embedded in a customer's daily operations. The recurring purchase includes environment preparation, state recovery and concurrent execution. Replacing that supplier means validating the whole workflow again. That is a plausible source of retention, not evidence that customers cannot leave or that Modal earns a particular margin.\n\nFounded by Erik Bernhardsson and Akshat Bubna, Modal combines its software with externally supplied capacity. Its October announcement describes a pool spanning more than 20 clouds and its own scheduler, filesystem, networking and container runtime. Lead investor Accel separately says Sandboxes accounted for $300 million of revenue run rate, about 30% of the stated billion-dollar total. Accel corroborates the financing but is an interested investor, not an independent auditor. [Company account](https://modal.com/blog/1-billion-annualized-run-rate-series-d), [Accel's October 14 statement](https://www.accel.com/news/our-investment-in-modal)\n\n## Price the whole running container\n\nThe public tariff observed November 7 lists an H100 SXM5 at $0.001097 per second, or $3.9492 per hour. Base CPU is $0.0000131 per physical core-second and memory is $0.00000222 per GiB-second. CPU and RAM are separate meters. CPU-only Sandboxes use non-preemptible CPU and memory pricing, listed at three times the base rates. The example below is a GPU Function, not a Sandbox quote. [Modal pricing](https://modal.com/pricing)\n\nConsider an illustrative GPU Function billed for one H100, four physical CPU cores and 64 GiB of RAM throughout an hour. The calculation is $3.9492 for the GPU, $0.18864 for CPU and $0.511488 for memory: **$4.649328 per hour**, before storage, network, plan charges, credits, discounts or region premiums. This is PCT arithmetic, not a customer invoice or a benchmark. Actual charges depend on resources consumed and requested.\n\nNow suppose a genuinely comparable reserved configuration costs $3 per hour continuously. That $3 is an illustrative quote, not an observed competitor offer. Ignoring other differences, the reservation costs $72 per day. Modal reaches that amount after 15.49 billed hours, about 64.5% of the day. Below that utilization, release of capacity can outweigh the higher running rate; above it, the assumed reservation wins on these compute charges.\n\nThe reservation comparison is valid only after matching hardware, throughput, memory, interruption rights and support. Add the customer's operating labor and required headroom to both cases. A less expensive configuration that takes longer to produce the same accepted result can erase the apparent saving.\n\n## Idle time has several meanings\n\nModal's cold-start documentation distinguishes container boot from application readiness. Imports and model initialization can still take time after the container starts. Keeping containers warm reduces waiting but retains billable resources; the default maximum idle window is 60 seconds, and actual scale-down can occur sooner. [Cold-start documentation](https://modal.com/docs/guide/cold-start)\n\nAssume an isolated request occupies an H100 for 240 seconds of useful work, 30 seconds of loading and the full 60-second idle window. The GPU meter records 330 seconds, costing $0.36201 rather than the useful-work-only $0.26328. That is 37.5% additional GPU time. This deliberately simple example assumes no overlapping requests and no early scale-down. Reusing a warm container changes the result.\n\nThe buyer therefore needs two measurements: productive seconds and billed seconds. Test traffic at its real arrival intervals. A continuous load test will hide the cost of sporadic requests; a single cold request will overstate overhead for a busy endpoint. A minimum warm pool may be sensible for latency, but it should appear explicitly in the budget.\n\n## Bursting transfers a sizing decision\n\nModal bills CPU and memory at the greater of requested capacity and actual usage. Requesting a large allocation establishes a floor, even while the process is doing little. Bursting above the request depends on spare host capacity. The documentation recommends monitoring CPU pressure and memory-related evictions, then increasing reservations where necessary. [Resource billing](https://modal.com/docs/guide/resources), [Sandbox sizing](https://modal.com/docs/guide/sandbox-resources)\n\nSuppose, purely illustratively, a CPU sandbox needs eight GiB for one minute and two GiB for nine minutes. An eight-GiB reservation bills 80 GiB-minutes. A two-GiB reservation with successful bursting bills 26: two times nine, plus eight times one. The memory component falls 67.5%. CPU, inference, storage and other costs do not disappear, and this is not a reproduction of Snorkel's 20% result.\n\nThe operational catch matters. Lower reservations can expose a workload to contention or eviction when capacity is tight. Set a resource ceiling to contain a runaway agent, but choose it using actual workload traces. A limit that repeatedly kills valid work simply moves spending into retries. Evaluate cost per successful session and high-percentile completion time together.\n\n## Four conditions belong in procurement\n\n**Location.** Pinning a broad container region carries a 1.15-times usage multiplier; a narrow region carries 1.75 times. In the illustrative H100 configuration, that changes $4.65 per running hour to approximately $5.35 or $8.14. A buyer with a fixed jurisdiction requirement should use the regional price from the beginning. [Region selection](https://modal.com/docs/guide/region-selection)\n\n**Residency.** Compute placement does not settle every data question. Modal's documentation says application logs are stored in the United States. Function payloads above two MiB and asynchronous payloads have additional US-storage implications; explicit Sandbox snapshots are also stored there. Shared Endpoints do not offer selectable regions. Map the complete data path before approving a regulated workload. [Data residency](https://modal.com/docs/guide/data-residency)\n\n**Interruption.** GPU Functions and GPU Sandboxes are preemptible. Paying the CPU non-preemptible premium does not buy non-preemptible GPU Functions. Current documentation also limits GPU Sandboxes to the gVisor runtime, so do not assume the full-VM and GPU configurations are interchangeable. Test checkpoint recovery and safely repeatable operations before relying on a long job. [Preemption rules](https://modal.com/docs/guide/preemption), [GPU Sandbox restrictions](https://modal.com/docs/guide/sandbox-resources)\n\n**Application security.** On July 29, Modal described a customer endpoint that accepted unauthenticated public code execution. Modal said its platform isolation was not breached and other customers were unaffected. The practical lesson is to review the application boundary as well as the sandbox boundary. Current docs allow outbound public-IP access by default, with controls to restrict it. [Incident statement](https://modal.com/blog/a-note-on-the-hugging-face-agent-incident), [Network controls](https://modal.com/docs/guide/sandbox-networking)\n\n## The supplier has its own utilization problem\n\nPooling many customers can improve hardware use because their peaks do not always coincide. That is the economic logic behind Modal's offer. Its success depends on obtaining suitable capacity, packing jobs efficiently and charging enough to cover software, operations and unused commitments. The reviewed public sources do not establish its gross margin, cash consumption, supplier concentration or contractual capacity obligations.\n\nAn October 19 engineering post shows where Modal is looking for further efficiency. Its early NVIDIA Vera test reported up to twice the task throughput of an equivalent x86 GNR machine under load. The benchmark used 50 Terminal-Bench tasks with network calls removed and containers prewarmed. That is a supplier-run CPU experiment, not proof that a complete customer's agent becomes twice as fast. Modal described supporting Arm as requiring infrastructure and image-system changes. [Vera test](https://modal.com/blog/nvidia-vera-sandboxes)\n\nThe competitive question is whether better scheduling and faster environments keep saving customers enough to justify the service layer. When workloads become predictable, customers can renegotiate, reserve capacity or operate more of the stack themselves. When model changes and agent behavior keep workloads irregular, flexible execution retains a clearer purpose.\n\n## A purchase should start with a measured pilot\n\nPCT would ask a prospective customer to replay a representative week, including quiet hours, burst traffic and failures. Record completed valid jobs, total compute and data charges, setup labor, billed-to-productive time, queue delays and recovery time. Run one deliberate restart and one region-constrained test. Confirm account quotas and capacity terms rather than interpreting an autoscaling feature as an availability guarantee.\n\nModal is credible as a candidate for teams whose work changes shape faster than their infrastructure plans. Its reported growth and concrete customer workflows warrant attention. The purchasing decision still belongs in the workload trace: what finished, how long it took, what was retained between requests and what the complete run cost. That evidence is more durable than either a funding valuation or an attractive GPU-hour headline.\n",
  "sources": [
    {
      "id": "s1",
      "title": "How Snorkel runs realistic agent simulations with Modal",
      "url": "https://modal.com/blog/how-snorkel-runs-realistic-agent-simulations-with-modal",
      "publication_date": "2026-11-06",
      "observed_on": "2026-11-07",
      "source_type": "vendor_customer_case",
      "primary": true,
      "access": "Full primary-source HTML opened.",
      "caveat": "Customer statements embedded in supplier case study; baseline bill and measurement period unavailable."
    },
    {
      "id": "s2",
      "title": "Why We Built Our Own Background Agent",
      "url": "https://builders.ramp.com/post/why-we-built-our-background-agent",
      "publication_date": "2026-01-12",
      "observed_on": "2026-11-07",
      "source_type": "customer_engineering_account",
      "primary": true,
      "access": "Primary-source article body and date retrieved via targeted web search; direct open returned only page shell.",
      "caveat": "Customer independently describes its Modal workflow. Historical description, not a current contract or independently tested performance result."
    },
    {
      "id": "s3",
      "title": "Modal crosses $1B in Annualized Run Rate and raises $750M Series D",
      "url": "https://modal.com/blog/1-billion-annualized-run-rate-series-d",
      "publication_date": "2026-10-14",
      "observed_on": "2026-11-07",
      "source_type": "company_announcement",
      "primary": true,
      "access": "Full primary-source HTML opened.",
      "caveat": "Company-reported run rate, growth and financing; run rate is not booked annual revenue or audited accounts."
    },
    {
      "id": "s4",
      "title": "Our Investment in Modal",
      "url": "https://www.accel.com/news/our-investment-in-modal",
      "publication_date": "2026-10-14",
      "observed_on": "2026-11-07",
      "source_type": "investor_primary_statement",
      "primary": true,
      "access": "Full primary-source HTML opened.",
      "caveat": "Lead investor confirms investment and reports operating metrics; interested source rather than independent auditor."
    },
    {
      "id": "s5",
      "title": "Pricing Pay per second for GPUs and CPUs",
      "url": "https://modal.com/pricing",
      "publication_date": null,
      "observed_on": "2026-11-07",
      "source_type": "live_public_tariff",
      "primary": true,
      "access": "Full pricing HTML opened.",
      "caveat": "Undated dynamic tariff observed November 7; no authenticated quote, stock check or enterprise discount obtained."
    },
    {
      "id": "s6",
      "title": "Cold start performance",
      "url": "https://modal.com/docs/guide/cold-start",
      "publication_date": null,
      "observed_on": "2026-11-07",
      "source_type": "product_documentation",
      "primary": true,
      "access": "Full relevant documentation opened.",
      "caveat": "Current public rules; application-specific loading and billing behavior was not independently tested."
    },
    {
      "id": "s7",
      "title": "Configuring CPU memory and disk",
      "url": "https://modal.com/docs/guide/resources",
      "publication_date": null,
      "observed_on": "2026-11-07",
      "source_type": "product_documentation",
      "primary": true,
      "access": "Full relevant documentation opened.",
      "caveat": "Requests and actual usage determine billed CPU and memory; physical cores, not vCPUs."
    },
    {
      "id": "s8",
      "title": "Sandbox resources and pricing",
      "url": "https://modal.com/docs/guide/sandbox-resources",
      "publication_date": null,
      "observed_on": "2026-11-07",
      "source_type": "product_documentation",
      "primary": true,
      "access": "Full relevant documentation opened.",
      "caveat": "Burst capacity is conditional; GPU runtime and preemption constraints apply."
    },
    {
      "id": "s9",
      "title": "Region selection",
      "url": "https://modal.com/docs/guide/region-selection",
      "publication_date": null,
      "observed_on": "2026-11-07",
      "source_type": "product_documentation",
      "primary": true,
      "access": "Full relevant documentation opened.",
      "caveat": "Published region premiums; capacity and routing need separate assessment."
    },
    {
      "id": "s10",
      "title": "Data residency on Modal",
      "url": "https://modal.com/docs/guide/data-residency",
      "publication_date": null,
      "observed_on": "2026-11-07",
      "source_type": "product_documentation",
      "primary": true,
      "access": "Relevant data-location table and product distinctions opened.",
      "caveat": "Region pinning does not cover every log, payload or snapshot; no legal compliance certification inferred."
    },
    {
      "id": "s11",
      "title": "Preemption",
      "url": "https://modal.com/docs/guide/preemption",
      "publication_date": null,
      "observed_on": "2026-11-07",
      "source_type": "product_documentation",
      "primary": true,
      "access": "Full documentation opened.",
      "caveat": "GPU workloads cannot use CPU-only nonpreemptible Function setting."
    },
    {
      "id": "s12",
      "title": "A note on the Hugging Face agent incident",
      "url": "https://modal.com/blog/a-note-on-the-hugging-face-agent-incident",
      "publication_date": "2026-07-29",
      "observed_on": "2026-11-07",
      "source_type": "vendor_incident_statement",
      "primary": true,
      "access": "Full primary-source HTML opened.",
      "caveat": "Scope and isolation conclusions attributed to Modal; not a forensic verification by PCT."
    },
    {
      "id": "s13",
      "title": "Networking and security",
      "url": "https://modal.com/docs/guide/sandbox-networking",
      "publication_date": null,
      "observed_on": "2026-11-07",
      "source_type": "product_documentation",
      "primary": true,
      "access": "Relevant default networking and restrictions opened.",
      "caveat": "Outbound controls have documented limitations; no blanket security guarantee inferred."
    },
    {
      "id": "s14",
      "title": "NVIDIA Vera CPUs double throughput for Modal Sandboxes",
      "url": "https://modal.com/blog/nvidia-vera-sandboxes",
      "publication_date": "2026-10-19",
      "observed_on": "2026-11-07",
      "source_type": "vendor_engineering_benchmark",
      "primary": true,
      "access": "Full benchmark methodology and conclusions opened.",
      "caveat": "Early supplier-run test removes network calls and prewarms containers; not end-to-end agent speed or confirmed fleet-wide rollout."
    }
  ],
  "facts": [
    {
      "source": "s1",
      "type": "attributed_customer_claim",
      "claim": "Millions of simulations monthly; peaks tens of thousands of sandbox creations hourly; around 20% total Sandbox bill saving; 10–15% of sandboxes using bursting.",
      "limits": "Supplier-hosted case; measurement window, baseline bill and mix not disclosed."
    },
    {
      "source": "s2",
      "type": "customer_workflow",
      "claim": "Ramp Inspect uses Modal environments, repository images built every 30 minutes and snapshots to start and resume sessions.",
      "limits": "January 12 description, not a claim every detail remains unchanged in November."
    },
    {
      "source": "s3",
      "type": "reported_financing_and_metrics",
      "claim": "$750M Series D at $15.75B post-money valuation; over $1B annualized run rate; pool spanning more than 20 clouds.",
      "limits": "Company-reported; no audited financials or underlying supplier commitments reviewed."
    },
    {
      "source": "s4",
      "type": "investor_report",
      "claim": "Accel led Series D; Sandbox run rate $300M.",
      "limits": "Interested investor; 30% share is PCT calculation of 300/1000, approximate because total exceeds $1B."
    },
    {
      "source": "s5",
      "type": "live_price",
      "claim": "H100 SXM5 $0.001097/second; base CPU $0.0000131/physical-core-second; memory $0.00000222/GiB-second.",
      "limits": "Observed November 7; Function base pricing, not CPU Sandbox premium; discounts, credits, other charges excluded from examples."
    },
    {
      "source": "s6",
      "type": "billing_and_lifecycle",
      "claim": "Application readiness includes initialization; default maximum idle window 60 seconds; retained GPU or memory resources can be billed.",
      "limits": "Autoscaler may terminate earlier; worked example assumes full 60-second window."
    },
    {
      "source": "s7",
      "type": "billing_rule",
      "claim": "CPU and memory bill at max(requested, actual).",
      "limits": "Actual use can exceed request; worked resource envelope assumed constant."
    },
    {
      "source": "s8",
      "type": "capacity_constraint",
      "claim": "Bursting depends on spare host capacity; GPU Sandboxes gVisor only and preemptible.",
      "limits": "No guarantee of unlimited burstability or interchangeable GPU/VM runtime."
    },
    {
      "source": "s9",
      "type": "region_price_rule",
      "claim": "Broad-region multiplier 1.15x and narrow-region 1.75x.",
      "limits": "Applied to usage meters; account-specific concessions not checked."
    },
    {
      "source": "s10",
      "type": "residency_constraint",
      "claim": "Application logs and explicit Sandbox snapshots stored US; Function large and async payloads have US storage; Shared Endpoint regions not selectable.",
      "limits": "Product-specific paths matter; not legal advice or a full compliance assessment."
    },
    {
      "source": "s11",
      "type": "interruption_constraint",
      "claim": "GPU Functions and GPU Sandboxes are preemptible; nonpreemptible Function parameter not supported for GPUs.",
      "limits": "No workload interruption frequency measured."
    },
    {
      "source": "s12",
      "type": "attributed_incident_statement",
      "claim": "Modal says July incident involved unauthenticated public code execution in a customer app and did not compromise platform isolation or other workloads.",
      "limits": "Vendor account, explicitly attributed."
    },
    {
      "source": "s13",
      "type": "security_default",
      "claim": "Sandboxes default to outbound connections to public IPs; restrictions configurable.",
      "limits": "Controls must be configured; DNS and sidecar exceptions in full docs not exhaustively summarized."
    },
    {
      "source": "s14",
      "type": "attributed_benchmark",
      "claim": "Early Vera test up to 2x throughput versus equivalent x86 GNR; 50 Terminal-Bench tasks; network removed; prewarmed containers.",
      "limits": "Vendor benchmark; not an end-to-end workload result or fleet rollout confirmation."
    }
  ],
  "inferences": [
    "Workflow preparation and recovery can support retention beyond initial GPU access; no measured switching cost or margin established.",
    "Pooling demand can improve supplier utilization when peaks differ; commercial success depends on procurement, scheduling and cost coverage.",
    "Serverless value is strongest when releasing capacity materially reduces paid time, after matching delivered work and operating requirements.",
    "Steadier utilization gives customers greater reason to renegotiate or compare reserved/self-managed capacity.",
    "Customer should prioritize cost per valid evaluation or successful agent session, including failed work and time requirements."
  ],
  "unknowns": [
    "Audited revenue, gross margin, cash consumption and supplier capacity commitments not established by reviewed public sources.",
    "Snorkel savings methodology, baseline spend, period and workload composition not disclosed.",
    "No customer account quotas, authenticated capacity, performance benchmark or enterprise quote checked.",
    "No independent reproduction of Modal Vera result or confirmation of fleet-wide rollout.",
    "No customer-by-customer revenue concentration, retention or contractual switching data reviewed.",
    "Current public documentation is undated and may change; observed date is November 7, 2026."
  ],
  "correction_history": [],
  "license_status": "Original PCT editorial text; public license not selected. Source rights remain separate.",
  "public_url": null,
  "desk_extensions": {
    "title": "Modal turns unpredictable AI jobs into a metered cloud business",
    "company": "Modal",
    "date": "2026-11-07",
    "word_count": 1724,
    "estimated_read_minutes": 7.7,
    "byline": "PCT Company Desk | AI-assisted public-source analysis",
    "calculations": [
      {
        "id": "c1",
        "label": "Illustrative H100 Function hourly resource bill",
        "inputs": {
          "h100_per_second": 0.001097,
          "cpu_per_core_second": 1.31e-05,
          "physical_cores": 4,
          "memory_per_gib_second": 2.22e-06,
          "memory_gib": 64,
          "seconds": 3600
        },
        "formula": "3600*(0.001097+4*0.0000131+64*0.00000222)",
        "result_usd": 4.649328,
        "source_ids": [
          "s5",
          "s7"
        ],
        "assumptions": "All resources billed continuously at stated level. No region multiplier or nonpreemptible CPU premium. Other fees, credits, discounts excluded."
      },
      {
        "id": "c2",
        "label": "Illustrative reserved-capacity break-even",
        "formula": "3*24 / 4.649328",
        "result_hours": 15.486108960262646,
        "result_day_fraction": 0.6452545400109435,
        "source_ids": [
          "s5"
        ],
        "assumptions": "$3/hr fully comparable alternative is hypothetical, NOT observed competitor price. Equal throughput, envelope, and excluded operating costs."
      },
      {
        "id": "c3",
        "label": "Isolated request overhead",
        "formula": "(240+30+60)*0.001097 versus 240*0.001097",
        "result_billed_usd": 0.36201000000000005,
        "result_productive_only_usd": 0.26328,
        "overhead_fraction": 0.375,
        "source_ids": [
          "s5",
          "s6"
        ],
        "assumptions": "Hypothetical job, 30s load, full 60-second idle window, no overlapping work and no early shutdown; GPU only."
      },
      {
        "id": "c4",
        "label": "Memory bursting hypothetical",
        "formula": "8*10 versus 2*9+8*1 GiB-minutes",
        "reserved_gib_minutes": 80,
        "burst_gib_minutes": 26,
        "memory_reduction_fraction": 0.675,
        "source_ids": [
          "s7",
          "s8"
        ],
        "assumptions": "Spare capacity available. Not actual Snorkel workload. Only memory component compared, no total-bill savings claim."
      },
      {
        "id": "c5",
        "label": "Regional resource rates",
        "formula": "4.649328*1.15 and 4.649328*1.75",
        "broad_usd_per_hour": 5.346727199999999,
        "narrow_usd_per_hour": 8.136324,
        "source_ids": [
          "s5",
          "s9"
        ],
        "assumptions": "Illustrative Function envelope; no negotiated discount."
      }
    ],
    "dedup_note": "New company distinct from SF Compute, CoreWeave, Crusoe and Nebius. Focus is application execution, CPU/GPU resource sizing, billed-time economics and operational constraints, not campus financing.",
    "scope": "Research and local canonical draft only. No site changes, outreach, account operations or purchases.",
    "editorial_note": "Primary sources collected independently for this assignment. Ramp provides customer-authored evidence; Accel is interested investor corroboration. Supplier metrics are attributed and calculations identified as illustrative.",
    "source_cutoff": "2026-11-07"
  },
  "public_projection": {
    "version": "1.0.0",
    "date": "2026-11-10",
    "changes": [
      "Internal workspace artifact paths omitted where present. Historical license/status fields retain original provenance; current public reuse policy is stated separately."
    ],
    "rights": "PCT reserves rights in original editorial content; third-party rights retained. No general source-data reuse license."
  }
}
