UCCO Ops — Membership & Outreach Section¶
Architecture Stub Specification¶
SURFACE: ops.ucco.foundation (ucco-ops repo)
CF ACCOUNT: aed3398a4e698767328cc3a9e698721d (FOUNDATION account)
STATUS: ARCHITECTURE CAPTURED — not yet briefed for build
CAPTURED: Session 5 architecture, recorded Session 7
→ TIM¶
This isn't a build brief. This is a record of what we designed in Session 5 for the Membership & Outreach section so it doesn't disappear into the ether. The Broadcast envelope model, the Media Library, the Channels config — all captured here. When we're ready to build it, this becomes the input for a real brief.
→ ALEX (future reference — do not build yet)¶
Section Structure¶
◆ MEMBERSHIP & OUTREACH
├── Overview planned (membership tiers, founding members,
│ contributor registry)
├── Outreach planned (seed letters sent, responses,
│ follow-ups, pipeline)
├── Broadcast planned (compose → authorize → sign →
│ hash → distribute everywhere.
│ Each broadcast is a signed envelope.)
├── Media Library planned (every public statement, video,
│ press release — indexed, hashed,
│ searchable.)
└── Channels planned (YouTube, TikTok, Reddit, GitHub,
X, LinkedIn — connection status,
API keys, posting history)
1. Overview Page¶
Membership overview — founding member count, membership tiers, contributor registry summary, donation pipeline.
Key data points: - Total founding members (count) - Membership tier breakdown - Pending invitations / seed letters in flight - Donation total (when Mercury is live) - Recent membership activity
2. Outreach Page¶
The seed letter pipeline. Every outreach attempt tracked:
- Seed letter template + per-recipient customisation
- Send status (drafted / sent / delivered / opened / responded)
- Follow-up scheduling
- Response tracking (interested / declined / no response / meeting scheduled)
- Pipeline view: how many letters out, how many responses, conversion rate
This is the recruitment funnel for Pioneer → Board → Membership.
3. Broadcast Model (the big one)¶
Concept¶
You compose once. You authorize it — that's a board-level or president-level signature. The system hashes the content, records the authorization, then distributes to every channel simultaneously. Each distribution gets logged with the platform, timestamp, and confirmation.
The result is an immutable communications ledger.
Workflow¶
- Compose — Write the content in ops. Can be text, video link, image, document. Rich editor or markdown.
- Authorize — Board member or president approves for publication. This is a signature event.
- Sign — System generates cryptographic signature of the content. The content hash becomes the canonical identifier.
- Hash — Content hash + authorization signature + timestamp = broadcast record.
- Distribute — System publishes to all configured channels simultaneously. Each platform gets the content adapted to its format (character limits, media requirements, etc.).
- Verify — Public verification URL at
ucco.foundation/verify/{hash}confirms the content, authorization, and distribution manifest.
Broadcast Record Schema¶
Broadcast #0001
Date: 2026-04-15T09:00:00Z
Authorized by: Tim Rignold (President)
Content hash: a3f8c9...
Type: Video announcement — Pioneer Programme launch
Distributed to:
├── YouTube ✓ published 2026-04-15T09:00:02Z
├── TikTok ✓ published 2026-04-15T09:00:04Z
├── Reddit ✓ published 2026-04-15T09:00:03Z
├── GitHub ✓ discussion 2026-04-15T09:00:05Z
├── LinkedIn ✓ published 2026-04-15T09:00:06Z
└── X ✓ published 2026-04-15T09:00:03Z
Chain position: #0001
Previous: genesis
Verify: ucco.foundation/verify/a3f8c9...
Why this matters¶
"Never 'do you remember when you said...' Always 'here is exactly what we said, signed by whom, on this date.'"
A standards foundation lives and dies by its communications integrity. Every public statement should be: - Attributable (who authorized it) - Immutable (content hash proves no tampering) - Verifiable (public URL anyone can check) - Complete (distribution manifest shows where it went)
This is the foundation eating its own dog food — UCCO capability verification applied to its own communications.
Technical requirements (for future brief)¶
- D1 table:
broadcasts(id, content_hash, content_type, content_body, authorized_by, authorized_at, signature, chain_position, previous_hash, created_at) - D1 table:
broadcast_distributions(id, broadcast_id, channel, platform_post_id, status, published_at, error_message) - Platform API integrations: YouTube Data API, TikTok API, Reddit API, GitHub Discussions API (GraphQL), LinkedIn API, X/Twitter API
- Content adaptation layer: format content per platform constraints
- Verification Worker:
ucco.foundation/verify/{hash}— public, no auth required - Signing infrastructure: uses foundation signing keys (to be established)
Complexity note¶
This is a real piece of engineering — six platform API integrations, signing infrastructure, content adaptation, chain integrity. This is NOT a cosmetics task. Dedicated brief required. Estimated: multi-session build.
4. Media Library¶
Every public statement, video, press release, blog post — indexed, hashed, searchable.
Concept¶
A single searchable archive of everything the foundation has ever said publicly. Each item is: - Content-hashed (SHA-256) - Tagged by type (video, text, press release, blog, social post) - Linked to its Broadcast record (if distributed via Broadcast) - Timestamped - Attributed (author/authorizer) - Searchable by content, date, type, author, channel
Use cases¶
- "What did we say about X?" — search, find the exact statement, with provenance
- "When did we announce Y?" — date search with verification link
- Press/media inquiries — point to the canonical source with hash verification
- Legal/compliance — immutable record of all public communications
- Historical archive — the foundation's complete public record from day one
Technical requirements (for future brief)¶
- D1 table:
media_items(id, title, content_type, content_hash, content_url, broadcast_id, author, created_at, tags, searchable_text) - Full-text search on D1 or KV index
- File storage: R2 bucket for media assets (videos, images, PDFs)
- Thumbnail generation for video/image items
- Public-facing archive page (separate from ops — on ucco.foundation itself)
5. Channels¶
Connection status and configuration for each distribution platform.
Per-channel config¶
| Channel | API | Auth Method | Content Types | Character Limit |
|---|---|---|---|---|
| YouTube | Data API v3 | OAuth 2.0 | Video, Community Post | 5000 (description) |
| TikTok | Content Posting API | OAuth 2.0 | Video | 2200 (caption) |
| Reddit API | OAuth 2.0 | Text, Link, Image | 40000 (self post) | |
| GitHub | GraphQL API | PAT | Discussion, Release | No practical limit |
| Marketing API | OAuth 2.0 | Text, Image, Video, Article | 3000 (post) | |
| X/Twitter | X API v2 | OAuth 2.0 | Text, Image, Video | 280 (or 25000 for long-form) |
Ops page shows¶
- Connection status per channel (connected / disconnected / expired / error)
- Last successful post per channel
- API key/token expiry dates
- Rate limit status
- Quick test button (post a test/draft to verify connection)
Note on API costs¶
Most platform APIs are free for posting (you're giving them content). Read/analytics APIs may have costs. YouTube and LinkedIn have the most restrictive OAuth review processes. Plan for 2-4 weeks of API access approval per platform.
Stub Page Content¶
When the Ops Cosmetics Brief (v1) deploys the stub pages for these sections, use these descriptions:
Membership Overview stub¶
Membership overview — founding member registry, membership tiers, donation pipeline, contributor activity. Wired to Mercury API when bank account is live.
Outreach stub¶
Seed letter pipeline — draft, send, track, follow up. Every outreach attempt recorded with response status and conversion tracking. The recruitment funnel for Pioneer → Board → Membership.
Broadcast stub¶
Broadcast system — compose once, authorize, sign, hash, distribute to all channels simultaneously. Every public statement is a signed envelope with an immutable chain position and public verification URL. The foundation eating its own dog food.
Media Library stub¶
Media library — every public statement, video, press release, blog post. Indexed, hashed, searchable. "Never 'do you remember when you said...' Always 'here is exactly what we said, signed by whom, on this date.'"
Channels stub¶
Channel configuration — YouTube, TikTok, Reddit, GitHub Discussions, X, LinkedIn. Connection status, API keys, posting history, rate limits. The distribution infrastructure for Broadcast.
Build Priority¶
This entire section is behind the following in the build queue: 1. Governance docs (CONTRIBUTING.md, LICENSE, CODE_OF_CONDUCT.md) 2. Board member offer packs 3. Seed letters (x10) 4. Foundation incorporation (Kentucky filing) 5. EIN application 6. Mercury bank account
The Outreach page becomes useful the moment seed letters are ready to send. The Broadcast system is a post-launch build. Media Library and Channels follow Broadcast.
Stub specification: UCCO-Membership-Outreach-Architecture-v1 Author: Pace (Claude, Anthropic) Captured: 15 March 2026, Session 7 Source: Session 5 architecture discussion Status: Architecture recorded. Not yet briefed for build.