Prepare bounded telemetry runtime jobs and activity definitions

Assistant: codex
Assistant-Model: gpt-6-astra
Assistant-Session: 01a06ecb-456a-71c2-b41e-0755d336e883
This commit is contained in:
tegwick 2026-09-06 19:32:26 +02:00
parent cecef79f31
commit a32c0f1541
9 changed files with 329 additions and 0 deletions

View file

@ -70,3 +70,32 @@ and retention, independent receiver-watchdog delivery, and controlled failure /
producer-absence delivery acknowledged by that operator. Request scope already
covers reference implementation; no live scheduler or messaging authorization
is inferred. RPF-WP-0036-T04 stays open until those receipts exist.
## Runtime job candidates
`scripts/runtime.py` supplies bounded `ingest-report`, `check`, `health` and
`snapshot` jobs. It requires an owned 0700 state directory, uses a private umask,
and refuses a symlink database. Identical reports derive identical event IDs,
so process retries neither duplicate notices nor renew producer time. A stale
report fails instead of being stamped with the current time.
`check` atomically records invocation time and pending notice count, including
missing-emission results. `health` reads that receipt without touching SQLite or
renewing it; older than 180 seconds is stale (exit 1), absent/invalid is an error
(exit 2). This 180-second budget is a proposed runtime default. Run this probe
from an independent executor/failure domain; local implementation alone does
not establish that independence or route an alert.
`snapshot <new-path>` uses SQLite's backup API and validates the resulting DB.
It preserves contract binding and pending notices, refuses overwrite, and emits
SHA-256 plus counts. The receipt explicitly says off_host=false: off-host backup,
expiry, storage capacity and restored-runtime acceptance remain T04 gates.
Candidate activity definitions are disabled: ingest every five minutes and
producer watchdog every two minutes, UTC/skip misfires. Activity-core's native
parser accepts both. The tasks describe deterministic execution, not permission
to launch coding agents periodically. Before projecting/enabling, bind the actual
executor/profile, immutable bundle, upstream platform report command, state
location and notification channel. No resolver, live schedule or second host
cron has been introduced. Strict profile-enforcing environments need the accepted
profile binding before registration; none is invented in these candidates.