---
title: "surfaceWorkHeaderFact"
url: https://developers.dagio.ai/reference/surface-work-header-fact/
---

# surfaceWorkHeaderFact

   
                              
                                                                                
                                          
                  
           
          
   

This reference describes the full structure of `surfaceWorkHeaderFact`. Paths include nested objects, list items and conditional branches. A branch selected by `kind`, `contract` or `mode` only admits its own properties.

## Structure and values

| Field | Options / expected values | Description |
| --- | --- | --- |
| `scope` | `"rootWork" \| "selectedStage" \| "retainedTarget"` | **Required.** Defines scope for this object. Observe the type, variants and bounds in the Options column. |
| `source` | `closed object OR closed object` | **Required.** Defines source for this object. Observe the type, variants and bounds in the Options column. |
| `source.[kind=native].kind` | `"native"` | **Required.** Selects the variant and the properties admitted in this branch. |
| `source.[kind=native].property` | `"title" \| "description" \| "createdAt" \| "updatedAt"` | **Required.** Recognized native property name; this selector does not allow arbitrary access. |
| `source.[kind=field].kind` | `"field"` | **Required.** Selects the variant and the properties admitted in this branch. |
| `source.[kind=field].fieldPath` | `string; min length 8; max length 127; /^fields\/[a-zA-Z][a-zA-Z0-9]*$/u` | **Required.** Semantic Field selector, using the fields/ prefix. |
| `valueLabels` | `Array<closed object>; max length 100` | **Required.** Mappings from stable values to user-facing labels. |
| `valueLabels[].value` | `string; max length 4000 OR number OR true \| false` | **Required.** Effective value interpreted according to the enclosing type and discriminant. |
| `valueLabels[].label` | `string; min length 1; max length 4000` | **Required.** Human-readable label displayed in the interface. |
| `key` | `string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u` | **Required.** Stable semantic identifier used by references; changing it changes identity. |
| `label` | `string; min length 1; max length 4000` | **Required.** Human-readable label displayed in the interface. |

## Reading the contract

A path ending in `[]` describes each list item; `{key}` describes each dictionary value. The `↻` marker refers to the same recursive expression. Closed objects reject additional properties. Semantic validation denotes an additional check: matching a type does not make a reference, permission or transition valid. References must resolve in the Model and the current user context.

An older variant cannot accept properties belonging to a newer variant. The compiler checks the version and consistency of the complete Model.

## Structural example

This fragment passes the schema for this section. Its business references must be defined in the enclosing Model.

```json
{
  "scope": "rootWork",
  "source": {
    "kind": "field",
    "fieldPath": "fields/expectedResult"
  },
  "valueLabels": [],
  "key": "expected-result",
  "label": "Résultat attendu"
}
```

## Related references

[Complete Model index](https://developers.dagio.ai/reference/) · [Build a Model](https://developers.dagio.ai/models/)

<!-- surface-examples:start -->

## Applied examples : Compose a record and its relations

Two declared Stacks hold main content then relations without extra frames. The preset selects the right panel’s width.

### Configuration

Contract object `surfaceWorkHeaderFact`. [Properties and accepted values](https://developers.dagio.ai/reference/surface-work-header-fact/).

```json
{
  "scope": "rootWork",
  "source": {
    "kind": "field",
    "fieldPath": "fields/expectedResult"
  },
  "valueLabels": [],
  "key": "expected-result",
  "label": "Résultat attendu"
}
```

### Variation and connection

Component properties `RecordLayout.props`. [Properties and accepted values](https://developers.dagio.ai/surface-components/#recordlayout).

```json
{
  "asideWidth": "compact"
}
```

### UI layout example

The illustrative layout below places this configuration in the Clients/Quotes app. Insert each fragment at the stated location, with Field, Query and Action references matching the Model declarations.

1. Client identity
2. Notes and follow-up
3. Settings
4. Linked quotes

<!-- surface-examples:end -->
