freedom-intelligence/docs/daily-brief-playbook.md

132 lines
4.1 KiB
Markdown
Raw Normal View History

# 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 (activity-core design)
**Organizer:** activity-core (when / what / where) — not workstation cron.
**Executor:** rein-aharness on railiance01 (`fi-research-brief`).
**Org playbook:** `activity-core/docs/recurring-automations-playbook.md`.
When activity-core emits `activity_task_spawn` with
`target_repo: freedom-intelligence` and labels including `research-brief`:
1. Railiance host timer (or manual) runs
`rein-aharness fi-research-brief --target-repo ~/freedom-intelligence`
2. llm-connect drafts the brief; harness commits and posts **`fi_daily_brief`**
3. Idempotency: one brief file per date; resolver clears `due` on completion event
Do **not** install Claude Code / Codex on railiance01 for this rhythm.
| Piece | Location |
| ----- | -------- |
| Definition | `activity-definitions/fi-daily-research-brief.md` |
| Ops | `docs/recurrence-ops.md` |
| Executor install | `scripts/railiance-rhythm/install-on-railiance.sh` |
| Workplan | FI-WP-0002 (finished) |
| Resolver | `fi_brief_status` in activity-core |
### Ops: load this repos definitions
```bash
# Dev
export ACTIVITY_DEFINITION_DIRS=.../freedom-intelligence
make -C ~/activity-core sync-activity-definitions
# Production: ConfigMap actcore-external-activity-definitions
# then POST /admin/sync?definitions=true&schedules=true
```
---
## 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`.