# Watch-Layer Observation Cadence: How Much Has Actually Been Observed

*Probity Institute — method note. Descriptive only: no rating change, no recommendation, no statement about how any holder should vote or act.*

A determination states what a contract enforced on a date. The freshness layer states, per DAO, whether anything has been observed since that date. It answers a boolean, and the boolean is easy to misread: `event_watch: false` does not mean nothing has changed at the protocol. It means no watch-layer record was filed, which is a statement about our observation, not about the DAO's calm.

Those two readings support opposite decisions. This layer publishes the one it can support.

```bash
curl -s https://probity-institute.pages.dev/data/determinations/watch-cadence.json \
  | python3 -c "
import json,sys
d = json.load(sys.stdin)
s = d['summary']
print(s['daos_event_watched'], 'of', s['daos'], 'DAOs event-watched')
print(s['events_total'], 'events over', s['observation_window']['days'], 'days')
for r in sorted(d['daos'], key=lambda r: -r['events_total'])[:5]:
    print(r['slug'], r['events_total'], r['last_observed'], r['observation_state'])
"
```

## What it measures

Per DAO: how many distinct dated events the watch layer filed, what months they fell in, the date of the last one, and how many days ago that was. Four observation states, all date arithmetic:

| `observation_state` | Meaning |
|---|---|
| `observed_this_week` | newest filed event 7 days old or less |
| `observed_this_month` | newest filed event 8 to 31 days old |
| `observed_older` | newest filed event more than 31 days old |
| `no_observation` | no filed event in the window |

And one field that says what a reader can expect from the record's freshness surface, which is the only thing that differs between two determinations carrying the same `as_of`:

| `watch_mode` | Meaning |
|---|---|
| `event_watched` | at least one dated event after `as_of` |
| `schedule_watched` | no such event; the scheduled re-check is the only published refresh point |

An event is a `(date, record type)` pair per DAO, de-duplicated exactly as in `freshness.json`. The two artifacts share one function for event identity, and generation fails if this file drops an event that `freshness.json` published. Divergence in the other direction is normal: watch records land between the two generators, so this file routinely holds more events, never fewer.

## Today, in numbers

Read at 2026-10-30, with every determination dated 2026-10-01:

- **7 of 53 DAOs are event-watched.** 46 are schedule-watched: for them the next published refresh point is the 2027-01-01 cycle and nothing else.
- **21 events over a 32-day window** (2026-09-29 to 2026-10-30, the age of the watch layer itself). 19 are post-`as_of`.
- **0.66 events per day** across the universe; **0.37 events per DAO per 30 days**; **2.81 per DAO per 30 days** for the seven event-watched DAOs.
- **Compound carries 11 of the 21 sightings, 52.4% of the stream.** Four DAOs carry exactly one.
- By state: 5 `observed_this_week`, 2 `observed_this_month`, 0 `observed_older`, 46 `no_observation`.

Rates are computed over the observed window, not over calendar months. `observation_window.month_coverage_days` publishes the split (September has two days of coverage, October thirty) so a reader cannot mistake a partial month for a fall in observation.

## The finding that matters: silence has two causes

`standards_coverage` breaks each standard's non-observation into its actual cause, because conflating the two would hide the only gap that is ours to fix.

| Standard | Record classes watching it | DAOs observed | DAOs passing | Cause of silence |
|---|---|---|---|---|
| GSA-1 Sovereign Treasury | 12 | 4 | 9 | covered |
| GSA-2 Recallable Authority | 16 | 7 | 8 | covered |
| GSA-3 Revenue Distribution | **0** | 0 | **8** | **no record class** |
| GSA-4 Treasury Covenant | **0** | 0 | 0 | no record class, no passer |
| GSA-5 Information Rights | 9 | 6 | 0 | covered |
| GSA-6 On-Chain M&A | **0** | 0 | 0 | no record class, no passer |
| GSA-7 Sybil-Resistant Voting | 1 | 2 | 0 | covered |
| GSA-8 Dispute Resolution | **0** | 0 | 0 | no record class, no passer |

Two different facts are hiding behind "four standards unobserved":

- **GSA-4, GSA-6, GSA-8 have no passers and no record class.** Nothing in the universe implements those mechanisms, so there is little to observe and the silence is a statement about the market, not about the watch layer. Only GSA-8's silence is expected to persist: the methodology holds it structural-only because no mature dispute infrastructure exists anywhere.
- **GSA-3 has eight passers and zero record classes.** Eight DAOs route revenue to their token through a hardcoded contract — Curve, dYdX, Frax, Hyperliquid, Olympus, Sky, Uniswap, Usual — and not one of the 18 watch record classes reads a distribution event. That is not a market gap. It is a coverage gap in the vocabulary, and it is the single highest-value missing observer in the freshness product: a distribution that stops, reroutes, or is skipped for a period is exactly the event a holder of a GSA-3 token would want flagged, and today nothing looks for it.

The consequence bounds the freshness claim honestly: **event-driven re-checking can only move on standards where a record class looks.** Where the mechanism exists and nobody is watching, that is fixable work. Where the mechanism does not exist, freshness will be silent until an issuer builds one, and saying so is more useful than implying a watch that is not happening.

## Limits

- **These are observations, not activity.** A DAO with zero events may be quiet, unwatched, or governed somewhere the watch layer does not read. The artifact cannot distinguish those and does not try. Denser is not better governance.
- **The series is 32 days old.** It is not annualised, and no trend should be read from it yet.
- **`standards_observed` is a union of record-type subject matter**, not evidence of continuous monitoring. A single record naming GSA-5 means one observation touched disclosure; it does not mean disclosure is watched for that DAO.
- **`schedule_watched` is not neglect.** It is a description of which refresh path is published, and the 2027-01-01 cycle covers all 53 DAOs.
- **An event dated exactly on `as_of` counts as pre-`as_of`**, deliberately: the determination was made that day, so the conservative reading is that it belongs inside the evidence rather than after it. One Compound record is dated to 2026-10-01 by its record date rather than an event timestamp, and lands on that boundary.

*Every figure on this page is computed from `data/determinations/watch-cadence.json` at generation time. Regenerate with `python3 tools/generate_watch_cadence.py` after the feed and freshness generators.*

---

<!-- seo:begin -->
<link rel="canonical" href="https://probity-institute.pages.dev/docs/watch-cadence.md">
<meta property="og:type" content="article">
<meta property="og:site_name" content="Probity Institute">
<meta property="og:title" content="Watch-Layer Observation Cadence: How Much Has Actually Been Observed — Probity Institute">
<meta property="og:description" content="Probity Institute — method note. Descriptive only: no rating change, no recommendation, no statement about how any holder should vote or act.*">
<meta property="og:url" content="https://probity-institute.pages.dev/docs/watch-cadence.md">
<meta property="og:locale" content="en_GB">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="Watch-Layer Observation Cadence: How Much Has Actually Been Observed — Probity Institute">
<meta name="twitter:description" content="Probity Institute — method note. Descriptive only: no rating change, no recommendation, no statement about how any holder should vote or act.*">
<!-- seo:end -->
