Rule threads, packs and scope, autonomy levels and guards, contracts, tickets and evaluations, with the endpoints.
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_instancespack_instanceone minted rule agent; carries drift = true when edited locally, with an override_contract (who, why, kept or adopted) per publishagentthe eight blocks: mission, scope, directives, tool_grants (mode: read · propose · write), trigger, guardrails, escalation_route, eval; autonomy per action_type: L0 · L1 · L2 · L3guardrailconfidence_floor, daily_budget, four_eyes (field list), scope, ack_required; policy floors are lockedevalgolden cases per action_type with the pass rate; promotion requires pass_rate >= 0.95, a wired escalation_route and a stampticketfinding_id, rule_version, evidence_snapshot, proposal (before, after, basis, confidence, model_version), decision (by, verdicts, at), write_back (per system: request, attempts, ack, document), learnedquality_contractconsumer, view, thresholds per dimension, freshness, on_breach: notify · hold_feed · hold_writebackrecord_stategolden_status on every record: IN_FLOW · GOLDEN · QUARANTINED, with the rule or contract that set it and the timethread 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
contract Q-17 planning <- golden.material completeness(planning_group) >= 0.98 freshness <= 6h on_breach notify(planning_owner), hold_feed
GET /quality/score?domain=&by=dimension|column|sourcescores and trendPOST /quality/threads (dry_run=true)create or test a thread; returns the rows it would flagPOST /quality/packs/{id}/stampmint instances across a scopeGET /quality/tickets?state=&domain=the queue, sorted by confidence and value at stakePOST /quality/tickets/{id}/decideaccept, reject, or defer, with a reasonPOST /agents/{id}/promoteruns the gate: eval, route, stampGET /records/{id}/stategolden_status with the reason and the time