Publishing Distribution System Guide

Task 64 promotes distribution into a first-class platform domain rather than treating guest access as ad hoc query-string links.

1 min read

Purpose

Task 64 promotes distribution into a first-class platform domain rather than treating guest access as ad hoc query-string links.

The implemented system now owns:

  • secure hashed access tokens
  • redirect-based entry links for guest-facing distribution
  • QR-safe reusable access artifacts for publishing outputs
  • planner-visible distribution records, campaigns, and event tracking
  • revoke and regenerate lifecycle controls
  • campaign send orchestration through the communications runtime

Runtime shape

  • distribution stores access artifacts and lifecycle state.
  • distribution_campaigns stores planner-managed outbound batches.
  • distribution_events stores sent/opened/clicked/resolved/completed and lifecycle events.
  • guestAccessRepository is now a compatibility adapter over the distribution repository so existing guest flows keep working while the platform shifts to the new domain.

Entry flow

Guest-facing artifacts now point to:

  • GET /v1/distribution/access/:token

That endpoint:

  • resolves the hashed token
  • records a clicked event
  • redirects into {occasion_slug}.tov.plus with the raw guest token for the current guest app contract
  • returns a generic user-facing unavailable page for invalid, expired, or revoked links

Planner surface

The planner publishing page now includes:

  • campaign creation
  • campaign send actions
  • active distribution visibility
  • revoke/regenerate token controls
  • recent distribution event history

Event model

The implementation records:

  • sent when campaign or notification delivery is queued
  • clicked on distribution redirect entry
  • resolved on secure token resolution in guest flows
  • opened on guest bootstrap load
  • completed on guest RSVP submission
  • revoked and regenerated on lifecycle actions