Skip to content
ClearedStack

Platform · J.4 Component specifications

Tidegauge specification

Design

Scheduled monitoring worker that watches FAR/DFARS/NIST feeds, live tools, linked tools, and parked blockers for deterministic drift and reopens affected items.

J.4.163 min readLast revised November 2026

Status: Design. A specification. It describes how the component is meant to work, not something you can use on this site today. What the labels mean.

Registry entry · Stage 09

Watches official sources, live tools and linked tools for change, and reopens whatever is affected.

Formerly
cs-09-monitor, then Dogwatch
Namespace
cs-workers
Repository
tidegauge
Container image
lazarette.clearedstack.svc.cluster.local:5000/tidegauge
Depends on
Muster
Depended on by
Nothing else in the platform
Boundaries
  • Leases scheduled checks from Muster
  • Fetches the Federal Register, the eCFR and NIST's publications, and checks linked and live tools

From the naming registry, which is the one place this component’s name is written down.

On this page
  1. Overview & Role
  2. Runtime & Resource Budget
  3. Interfaces & State Transitions
  4. Sub-Tools & Failure Modes
  5. Security & Clean-Room Boundaries
  6. Related pages

Overview & Role#

Tidegauge is the continuous monitoring worker in the cs-workers namespace (ownerRepo: Tidegauge, version v0.1.0-draft). Replacing the original Stage 10 (Revisit), it watches federal regulatory feeds, live ClearedStack tools, external linked tools, and parked blockers for drift.

Tidegauge is a 100% deterministic Go service with zero AI at runtime. Rather than scraping pages blindly or patching tools directly, it uses lightweight HTTP ETags, structured XML/API feeds, and deterministic DOM diffs—and reopens affected PA-XXXX items in Muster so the main pipeline handles updates cleanly.

Runtime & Resource Budget#

PropertyValue
Service / RepoTidegauge (tidegauge)
Namespacecs-workers
Kindworker (100% deterministic Go, zero runtime AI)
Versionv0.1.0-draft
RAM Budget30 MiB
Sub-Toolsfederal-register, ecfr, nist-csrc, linked-tool-watch, live-catalog
Local Spool/var/spool/cs (buffers detected drift events if Muster is restarting)
Contract VersionCONTRACT_VERSION=v1 (owned by clearedstack.com)

Tidegauge runs under the Standard Kubernetes priority class with a 30 MiB memory footprint, yielding before High-priority control-plane pods on a single 4 GiB k3s node.

Interfaces & State Transitions#

Tidegauge pulls scheduled watch tasks from Muster over cluster-private HTTP using its Kubernetes ServiceAccount identity (lease, heartbeat, complete, fail, needs_subtool). It never touches Logbook directly.

When a deterministic diff confirms a meaningful change, Tidegauge stages the finding in /var/spool/cs and requests a state transition through Muster:

Current StateReopened Target StatePriority LaneCondition
livebuildingurgentGoverning regulation shifted or live tool rule version drifted; preempts normal/backfill work for an updated release.
liveretiredurgentUnderlying statutory rule or clause was repealed or superseded.
parkedobservednormalPreviously named blocker (e.g., pending rule or missing public data) cleared on scheduled revisit.
linkedobservednormalExternal free tool went offline, added a paywall, or introduced tracking scripts; returned for clean-room build decision.

Sub-Tools & Failure Modes#

Each source type is implemented as a deterministic sub-tool under tools/<case>/ inside the Tidegauge repository, paired with golden test fixtures:

Sub-ToolTarget MonitoredDetection Method
federal-registerFederal Register notices and rulemakingsScheduled XML and API diffs for FAR, DFARS, and small-business rule updates.
ecfrElectronic Code of Federal RegulationsHTTP ETag and XML diffs tracking modified clauses, thresholds, and effective dates.
nist-csrcNIST Computer Security Resource CenterScheduled feed and DOM diffs for cybersecurity standards such as SP 800-171.
linked-tool-watchExternal tools marked linked in the catalogPeriodic HTTP and DOM checks for dead links, new paywalls, or added tracking scripts.
live-catalogClearedStack tools published as liveScheduled health and rule-version checks against active catalog entries.
Error CodeTriggerPipeline Behavior
E_TIMEOUTUpstream government feed or external linked site fails to respond in timeItem stays safe in queue for retry; repeated timeouts are deduplicated by Bellbuoy.
E_PARSECorrupt XML/JSON feed or broken HTTP responseRefuses to guess; logs sanitized failure and halts that check cleanly.
E_NEEDS_SUBTOOLUpstream feed or DOM layout changes to an unrecognized structureFails closed, pauses item in needs_subtool, and triggers Bellbuoy to open a task; auto-replays after Shipkeeper deploys the new watcher.

Security & Clean-Room Boundaries#

  • Restricted network egress: Default-deny network policies permit Tidegauge to call Muster and approved public regulatory/catalog targets only; Logbook, Plainforge, and Lazarette are unreachable.
  • Unprivileged pod posture: Runs as non-root with dropped Linux capabilities, no privilege escalation, and a read-only root filesystem (apart from /var/spool/cs).
  • Clean-room separation: Tidegauge only inspects public regulatory feeds and catalog metadata; it never injects raw external HTML into Moldloft payloads (Muster rejects any such attempt).
  • Sanitized status: Internal cluster details are stripped by Shipkeeper before any E_TIMEOUT, E_PARSE, or E_NEEDS_SUBTOOL alert is surfaced publicly.

Found a mistake, or something that has gone out of date? Open an issue or write to [email protected]. This page is a text file you can read and correct: Source of this page.