Docs Master data

Quality agents and packs

Rule threads, packs and scope, autonomy levels and guards, contracts, tickets and evaluations, with the endpoints.

Objects

rule_threadwhat · where · when: a directive sentence, a scope (table, filter, partitions) and a trigger (interval, cron, event, manual)
rule_packtemplates with open parameters, an accountable function, facets: thresholds, schedule, escalation route, contract; stamping a pack across a scope mints pack_instances
pack_instanceone minted rule agent; carries drift = true when edited locally, with an override_contract (who, why, kept or adopted) per publish
agentthe eight blocks: mission, scope, directives, tool_grants (mode: read · propose · write), trigger, guardrails, escalation_route, eval; autonomy per action_type: L0 · L1 · L2 · L3
guardrailconfidence_floor, daily_budget, four_eyes (field list), scope, ack_required; policy floors are locked
evalgolden cases per action_type with the pass rate; promotion requires pass_rate >= 0.95, a wired escalation_route and a stamp
ticketfinding_id, rule_version, evidence_snapshot, proposal (before, after, basis, confidence, model_version), decision (by, verdicts, at), write_back (per system: request, attempts, ack, document), learned
quality_contractconsumer, view, thresholds per dimension, freshness, on_breach: notify · hold_feed · hold_writeback
record_stategolden_status on every record: IN_FLOW · GOLDEN · QUARANTINED, with the rule or contract that set it and the time

Example · a thread

thread T-204 "lead time in range"
  what   marc.plifz between 1 and 180
  where  marc where mmsta = active and werks in pack.scope
  when   nightly 02:00; on change of marc.plifz
  level  L1 (propose)   guards: confidence >= 0.9, budget 500/day, four_eyes: none
  escalate  screen planning_coe_review, hop_sla 24h
  eval   38 cases, pass 0.97

Example · a contract

contract Q-17 planning <- golden.material
  completeness(planning_group) >= 0.98
  freshness <= 6h
  on_breach notify(planning_owner), hold_feed

Endpoints

GET /quality/score?domain=&by=dimension|column|sourcescores and trend
POST /quality/threads (dry_run=true)create or test a thread; returns the rows it would flag
POST /quality/packs/{id}/stampmint instances across a scope
GET /quality/tickets?state=&domain=the queue, sorted by confidence and value at stake
POST /quality/tickets/{id}/decideaccept, reject, or defer, with a reason
POST /agents/{id}/promoteruns the gate: eval, route, stamp
GET /records/{id}/stategolden_status with the reason and the time