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
This commit is contained in:
parent
51689bf323
commit
f20db478f5
3 changed files with 96 additions and 3 deletions
58
docs/emission-cadence/activity-core-evidence.yaml
Normal file
58
docs/emission-cadence/activity-core-evidence.yaml
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
# 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.
|
||||
Loading…
Add table
Add a link
Reference in a new issue