freedom-intelligence/docs/state-hub-delivery.md
tegwick 8bd2e5ff92 Verify brief publication against live origin and record historical gaps
Assistant: codex
Assistant-Model: gpt-6-astra
Assistant-Session: 01a09cbd-43c1-79f3-809e-1ee97b40b64d
2026-09-14 00:37:51 +02:00

87 lines
2.8 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.

# 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 |
## Durability audit and historical corrections
See [the Git-backed audit contract](brief-durability-audit.md) for live-origin verification,
paginated Hub reads, and append-only correction records. `--allow-reconciled`
explicitly acknowledges the five missing September 711 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.