59 lines
2.6 KiB
YAML
59 lines
2.6 KiB
YAML
|
|
# Source-owned Emission Cadence declaration (info-tech-canon INFO-WP-0029-T03).
|
||
|
|
# Contract: info-tech-canon emission-cadence candidate, document 0.2.0,
|
||
|
|
# wire schema 0.1, contract digest b08b4d95fc4b0bd3.
|
||
|
|
# This states intended cadence only. It is not evidence that the events are
|
||
|
|
# emitted, and it is not a conformance claim.
|
||
|
|
#
|
||
|
|
# Events are State Hub progress events written by activity-core's declared
|
||
|
|
# evidence/report sinks, one per scheduled activation of the named
|
||
|
|
# ActivityDefinition (activity-definitions/<id>.md). Schedules are fixed-time
|
||
|
|
# Temporal cron schedules, so windows include slack for run duration.
|
||
|
|
schema_version: "0.1"
|
||
|
|
declaration_id: activity-core.scheduled-evidence.v1
|
||
|
|
source: activity-core
|
||
|
|
stream_id: activity-core.state-hub-progress
|
||
|
|
sources:
|
||
|
|
- source_id: activity-core.daily-cnpg-option-a-backup
|
||
|
|
source_system: railiance01/activity-core
|
||
|
|
event_class: cnpg_option_a_backup
|
||
|
|
form: expected-rate
|
||
|
|
window: PT26H # cron "30 2 * * *" UTC; 24h period + 2h run slack
|
||
|
|
expected_min: 1
|
||
|
|
drop_below: finding
|
||
|
|
extensions:
|
||
|
|
activity-core:
|
||
|
|
definition: daily-cnpg-option-a-backup
|
||
|
|
schedule: "30 2 * * * UTC"
|
||
|
|
- source_id: activity-core.weekly-forgejo-package-prune
|
||
|
|
source_system: railiance01/activity-core
|
||
|
|
event_class: forgejo_package_prune
|
||
|
|
form: expected-rate
|
||
|
|
window: P8D # cron "30 3 * * 0" UTC; 7d period + 1d slack
|
||
|
|
expected_min: 1
|
||
|
|
drop_below: finding
|
||
|
|
extensions:
|
||
|
|
activity-core:
|
||
|
|
definition: weekly-forgejo-package-prune
|
||
|
|
schedule: "30 3 * * 0 UTC"
|
||
|
|
- source_id: activity-core.daily-sbom-catchup
|
||
|
|
source_system: railiance01/activity-core
|
||
|
|
event_class: sbom_catchup
|
||
|
|
form: heartbeat-or-reconciliation
|
||
|
|
reconciliation:
|
||
|
|
compare_local: activity_runs.count(definition_id=daily-sbom-catchup)
|
||
|
|
compare_observed: state_hub_progress.count(event_type=sbom_catchup)
|
||
|
|
divergence: finding
|
||
|
|
undrained_local: lag-not-divergence
|
||
|
|
extensions:
|
||
|
|
activity-core:
|
||
|
|
definition: daily-sbom-catchup
|
||
|
|
schedule: "15 9 * * 1-5 Europe/Berlin"
|
||
|
|
incompatibility: >-
|
||
|
|
expected-rate cannot express a weekday-only schedule. A PT26H window
|
||
|
|
raises a false finding every Saturday, Sunday and Monday morning; a
|
||
|
|
window long enough to span the weekend (P4D) hides a three-day
|
||
|
|
outage midweek. Declared as reconciliation against local activation
|
||
|
|
records instead. Suggested change: allow an expected-rate entry to
|
||
|
|
name a calendar (e.g. a cron expression and timezone) so the window
|
||
|
|
is counted in scheduled slots rather than wall-clock time.
|