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
This commit is contained in:
tegwick 2026-09-13 22:45:43 +02:00
parent 8832652ad3
commit a78187c33e
18 changed files with 1125 additions and 226 deletions

View file

@ -19,7 +19,8 @@ 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:
Every completed brief day (including “no material delta”) should post
**after the file is on `origin/main`**:
```yaml
event_type: fi_daily_brief
@ -30,11 +31,15 @@ detail:
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`.
(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`.