87 lines
2.7 KiB
Markdown
87 lines
2.7 KiB
Markdown
---
|
|
id: "d104348c-d792-4377-943c-70a31e81a9bc"
|
|
name: "Hourly RecentlyOnScope Reports"
|
|
type: activity-definition
|
|
version: "1.0"
|
|
enabled: true
|
|
owner: custodian
|
|
governance: custodian
|
|
status: active
|
|
created: "2026-05-22"
|
|
trigger:
|
|
type: cron
|
|
cron_expression: "0 * * * *"
|
|
timezone: Europe/Berlin
|
|
misfire_policy: skip
|
|
context_sources:
|
|
- type: state-hub
|
|
query: recently_on_scope_hourly
|
|
required: true
|
|
params:
|
|
range: "1h"
|
|
active_only: true
|
|
include_attention: false
|
|
bind_to: context.recently_on_scope_hourly
|
|
---
|
|
|
|
# ActivityDefinition: Hourly RecentlyOnScope Reports
|
|
|
|
## Purpose
|
|
|
|
This definition is the activity-core handoff point for
|
|
`CUST-WP-0046 - Activity-Core Hourly RecentlyOnScope Reports`.
|
|
|
|
It schedules a deterministic State Hub batch run that generates
|
|
RecentlyOnScope reports for every active domain with qualifying activity in the
|
|
last hour. State Hub owns active-domain selection and report rendering;
|
|
activity-core owns the hourly schedule and ActivityRun audit trail.
|
|
|
|
## Runner Status
|
|
|
|
This definition is enabled after a successful manual canary against
|
|
Railiance01 Temporal.
|
|
|
|
Cutover boundary:
|
|
|
|
- Codex app automation remains a fallback only if `CUST-WP-0046-T06` records
|
|
an explicit operator reason.
|
|
- This activity-core definition is the primary hourly reporting substrate
|
|
after one manual run and one scheduled run leave expected evidence.
|
|
- Do not run a Codex fallback and this activity-core hourly routine as parallel
|
|
primary runners.
|
|
|
|
## Trigger
|
|
|
|
Hourly at minute 0 in `Europe/Berlin`, with `misfire_policy: skip`.
|
|
|
|
If the activity-core host is offline at the top of the hour, this routine
|
|
skips the missed run rather than replaying a burst of stale reports after the
|
|
host returns.
|
|
|
|
## Deterministic State Hub Invocation
|
|
|
|
The `recently_on_scope_hourly` State Hub context resolver issues:
|
|
|
|
- `POST /recently-on-scope/hourly`
|
|
- payload: `{"range": "1h", "active_only": true, "include_attention": false}`
|
|
|
|
The context source is marked `required: true`. A failed State Hub call fails
|
|
the activity-core workflow visibly instead of silently binding an empty
|
|
context. On success, the response is stored in the ActivityRun
|
|
`context_snapshot` under `recently_on_scope_hourly`.
|
|
|
|
State Hub also records a compact progress event with event type
|
|
`recently_on_scope_hourly`, including generated, skipped, and failed domain
|
|
metadata.
|
|
|
|
## Output Contract
|
|
|
|
The run should produce:
|
|
|
|
- one State Hub progress event with `event_type: recently_on_scope_hourly`
|
|
- one report file per active domain with qualifying activity
|
|
- no report for inactive or quiet domains unless State Hub is explicitly
|
|
configured otherwise
|
|
- one activity-core ActivityRun containing the batch response metadata
|
|
- no LLM call and no direct workplan or canon edits
|