Assistant: codex Assistant-Model: gpt-6-astra Assistant-Session: 01a09cbd-43c1-79f3-809e-1ee97b40b64d
5.4 KiB
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 A–D 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 after the brief exists on origin/main |
| Hub without git | A fi_daily_brief event with no matching file is a false completion. Run scripts/verify_brief_durability.py. |
Manual procedure
-
Orient
- Read last 1–2 briefs if any; skim baseline § executive snapshot if first week
git pullon freedom-intelligence
-
Scan (
docs/sources-allowlist.md) — 30–60 minutes cap- Capture only items that change capability, cost, access, or operability
-
Draft
mkdir -p briefs/$(date +%Y/%m) cp briefs/_template.md briefs/$(date +%Y/%m)/$(date +%Y-%m-%d).md- Fill front matter (
status: finalwhen done) - Leave empty sections as
*(none)* - Cite primary URLs
- Fill front matter (
-
Collection candidates
- Use inventory field names; set priority
- Do not re-nominate a model already in
inventory/catalog/ - Do not invent parameter counts; cite the model card or mark unverified
- If nominating: add or update
inventory/catalog/{id}.yamlwithstatus: candidateandcollection.brief_refs
-
Lab implications
- Link open workplans (
FI-WP-*) only when action is real
- Link open workplans (
-
Commit and push — brief + any catalog YAML must land on
origin/main. A local-only commit does not complete the day. -
Completion evidence (required for activity-core rhythm)
Post State Hub progress only after origin has the commit:
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 pushed: true origin_sha: "<full sha>"If the brief is written but push fails, post
event_type: executor_runwithok: falsesoduestays true.Workstation API often
http://127.0.0.1:8000; remote tunnel ports per Custodian docs. Seedocs/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:
- Railiance host timer (or manual) runs
rein-aharness fi-research-brief --target-repo ~/freedom-intelligence - llm-connect drafts the brief; harness commits, pushes to origin, then
posts
fi_daily_briefwithpushed=true - Idempotency: one brief file per date on origin; resolver clears
dueonly then. Local commit without push must not cleardue.
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 repo’s definitions
# 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 URL per non-empty axis row |
| Honesty | Benchmarks marked directional; prices “verify before budget”; sizes from the card |
| Collection | License + real size/class; never re-announce a cataloged id as a new release |
| Axes | C and D must be scanned; *(none)* is allowed only after a look |
| 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 document’s research window. If nothing
moved, a short no-delta brief still completes the rhythm and posts
fi_daily_brief.
Durability audit and historical corrections
See the Git-backed audit contract for live-origin verification,
paginated Hub reads, and append-only correction records. --allow-reconciled
explicitly acknowledges the five missing September 7–11 briefs; it never
counts them as successful. Use --require-date YYYY-MM-DD to prove a scheduled
day has a valid published completion. An unavailable Hub/remote fails the audit.