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

70 lines
2.6 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 *successful origin-published*
# fi_daily_brief exists for today (Europe/Berlin).
# Completion event is valid only with detail.pushed=true and the file on
# origin/main. Local-only commits must not clear due (FI-WP-0004).
---
# 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.
Commit AND push to origin/main. Post fi_daily_brief only if
detail.pushed=true and detail.origin_sha is set. If push fails, post
executor_run ok=false so due stays true. Do not re-announce cataloged
models. Do not invent parameter counts.
target_repo: freedom-intelligence
priority: medium
labels: ["freedom-intelligence", "research-brief", "automated"]
```
## Enable checklist
1. [x] Resolver `fi_brief_status` in activity-core
2. [x] ConfigMap projection + Temporal schedule (weekdays 07:30 Europe/Berlin)
3. [x] Completion event `fi_daily_brief` proven
4. [x] `enabled: true` / `status: active`
5. [x] Executor: `rein-aharness fi-research-brief` + `scripts/railiance-rhythm/`
(install on railiance01; not workstation cron)
Layers: activity-core (when/what/where) → rein-aharness (execute) → this repo.
See `docs/recurrence-ops.md` and `activity-core/docs/recurring-automations-playbook.md`.