RISE Humanities Data Benchmark, 0.5.2-pre1

Search Test Runs

 

A test run is a single execution of a benchmark test using a defined model configuration.
Each run represents how a particular large language model (LLM) — such as GPT-4, Claude-3, or Gemini — performed on a given task at a specific time, with specific settings.

A test run includes:

  • Prompt and role definition – what the model was asked to do and from what perspective (e.g. “as a historian”).
  • Model configuration – provider, model version, temperature, and other generation parameters.
  • Results – the model’s actual response and its evaluation (scores such as F1 or accuracy).
  • Usage and cost data – token counts and calculated API costs.
  • Metadata – information like the test date, benchmark name, and person who executed it.

Together, test runs make it possible to compare models, providers, and configurations across benchmarks in a transparent and reproducible way.

Search Results

Your search for Benchmark 'personnel_cards__true' with Search Hidden 'False' returned 71 results, showing page 1 of 8.
Result 1 of 71

Test T1061 at 2026-05-22

{'document-type': ['index-card'], 'writing': ['handwritten', 'typed', 'printed'], 'century': [20], 'layout': ['table', 'form'], 'task': ['transcription', 'document-understanding', 'data-correction'], 'language': ['de', 'fr']}

Configuration
Providergenai
Modelgemini-3.5-flash
  
Temperature0.0
DataclassTable
  
Normalized Score97.14 %
Test timeunknown seconds
Prompt

Extract all information from this personnel card table and return it as a structured JSON object. The card contains rows documenting employment history with positions, locations, salary information, dates, and remarks.

REQUIRED JSON STRUCTURE:
```json
{
  "rows": [
    {
      "row_number": 1,
      "dienstliche_stellung": {
        "diplomatic_transcript": "exact text from card",
        "interpretation": "expanded/standardized form or null",
        "is_crossed_out": false
      },
      "dienstort": {
        "diplomatic_transcript": "exact text from card",
        "interpretation": "expanded/standardized form or null",
        "is_crossed_out": false
      },
      "gehaltsklasse": {
        "diplomatic_transcript": "exact text from card",
        "interpretation": "expanded/standardized form or null",
        "is_crossed_out": false
      },
      "jahresgehalt_monatsgehalt_taglohn": {
        "diplomatic_transcript": "exact text from card",
        "interpretation": "standardized numeric form or null",
        "is_crossed_out": false
      },
      "datum_gehaltsänderung": {
        "diplomatic_transcript": "exact text from card",
        "interpretation": "YYYY-MM-DD format or null",
        "is_crossed_out": false
      },
      "bemerkungen": {
        "diplomatic_transcript": "exact text from card",
        "interpretation": "expanded/standardized form or null",
        "is_crossed_out": false
      }
    }
  ]
}
```

COLUMN DEFINITIONS:
1. **dienstliche_stellung**: Official position or job title (e.g., "Assistent", "Professor", "Sekretär")
2. **dienstort**: Place of service or work location (e.g., "Basel", "Zürich")
3. **gehaltsklasse**: Salary class or grade (e.g., "III", "IV", roman numerals or numbers)
4. **jahresgehalt_monatsgehalt_taglohn**: Salary amount (annual/monthly/daily wage)
5. **datum_gehaltsänderung**: Date of salary change or effective date
6. **bemerkungen**: Remarks, notes, or additional comments

FIELD EXTRACTION RULES:

**diplomatic_transcript** (REQUIRED for all fields):
- Transcribe EXACTLY as written on the card
- Include all abbreviations, punctuation, and formatting as they appear
- Preserve original capitalization and spacing
- Include currency symbols and separators (e.g., "Fr. 2'400.-", "3.700.-")
- For dates, copy the exact format (e.g., "1. Jan. 1946", "1.April 1945")
- Use empty string "" for empty cells
- Be sure to escape ditto marks (repetition marks such as `"` indicating "same as above")
- DO NOT expand abbreviations or standardize formats
- Do not transcribe checkmarks

**interpretation** (OPTIONAL - use null if not applicable):
- For ditto marks (repetition marks such as `"`): Replace with the actual repeated value from the previous row in the same column
  - For example, if previous row's dienstliche_stellung is "Hilfsleiterin" and current row has `"`, interpret as "Hilfsleiterin"
  - Do NOT add explanatory text like "wie oben" or similar - just provide the repeated value
- Never expand abbreviations
- For dates: Convert to ISO format YYYY-MM-DD
  - "1. Jan. 1946" → "1946-01-01"
  - "1.April 1945" → "1945-04-01"
- For salary amounts: Extract numeric value only (remove currency symbols, separators)
  - "Fr. 2'400.-" → "2400"
  - "3.700.-" → "3700"
  - "5.094.-" → "5094"
  "6,30.-" → "6.3"
- For salary class: Convert roman numerals to arabic if clear
  - "III" → "3"
  - "IV" → "4"
- Do not convert roman numerals to arabic if not salary, date, or salary class
- Use null if no interpretation/expansion is needed or if the field is empty
- "+ {word}" where {word} is a word does not need interpretation

**is_crossed_out** (REQUIRED for all fields):
- Set to true if text in this field is crossed out, struck through, or deleted
- Set to false if text is normal (not crossed out)
- Empty cells should have is_crossed_out: false

ROW HANDLING:
- Number rows sequentially starting from 1 (top to bottom)
- Include ALL rows that have ANY content in ANY column
- Empty rows (all cells empty) should be omitted
- A row with only one filled cell should still be included

IMPORTANT NOTES:
- Return ONLY the JSON object, no additional text or explanation
- Every field must have all three sub-fields: diplomatic_transcript, interpretation, is_crossed_out
- diplomatic_transcript must never be null (use empty string "" for empty cells)
- interpretation can be null when no expansion/standardization applies
- Process the entire table from top to bottom
- Maintain consistent row numbering throughout

Results

no valid result

Scoring
Fuzzy Score F1 micro / macro Micro precision/recall Tue/False Positives
n/a 0.97 0.91 0.97 0.98 61 2460 87 58
      Micro Precision Micro Recall Instances TP FP FN
Costs / Pricing
Pricing Date: n/an/aTokens: 143.6K IT + 61.2K OT = 204.8K TTCost: 0.215$0.550$0.766$
Result 2 of 71

Test T1048 at 2026-04-27

{'document-type': ['index-card'], 'writing': ['handwritten', 'typed', 'printed'], 'century': [20], 'layout': ['table', 'form'], 'task': ['transcription', 'document-understanding', 'data-correction'], 'language': ['de', 'fr']}

Configuration
Provideropenai
Modelgpt-5.5-2026-04-23
  
Temperature0.0
DataclassTable
  
Normalized Score97.09 %
Test timeunknown seconds
Prompt

Extract all information from this personnel card table and return it as a structured JSON object. The card contains rows documenting employment history with positions, locations, salary information, dates, and remarks.

REQUIRED JSON STRUCTURE:
```json
{
  "rows": [
    {
      "row_number": 1,
      "dienstliche_stellung": {
        "diplomatic_transcript": "exact text from card",
        "interpretation": "expanded/standardized form or null",
        "is_crossed_out": false
      },
      "dienstort": {
        "diplomatic_transcript": "exact text from card",
        "interpretation": "expanded/standardized form or null",
        "is_crossed_out": false
      },
      "gehaltsklasse": {
        "diplomatic_transcript": "exact text from card",
        "interpretation": "expanded/standardized form or null",
        "is_crossed_out": false
      },
      "jahresgehalt_monatsgehalt_taglohn": {
        "diplomatic_transcript": "exact text from card",
        "interpretation": "standardized numeric form or null",
        "is_crossed_out": false
      },
      "datum_gehaltsänderung": {
        "diplomatic_transcript": "exact text from card",
        "interpretation": "YYYY-MM-DD format or null",
        "is_crossed_out": false
      },
      "bemerkungen": {
        "diplomatic_transcript": "exact text from card",
        "interpretation": "expanded/standardized form or null",
        "is_crossed_out": false
      }
    }
  ]
}
```

COLUMN DEFINITIONS:
1. **dienstliche_stellung**: Official position or job title (e.g., "Assistent", "Professor", "Sekretär")
2. **dienstort**: Place of service or work location (e.g., "Basel", "Zürich")
3. **gehaltsklasse**: Salary class or grade (e.g., "III", "IV", roman numerals or numbers)
4. **jahresgehalt_monatsgehalt_taglohn**: Salary amount (annual/monthly/daily wage)
5. **datum_gehaltsänderung**: Date of salary change or effective date
6. **bemerkungen**: Remarks, notes, or additional comments

FIELD EXTRACTION RULES:

**diplomatic_transcript** (REQUIRED for all fields):
- Transcribe EXACTLY as written on the card
- Include all abbreviations, punctuation, and formatting as they appear
- Preserve original capitalization and spacing
- Include currency symbols and separators (e.g., "Fr. 2'400.-", "3.700.-")
- For dates, copy the exact format (e.g., "1. Jan. 1946", "1.April 1945")
- Use empty string "" for empty cells
- Be sure to escape ditto marks (repetition marks such as `"` indicating "same as above")
- DO NOT expand abbreviations or standardize formats
- Do not transcribe checkmarks

**interpretation** (OPTIONAL - use null if not applicable):
- For ditto marks (repetition marks such as `"`): Replace with the actual repeated value from the previous row in the same column
  - For example, if previous row's dienstliche_stellung is "Hilfsleiterin" and current row has `"`, interpret as "Hilfsleiterin"
  - Do NOT add explanatory text like "wie oben" or similar - just provide the repeated value
- Never expand abbreviations
- For dates: Convert to ISO format YYYY-MM-DD
  - "1. Jan. 1946" → "1946-01-01"
  - "1.April 1945" → "1945-04-01"
- For salary amounts: Extract numeric value only (remove currency symbols, separators)
  - "Fr. 2'400.-" → "2400"
  - "3.700.-" → "3700"
  - "5.094.-" → "5094"
  "6,30.-" → "6.3"
- For salary class: Convert roman numerals to arabic if clear
  - "III" → "3"
  - "IV" → "4"
- Do not convert roman numerals to arabic if not salary, date, or salary class
- Use null if no interpretation/expansion is needed or if the field is empty
- "+ {word}" where {word} is a word does not need interpretation

**is_crossed_out** (REQUIRED for all fields):
- Set to true if text in this field is crossed out, struck through, or deleted
- Set to false if text is normal (not crossed out)
- Empty cells should have is_crossed_out: false

ROW HANDLING:
- Number rows sequentially starting from 1 (top to bottom)
- Include ALL rows that have ANY content in ANY column
- Empty rows (all cells empty) should be omitted
- A row with only one filled cell should still be included

IMPORTANT NOTES:
- Return ONLY the JSON object, no additional text or explanation
- Every field must have all three sub-fields: diplomatic_transcript, interpretation, is_crossed_out
- diplomatic_transcript must never be null (use empty string "" for empty cells)
- interpretation can be null when no expansion/standardization applies
- Process the entire table from top to bottom
- Maintain consistent row numbering throughout

Results

no valid result

Scoring
Fuzzy Score F1 micro / macro Micro precision/recall Tue/False Positives
n/a 0.97 0.91 0.97 0.97 61 2450 79 68
      Micro Precision Micro Recall Instances TP FP FN
Costs / Pricing
Pricing Date: n/an/aTokens: 328.4K IT + 83.5K OT = 411.9K TTCost: 1.642$2.506$4.148$
Result 3 of 71

Test T0994 at 2026-04-22

{'document-type': ['index-card'], 'writing': ['handwritten', 'typed', 'printed'], 'century': [20], 'layout': ['table', 'form'], 'task': ['transcription', 'document-understanding', 'data-correction'], 'language': ['de', 'fr']}

Configuration
Provideropenrouter
Modelqwen/qwen3.5-9b-20260310
  
Temperature0.0
DataclassTable
  
Normalized Score83.93 %
Test timeunknown seconds
Prompt

Extract all information from this personnel card table and return it as a structured JSON object. The card contains rows documenting employment history with positions, locations, salary information, dates, and remarks.

REQUIRED JSON STRUCTURE:
```json
{
  "rows": [
    {
      "row_number": 1,
      "dienstliche_stellung": {
        "diplomatic_transcript": "exact text from card",
        "interpretation": "expanded/standardized form or null",
        "is_crossed_out": false
      },
      "dienstort": {
        "diplomatic_transcript": "exact text from card",
        "interpretation": "expanded/standardized form or null",
        "is_crossed_out": false
      },
      "gehaltsklasse": {
        "diplomatic_transcript": "exact text from card",
        "interpretation": "expanded/standardized form or null",
        "is_crossed_out": false
      },
      "jahresgehalt_monatsgehalt_taglohn": {
        "diplomatic_transcript": "exact text from card",
        "interpretation": "standardized numeric form or null",
        "is_crossed_out": false
      },
      "datum_gehaltsänderung": {
        "diplomatic_transcript": "exact text from card",
        "interpretation": "YYYY-MM-DD format or null",
        "is_crossed_out": false
      },
      "bemerkungen": {
        "diplomatic_transcript": "exact text from card",
        "interpretation": "expanded/standardized form or null",
        "is_crossed_out": false
      }
    }
  ]
}
```

COLUMN DEFINITIONS:
1. **dienstliche_stellung**: Official position or job title (e.g., "Assistent", "Professor", "Sekretär")
2. **dienstort**: Place of service or work location (e.g., "Basel", "Zürich")
3. **gehaltsklasse**: Salary class or grade (e.g., "III", "IV", roman numerals or numbers)
4. **jahresgehalt_monatsgehalt_taglohn**: Salary amount (annual/monthly/daily wage)
5. **datum_gehaltsänderung**: Date of salary change or effective date
6. **bemerkungen**: Remarks, notes, or additional comments

FIELD EXTRACTION RULES:

**diplomatic_transcript** (REQUIRED for all fields):
- Transcribe EXACTLY as written on the card
- Include all abbreviations, punctuation, and formatting as they appear
- Preserve original capitalization and spacing
- Include currency symbols and separators (e.g., "Fr. 2'400.-", "3.700.-")
- For dates, copy the exact format (e.g., "1. Jan. 1946", "1.April 1945")
- Use empty string "" for empty cells
- Be sure to escape ditto marks (repetition marks such as `"` indicating "same as above")
- DO NOT expand abbreviations or standardize formats
- Do not transcribe checkmarks

**interpretation** (OPTIONAL - use null if not applicable):
- For ditto marks (repetition marks such as `"`): Replace with the actual repeated value from the previous row in the same column
  - For example, if previous row's dienstliche_stellung is "Hilfsleiterin" and current row has `"`, interpret as "Hilfsleiterin"
  - Do NOT add explanatory text like "wie oben" or similar - just provide the repeated value
- Never expand abbreviations
- For dates: Convert to ISO format YYYY-MM-DD
  - "1. Jan. 1946" → "1946-01-01"
  - "1.April 1945" → "1945-04-01"
- For salary amounts: Extract numeric value only (remove currency symbols, separators)
  - "Fr. 2'400.-" → "2400"
  - "3.700.-" → "3700"
  - "5.094.-" → "5094"
  "6,30.-" → "6.3"
- For salary class: Convert roman numerals to arabic if clear
  - "III" → "3"
  - "IV" → "4"
- Do not convert roman numerals to arabic if not salary, date, or salary class
- Use null if no interpretation/expansion is needed or if the field is empty
- "+ {word}" where {word} is a word does not need interpretation

**is_crossed_out** (REQUIRED for all fields):
- Set to true if text in this field is crossed out, struck through, or deleted
- Set to false if text is normal (not crossed out)
- Empty cells should have is_crossed_out: false

ROW HANDLING:
- Number rows sequentially starting from 1 (top to bottom)
- Include ALL rows that have ANY content in ANY column
- Empty rows (all cells empty) should be omitted
- A row with only one filled cell should still be included

IMPORTANT NOTES:
- Return ONLY the JSON object, no additional text or explanation
- Every field must have all three sub-fields: diplomatic_transcript, interpretation, is_crossed_out
- diplomatic_transcript must never be null (use empty string "" for empty cells)
- interpretation can be null when no expansion/standardization applies
- Process the entire table from top to bottom
- Maintain consistent row numbering throughout

Results

no valid result

Scoring
Fuzzy Score F1 micro / macro Micro precision/recall Tue/False Positives
n/a 0.84 0.76 0.94 0.76 61 1912 126 606
      Micro Precision Micro Recall Instances TP FP FN
Costs / Pricing
Pricing Date: n/an/aTokens: 262.5K IT + 729.3K OT = 991.8K TTCost: 0.026$0.109$0.136$
Result 4 of 71

Test T0942 at 2026-04-21

{'document-type': ['index-card'], 'writing': ['handwritten', 'typed', 'printed'], 'century': [20], 'layout': ['table', 'form'], 'task': ['transcription', 'document-understanding', 'data-correction'], 'language': ['de', 'fr']}

Configuration
Provideropenrouter
Modelqwen/qwen3.5-35b-a3b-20260224
  
Temperature0.0
DataclassTable
  
Normalized Score95.63 %
Test timeunknown seconds
Prompt

Extract all information from this personnel card table and return it as a structured JSON object. The card contains rows documenting employment history with positions, locations, salary information, dates, and remarks.

REQUIRED JSON STRUCTURE:
```json
{
  "rows": [
    {
      "row_number": 1,
      "dienstliche_stellung": {
        "diplomatic_transcript": "exact text from card",
        "interpretation": "expanded/standardized form or null",
        "is_crossed_out": false
      },
      "dienstort": {
        "diplomatic_transcript": "exact text from card",
        "interpretation": "expanded/standardized form or null",
        "is_crossed_out": false
      },
      "gehaltsklasse": {
        "diplomatic_transcript": "exact text from card",
        "interpretation": "expanded/standardized form or null",
        "is_crossed_out": false
      },
      "jahresgehalt_monatsgehalt_taglohn": {
        "diplomatic_transcript": "exact text from card",
        "interpretation": "standardized numeric form or null",
        "is_crossed_out": false
      },
      "datum_gehaltsänderung": {
        "diplomatic_transcript": "exact text from card",
        "interpretation": "YYYY-MM-DD format or null",
        "is_crossed_out": false
      },
      "bemerkungen": {
        "diplomatic_transcript": "exact text from card",
        "interpretation": "expanded/standardized form or null",
        "is_crossed_out": false
      }
    }
  ]
}
```

COLUMN DEFINITIONS:
1. **dienstliche_stellung**: Official position or job title (e.g., "Assistent", "Professor", "Sekretär")
2. **dienstort**: Place of service or work location (e.g., "Basel", "Zürich")
3. **gehaltsklasse**: Salary class or grade (e.g., "III", "IV", roman numerals or numbers)
4. **jahresgehalt_monatsgehalt_taglohn**: Salary amount (annual/monthly/daily wage)
5. **datum_gehaltsänderung**: Date of salary change or effective date
6. **bemerkungen**: Remarks, notes, or additional comments

FIELD EXTRACTION RULES:

**diplomatic_transcript** (REQUIRED for all fields):
- Transcribe EXACTLY as written on the card
- Include all abbreviations, punctuation, and formatting as they appear
- Preserve original capitalization and spacing
- Include currency symbols and separators (e.g., "Fr. 2'400.-", "3.700.-")
- For dates, copy the exact format (e.g., "1. Jan. 1946", "1.April 1945")
- Use empty string "" for empty cells
- Be sure to escape ditto marks (repetition marks such as `"` indicating "same as above")
- DO NOT expand abbreviations or standardize formats
- Do not transcribe checkmarks

**interpretation** (OPTIONAL - use null if not applicable):
- For ditto marks (repetition marks such as `"`): Replace with the actual repeated value from the previous row in the same column
  - For example, if previous row's dienstliche_stellung is "Hilfsleiterin" and current row has `"`, interpret as "Hilfsleiterin"
  - Do NOT add explanatory text like "wie oben" or similar - just provide the repeated value
- Never expand abbreviations
- For dates: Convert to ISO format YYYY-MM-DD
  - "1. Jan. 1946" → "1946-01-01"
  - "1.April 1945" → "1945-04-01"
- For salary amounts: Extract numeric value only (remove currency symbols, separators)
  - "Fr. 2'400.-" → "2400"
  - "3.700.-" → "3700"
  - "5.094.-" → "5094"
  "6,30.-" → "6.3"
- For salary class: Convert roman numerals to arabic if clear
  - "III" → "3"
  - "IV" → "4"
- Do not convert roman numerals to arabic if not salary, date, or salary class
- Use null if no interpretation/expansion is needed or if the field is empty
- "+ {word}" where {word} is a word does not need interpretation

**is_crossed_out** (REQUIRED for all fields):
- Set to true if text in this field is crossed out, struck through, or deleted
- Set to false if text is normal (not crossed out)
- Empty cells should have is_crossed_out: false

ROW HANDLING:
- Number rows sequentially starting from 1 (top to bottom)
- Include ALL rows that have ANY content in ANY column
- Empty rows (all cells empty) should be omitted
- A row with only one filled cell should still be included

IMPORTANT NOTES:
- Return ONLY the JSON object, no additional text or explanation
- Every field must have all three sub-fields: diplomatic_transcript, interpretation, is_crossed_out
- diplomatic_transcript must never be null (use empty string "" for empty cells)
- interpretation can be null when no expansion/standardization applies
- Process the entire table from top to bottom
- Maintain consistent row numbering throughout

Results

no valid result

Scoring
Fuzzy Score F1 micro / macro Micro precision/recall Tue/False Positives
n/a 0.96 0.90 0.96 0.95 61 2395 96 123
      Micro Precision Micro Recall Instances TP FP FN
Costs / Pricing
Pricing Date: n/an/aTokens: 292.3K IT + 172.2K OT = 464.5K TTCost: 0.048$0.224$0.271$
Result 5 of 71

Test T1020 at 2026-04-21

{'document-type': ['index-card'], 'writing': ['handwritten', 'typed', 'printed'], 'century': [20], 'layout': ['table', 'form'], 'task': ['transcription', 'document-understanding', 'data-correction'], 'language': ['de', 'fr']}

Configuration
Provideropenrouter
Modelgoogle/gemma-4-31b-it-20260402
  
Temperature0.0
DataclassTable
  
Normalized Score94.82 %
Test timeunknown seconds
Prompt

Extract all information from this personnel card table and return it as a structured JSON object. The card contains rows documenting employment history with positions, locations, salary information, dates, and remarks.

REQUIRED JSON STRUCTURE:
```json
{
  "rows": [
    {
      "row_number": 1,
      "dienstliche_stellung": {
        "diplomatic_transcript": "exact text from card",
        "interpretation": "expanded/standardized form or null",
        "is_crossed_out": false
      },
      "dienstort": {
        "diplomatic_transcript": "exact text from card",
        "interpretation": "expanded/standardized form or null",
        "is_crossed_out": false
      },
      "gehaltsklasse": {
        "diplomatic_transcript": "exact text from card",
        "interpretation": "expanded/standardized form or null",
        "is_crossed_out": false
      },
      "jahresgehalt_monatsgehalt_taglohn": {
        "diplomatic_transcript": "exact text from card",
        "interpretation": "standardized numeric form or null",
        "is_crossed_out": false
      },
      "datum_gehaltsänderung": {
        "diplomatic_transcript": "exact text from card",
        "interpretation": "YYYY-MM-DD format or null",
        "is_crossed_out": false
      },
      "bemerkungen": {
        "diplomatic_transcript": "exact text from card",
        "interpretation": "expanded/standardized form or null",
        "is_crossed_out": false
      }
    }
  ]
}
```

COLUMN DEFINITIONS:
1. **dienstliche_stellung**: Official position or job title (e.g., "Assistent", "Professor", "Sekretär")
2. **dienstort**: Place of service or work location (e.g., "Basel", "Zürich")
3. **gehaltsklasse**: Salary class or grade (e.g., "III", "IV", roman numerals or numbers)
4. **jahresgehalt_monatsgehalt_taglohn**: Salary amount (annual/monthly/daily wage)
5. **datum_gehaltsänderung**: Date of salary change or effective date
6. **bemerkungen**: Remarks, notes, or additional comments

FIELD EXTRACTION RULES:

**diplomatic_transcript** (REQUIRED for all fields):
- Transcribe EXACTLY as written on the card
- Include all abbreviations, punctuation, and formatting as they appear
- Preserve original capitalization and spacing
- Include currency symbols and separators (e.g., "Fr. 2'400.-", "3.700.-")
- For dates, copy the exact format (e.g., "1. Jan. 1946", "1.April 1945")
- Use empty string "" for empty cells
- Be sure to escape ditto marks (repetition marks such as `"` indicating "same as above")
- DO NOT expand abbreviations or standardize formats
- Do not transcribe checkmarks

**interpretation** (OPTIONAL - use null if not applicable):
- For ditto marks (repetition marks such as `"`): Replace with the actual repeated value from the previous row in the same column
  - For example, if previous row's dienstliche_stellung is "Hilfsleiterin" and current row has `"`, interpret as "Hilfsleiterin"
  - Do NOT add explanatory text like "wie oben" or similar - just provide the repeated value
- Never expand abbreviations
- For dates: Convert to ISO format YYYY-MM-DD
  - "1. Jan. 1946" → "1946-01-01"
  - "1.April 1945" → "1945-04-01"
- For salary amounts: Extract numeric value only (remove currency symbols, separators)
  - "Fr. 2'400.-" → "2400"
  - "3.700.-" → "3700"
  - "5.094.-" → "5094"
  "6,30.-" → "6.3"
- For salary class: Convert roman numerals to arabic if clear
  - "III" → "3"
  - "IV" → "4"
- Do not convert roman numerals to arabic if not salary, date, or salary class
- Use null if no interpretation/expansion is needed or if the field is empty
- "+ {word}" where {word} is a word does not need interpretation

**is_crossed_out** (REQUIRED for all fields):
- Set to true if text in this field is crossed out, struck through, or deleted
- Set to false if text is normal (not crossed out)
- Empty cells should have is_crossed_out: false

ROW HANDLING:
- Number rows sequentially starting from 1 (top to bottom)
- Include ALL rows that have ANY content in ANY column
- Empty rows (all cells empty) should be omitted
- A row with only one filled cell should still be included

IMPORTANT NOTES:
- Return ONLY the JSON object, no additional text or explanation
- Every field must have all three sub-fields: diplomatic_transcript, interpretation, is_crossed_out
- diplomatic_transcript must never be null (use empty string "" for empty cells)
- interpretation can be null when no expansion/standardization applies
- Process the entire table from top to bottom
- Maintain consistent row numbering throughout

Results

no valid result

Scoring
Fuzzy Score F1 micro / macro Micro precision/recall Tue/False Positives
n/a 0.95 0.89 0.94 0.95 61 2399 143 119
      Micro Precision Micro Recall Instances TP FP FN
Costs / Pricing
Pricing Date: n/an/aTokens: 99.7K IT + 52.8K OT = 152.5K TTCost: 0.013$0.020$0.033$
Result 6 of 71

Test T0968 at 2026-04-21

{'document-type': ['index-card'], 'writing': ['handwritten', 'typed', 'printed'], 'century': [20], 'layout': ['table', 'form'], 'task': ['transcription', 'document-understanding', 'data-correction'], 'language': ['de', 'fr']}

Configuration
Provideropenrouter
Modelqwen/qwen3.5-plus-20260216
  
Temperature0.0
DataclassTable
  
Normalized Score96.45 %
Test timeunknown seconds
Prompt

Extract all information from this personnel card table and return it as a structured JSON object. The card contains rows documenting employment history with positions, locations, salary information, dates, and remarks.

REQUIRED JSON STRUCTURE:
```json
{
  "rows": [
    {
      "row_number": 1,
      "dienstliche_stellung": {
        "diplomatic_transcript": "exact text from card",
        "interpretation": "expanded/standardized form or null",
        "is_crossed_out": false
      },
      "dienstort": {
        "diplomatic_transcript": "exact text from card",
        "interpretation": "expanded/standardized form or null",
        "is_crossed_out": false
      },
      "gehaltsklasse": {
        "diplomatic_transcript": "exact text from card",
        "interpretation": "expanded/standardized form or null",
        "is_crossed_out": false
      },
      "jahresgehalt_monatsgehalt_taglohn": {
        "diplomatic_transcript": "exact text from card",
        "interpretation": "standardized numeric form or null",
        "is_crossed_out": false
      },
      "datum_gehaltsänderung": {
        "diplomatic_transcript": "exact text from card",
        "interpretation": "YYYY-MM-DD format or null",
        "is_crossed_out": false
      },
      "bemerkungen": {
        "diplomatic_transcript": "exact text from card",
        "interpretation": "expanded/standardized form or null",
        "is_crossed_out": false
      }
    }
  ]
}
```

COLUMN DEFINITIONS:
1. **dienstliche_stellung**: Official position or job title (e.g., "Assistent", "Professor", "Sekretär")
2. **dienstort**: Place of service or work location (e.g., "Basel", "Zürich")
3. **gehaltsklasse**: Salary class or grade (e.g., "III", "IV", roman numerals or numbers)
4. **jahresgehalt_monatsgehalt_taglohn**: Salary amount (annual/monthly/daily wage)
5. **datum_gehaltsänderung**: Date of salary change or effective date
6. **bemerkungen**: Remarks, notes, or additional comments

FIELD EXTRACTION RULES:

**diplomatic_transcript** (REQUIRED for all fields):
- Transcribe EXACTLY as written on the card
- Include all abbreviations, punctuation, and formatting as they appear
- Preserve original capitalization and spacing
- Include currency symbols and separators (e.g., "Fr. 2'400.-", "3.700.-")
- For dates, copy the exact format (e.g., "1. Jan. 1946", "1.April 1945")
- Use empty string "" for empty cells
- Be sure to escape ditto marks (repetition marks such as `"` indicating "same as above")
- DO NOT expand abbreviations or standardize formats
- Do not transcribe checkmarks

**interpretation** (OPTIONAL - use null if not applicable):
- For ditto marks (repetition marks such as `"`): Replace with the actual repeated value from the previous row in the same column
  - For example, if previous row's dienstliche_stellung is "Hilfsleiterin" and current row has `"`, interpret as "Hilfsleiterin"
  - Do NOT add explanatory text like "wie oben" or similar - just provide the repeated value
- Never expand abbreviations
- For dates: Convert to ISO format YYYY-MM-DD
  - "1. Jan. 1946" → "1946-01-01"
  - "1.April 1945" → "1945-04-01"
- For salary amounts: Extract numeric value only (remove currency symbols, separators)
  - "Fr. 2'400.-" → "2400"
  - "3.700.-" → "3700"
  - "5.094.-" → "5094"
  "6,30.-" → "6.3"
- For salary class: Convert roman numerals to arabic if clear
  - "III" → "3"
  - "IV" → "4"
- Do not convert roman numerals to arabic if not salary, date, or salary class
- Use null if no interpretation/expansion is needed or if the field is empty
- "+ {word}" where {word} is a word does not need interpretation

**is_crossed_out** (REQUIRED for all fields):
- Set to true if text in this field is crossed out, struck through, or deleted
- Set to false if text is normal (not crossed out)
- Empty cells should have is_crossed_out: false

ROW HANDLING:
- Number rows sequentially starting from 1 (top to bottom)
- Include ALL rows that have ANY content in ANY column
- Empty rows (all cells empty) should be omitted
- A row with only one filled cell should still be included

IMPORTANT NOTES:
- Return ONLY the JSON object, no additional text or explanation
- Every field must have all three sub-fields: diplomatic_transcript, interpretation, is_crossed_out
- diplomatic_transcript must never be null (use empty string "" for empty cells)
- interpretation can be null when no expansion/standardization applies
- Process the entire table from top to bottom
- Maintain consistent row numbering throughout

Results

no valid result

Scoring
Fuzzy Score F1 micro / macro Micro precision/recall Tue/False Positives
n/a 0.96 0.91 0.96 0.97 61 2446 108 72
      Micro Precision Micro Recall Instances TP FP FN
Costs / Pricing
Pricing Date: n/an/aTokens: 323.4K IT + 202.8K OT = 526.2K TTCost: 0.084$0.316$0.400$
Result 7 of 71

Test T0955 at 2026-04-21

{'document-type': ['index-card'], 'writing': ['handwritten', 'typed', 'printed'], 'century': [20], 'layout': ['table', 'form'], 'task': ['transcription', 'document-understanding', 'data-correction'], 'language': ['de', 'fr']}

Configuration
Provideropenrouter
Modelqwen/qwen3.5-397b-a17b-20260216
  
Temperature0.0
DataclassTable
  
Normalized Score91.86 %
Test timeunknown seconds
Prompt

Extract all information from this personnel card table and return it as a structured JSON object. The card contains rows documenting employment history with positions, locations, salary information, dates, and remarks.

REQUIRED JSON STRUCTURE:
```json
{
  "rows": [
    {
      "row_number": 1,
      "dienstliche_stellung": {
        "diplomatic_transcript": "exact text from card",
        "interpretation": "expanded/standardized form or null",
        "is_crossed_out": false
      },
      "dienstort": {
        "diplomatic_transcript": "exact text from card",
        "interpretation": "expanded/standardized form or null",
        "is_crossed_out": false
      },
      "gehaltsklasse": {
        "diplomatic_transcript": "exact text from card",
        "interpretation": "expanded/standardized form or null",
        "is_crossed_out": false
      },
      "jahresgehalt_monatsgehalt_taglohn": {
        "diplomatic_transcript": "exact text from card",
        "interpretation": "standardized numeric form or null",
        "is_crossed_out": false
      },
      "datum_gehaltsänderung": {
        "diplomatic_transcript": "exact text from card",
        "interpretation": "YYYY-MM-DD format or null",
        "is_crossed_out": false
      },
      "bemerkungen": {
        "diplomatic_transcript": "exact text from card",
        "interpretation": "expanded/standardized form or null",
        "is_crossed_out": false
      }
    }
  ]
}
```

COLUMN DEFINITIONS:
1. **dienstliche_stellung**: Official position or job title (e.g., "Assistent", "Professor", "Sekretär")
2. **dienstort**: Place of service or work location (e.g., "Basel", "Zürich")
3. **gehaltsklasse**: Salary class or grade (e.g., "III", "IV", roman numerals or numbers)
4. **jahresgehalt_monatsgehalt_taglohn**: Salary amount (annual/monthly/daily wage)
5. **datum_gehaltsänderung**: Date of salary change or effective date
6. **bemerkungen**: Remarks, notes, or additional comments

FIELD EXTRACTION RULES:

**diplomatic_transcript** (REQUIRED for all fields):
- Transcribe EXACTLY as written on the card
- Include all abbreviations, punctuation, and formatting as they appear
- Preserve original capitalization and spacing
- Include currency symbols and separators (e.g., "Fr. 2'400.-", "3.700.-")
- For dates, copy the exact format (e.g., "1. Jan. 1946", "1.April 1945")
- Use empty string "" for empty cells
- Be sure to escape ditto marks (repetition marks such as `"` indicating "same as above")
- DO NOT expand abbreviations or standardize formats
- Do not transcribe checkmarks

**interpretation** (OPTIONAL - use null if not applicable):
- For ditto marks (repetition marks such as `"`): Replace with the actual repeated value from the previous row in the same column
  - For example, if previous row's dienstliche_stellung is "Hilfsleiterin" and current row has `"`, interpret as "Hilfsleiterin"
  - Do NOT add explanatory text like "wie oben" or similar - just provide the repeated value
- Never expand abbreviations
- For dates: Convert to ISO format YYYY-MM-DD
  - "1. Jan. 1946" → "1946-01-01"
  - "1.April 1945" → "1945-04-01"
- For salary amounts: Extract numeric value only (remove currency symbols, separators)
  - "Fr. 2'400.-" → "2400"
  - "3.700.-" → "3700"
  - "5.094.-" → "5094"
  "6,30.-" → "6.3"
- For salary class: Convert roman numerals to arabic if clear
  - "III" → "3"
  - "IV" → "4"
- Do not convert roman numerals to arabic if not salary, date, or salary class
- Use null if no interpretation/expansion is needed or if the field is empty
- "+ {word}" where {word} is a word does not need interpretation

**is_crossed_out** (REQUIRED for all fields):
- Set to true if text in this field is crossed out, struck through, or deleted
- Set to false if text is normal (not crossed out)
- Empty cells should have is_crossed_out: false

ROW HANDLING:
- Number rows sequentially starting from 1 (top to bottom)
- Include ALL rows that have ANY content in ANY column
- Empty rows (all cells empty) should be omitted
- A row with only one filled cell should still be included

IMPORTANT NOTES:
- Return ONLY the JSON object, no additional text or explanation
- Every field must have all three sub-fields: diplomatic_transcript, interpretation, is_crossed_out
- diplomatic_transcript must never be null (use empty string "" for empty cells)
- interpretation can be null when no expansion/standardization applies
- Process the entire table from top to bottom
- Maintain consistent row numbering throughout

Results

no valid result

Scoring
Fuzzy Score F1 micro / macro Micro precision/recall Tue/False Positives
n/a 0.92 0.86 0.97 0.88 61 2205 78 313
      Micro Precision Micro Recall Instances TP FP FN
Costs / Pricing
Pricing Date: n/an/aTokens: 270.8K IT + 189.9K OT = 460.7K TTCost: 0.106$0.444$0.550$
Result 8 of 71

Test T0929 at 2026-04-21

{'document-type': ['index-card'], 'writing': ['handwritten', 'typed', 'printed'], 'century': [20], 'layout': ['table', 'form'], 'task': ['transcription', 'document-understanding', 'data-correction'], 'language': ['de', 'fr']}

Configuration
Provideropenrouter
Modelqwen/qwen3.5-27b-20260224
  
Temperature0.0
DataclassTable
  
Normalized Score97.75 %
Test timeunknown seconds
Prompt

Extract all information from this personnel card table and return it as a structured JSON object. The card contains rows documenting employment history with positions, locations, salary information, dates, and remarks.

REQUIRED JSON STRUCTURE:
```json
{
  "rows": [
    {
      "row_number": 1,
      "dienstliche_stellung": {
        "diplomatic_transcript": "exact text from card",
        "interpretation": "expanded/standardized form or null",
        "is_crossed_out": false
      },
      "dienstort": {
        "diplomatic_transcript": "exact text from card",
        "interpretation": "expanded/standardized form or null",
        "is_crossed_out": false
      },
      "gehaltsklasse": {
        "diplomatic_transcript": "exact text from card",
        "interpretation": "expanded/standardized form or null",
        "is_crossed_out": false
      },
      "jahresgehalt_monatsgehalt_taglohn": {
        "diplomatic_transcript": "exact text from card",
        "interpretation": "standardized numeric form or null",
        "is_crossed_out": false
      },
      "datum_gehaltsänderung": {
        "diplomatic_transcript": "exact text from card",
        "interpretation": "YYYY-MM-DD format or null",
        "is_crossed_out": false
      },
      "bemerkungen": {
        "diplomatic_transcript": "exact text from card",
        "interpretation": "expanded/standardized form or null",
        "is_crossed_out": false
      }
    }
  ]
}
```

COLUMN DEFINITIONS:
1. **dienstliche_stellung**: Official position or job title (e.g., "Assistent", "Professor", "Sekretär")
2. **dienstort**: Place of service or work location (e.g., "Basel", "Zürich")
3. **gehaltsklasse**: Salary class or grade (e.g., "III", "IV", roman numerals or numbers)
4. **jahresgehalt_monatsgehalt_taglohn**: Salary amount (annual/monthly/daily wage)
5. **datum_gehaltsänderung**: Date of salary change or effective date
6. **bemerkungen**: Remarks, notes, or additional comments

FIELD EXTRACTION RULES:

**diplomatic_transcript** (REQUIRED for all fields):
- Transcribe EXACTLY as written on the card
- Include all abbreviations, punctuation, and formatting as they appear
- Preserve original capitalization and spacing
- Include currency symbols and separators (e.g., "Fr. 2'400.-", "3.700.-")
- For dates, copy the exact format (e.g., "1. Jan. 1946", "1.April 1945")
- Use empty string "" for empty cells
- Be sure to escape ditto marks (repetition marks such as `"` indicating "same as above")
- DO NOT expand abbreviations or standardize formats
- Do not transcribe checkmarks

**interpretation** (OPTIONAL - use null if not applicable):
- For ditto marks (repetition marks such as `"`): Replace with the actual repeated value from the previous row in the same column
  - For example, if previous row's dienstliche_stellung is "Hilfsleiterin" and current row has `"`, interpret as "Hilfsleiterin"
  - Do NOT add explanatory text like "wie oben" or similar - just provide the repeated value
- Never expand abbreviations
- For dates: Convert to ISO format YYYY-MM-DD
  - "1. Jan. 1946" → "1946-01-01"
  - "1.April 1945" → "1945-04-01"
- For salary amounts: Extract numeric value only (remove currency symbols, separators)
  - "Fr. 2'400.-" → "2400"
  - "3.700.-" → "3700"
  - "5.094.-" → "5094"
  "6,30.-" → "6.3"
- For salary class: Convert roman numerals to arabic if clear
  - "III" → "3"
  - "IV" → "4"
- Do not convert roman numerals to arabic if not salary, date, or salary class
- Use null if no interpretation/expansion is needed or if the field is empty
- "+ {word}" where {word} is a word does not need interpretation

**is_crossed_out** (REQUIRED for all fields):
- Set to true if text in this field is crossed out, struck through, or deleted
- Set to false if text is normal (not crossed out)
- Empty cells should have is_crossed_out: false

ROW HANDLING:
- Number rows sequentially starting from 1 (top to bottom)
- Include ALL rows that have ANY content in ANY column
- Empty rows (all cells empty) should be omitted
- A row with only one filled cell should still be included

IMPORTANT NOTES:
- Return ONLY the JSON object, no additional text or explanation
- Every field must have all three sub-fields: diplomatic_transcript, interpretation, is_crossed_out
- diplomatic_transcript must never be null (use empty string "" for empty cells)
- interpretation can be null when no expansion/standardization applies
- Process the entire table from top to bottom
- Maintain consistent row numbering throughout

Results

no valid result

Scoring
Fuzzy Score F1 micro / macro Micro precision/recall Tue/False Positives
n/a 0.98 0.92 0.98 0.97 61 2455 50 63
      Micro Precision Micro Recall Instances TP FP FN
Costs / Pricing
Pricing Date: n/an/aTokens: 323.3K IT + 61.2K OT = 384.5K TTCost: 0.063$0.095$0.159$
Result 9 of 71

Test T0981 at 2026-04-21

{'document-type': ['index-card'], 'writing': ['handwritten', 'typed', 'printed'], 'century': [20], 'layout': ['table', 'form'], 'task': ['transcription', 'document-understanding', 'data-correction'], 'language': ['de', 'fr']}

Configuration
Provideropenrouter
Modelqwen/qwen3.5-flash-20260224
  
Temperature0.0
DataclassTable
  
Normalized Score97.54 %
Test timeunknown seconds
Prompt

Extract all information from this personnel card table and return it as a structured JSON object. The card contains rows documenting employment history with positions, locations, salary information, dates, and remarks.

REQUIRED JSON STRUCTURE:
```json
{
  "rows": [
    {
      "row_number": 1,
      "dienstliche_stellung": {
        "diplomatic_transcript": "exact text from card",
        "interpretation": "expanded/standardized form or null",
        "is_crossed_out": false
      },
      "dienstort": {
        "diplomatic_transcript": "exact text from card",
        "interpretation": "expanded/standardized form or null",
        "is_crossed_out": false
      },
      "gehaltsklasse": {
        "diplomatic_transcript": "exact text from card",
        "interpretation": "expanded/standardized form or null",
        "is_crossed_out": false
      },
      "jahresgehalt_monatsgehalt_taglohn": {
        "diplomatic_transcript": "exact text from card",
        "interpretation": "standardized numeric form or null",
        "is_crossed_out": false
      },
      "datum_gehaltsänderung": {
        "diplomatic_transcript": "exact text from card",
        "interpretation": "YYYY-MM-DD format or null",
        "is_crossed_out": false
      },
      "bemerkungen": {
        "diplomatic_transcript": "exact text from card",
        "interpretation": "expanded/standardized form or null",
        "is_crossed_out": false
      }
    }
  ]
}
```

COLUMN DEFINITIONS:
1. **dienstliche_stellung**: Official position or job title (e.g., "Assistent", "Professor", "Sekretär")
2. **dienstort**: Place of service or work location (e.g., "Basel", "Zürich")
3. **gehaltsklasse**: Salary class or grade (e.g., "III", "IV", roman numerals or numbers)
4. **jahresgehalt_monatsgehalt_taglohn**: Salary amount (annual/monthly/daily wage)
5. **datum_gehaltsänderung**: Date of salary change or effective date
6. **bemerkungen**: Remarks, notes, or additional comments

FIELD EXTRACTION RULES:

**diplomatic_transcript** (REQUIRED for all fields):
- Transcribe EXACTLY as written on the card
- Include all abbreviations, punctuation, and formatting as they appear
- Preserve original capitalization and spacing
- Include currency symbols and separators (e.g., "Fr. 2'400.-", "3.700.-")
- For dates, copy the exact format (e.g., "1. Jan. 1946", "1.April 1945")
- Use empty string "" for empty cells
- Be sure to escape ditto marks (repetition marks such as `"` indicating "same as above")
- DO NOT expand abbreviations or standardize formats
- Do not transcribe checkmarks

**interpretation** (OPTIONAL - use null if not applicable):
- For ditto marks (repetition marks such as `"`): Replace with the actual repeated value from the previous row in the same column
  - For example, if previous row's dienstliche_stellung is "Hilfsleiterin" and current row has `"`, interpret as "Hilfsleiterin"
  - Do NOT add explanatory text like "wie oben" or similar - just provide the repeated value
- Never expand abbreviations
- For dates: Convert to ISO format YYYY-MM-DD
  - "1. Jan. 1946" → "1946-01-01"
  - "1.April 1945" → "1945-04-01"
- For salary amounts: Extract numeric value only (remove currency symbols, separators)
  - "Fr. 2'400.-" → "2400"
  - "3.700.-" → "3700"
  - "5.094.-" → "5094"
  "6,30.-" → "6.3"
- For salary class: Convert roman numerals to arabic if clear
  - "III" → "3"
  - "IV" → "4"
- Do not convert roman numerals to arabic if not salary, date, or salary class
- Use null if no interpretation/expansion is needed or if the field is empty
- "+ {word}" where {word} is a word does not need interpretation

**is_crossed_out** (REQUIRED for all fields):
- Set to true if text in this field is crossed out, struck through, or deleted
- Set to false if text is normal (not crossed out)
- Empty cells should have is_crossed_out: false

ROW HANDLING:
- Number rows sequentially starting from 1 (top to bottom)
- Include ALL rows that have ANY content in ANY column
- Empty rows (all cells empty) should be omitted
- A row with only one filled cell should still be included

IMPORTANT NOTES:
- Return ONLY the JSON object, no additional text or explanation
- Every field must have all three sub-fields: diplomatic_transcript, interpretation, is_crossed_out
- diplomatic_transcript must never be null (use empty string "" for empty cells)
- interpretation can be null when no expansion/standardization applies
- Process the entire table from top to bottom
- Maintain consistent row numbering throughout

Results

no valid result

Scoring
Fuzzy Score F1 micro / macro Micro precision/recall Tue/False Positives
n/a 0.98 0.91 0.97 0.98 61 2476 83 42
      Micro Precision Micro Recall Instances TP FP FN
Costs / Pricing
Pricing Date: n/an/aTokens: 323.5K IT + 61.4K OT = 384.9K TTCost: 0.021$0.016$0.037$
Result 10 of 71

Test T0903 at 2026-04-21

{'document-type': ['index-card'], 'writing': ['handwritten', 'typed', 'printed'], 'century': [20], 'layout': ['table', 'form'], 'task': ['transcription', 'document-understanding', 'data-correction'], 'language': ['de', 'fr']}

Configuration
Provideropenrouter
Modelqwen/qwen3.6-plus-04-02
  
Temperature0.0
DataclassTable
  
Normalized Score96.03 %
Test timeunknown seconds
Prompt

Extract all information from this personnel card table and return it as a structured JSON object. The card contains rows documenting employment history with positions, locations, salary information, dates, and remarks.

REQUIRED JSON STRUCTURE:
```json
{
  "rows": [
    {
      "row_number": 1,
      "dienstliche_stellung": {
        "diplomatic_transcript": "exact text from card",
        "interpretation": "expanded/standardized form or null",
        "is_crossed_out": false
      },
      "dienstort": {
        "diplomatic_transcript": "exact text from card",
        "interpretation": "expanded/standardized form or null",
        "is_crossed_out": false
      },
      "gehaltsklasse": {
        "diplomatic_transcript": "exact text from card",
        "interpretation": "expanded/standardized form or null",
        "is_crossed_out": false
      },
      "jahresgehalt_monatsgehalt_taglohn": {
        "diplomatic_transcript": "exact text from card",
        "interpretation": "standardized numeric form or null",
        "is_crossed_out": false
      },
      "datum_gehaltsänderung": {
        "diplomatic_transcript": "exact text from card",
        "interpretation": "YYYY-MM-DD format or null",
        "is_crossed_out": false
      },
      "bemerkungen": {
        "diplomatic_transcript": "exact text from card",
        "interpretation": "expanded/standardized form or null",
        "is_crossed_out": false
      }
    }
  ]
}
```

COLUMN DEFINITIONS:
1. **dienstliche_stellung**: Official position or job title (e.g., "Assistent", "Professor", "Sekretär")
2. **dienstort**: Place of service or work location (e.g., "Basel", "Zürich")
3. **gehaltsklasse**: Salary class or grade (e.g., "III", "IV", roman numerals or numbers)
4. **jahresgehalt_monatsgehalt_taglohn**: Salary amount (annual/monthly/daily wage)
5. **datum_gehaltsänderung**: Date of salary change or effective date
6. **bemerkungen**: Remarks, notes, or additional comments

FIELD EXTRACTION RULES:

**diplomatic_transcript** (REQUIRED for all fields):
- Transcribe EXACTLY as written on the card
- Include all abbreviations, punctuation, and formatting as they appear
- Preserve original capitalization and spacing
- Include currency symbols and separators (e.g., "Fr. 2'400.-", "3.700.-")
- For dates, copy the exact format (e.g., "1. Jan. 1946", "1.April 1945")
- Use empty string "" for empty cells
- Be sure to escape ditto marks (repetition marks such as `"` indicating "same as above")
- DO NOT expand abbreviations or standardize formats
- Do not transcribe checkmarks

**interpretation** (OPTIONAL - use null if not applicable):
- For ditto marks (repetition marks such as `"`): Replace with the actual repeated value from the previous row in the same column
  - For example, if previous row's dienstliche_stellung is "Hilfsleiterin" and current row has `"`, interpret as "Hilfsleiterin"
  - Do NOT add explanatory text like "wie oben" or similar - just provide the repeated value
- Never expand abbreviations
- For dates: Convert to ISO format YYYY-MM-DD
  - "1. Jan. 1946" → "1946-01-01"
  - "1.April 1945" → "1945-04-01"
- For salary amounts: Extract numeric value only (remove currency symbols, separators)
  - "Fr. 2'400.-" → "2400"
  - "3.700.-" → "3700"
  - "5.094.-" → "5094"
  "6,30.-" → "6.3"
- For salary class: Convert roman numerals to arabic if clear
  - "III" → "3"
  - "IV" → "4"
- Do not convert roman numerals to arabic if not salary, date, or salary class
- Use null if no interpretation/expansion is needed or if the field is empty
- "+ {word}" where {word} is a word does not need interpretation

**is_crossed_out** (REQUIRED for all fields):
- Set to true if text in this field is crossed out, struck through, or deleted
- Set to false if text is normal (not crossed out)
- Empty cells should have is_crossed_out: false

ROW HANDLING:
- Number rows sequentially starting from 1 (top to bottom)
- Include ALL rows that have ANY content in ANY column
- Empty rows (all cells empty) should be omitted
- A row with only one filled cell should still be included

IMPORTANT NOTES:
- Return ONLY the JSON object, no additional text or explanation
- Every field must have all three sub-fields: diplomatic_transcript, interpretation, is_crossed_out
- diplomatic_transcript must never be null (use empty string "" for empty cells)
- interpretation can be null when no expansion/standardization applies
- Process the entire table from top to bottom
- Maintain consistent row numbering throughout

Results

no valid result

Scoring
Fuzzy Score F1 micro / macro Micro precision/recall Tue/False Positives
n/a 0.96 0.89 0.96 0.96 61 2417 99 101
      Micro Precision Micro Recall Instances TP FP FN
Costs / Pricing
Pricing Date: n/an/aTokens: 320.4K IT + 251.1K OT = 571.5K TTCost: 0.104$0.490$0.594$