fluid-core/workplans/FLUID-WP-0008-fluid-telegram-handover.md
tegwick 3c2dccf485
Some checks failed
ci / build (push) Has been cancelled
Qualify wait tasks per CUST-WP-0074 (needs_human / depends_on)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: sonnet
Assistant-Process: 101414@bnt-lap001
Assistant-Session: 60b5a221-d435-42b9-b778-983c90c7eed6
2026-09-30 12:49:32 +02:00

4.7 KiB

id type title domain repo status flavor owner topic_slug created updated planning_priority planning_order depends_on related_repos state_hub_workstream_id
FLUID-WP-0008 workplan Handover: HelixForge Telegram identity and hall-of-helix channel infotech fluid-core blocked implementation worsch fluid-core 2026-09-04 2026-09-27 high 7
FLUID-WP-0007
fluid-telegram
helix-forge
hall-of-helix
291005a5-d474-5c94-8abd-819f682dde9f

FLUID-WP-0008 - Handover to fluid-telegram

The point of the whole sequence. Establish a Telegram identity for HelixForge and a channel publishing hall-of-helix entries, as the first real FLUID interface. Outbound-first: agents and publishing jobs are the consumers, Telegram is the backend.

Deliverables land in docs/handover/fluid-telegram.md here and as FT-WP-0001 in the fluid-telegram repository.

T01 - Interface evolution intent

id: FLUID-WP-0008-T01
status: done
priority: high
state_hub_task_id: "e3d08f93-836e-56a8-ae20-4acc699e85ef"

Fill the template for helix-forge-telegram-publishing. Parent intent is helix-forge/INTENT.md. Initial authority mode FLUID-2 (advisory): the Daimon may propose and never generate or promote. Out of scope for now: inbound commands, payments, Mini Apps, moderation. Non-authority: never create Telegram entities, change membership, or touch credentials.

T02 - Bot identity — BLOCKED ON A PERSON

id: FLUID-WP-0008-T02
status: wait
priority: high
needs_human: true
blocking_reason: "Human step: operator registers the bot via BotFather and stores the token in OpenBao."
state_hub_task_id: "9896fee4-c20c-5f49-8428-37c7e221b8cb"

Human step. Register the HelixForge bot via BotFather (Canon BOT-01). Store the token in OpenBao per Canon SEC-04, consistent with HF-WP-0002. The token never enters the repository; the adapter receives only that credential, per Blueprint §28.1 runtime identity.

T03 - Channels — BLOCKED ON A PERSON

id: FLUID-WP-0008-T03
status: wait
priority: high
needs_human: true
blocking_reason: "Human step: operator creates the private test channel, then the public channel."
state_hub_task_id: "bb02bf5b-9d85-5c0d-8b88-9dd67694fb97"

Human step. Create a private test channel first, then the public hall-of-helix channel (Canon PUB-01). Bot is administrator with post rights only. All verification runs against the private channel before anything is published publicly.

T04 - Revision R-1 contract

id: FLUID-WP-0008-T04
status: done
priority: high
state_hub_task_id: "00b2de31-8f84-5478-9489-fedfabf4cd84"

POST /v1/hall-entries (idempotent on entry id) and GET /v1/hall-entries/{id}. OpenAPI plus signed revision descriptor.

T05 - Telegram adapter and connector contract

id: FLUID-WP-0008-T05
status: done
priority: high
state_hub_task_id: "24804694-1581-5d83-a5d4-db46e5af5070"

Map a hall-of-helix/entries/*.md file to a Telegram post. The adapter is a separate process and may be written in whatever suits the platform. Declare the connector capability contract: identity, auth, timeouts, retry, rate limits, error mapping.

T06 - Cohorts, telemetry and redaction

id: FLUID-WP-0008-T06
status: done
priority: high
state_hub_task_id: "231d114a-5f36-53cb-ae81-508566b37d4a"

Subscriber classes and agent consumers as cohorts. Redaction rules that keep Telegram user identity (Canon ID-01) out of the evidence store entirely.

T07 - First competing hypotheses

id: FLUID-WP-0008-T07
status: done
priority: high
state_hub_task_id: "93569266-d282-5c0d-ac72-acbc704d18fd"

Telegram's 4096-character message limit against long-form entries is the first genuine pressure. Two presentation adaptations compete: H-A, teaser plus link back to the hall; H-B, full entry serialized as a multi-part rich post (Canon PUB-02/MED-02). Blueprint §37 argues presentation is the safest and highest-value place to start.

T08 - Live experiment and audit — BLOCKED ON T02, T03 AND SUBSCRIBERS

id: FLUID-WP-0008-T08
status: wait
priority: high
depends_on: [FLUID-WP-0008-T02, FLUID-WP-0008-T03]
blocking_reason: "Needs the bot (T02), the channels (T03) and real subscribers."
state_hub_task_id: "befd476e-3465-51cd-a850-e006d653f322"

R-2 and R-3 implement H-A and H-B. Run the experiment on real subscriber traffic, measure read-through and reaction, and confirm fluid audit trace reconstructs the whole chain. This is the §50 slice on a real workload.

T09 - Runbook and handover package

id: FLUID-WP-0008-T09
status: done
priority: medium
state_hub_task_id: "be0da67f-67d2-5c0d-bd19-0235310b053e"

Token rotation, channel admin recovery, rollback to R-1, and the assembled handover document.