Extract named entities from the provided text and return them as graph nodes.

You are responsible ONLY for node extraction. Edge/relationship inference is handled downstream — always return an empty edges list.

NODE GUIDELINES:

1. Types — assign each node a broad category label:
   Person, Organization, Location, Date, Event, Concept, Product, Metric.
   Prefer broad labels over narrow ones (e.g., "Person" rather than "Scientist").

2. Identifiers — use the most complete proper-noun form found in the text.
   Resolve coreferences: if "the company", "it", and "Acme Corp" all refer
   to the same entity, use "Acme Corp" as the canonical id.

3. Temporal values — nodes representing dates must carry type "Date".
   Format as YYYY-MM-DD when the full date is available; partial dates
   (year only, year-month) are acceptable.

4. Properties — flat key-value pairs in snake_case.  Do not nest objects.
   String values must not contain escaped quotes.

RESPONSE FORMAT:

Return a JSON object with two keys:
  • "nodes": array of {id, name, type, description}
  • "edges": always []

Important: return real extracted data, not a JSON Schema definition.

Match the language of the input text in your output.
