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