Get card
Download
field-normalizer@1.1.0.yamlClone
npx -y darkprint clone field-normalizer@1.1.0There is no repository and no history behind a card. Download hands you the document as it stands, and Clone fetches the same document by name.
Coerce the extracted fields onto the target shape, units, dates, casing, null spellings, and emit one canonical record per input row, re-folding anything the repair pass has sent back.
used in 2 blueprints
Specification
140 words · handed to the agentTake the field values arriving on fields, a JSON object per document or a row per delta, whichever form you are handed, and coerce them onto the canonical record shape: dates to ISO-8601, quantities to the canonical unit, enumerated values to their canonical casing, and every spelling of emptiness ("", -, N/A, unknown) to a real null. Resolve ambiguous date and number formats as en-GB, so 03/04 is the third of April. Emit exactly one record per input row on record, carrying that row's identity through untouched; coerce values, and never invent one to fill a gap. A record arriving on repaired is one you have already seen, mended elsewhere: normalize it the same way and emit it the same way, but stop after a record has come back three times and drop it instead of sending it round again.
Interfaces
2 in · 1 outInputs
2| Name | Data type | Required | Description |
|---|---|---|---|
| fields | structured | required | Field values as the extractor produced them, in whatever structured form it works in, a JSON object per document or a row per delta. |
| repaired | json | optional | A record that failed the schema gate and came back mended, for a second pass. |
Outputs
1| Name | Data type | Description |
|---|---|---|
| record | json | One record in the target shape, ready for the gate to accept or reject. |
Dependencies
2- extract
- repair
The upstream nodes this card expects to receive from. Whenever a blueprint pins this card, each name is checked against a real edge in that graph. A name without a link is not a published card; it refers to a node inside some graph.
Card values
17 declaredWho the node is. The id is the key the DOT pins.
- id
- field-normalizer
- name
- Field Normalizer
- type
- agent
- phases
- Implementation
What it does, and the prose the agent is handed when the graph runs.
- action29 words
- Coerce the extracted fields onto the target shape, units, dates, casing, null spellings, and emit one canonical record per input row, re-folding anything the repair pass has sent back.
- spec140 words
- Take the field values arriving on
fields, a JSON object per document or a row per delta, whichever form you are handed, and coerce them onto the canonical record shape: dates to ISO-8601, quantities to the canonical unit, enumerated values to their canonical casing, and every spelling of emptiness ("",-,N/A,unknown) to a real null. Resolve ambiguous date and number formats asen-GB, so03/04is the third of April. Emit exactly one record per input row onrecord, carrying that row's identity through untouched; coerce values, and never invent one to fill a gap. A record arriving onrepairedis one you have already seen, mended elsewhere: normalize it the same way and emit it the same way, but stop after a record has come back three times and drop it instead of sending it round again.in full above - model
- claude-haiku-4-5
- agent
- Normalizer
- skill
- skills/field-normalizer.md
- tools
- none
- mcp
- none
- params
- locale: en-GB, max_retries: 3
What arrives, what leaves, which nodes it expects to hear from, and what may not.
- inputs
- fields : structured, repaired : json
- outputs
- record : json
- dependencies
- extract, repair
- cannot
- no type is refused
- will_not
- invent a value to fill a gap
The keys the static analysis reads. Nothing here instructs the agent.
- risk_markers
- none
- notes111 words
fieldsis typedstructuredrather thanjsonon purpose: the same normalizer takes JSON objects from a document extractor and rows from a SQL delta reader, and those two are siblings in the lattice.max_retries: 3caps how many times one record may re-enter from the repair path before it is abandoned, and the number does not move as the key is renamed. Engine spec §2.6 counts the attempts that follow the initial execution, and a re-entry is exactly that: the spec above drops a record that has come back three times, so three retries and four passes over that record is what the sentence and the key now both say.
The card's own version, and who wrote it.
- version
- 1.1.0
- author
- autogen
- provenance
- not stated
Version history
2 versions published- field-normalizer@1.1.0currentsha256:845e44309f5873f92b643b0d034e645f0665aa292a7dcf73e82557b70f5f6078
pinned byNightly Data Janitor
autogen/nightly-data-janitor,Schema Forge ETLautogen/schema-forge-etlminor1.0.0 → 1.1.0something was added; old pins still resolve- parameter
max_retrieswas added - parameter
max_iterationswas removed noteschanged
- parameter
- field-normalizer@1.0.0sha256:4c732ca05610cd23eb1b18d3b051fa25989d380db6f9dd8619cb3027988c3411
No blueprint pins this exact version.
A digest is a fingerprint (SHA-256) of the card's content, computed without the author and provenance fields. The same card from two people gets the same digest; any edit gets a new one.
Community notes (0)
No notes yet.
Nobody has posted about this node card yet.
Sign in to post a note.