freedom-intelligence/docs/daily-brief-playbook.md
tegwick cd29105756 Add first daily research brief and advance activity-core workplan.
Record 2026-07-24 delta brief from the baseline survey, document fi_brief_status
ops loading, and mark FI-WP-0002 T03/T06 complete after resolver and playbook work.
2026-07-24 00:17:44 +02:00

127 lines
4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Daily research brief — playbook
**Audience:** operator or agent executing `target_repo: freedom-intelligence`
**Template:** `briefs/_template.md`
**Baseline memory:** `research/2026-07-24-baseline-field-survey.md`
**Sources:** `docs/sources-allowlist.md`
---
## Purpose
Produce **one** curated brief per active day covering axes AD when there is
signal. Briefs are **deltas** from the baseline survey and prior briefs — not
full resurveys.
---
## Idempotence
| Rule | Detail |
| ---- | ------ |
| One brief per date | Path `briefs/YYYY/MM/YYYY-MM-DD.md` |
| Calendar | Prefer **Europe/Berlin** date in front matter |
| Skip empty days | Either omit file or write `*No material delta.*` in Headline deltas |
| Automation due bit | Cleared only by State Hub event `fi_daily_brief` (below) |
---
## Manual procedure
1. **Orient**
- Read last 12 briefs if any; skim baseline § executive snapshot if first week
- `git pull` on freedom-intelligence
2. **Scan** (`docs/sources-allowlist.md`) — 3060 minutes cap
- Capture only items that change capability, cost, access, or operability
3. **Draft**
```bash
mkdir -p briefs/$(date +%Y/%m)
cp briefs/_template.md briefs/$(date +%Y/%m)/$(date +%Y-%m-%d).md
```
- Fill front matter (`status: final` when done)
- Leave empty sections as `*(none)*`
- Cite primary URLs
4. **Collection candidates**
- Use inventory field names; set priority
- If nominating: add or update `inventory/catalog/{id}.yaml` with
`status: candidate` and `collection.brief_refs`
5. **Lab implications**
- Link open workplans (`FI-WP-*`) only when action is real
6. **Commit** (operator policy) — brief + any catalog YAML
7. **Completion evidence** (required for activity-core rhythm)
Post State Hub progress (HTTP or MCP), shape:
```yaml
event_type: fi_daily_brief
author: <agent-or-operator>
summary: "FI daily brief YYYY-MM-DD"
detail:
repo: freedom-intelligence
date: "YYYY-MM-DD"
path: "briefs/YYYY/MM/YYYY-MM-DD.md"
collection_candidates: 0
```
Workstation API often `http://127.0.0.1:8000`; remote tunnel ports per
Custodian docs. See `docs/state-hub-delivery.md`.
---
## Automation consumer
When activity-core emits `activity_task_spawn` with
`target_repo: freedom-intelligence` and labels including `research-brief`:
1. Checkout this repo on the execution host
2. Run this playbook end-to-end
3. Prefer **llm-connect / OpenRouter** for any LLM drafting (Binky lesson: do
not install coding-agent CLIs on railiance01 solely for this)
4. Always post `fi_daily_brief` even if the brief is “no material delta”
5. Idempotency key: do not open a second brief file for the same `date`
Activity definition: `activity-definitions/fi-daily-research-brief.md`
Workplan: `workplans/FI-WP-0002-activity-core-daily-research.md`
Resolver: activity-core state-hub query `fi_brief_status` (implemented 2026-07-24)
### Ops: load this repos definitions
Dev / workstation worker:
```bash
export ACTIVITY_DEFINITION_DIRS=/home/worsch/freedom-intelligence
# then: make sync-activity-definitions (with ACTCORE_DB_URL + stack)
```
Production (railiance): either project
`activity-definitions/fi-daily-research-brief.md` into ConfigMap
`actcore-external-activity-definitions`, or mount a checkout under
`ACTIVITY_DEFINITION_DIRS` (`/etc/activity-core/external-definitions`). Keep
`enabled: false` until FI-WP-0002-T05 dry-run passes.
---
## Quality bar
| Check | Pass |
| ----- | ---- |
| Signal | No filler paragraphs |
| Sources | At least one primary link per non-empty axis row |
| Honesty | Benchmarks marked directional; prices “verify before budget” |
| Collection | License noted for any candidate |
| Length | Prefer one screen to three; deep dives go under `research/` |
---
## First daily after baseline
The baseline survey (2026-07-24) already covers the field. The **first daily**
should only list changes **after** that documents research window. If nothing
moved, a short no-delta brief still completes the rhythm and posts
`fi_daily_brief`.