The weekday brief only counts when the file is on origin/main. Hub events without git objects are failures. The open-weight SoT moves from the VAULT 850 GiB quota to a dedicated Scaleway bucket (One Zone IA for R, Glacier for S) so V4-Flash and K3 are economically in-scope. Catalogs the real DeepSeek-V4-Flash-0731 (MIT ~167 GiB MoE, not 12B) and nominates Qwen3.8-27B. Bucket create remains FI-WP-0004-T08. Assistant: grok Assistant-Session: 01a09c6a-1cfc-75b1-a78d-c13eaf22241d
79 lines
2.4 KiB
Markdown
79 lines
2.4 KiB
Markdown
# State Hub / operator delivery
|
|
|
|
**Status:** contract defined; optional distribution not fully wired
|
|
**Related:** `docs/daily-brief-playbook.md`, `workplans/FI-WP-0002-activity-core-daily-research.md`
|
|
|
|
## Repo registration
|
|
|
|
| Field | Value |
|
|
| ----- | ----- |
|
|
| Hub domain | **agents** |
|
|
| Repo slug | `freedom-intelligence` |
|
|
| Classification | `.repo-classification.yaml` (primary `agents`, secondary `infotech`) |
|
|
| Sync | `statehub fix-consistency --repo freedom-intelligence` after workplan edits |
|
|
|
|
Workplans live in git; the hub indexes them after registration + fix-consistency.
|
|
Do not create workplans via hub `create_workplan` APIs.
|
|
|
|
---
|
|
|
|
## Required: completion evidence for daily rhythm
|
|
|
|
Every completed brief day (including “no material delta”) should post
|
|
**after the file is on `origin/main`**:
|
|
|
|
```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
|
|
pushed: true
|
|
origin_sha: "<full sha>"
|
|
```
|
|
|
|
This is the **idempotence signal** for activity-core context query
|
|
`fi_brief_status` (FI-WP-0002-T03): `due=false` when an event exists for today
|
|
(Europe/Berlin) with `detail.repo=freedom-intelligence` **and**
|
|
`detail.pushed=true`. A hub event without a git file is a false completion
|
|
(`scripts/verify_brief_durability.py`).
|
|
|
|
Inbound automation uses `activity_task_spawn` from activity-core (state-hub sink).
|
|
See `activity-core/docs/task-emission-consumer-contract.md`.
|
|
|
|
---
|
|
|
|
## Optional: operator visibility
|
|
|
|
| Channel | Use |
|
|
| ------- | --- |
|
|
| **Progress event** (above) | Minimum — always for automation health |
|
|
| **Inbox message** | Only when high-priority collection candidates appear |
|
|
| **Wiki / Nextcloud** | Optional human mirror later |
|
|
|
|
---
|
|
|
|
## Non-goals
|
|
|
|
* Freedom Intelligence is **not** required to be a full State Hub domain yet
|
|
* Do not use `ISSUE_SINK_TYPE=rest` / Forgejo issues for this rhythm
|
|
* Do not register workplans by hand in the hub (`fix-consistency` after commit)
|
|
|
|
---
|
|
|
|
## Fallback without MCP
|
|
|
|
HTTP against State Hub API (workstation `http://127.0.0.1:8000` or remote
|
|
tunnel ports). Check health before declaring hub down.
|
|
|
|
---
|
|
|
|
## Pin log
|
|
|
|
| Date | Change |
|
|
| ---- | ------ |
|
|
| 2026-07-23 | Stub created |
|
|
| 2026-07-24 | `fi_daily_brief` contract + activity-core linkage documented |
|