Skip to content

build_governance_classification_records

Public callable

Build metadata-ready governance classification records from column suggestions.

Parameters:

Name Type Description Default
classifications Any

Value used by this callable.

required
dataset_name Any

Value used by this callable.

required
table_name Any

Value used by this callable.

required
run_id Any

Value used by this callable.

None
status Any

Value used by this callable.

'suggested'
generated_by Any

Value used by this callable.

'framework'

Returns:

Type Description
list[dict]

Structured output produced by this callable.

Source code in src/fabricops_kit/governance.py
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
def build_governance_classification_records(classifications: list[dict], dataset_name: str, table_name: str, run_id: str | None = None, status: str = "suggested", generated_by: str = "framework") -> list[dict]:
    """Build metadata-ready governance classification records from column suggestions.

        Parameters
        ----------
        classifications : Any
            Value used by this callable.
        dataset_name : Any
            Value used by this callable.
        table_name : Any
            Value used by this callable.
        run_id : Any
            Value used by this callable.
        status : Any
            Value used by this callable.
        generated_by : Any
            Value used by this callable.

        Returns
        -------
        list[dict]
            Structured output produced by this callable.
    """
    rows = []
    for item in classifications:
        safe_item = to_jsonable(item)
        rows.append(
            {
                "run_id": run_id,
                "dataset_name": dataset_name,
                "table_name": table_name,
                "column_name": item.get("column_name"),
                "data_type": item.get("data_type"),
                "suggested_classification": item.get("suggested_classification"),
                "confidence": item.get("confidence"),
                "reason": item.get("reason"),
                "suggested_action": item.get("suggested_action"),
                "status": status,
                "generated_by": generated_by,
                "approved_by": item.get("approved_by"),
                "approved_at": item.get("approved_at"),
                "evidence_json": json.dumps(to_jsonable(item.get("evidence") or {}), sort_keys=True),
                "classification_json": json.dumps(safe_item, sort_keys=True),
            }
        )
    return rows