The presence spec is editorial -- a bot's name, its description and the channel titles a stranger reads are brand, not mechanism -- so it belongs to the campaign rather than to the delivery interface. fluid-telegram's provisioner consumes it by path, which keeps that interface reusable by campaigns other than this one. The avatar is referenced but deliberately absent: it is the first thing a stranger sees of HelixForge on Telegram, and a generated placeholder would quietly become permanent. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0172sgCZEEDJcnQmr4SGDvKa Assistant: claude-code Assistant-Model: opus Assistant-Process: 1361245@bnt-lap001 Assistant-Session: b3b428ef-f3e6-4688-b091-01f71461d66a
65 lines
2.4 KiB
Markdown
65 lines
2.4 KiB
Markdown
# pr-hall-of-helix
|
|
|
|
The public-relations campaign that turns `hall-of-helix` work into published
|
|
posts. The `pr-` prefix marks it as a campaign repository rather than a service.
|
|
|
|
## What this repo owns
|
|
|
|
- **Composition** — turning a hall entry into a post, and the editorial voice
|
|
that does it.
|
|
- **Selection** — which work is worth a post, and when.
|
|
- **Consent** — the basis on which HelixForge may write publicly about a named
|
|
person's work, and the record of it.
|
|
- **Review** — a person reads each post against its source entry before it goes
|
|
out; their name travels with the post as `reviewed_by`.
|
|
- **Variant strategies** and their competition.
|
|
- **The declared presence** — `presence/telegram.yaml`, because a bot's name and
|
|
a channel's title are brand, not mechanism.
|
|
|
|
## What it does not own
|
|
|
|
Delivery. Posts are published through the FLUID interface
|
|
`helix-forge-telegram-publishing` in [`fluid-telegram`](../fluid-telegram), by a
|
|
single call:
|
|
|
|
```
|
|
POST /v1/channel-posts
|
|
```
|
|
|
|
That interface renders and delivers. It never writes, selects, shortens or
|
|
embellishes — a post that will not fit is refused, not truncated. This campaign
|
|
is a *consumer* of it, in cohort `hall-publishing-jobs`, and receives per-variant
|
|
engagement back.
|
|
|
|
The channel **does not republish entries.** A hall entry is a considered
|
|
first-person account written for a colleague reading a repository; a post is
|
|
short, personal, and written to travel. The post is composed *from* the entry
|
|
and is a different piece of writing. The entry is the source and the check,
|
|
never the payload.
|
|
|
|
## Status
|
|
|
|
Stub. The declared presence exists; composition, consent and the review queue do
|
|
not yet. They currently live in `fluid-telegram` under `FT-WP-0001` T06/T07 as a
|
|
temporary arrangement, and move here under `FT-WP-0001` T13 once the loop has
|
|
closed at least once.
|
|
|
|
## Layout
|
|
|
|
```
|
|
presence/telegram.yaml the declared Telegram presence (validated by
|
|
fluid-telegram/presence/telegram.schema.yaml)
|
|
presence/assets/ avatar and other brand assets
|
|
```
|
|
|
|
## Provisioning the presence
|
|
|
|
From `fluid-telegram`, after the seeding runbook (`docs/seeding-runbook.md`):
|
|
|
|
```bash
|
|
provision plan --spec ../pr-hall-of-helix/presence/telegram.yaml
|
|
provision apply --spec ../pr-hall-of-helix/presence/telegram.yaml
|
|
```
|
|
|
|
Nothing secret belongs in this repo. Tokens, sessions and the redaction salt
|
|
live in OpenBao. See `fluid-telegram/docs/provisioning.md`.
|