| id |
type |
status |
date |
consumer |
consumer_domain |
canon_version |
artifacts |
related_demand |
related_workplan |
spawned_demand |
spawned_workplan |
| feedback/2026-09-22-activity-core-emission-cadence-declaration |
consumer-feedback |
reviewed |
2026-09-22 |
activity-core |
infotech |
0.13.0 |
| standard/emission-cadence |
|
| demand/EmissionExpectedRateCalendar.md |
|
|
| demand/EmissionExpectedRateCalendar.md |
|
|
Feedback: second source-owned Emission Cadence declaration (activity-core scheduled evidence)
Consumer: activity-core
Canon version used: contract digest b08b4d95fc4b0bd3 (Emission Cadence
document 0.2.0, wire schema 0.1)
Artifacts exercised: infospace/schemas/emission-cadence.schema.yaml,
standards/emission-cadence/InfoTechCanonEmissionCadenceStandard.md
Related demand: demand/EmissionExpectedRateCalendar.md
Source: activity-core's reply to INFO-WP-0029-T03 (State Hub message
161d5aa5-d2a9-4f6a-b833-3727e06007f8, thread f1687805-3153-47c2-9744-05a2b1a6b8c1),
and the file it published at activity-core commit f20db47:
docs/emission-cadence/activity-core-evidence.yaml.
Consumer purpose
Declare intended cadence for three scheduled activities emitted as State Hub
progress events — a daily backup, a weekly package prune, and a daily SBOM
catch-up — so an observer could evaluate silence against a fixed schedule.
Hits
expected-rate with a window sized to the schedule's period plus run slack
(PT26H for a daily cron, P8D for a weekly cron). Two of the three
entries expressed a fixed-time schedule cleanly this way.
heartbeat-or-reconciliation with a reconciliation block, for the third
entry, once expected-rate proved unable to express its schedule (see
Gaps).
extensions. activity-core.definition and activity-core.schedule
carried the activity's own identifiers and cron expression without
touching the generic contract shape.
- The declaration is
contract_valid: canon-side emission-review returns
ok: true, errors: [], operational_truth_assessed: false.
Friction
emission-review could not be run by the consumer directly; the CLI needs
infospace-bench, which is not installable from a package index there. The
consumer worked around this by calling contracts.py directly. This is the
same packaging limitation the net-kingdom declaration hit
(feedback/2026-09-21-net-kingdom-emission-cadence-declaration.md), now
observed by a second independent consumer.
Gaps
expected-rate cannot express a weekday-only schedule. The third
activity (sbom_catchup) runs 15 9 * * 1-5 Europe/Berlin — weekdays
only. A wall-clock window sized to catch a daily run (PT26H) raises a
false finding every Saturday and Sunday morning. A window wide enough to
span the weekend (P4D) would hide a genuine three-day outage that starts
midweek. Neither window size is honest. The consumer declared this entry as
heartbeat-or-reconciliation/reconciliation against its own local
activation count instead, which is correct but sidesteps the form the
activity actually needs. Filed as
demand/EmissionExpectedRateCalendar.md.
Drop candidates
None.
Steward notes
- This is the second source-owned declaration from an owner independent of
both net-kingdom and this repository (INFO-WP-0029-T03). Its
incompatibility — a wall-clock window cannot express a calendar-shaped
schedule — is a different gap from net-kingdom's session-scoped silence.
Both are recorded, per the workplan's framing, as successful outcomes: they
show the contract is implementable and where its
expected-rate form
currently falls short of a real production schedule.
- What this counts toward. Standard §10's stable gate asks for two
source-owned declarations from independent owners plus one observer result.
This declaration is the second. It also records a second, distinct
incompatibility. No observer result yet evaluates this stream specifically:
activity-core's periodic emission into issue-core is currently off in
production (
ISSUE_SINK_TYPE=state-hub), so this declaration covers State
Hub progress evidence, and no third party has registered as an observer of
that stream. The standard stays at candidate; INFO-WP-0029-T05 (observer
result) stays open.
- Both known incompatibilities (this one, and net-kingdom's session-scoped
silence) point at the same underlying limitation of
expected-rate: a
single wall-clock window cannot represent activity that is legitimately
bursty, calendar-shaped, or attended-only. A future standard revision
should weigh both before choosing a fix, rather than solving each in
isolation.