Govern

Rules your data has to follow.

Data contracts set the rules: required fields, types and freshness. You choose whether a broken rule warns or blocks. Triggers run every scheduled job and event-driven run from one scheduler.

ContractsTriggers

Contracts

Say what good data looks like.

Attach a contract to a spreadsheet or a file. Mark which fields are required, what type each one should be, and how old the data is allowed to get.

Orders contract

Blockorder_id · required · textschema
Blocktotal · required · numberschema
Warnregion · textschema
Warnupdated within 6 hoursfreshness

Enforcement

Warn about it, or stop it at the door.

Warn logs the violation and lets the change through. Block stops the write or the run. Spark contracts warn; Ray and up can block.

Warnedregion empty on 3 rowslogged
Blockedtotal = "N/A" on row 418write stopped

Checks

Checked on a schedule. Recorded every time.

Contracts are checked on a schedule, from daily on Spark to every minute on Radiance. Violations are tracked with their status. Coverage reports from Beam show which sources have no contract yet.

  • Violation notifications in-app on Spark, by email from Ray
  • Schema drift detection and data quality scoring from Aurora
  • Custom contract rule types from Aurora

Coverage

Orderscontract · passing
Refundscontract · 2 open violations
vendors.csvno contract

Triggers

One scheduler for everything.

Cron or interval schedules with time zones, or platform events. A trigger can run a contract check, or start Juno on its own with an instruction, a list of tools it may use and a cap on how many tool calls it can make.

  • Shortest interval from 1 hour on Spark down to 1 minute on Aurora
  • Unattended Juno runs from Ray: 5 a day, up to 500 on Radiance
  • Anything destructive still waits for a person
Cron0 7 * * 1-5 · America/Chicagocheck Orders
Eventwebhook receivedJuno run
Every15 minutescheck Refunds