activity-core/docs/emission-cadence/activity-core-evidence.yaml
tegwick f20db478f5
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 3s
Close WP-0036 on natural heartbeat evidence; declare emission cadence
WP-0036-T04: rein-aharness 44f5bb9 heartbeats immediately after claim and
returned a natural claim/heartbeat/complete trace (hub message c217e92f).
With the 2026-08-23 authenticated claim and spoofed-identity 403, the
acceptance is met. The late-close smoke stays an optional rein-side follow-up.

Add a source-owned Emission Cadence declaration for scheduled evidence events
(INFO-WP-0029-T03), with a recorded incompatibility: expected-rate cannot
express the weekday-only SBOM catch-up schedule.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 151606@bnt-lap001
Assistant-Session: 3c0a4ad5-bb8b-4bf7-b9f0-fa5f29204e48
2026-09-22 22:44:58 +02:00

58 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.