freedom-intelligence/activity-definitions/fi-daily-research-brief.md

70 lines
2.7 KiB
Markdown
Raw Normal View History

---
id: fi-daily-research-brief
name: Freedom Intelligence Daily Research Brief
enabled: true
owner: custodian-agent
governance: custodian
status: active
trigger:
type: cron
cron_expression: "30 7 * * 1-5" # weekdays 07:30
timezone: Europe/Berlin
misfire_policy: skip
context_sources:
- type: state-hub
query: fi_brief_status
params:
repo: freedom-intelligence
bind_to: context.fi_brief
# Resolver (FI-WP-0002-T03, activity-core): expected shape
# {items: [{kind: "daily_brief", due: bool, date: "YYYY-MM-DD",
# last_run_at}]} — due is true when no fi_daily_brief progress event with
# detail.repo=freedom-intelligence exists for today (Europe/Berlin).
# Executing session must record that event on completion (idempotence).
---
# Freedom Intelligence Daily Research Brief
Runs weekdays at 07:30 Berlin time. Emits one task when the daily research brief
for `freedom-intelligence` is due. Execution is **out of band**: consumer checks
out this repo and follows `docs/daily-brief-playbook.md` (axes AD, collection
candidates, template under `briefs/`).
activity-core only schedules and spawns. It does not call model APIs for the
brief body.
Baseline field memory: `research/2026-07-24-baseline-field-survey.md`. Daily
briefs are **deltas** from prior briefs + that baseline — not full resurveys.
```rule
id: emit-fi-daily-brief-task
for_each: context.fi_brief.items
bind_as: item
condition: 'context.item.due'
action:
task_template: "FI daily research brief ({context.item.kind}) for {context.item.date}"
description: >
Produce briefs/YYYY/MM/YYYY-MM-DD.md per docs/daily-brief-playbook.md and
briefs/_template.md. Cite primary sources. Flag collection candidates.
On completion post State Hub progress event_type=fi_daily_brief with
detail.repo=freedom-intelligence and detail.date.
target_repo: freedom-intelligence
priority: medium
labels: ["freedom-intelligence", "research-brief", "automated"]
```
## Enable checklist (completed 2026-07-28)
1. [x] FI-WP-0002-T03 resolver live (`fi_brief_status` in activity-core)
2. [x] FI-WP-0002-T04 external definition path registered
- Local: `ACTIVITY_DEFINITION_DIRS` includes `/home/worsch/freedom-intelligence`
- Railiance: `actcore-external-activity-definitions` ConfigMap key
`fi-daily-research-brief.md` in `activity-core/k8s/railiance/20-runtime.yaml`
3. [x] Completion event proven (`fi_daily_brief` for 2026-07-24; re-verified loop)
4. [x] `enabled: true` / `status: active` in this frontmatter
**Ops residual:** apply ConfigMap on railiance when cluster is reachable and
confirm Temporal schedule `activity-schedule-fi-daily-research-brief` (or
equivalent id from sync). Workstation cannot dry-run spawn while k8s API is
unreachable (2026-07-28).