Skip to content

CadenceGovernor + time-series self-monitoring (ADR-0009) #74

Description

@filipeforattini

What to build

Add a CadenceGovernor that shapes per-host/identity request timing with human-like structure (reading dwell, inter-request jitter, session length + breaks, optional circadian pacing), bounded below by the politeness rate limiter and scaled by the PolicyProfile. Observed cadence is written to the crawl-events time-series and self-monitored (burstiness/frequency thresholds) to back off when the pattern looks bot-like. Cadence state lives in the StealthProfile. See ADR-0009.

Acceptance criteria

  • Request timing is shaped per host (dwell/jitter/session breaks), never faster than the politeness floor.
  • Shaping scales with PolicyProfile (fast disables, forensics maximises).
  • Observed cadence is written to the time-series and a burstiness self-check backs off when anomalous.
  • Tests cover pacing bounds and the self-monitor back-off.

Blocked by

Metadata

Metadata

Assignees

No one assigned

    Labels

    blocked:dependencyWaiting on other issues (req:N edges); auto-unblocks when the last dependency closesreq:71Blocked on #71

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions