Scouts

Propose checks, monitor table health, investigate anomalies, and reduce alert noise.

A Scout is a persistent agent attached to one table. It moves through intake, evidence, investigation, report, and delivery.

Activate a Scout

Open a catalog table, select Scout, review the proposed checks, and choose Arm. Inferred activation proposes no more than 12 checks. Manual mode supports explicit freshness, volume, completeness, uniqueness, and custom SQL requirements.

New workspaces can arm five Scouts by default. Disabling one releases its active capacity.

embrasure monitor scouts list --connector YOUR_CONNECTOR_ID
embrasure monitor scouts get SCOUT_ID
embrasure monitor scouts arm SCOUT_ID --yes
embrasure monitor scouts run SCOUT_ID --yes
embrasure monitor scouts disable SCOUT_ID --yes

Check types

CheckDetects
FreshnessLate or missing delivery.
Row countUnexpected volume.
Null rateCompleteness changes.
CardinalityDistinct-count changes.
Metric bandNumeric aggregates outside a learned range.
UniquenessDuplicate identifiers.
Value compositionCategorical mix drift.
DomainValues outside an allowed set.
ReferentialKeys that no longer resolve.
Schema and contractsType, shape, regex, range, or custom SQL violations.

Scout uses robust median, seasonal, trend, and distribution models where they fit the signal. Use manual thresholds when the expected boundary is already known.

Investigate an anomaly

Scout separates observed evidence from inference. A hypothesis moves through proposed, testing, supported, ruled out, confirmed, or likely states. Missing permission or source access blocks evaluation instead of becoming a false healthy result.

embrasure investigate table catalog.schema.orders \
  --detail-level full \
  --direction both

MCP clients can call investigate_table for the same bounded catalog, lineage, change, trust, and health context.

Automated remediation

When a completed investigation identifies one likely root cause with at least 85% confidence, independent supporting evidence, and an authorized repository path, Embrasure can create a validated fix pull request. The pull request includes the root-cause confidence and remains subject to the repository's rules and required checks.

When root-cause confidence is above 95%, Embrasure marks the pull request ready and asks GitHub to merge it automatically. GitHub merges only after all repository requirements pass. A confidence of exactly 95% remains a draft. If the repository does not support auto-merge or the request cannot be enabled safely, Embrasure restores the pull request to draft for human review.

Control noise

  • Use learned baselines and seasonal suppression for recurring patterns.
  • Route alerts to the data product that owns the table.
  • Require confirmed column evidence for exact column-impact alerts.
  • Mute a noisy monitor while investigating, then fix its cadence, model, or threshold.

Every Scout alert uses the same impact-first format: headline, table, observed evidence, confirmed reach, likely related evidence, and standard actions. While diagnosis is running, confirmed reach says so instead of guessing.

Reply in the alert thread with a clear command such as “relearn for 7 days,” “set z_threshold to 3.5,” “mute this check for 2 hours,” or “run a diagnosis now.” Linked members can inspect. Editors can manage checks and reports. Ownership, routing, and protected settings keep their existing admin rules. Slack never accepts credentials, webhook secrets, or new destination secrets.

“New normal” starts check-specific relearning and defaults to 7 days. Only the triggering adaptive check learns; the Scout stays armed and its other checks keep alerting. Eligible scheduled observations after the request build a fresh baseline. Manual runs, late data, errors, and incomplete measurements do not count. At the first scheduled run after the deadline, Embrasure either activates a validated range or posts one actionable “more data needed” receipt to every original alert thread. Fixed-threshold checks require an explicit threshold edit instead.

embrasure monitor tables mute MONITOR_ID --limit 120 --yes
embrasure monitor tables unmute MONITOR_ID --yes