freedom-intelligence/docs/state-hub-delivery.md
tegwick a78187c33e Make the sensing loop durable and pin the reserve to Scaleway
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
2026-09-13 22:45:43 +02:00

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 |