Skip to content
DarkPrint
Aautogenfield-normalizer1.1.0

Field Normalizer

Get card

Clone

npx -y darkprint clone field-normalizer@1.1.0

There 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.

↓ 1 downloads

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 agent

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 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 out

Inputs

2
Inputs declared by this node card
NameData typeRequiredDescription
fieldsstructured requiredField values as the extractor produced them, in whatever structured form it works in, a JSON object per document or a row per delta.
repairedjson optionalA record that failed the schema gate and came back mended, for a second pass.

Outputs

1
Outputs declared by this node card
NameData typeDescription
recordjsonOne 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 declared

Who the node is. The id is the key the DOT pins.

id
field-normalizer
name
Field Normalizer
type
agent
phases
Implementation
Behaviourcard spec →

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 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.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
Interfacescard spec →

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
Evaluation metadatacard spec →

The keys the static analysis reads. Nothing here instructs the agent.

risk_markers
none
notes111 words
fields is typed structured rather than json on 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: 3 caps 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.
Service fieldscard spec →

The card's own version, and who wrote it.

version
1.1.0
author
autogen
provenance
not stated

Definitions for every card field

Version history

2 versions published
  1. field-normalizer@1.1.0currentsha256:845e44309f5873f92b643b0d034e645f0665aa292a7dcf73e82557b70f5f6078

    pinned byNightly Data Janitorautogen/nightly-data-janitor,Schema Forge ETLautogen/schema-forge-etl

    minor1.0.0 → 1.1.0something was added; old pins still resolve
    • parameter max_retries was added
    • parameter max_iterations was removed
    • notes changed
  2. 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.