---
slug: "DriftWatch"
name: "DriftWatch"
type: "Protocols"
layer: "Society"
ref: "DriftWatch#b696"
sema_id: "sema:DriftWatch#mh:SHA-256:b696959258eb3c48ce11055634b107451d5a500bc8ba19693db4c30b5f5033bf"
tags: ["Society","Protocols"]
updated: 2026-11-11
mindscape: "bootstrap"
index_url: https://mindscape.world/scapes/bootstrap.json
url: https://mindscape.world/bootstrap/DriftWatch/
related: ["Agent","Aggregate","Distance","RegimeSense"]
---

# DriftWatch

Reputation scoring via behavioral deviation from baseline (2-sigma alert)

Layer: Society · Category: Protocols

## Mechanism

Reputation via micro-deviation detection. 1. Baseline: establish behavioral frequency over `window_size` samples. 2. Sample: continuous high-resolution observation. 3. Detect: alert when [Distance](https://mindscape.world/scapes/bootstrap/Distance.md)(Current, Baseline) exceeds `threshold`. 4. Witness: aggregated peer reports. Tracks behavioral consistency against a baseline [Aggregate](https://mindscape.world/scapes/bootstrap/Aggregate.md) of historical actions.

## Invariants

- Baseline is immutable while a sample is judged against it.
- Baseline recomputation interval and source window are declared.
- Alert when [Distance](https://mindscape.world/scapes/bootstrap/Distance.md)(Current, Baseline) > `threshold`, in the units [Distance](https://mindscape.world/scapes/bootstrap/Distance.md) returns.

## Preconditions

- Baseline state is established

## Failure modes

- Baseline walked: the subject changes more slowly than the baseline recomputes, so no alert fires.
- Witness collusion: coordinated false drift reports.
- False reports: a single malicious witness.
- Cold start: no baseline yet, so the watcher is silent through the establishment window.
- Baseline gaming: [Agent](https://mindscape.world/scapes/bootstrap/Agent.md) varies early to establish a wide baseline.
- Alert flood: continuous sampling against a sensitive threshold alerts at its false-positive rate.

## Parameters

- `threshold` (Float, [0.0, inf)): Trigger in the units {{distance}} returns — not normalised, not sigma multiples.
- `window_size` (Integer, [10, 10000]): Samples forming the baseline
- `recompute_interval` (Integer, [0, 100000]): Samples between baseline rebuilds; 0 pins it permanently.

## Builds on

- [Agent](https://mindscape.world/scapes/bootstrap/Agent.md) (Mind; References)
- [Aggregate](https://mindscape.world/scapes/bootstrap/Aggregate.md) (Infrastructure; References)
- [Distance](https://mindscape.world/scapes/bootstrap/Distance.md) (Physics; References)

## Used by

- [RegimeSense](https://mindscape.world/scapes/bootstrap/RegimeSense.md) (Mind; References)

## Identity

- Sema ID: `sema:DriftWatch#mh:SHA-256:b696959258eb3c48ce11055634b107451d5a500bc8ba19693db4c30b5f5033bf`
- Ref: `DriftWatch#b696`
- Supersedes:
  - `sema:DriftWatch#mh:SHA-256:a20dcee6f5453e3b61973fcf01aebd6a5ed4cfb97d1402a4ed970d8629a55a69`
  - `sema:DriftWatch#mh:SHA-256:49b6f6d68dbda93034116865bb93a7bd08eff23de49a2eef87af80a40fe4a9f5`
  - `sema:DriftWatch#mh:SHA-256:37cf935687877e2a31c4cd75287e2bc7c814b49a3569203021854988f39abe9e`

## Links

- [Pattern page](https://mindscape.world/bootstrap/DriftWatch/)
- [View in the interactive graph](https://mindscape.world/bootstrap/#DriftWatch)
- [JSON](https://mindscape.world/scapes/bootstrap/DriftWatch.json)
- [Index of all patterns](https://mindscape.world/scapes/bootstrap.json)
