Skip to content

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 → AUTHORIZE → SIGN → HASH → DISTRIBUTE → VERIFY
  1. Compose — Write the content in ops. Can be text, video link, image, document. Rich editor or markdown.
  2. Authorize — Board member or president approves for publication. This is a signature event.
  3. Sign — System generates cryptographic signature of the content. The content hash becomes the canonical identifier.
  4. Hash — Content hash + authorization signature + timestamp = broadcast record.
  5. Distribute — System publishes to all configured channels simultaneously. Each platform gets the content adapted to its format (character limits, media requirements, etc.).
  6. 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 Reddit API OAuth 2.0 Text, Link, Image 40000 (self post)
GitHub GraphQL API PAT Discussion, Release No practical limit
LinkedIn 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.