activity-core/activity-definitions/daily-security-flow.md

56 lines
2.3 KiB
Markdown
Raw Normal View History

---
id: daily-security-flow
name: Daily Security Flow
enabled: false
owner: activity-core
governance: custodian
status: proposed
trigger:
type: cron
cron_expression: "30 7 * * *"
timezone: Europe/Berlin
misfire_policy: skip
context_sources:
- type: shell
query: custodian_security_flow
operation: custodian_security_flow
required: true
params:
apply: true
timeout_seconds: 240
evidence_sinks:
- type: state-hub-progress
event_type: custodian_security_flow
author: activity-core
bind_to: context.custodian_result
---
# Daily Security Flow
Disabled source preparation using the existing ACT-ADR-007 bounded-operation
stage. This definition emits no agent tasks or ops_runs. The worker runs one
code-fixed owner command, retains a counted/hash receipt in the activity context,
and passes it through the existing progress evidence sink. No model or coding
profile executes this routine. No arbitrary command, import, executable or path
is accepted from definition parameters.
The operator must bind the actual deployed owner code, fleet snapshot root,
private external state, and scoped Hub access/input request before enabling.
See `docs/custodian-bounded-operations.md`. These bindings are absent by default;
missing paths, redirected paths and unbound requests fail before subprocess
execution. This is not a credential-isolation claim or a runtime acceptance.
Single Temporal attempt; skip misfires. Owner checkpoint/retention semantics
govern retries. A completed command is not owner acknowledgment or independent
missed-run recovery. No schedule has been activated or deployed. Rollback is
`enabled: false`, retaining reports/checkpoints.
ACTIVITY-WP-0047 / CUST-WP-0079-T03 owns acceptance. The former
`harness.agent-dev-local@1.1.1` rule was incompatible: its green-commit-only
allowlist cannot invoke Python and its sandbox denies Hub egress. The fixed
owner command is `scripts/security_flow_daily.py --apply`, with operator-bound
`--root`, `--hub` and `--state-dir`. The owner script performs decision sync and
deduplicated messages; the adapter does not message independently. Its receipt
does not prove transport delivery or acknowledgment. The old ops_run-based
first-fire criterion is replaced with bounded activity/report/sink receipts.