> ## Documentation Index
> Fetch the complete documentation index at: https://docs.socialglass.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Changelog

> Product updates, release notes, and announcements from Social Glass.

Track product updates and release notes from Social Glass.

Subscribe via [RSS](/changelog/rss.xml).

<Update label="2026-10-07" description="Brand logos and a clearer brand breakdown on creators">
  **Brand partnerships** on a creator's profile now shows each brand's real logo, filled in automatically from the brand's official website (brands we can't confidently match keep their initial). Each brand shows how the creator posted it, such as "2 paid · 5 organic", and when they last did, such as "3 weeks ago". Click a brand to see that creator's posts featuring it.
</Update>

<Update label="2026-10-07" description="List editing through AI tools">
  AI tools edit Lists directly and retain their saved order, notes, and revision history. Publishing a List is a separate admin action that names its exact working revision. Audiences remain context for selections of Insights, Creators, and Posts.
</Update>

<Update label="2026-10-06" description="Find similar for everyone, and one-click Add to list">
  **Find similar** is on every post, creator, Insight and Audience menu for everyone, including viewers of a public dashboard. It searches only what that viewer can already see.

  **Add to dashboard** is now **Add to list**. When something fits one list, it's a single click, such as **Add to Interesting Posts**; when it fits several, you pick one. Admins can add from any page, and remove an item while viewing that list. Lists are edited on the **Lists** page, so dashboard tabs show them read-only. Archived lists no longer appear on the Lists page.
</Update>

<Update label="2026-10-06" description="Safer survey answer identities">
  Survey editors catch conflicting choice identifiers before saving. Imported responses reject duplicate answers for the same shared question, protecting existing responses from accidental overwrites.
</Update>

<Update label="2026-10-06" description="Saved views on every list">
  **Posts**, **Personas**, **Projects** and **Reports** now have saved views, like **Creators** and **Insights**: save the current filters, sort and search as a named view, shared with your team or kept for yourself.
</Update>

<Update label="2026-10-06" description="Clearer MCP tool errors; Insight merges">
  When a Social Glass MCP tool refuses a request, the connected assistant now gets the reason and a code such as `VALIDATION_FAILED` or `NOT_FOUND`, instead of a generic "please try again". Only unexpected failures still return the generic message with an error ID.

  `update_insight` can now propose merging duplicate Insights into one without any other edit. The merge waits for review as before.
</Update>

<Update label="2026-10-06" description="Redesigned creator profiles">
  Creator profiles lead with who the creator is and the numbers that matter: location, age and pronouns when known, language, brand safety, interests, total followers, typical views and how often they work with brands.

  Their posts sit in one row, followed by **Brand partnerships**, which flags whether any of your brands appear in their posts. The side panel lists every account with its followers, their link-in-bio pages and links, and any brand safety risks. **Contact** shows their email and phone, including on shared links. Similar creators and insights close out the page.

  **Creators** opens on all creators, most submissions first. Cards keep accounts and brand safety on one row with interests below, and clicking a card opens a preview of their posts before the full profile.
</Update>

<Update label="2026-10-06" description="Creators opens on Hand-picked; Find Similar fixes">
  **Creators** now opens on your organization's **Hand-picked** list when it has one. Cards show just the platform logo when a follower count isn't known, and the brand safety rating only opens a details card when there are risks to explain.

  **Find Similar** on a creator now works for creators hand-picked from outside your organization's submissions.
</Update>

<Update label="2026-10-05" description="Richer creator cards and filter chips">
  Creator cards now show where a creator is based, their language when it isn't English, every platform with its follower count, their brand safety rating, and their interests. Hover the brand safety rating to see each risk, how severe it is, and why. Cards no longer spill past the screen on phones.

  Active filters on every list appear as chips under the toolbar. Click a chip's value to change it, × to remove it, or **Clear** to remove them all. On **Creators** and **Insights**, **Save** keeps the current filters as a view.
</Update>

<Update label="2026-10-05" description="Optional links in survey texts">
  Survey blasts keep the message you write without adding a survey URL by default. Enable **Append survey link** in Settings, or place `{surveyLink}` in your message, when you want a personalized survey link. Message previews and SMS cost estimates use the same setting as delivery.
</Update>

<Update label="2026-10-05" description="Reliable audience selection and survey texts">
  Survey texts calculate recipients from their saved screening audience. **Select all matching** on People keeps the filter and unchecked users without loading every profile, and larger selected groups use the same paginated review. Recipient review keeps consent, screening, completed responses, and duplicate-phone exclusions.

  People CSV downloads verify the complete response before saving a file, so an interrupted export shows an error instead of producing a partial download.
</Update>

<Update label="2026-10-04" description="Rich text in proposed Insight edits">
  Proposed text keeps the same lists, formatting, and evidence hover previews as the rest of an Insight. Changed words and citation destinations remain highlighted, and current or proposed text opens in the shared rich-text editor.
</Update>

<Update label="2026-10-05" description="TikTok search activity in data exports">
  * TikTok uploads retain search terms and dates alongside engagement history for activity summaries. Messages, contact details, and private media remain excluded from the supported export selection.
</Update>

<Update label="2026-10-04" description="Live is the only published status">
  Status filters, saved links, Chat and MCP now accept only `live` for published Insights, Audiences, Projects, Reports and Tags. Links or agent requests that still say `approved` no longer filter to Live; use `live` instead.
</Update>

<Update label="2026-10-04" description="Saved views on Creators and Insights">
  Save the filters, sort and search you are looking at on **Creators** or **Insights** as a named view from the bookmark button in the toolbar. Views are shared with your organization by default; turn off **Share with your organization** to keep one to yourself. Choosing a view applies it in place. The person who saved a view, or an admin, can rename or delete it.
</Update>

<Update label="2026-10-04" description="Filter Creators by country, state or city">
  The Creators **Location** filter is now one searchable list of places: countries, US states, and the most common creator cities, most creators first. Pick any mix and a creator in any of them is listed. Spelling variants of a city count as one place, so "NYC", "New York" and "New York City" are the same city, and same-named cities stay apart (London, United Kingdom is not London, Canada). **Outside the US** still works, and links that used the old United States option keep opening the same list. Chat's creator search takes the same places.
</Update>

<Update label="2026-10-04" description="Create or connect Typeform surveys">
  Admins can choose **Typeform** in **Surveys → New survey** to create a form or connect an existing one to an organization. Social Glass installs its signed webhook automatically; questions are authored in Typeform and synced into the survey.

  Personalized invitations and mapped email or phone fields link responses to existing people. Conflicting or unmatched responses remain attached to the survey without changing accounts. **Import past responses** brings earlier submissions in batches of 25, while the connection section shows sync and import status.
</Update>

<Update label="2026-10-04" description="Independent Lists and Insight Refresh evals">
  Organization **Lists** now edit and publish their selections independently, with immutable version history and editable agent proposals. Legacy dashboard selections retain their order, notes and published editions in Lists. **Automatic updates** sets each item's cadence and whether to propose changes or apply them automatically; newly initialized policies start paused.

  Admins can bolster an Insight with supporting and contrasting evidence, then review its rewrite and organization analysis. **Insight Refresh** and **List Ranking** at **AI Evals** compare two model or prompt variants against complete frozen cases, with side-by-side review, saved results and session export. Eval runs leave product content unchanged. Creator Enrichment keeps its existing engine.
</Update>

<Update label="2026-10-04" description="A simpler survey editing workspace">
  The question outline uses the shared list/detail layout. **+** now offers **Create new** or **Choose existing**, with question type and required controls above the editable question. Settings align consistently, external links have their own field, and desktop/mobile Preview uses the standard tabs. Extra page spacing and unnecessary preview and blast empty-state copy are removed.
</Update>

<Update label="2026-10-04" description="Clearer creator filters">
  The Creators filter menu is easier to scan: every filter has an icon, and filters are grouped into **Reach**, **Who they are**, **Brand** and **Creator type**. Type in **Filter by…** to find a filter by name. **Our brand** is a checkbox in the menu itself.

  **Account type**, **Role** and **On camera** are now available to everyone, as filters and on each creator's profile. The search box on every list stays a readable width, and the Creators search box shows what you can search for: a name, an @handle, or a description of the creators you want.
</Update>

<Update label="2026-10-03" description="Build and preview surveys on one page">
  Admins can edit questions and answer choices directly in the survey builder, reuse shared questions, and create new ones without leaving the survey. **Questions**, **Settings**, and **Preview** keep the page focused. Preview uses the respondent form with temporary answers and desktop or mobile views.

  Survey and question drafts share **Save survey** and **Discard**. When wording changes, saving asks whether to update the shared question or create a new one; answer-type and choice-identity changes preserve the original by creating a new question. Editing an archived question also creates a new question. Signed-in respondents can confirm or update compatible previous answers shown with their original date. Questions belonging to an external form are managed with that form's provider.

  Connected Tally forms retain provider question and choice identities. Submissions are queued before acknowledgement and retried after temporary failures; provider wording and order changes refresh imported definitions.
</Update>

<Update label="2026-10-03" description="Chat and MCP can use your applied browse view">
  Chat searches the same filters, search mode and ordering as the matching page you have open, using normal result limits. You can ask for just the loaded cards or start a fresh search. MCP can use a tab and revision chosen from your active app context; changed or unavailable tabs ask you to choose again.

  Audience search now supports Project versus Screening purpose. Removed organization Insights leave the dashboard's chat context at the same time as the grid. The existing Audience pilot's evidence controls also use the shared search contract.
</Update>

<Update label="2026-10-03" description="One payout Queue with Add payment and Mark paid">
  * The Payouts page is now just the **Queue**. The Prompt Completion, Data Exports, Streak Bonuses, Bonus and Surveys tabs are gone, and the Referrals page's payout controls moved here.
  * **Add payment** adds what people are owed for any payout type: choose the type and its scope, then review one list. People the payout rules say are owed start selected; overrides and bonus recipients are your choice. Completed Prompt weeks the automatic pass missed can be added from **Prompt Completion**.
  * Tick **Already paid outside PayPal** to record the selected payments as paid in the same step, with the paid date, a reason and an optional reference.
  * **Mark paid** on a Queue row, or for the selected recipients, records queued payouts as paid outside PayPal. Nothing is sent. A Prompt Completion payout is marked as a whole.
  * Filter the Queue by any payout type. **History** below the Queue follows the same filters, and the payment sheet and payout defaults are in the toolbar menu.
</Update>

<Update label="2026-10-03" description="Data Exports admin analysis">
  **Data Exports** now sits below Prompts in the admin sidebar and shows how recurring scroll-history uploads are doing. Choose the last 7, 30 or 90 days to see a Funnel from opened to uploaded, progress Over time, and daily upload Volume split into first and repeat uploads. Stats cover senders paid, missing payouts, text delivery, repeat rate, participants stuck after starting the guide, time to upload, and posts extracted. The participant table shows each person's current cycle, payout and latest text status, with views for each status and a Stuck view.
</Update>

<Update label="2026-10-03" description="Curated Lists retain their edit history">
  Curated Lists now save revision history, including their order, notes, name, and rationale. Chat and MCP can inspect revisions, compare additions and removals, reordering and note changes, or restore an earlier selection as a new draft. Restoring checks current access and preserves the published dashboard until you publish again.

  Existing Lists retain their current state as a baseline when next edited; earlier unpublished edits cannot be recovered. Revisions record the editor and known source of each change, with an optional explanation.
</Update>

<Update label="2026-10-02" description="Survey details have their own page">
  Editing a survey now opens a full page you can bookmark or refresh. **Check this person's access** explains whether an email's account can discover the saved survey, matches its Screening Audience, can complete it, and is eligible for a text. When another administrator changes the same survey, **Review latest changes** preserves your draft, combines independent edits, and asks you to choose between overlapping edits before saving.

  Surveys show accepted, delivered, pending and undelivered text counts using the same delivery summary as the blast dialog. Calculating a saved Audience reads its indexed members in batches, and closing or changing the blast dialog cancels an unfinished calculation. Audience filter edits now ask you to save or discard before leaving.
</Update>

<Update label="2026-10-02" description="The published status is called Live everywhere">
  Insights, Audiences, Projects, Reports and Tags now use one word for the published status: **Live**. Status filters, checklists and downloads that read Approved or Accepted now read Live, and **Publish** is what makes an item Live. Chat, MCP and saved links accept `live` as the status; links and agent requests that still say `approved` keep working.
</Update>

<Update label="2026-10-02" description="Send a text blast from a survey">
  The admin Surveys page offers one **Send blast** action above the table. Choose a survey, calculate its eligible audience, and review the message before confirming. Audience calculation on Surveys and People now runs in background batches, so large audiences do not need to load in one request. Review and send use the same prepared recipient list; delivery rechecks consent and survey eligibility.

  Survey save errors now appear inside the editor and the **Save survey changes?** dialog. If someone changed the survey after you opened it, the editor preserves your draft and explains why the save was rejected.
</Update>

<Update label="2026-10-02" description="Choose an Audience's purpose">
  When creating an Audience, choose **Project Audience** for Prompt and project eligibility or **Screening Audience** for survey eligibility. Admins can change an existing Audience's purpose from its details and save it with their other edits. The Audience browser now switches between Project and Screening Audiences. Audiences used as an organization's default, by Prompts, or by surveys must be unlinked before changing to an incompatible purpose.
</Update>

<Update label="2026-10-02" description="Review agent changes to Reports">
  Reports that chat or MCP creates start as Drafts, which members of the Report's organization and admins can see and publish; signed-out readers see Live Reports only. When an agent edits a Live Report, the change waits in Review instead of appearing immediately. An admin or a member of the Report's organization can approve or reject it there, and add a reason when rejecting. Report menus now offer Publish, Reject, Move to draft, Archive, Restore, and Delete to people who can edit the Report. Edits you make yourself still apply immediately.
</Update>

<Update label="2026-10-02" description="Remove a Global Insight from your organization">
  A Global Insight linked to your organization now offers **Remove** in its menu. After you confirm, it leaves your organization's Relevant Insights and dashboard lists, and your organization's own analysis of it is removed too. The Global Insight stays the same for everyone else. Private Insights are edited or deleted instead.
</Update>

<Update label="2026-10-02" description="Bulk actions match the item menus">
  When several items are selected, **More actions** now offers the same actions as each item's own menu: Add to dashboard, Add to project and Add to insight use the searchable pickers (create a Project or Insight by typing its name), plus Copy as text and, for Posts, Download media. An action appears only when it applies to every selected item.
</Update>

<Update label="2026-10-02" description="Curated Lists for the Audience pilot">
  Chat and MCP can save ordered Lists with a note explaining each selection. The existing admin Audience pilot has Recommended and Explore views for Insights and Creators, with the same saved Insight selection on Home. List edits remain drafts until the dashboard is published. Automatic refresh and ranking are not enabled by this update.
</Update>

<Update label="2026-10-02" description="Recover unreadable iPhone shares in the internal pilot">
  The iPhone share extension reads additional link formats from other apps and tries text when a URL representation fails. If it still cannot read the share, paste the copied post link directly in the share sheet and continue to prompt selection.
</Update>

<Update label="2026-10-02" description="Data exports use global opportunities">
  New data exports use global export opportunities. Legacy data export Prompts no longer accept participants or send recruitment and request reminders. Historical upload and payout records remain available to admins.
</Update>

<Update label="2026-10-01" description="Sender signup stays focused">
  Required sender profile completion hides app navigation. Location lookup explains permission and timeout failures and allows retry. Sender home offers a way to enable opportunity reminders, including a Text START action for people who previously stopped messages.
</Update>

<Update label="2026-10-01" description="Phone verification opens without waiting">
  The sender onboarding preview opens the code screen immediately after you request a code. It shows when sending is still in progress, enables code entry after confirmation, and preserves your number if you need to retry.
</Update>

<Update label="2026-10-01" description="Create and update Reports through MCP">
  Social Glass MCP can create standalone Reports and update their title, summary, Markdown body, and dates. Organization members can write Reports in their own organizations; Global Reports require an admin. Reports are Live immediately and may appear on public pages. These tools do not edit Dashboard Report Views of Projects.
</Update>

<Update label="2026-10-01" description="Search keeps your text after loading">
  Search becomes available once the page can handle your input, preventing text from being discarded during initial loading.
</Update>

<Update label="2026-10-01" description="Audience match comparison in admin testing">
  The selected Audience pilot can compare Insights by supporting people or Post evidence, show how many members have data, and filter by a minimum observed match percentage. This remains a scoped admin pilot.
</Update>

<Update label="2026-10-01" description="Paid rows stay in place on the payout Queue">
  * On the **Queue** tab of `/admin/payouts`, a row you pay keeps its place. It shows **Processing** while PayPal handles it and **Paid** once PayPal confirms, usually within a few minutes. Paid rows leave the Queue when you reload the page.
  * After you pay, the message says how many payouts were sent and for how much, and names any that still need payment information or review.
</Update>

<Update label="2026-10-01" description="iPhone sender app in internal TestFlight testing">
  The iPhone app opens directly into phone verification and uses the same Social Glass account, jobs, earnings, and submission history as the website. Senders can share a post through the iOS share sheet or enter its link in a job. This remains an internal TestFlight pilot; remote reminders are not connected yet.

  Home keeps the mobile website’s branding and content order, with Apple’s native tab bar, forms, and controls, including Liquid Glass on supported iOS versions. Job drafts stay in place when switching tabs. Senders can edit their profile and payout destination, apply for projects, browse all jobs, and upload scroll-history activity inside the app.

  Profile fields now edit directly on the Profile page. Save without leaving the page, expand multiple-choice fields in place, and verify a new phone number there. Unsaved edits stay in place when switching tabs. Date of Birth is a single date field, ethnicity uses a checkmark selection list, and payment fields show the relevant placeholder without a duplicate label. Consent switches remain recognizable in dark mode.

  The native sign-in screen is exclusively for senders and submitters; the Client sign-in link has been removed. Verified profile identity changes sync before finishing. Separate project survey links open in an in-app sheet; export uploads reject empty or mixed-account activity and retain authorization when a connection fails.
</Update>

<Update label="2026-09-30" description="Phone-first sender onboarding is available for review">
  * The review link `/submit?senderOnboarding=1` uses phone verification for sender signup and sign-in, while client sign-in keeps the standard Clerk experience.
  * New senders choose whether to receive recurring opportunity texts and accept the Terms separately. Either text preference allows signup; recurring messages require consent and respect STOP.
  * The ordinary `/submit` entry remains unchanged during this review rollout.
</Update>

<Update label="2026-09-30" description="Prompt Completion overrides and outside payments go through the payout queue">
  * On the Prompt Completion payouts tab, **Add override to payout queue** records a near-target sender's week as a manual override; it is paid from the **Queue** tab, where it is labeled with its reason, and is never sent automatically.
  * **Record paid outside PayPal** records exactly the reviewed prompt weeks with the paid date (within the last 31 days) and a reason, whether they are new or already in the payout queue. A queued payout that also covers other weeks can't be partly recorded.
  * The tab no longer sends money. Prompts that were never added to the payout queue are reviewed and admitted first, then paid from the queue.
</Update>

<Update label="2026-09-30" description="Referral payouts go through the payout queue">
  * On the Referrals page, **Add to queue** records what the referrer is owed for each qualified referral; payments are then sent from the **Queue** tab, one confirmation and one payout text per referrer.
  * Referrers without valid payment details are recorded and shown as blocked instead of being skipped.
  * Adding the same referral again after an error keeps what was already recorded, and a referral already paid under the page's organization rules is never paid twice.
  * **Record paid** records a referral paid outside PayPal in one step, with the paid date (within the last 31 days) and a reason.
  * Data export referral bonuses stay separate: they are paid automatically and never count as, or block, the referral payout.
</Update>

<Update label="2026-09-30" description="Streak bonuses go through the payout queue">
  * On the Streak Bonuses payouts tab, **Add to payout queue** records the streak bonus each sender is owed; payments are then sent from the **Queue** tab, one confirmation per organization.
  * Each sender shows whether their latest streak window is in the payout queue or paid, and a window already recorded is never offered or recorded again, even while its payment is still being sent or after a failed send.
  * Senders without valid payment details are recorded and shown as blocked instead of being skipped.
  * **Record paid outside PayPal** records new and queued streak bonuses in one step, with the paid date (within the last 31 days) and a reason.
</Update>

<Update label="2026-09-30" description="Bonus payouts go through the payout queue">
  * On the Bonus payouts tab, **Add to payout queue** records what each selected recipient is owed; payments are then sent from the **Queue** tab, one confirmation per organization and prompt.
  * Recipients without valid payment details can be selected and are recorded as blocked instead of being skipped.
  * Submitting the same bonus again after an error keeps what was already recorded instead of recording the bonus twice.
  * **Record paid outside PayPal** records the bonus in one step, with who recorded it, the paid date (within the last 31 days) and a reason.
</Update>

<Update label="2026-09-30" description="Simpler accounting payment reports">
  Weekly payment attachments now contain 12 accounting columns, with a payment date and **prompt** for regular Prompt payments. Payments with unknown paid dates and payments still awaiting completion stay out of the accounting attachment. The email keeps the current outstanding balance.
</Update>

<Update label="2026-09-30" description="MCP 2.0 compatibility">
  Social Glass supports MCP 2.0 discovery and independent tool requests, with private caching of tool catalogs. Existing MCP connections continue to work. Organization permissions and the separate admin tools retain their current access rules.
</Update>

<Update label="2026-09-30" description="Data export payouts go through the payout queue">
  * On the Data Exports payouts tab, **Add to payout queue** records the base payout each accepted export is owed; payments are then sent from the **Queue** tab, one confirmation per prompt. Referral bonuses are not included.
  * Exporters without valid payment details are recorded and shown as blocked instead of being skipped.
  * **Record paid outside PayPal** records the payment in one step, with the paid date (within the last 31 days) and a reason.
  * A second export in the same prompt period is covered by that period's existing payout, so it is never paid twice.
</Update>

<Update label="2026-09-30" description="Searchable Add to project, insight and dashboard menus">
  The **Add to project**, **Add to insight** and **Add to dashboard** menus now have a search field and a scrolling list, so long lists stay on screen. Type a name that doesn't exist yet to create a Project or Insight from the same field. On Insights and Projects, the download items now read **Download** and **Download media**.
</Update>

<Update label="2026-09-30" description="Survey payouts go through the payout queue">
  * On the Surveys payouts tab, **Add to payout queue** records what each completed responder is owed; payments are then sent from the **Queue** tab, one confirmation per survey.
  * Responders without valid payment details are recorded and shown as blocked instead of being skipped, so nobody is dropped.
  * **Record paid outside PayPal** records the payment in one step, with who recorded it, the paid date (within the last 31 days) and a reason.
  * Payment sheets list payouts by the date they were actually paid.
</Update>

<Update label="2026-09-30" description="Project cleanup and organization analysis">
  Project editors can remove linked Insights directly from Project cards and report previews. Organization analysis appears by default for signed-in admins, with a Show organization analysis control when it is hidden. Agent-requested Project changes continue to wait for review.
</Update>

<Update label="2026-09-30" description="One rich text editor everywhere you write">
  Every editable text field, including Insight analysis, Persona descriptions and Report bodies, now opens the same rich text editor for everyone. Format with the floating toolbar or Markdown shortcuts, type `/` for headings and lists (and cards in Reports), and type `@` to mention an Insight, Persona, Creator, Post, Project or Report. Pasting a Post link offers to turn it into a mention or, in Reports, an embedded card. The classic plain-text editor and its settings toggle are gone.
</Update>

<Update label="2026-09-30" description="AI costs in PostHog">
  * Admin chat and AI evaluations now link to PostHog for AI costs. Previously saved estimates stay visible as historical estimates.
</Update>

<Update label="2026-09-30" description="Account details and pronouns on Creator pages">
  * A Creator page's new **Accounts** section shows what each account's public profile reports: business email, phone, and address, pronouns, bio mentions, hashtags and links, related accounts, platform flags such as Threads, and when the account was created.
  * Creators show their pronouns beside gender when they state them.
  * Agent and MCP creator results include the same account details and pronouns.
</Update>

<Update label="2026-09-30" description="Insight review layout and single-step publishing (limited preview)">
  Organization analysis review now uses the regular Insight layout, inline changes, and the shared accept/reject controls. For new Insights with proposed changes, **Apply & publish** settles the reviewed changes and publishes the Insight together, without returning it to the queue for a second approval. This remains a limited admin preview.

  Admins can edit the main narrative during analysis-only review and revise proposed organization text before applying it. Organization text edits stay staged, and long analysis headings no longer fade or crop. The review-count button uses a ghost style and jumps to the first unresolved change.
</Update>

<Update label="2026-09-29" description="Clearer survey questions and validation">
  Surveys show your question number and whether an answer is required or optional. Moving between questions focuses the answer control, and missing required answers show linked feedback. Each step has one clear forward action. Invite surveys show loading while checking the link.
</Update>

<Update label="2026-09-29" description="Separate submissions from export activity in agent searches">
  Agent and MCP Post searches can select **Submissions** or **Data uploads** with `filters.postSource`. The filter works with Audiences and date ranges; export dates describe historical activity, not when the archive was uploaded. Leave it unset to search both sources.
</Update>

<Update label="2026-09-29" description="Organization memories and flexible Insight analysis">
  * Admins can view, add, edit, and remove AI memories on the organization details page.
  * Organization instructions now show six clearly separated sections with visible guidance. **Output format** explains how to shape the organization-specific Insight analysis.
  * Organization analyses display and edit one freeform Markdown document. Legacy structured fields remain stored for reformatting and review history, but no longer appear alongside the document.
</Update>

<Update label="2026-09-29" description="Your organization's Insight analysis and the Audience state map for everyone">
  * Everyone viewing an organization's Insights, including shared public dashboards, now sees that organization's approved analysis on the Insight page.
  * Audience demographic previews now include a **State** map showing each state's share of the audience. Small audiences stay hidden as before.
</Update>

<Update label="2026-09-25" description="Search, sort and filter Reports">
  * The Reports page has a search box, a sort (Date, Updated, Created, or Relevant while searching) and a Date filter, and it lists every Report instead of the newest 500. Admins can also filter by status.
  * Agent and MCP `search_reports` take the same `sort` and a `filters` object (`statuses`, `dateRange`), and keyword search now finds matching Reports anywhere in the list, not only among the newest ones.
</Update>

<Update label="2026-09-25" description="Shareable Creators filters, and the same filters for agents">
  * Every Creators filter and the sort now live in the page link, so a shared link opens the same filtered list.
  * Agents and MCP clients search Creators with the dashboard's filters: `search_creators` takes a nested `filters` object (platforms, followers, submissions, location, language, gender, brand safety, interests, and "Our brand") and sorts by `recent`, `followers` or `submissions`. The old top-level `platforms` and `dateRange` parameters and the `score` sort are gone.
</Update>

<Update label="2026-09-25" description="Insights filters in the link, and agents browse Insights like the dashboard">
  * Insight filters now live in the page link, so a shared link opens the same list. Admins get a **Created** date filter, and **Status** becomes a checklist that shows Accepted and Proposed checked by default, with a one-click **All statuses**. The admin-only Form filter is gone.
  * Agents and MCP clients browse Insights with the dashboard's views, sorts and filters. `search_insights` takes `view` (`relevant`, `global` or `team`), `sort` (`relevant`, `created`, `updates` or `score`; `recent` is now `updates`) and a nested `filters` object with `statuses`, `dateRange` (when the Insight was created) and `personas` (the Audience lens). The old top-level `statuses`, `dateRange` and `audienceFilter` parameters are gone.
</Update>

<Update label="2026-09-25" description="Personas list: multi-status filter, created date and relevance">
  * The Personas filters menu takes several **Statuses** at once and adds a **Created** date range. **Archived** is offered to admins only. With no status chosen, the list shows approved and draft Personas; Global Personas show approved ones only for members.
  * Searching Personas keeps your sort (Name, Created or Updated) and matches words as you type; choose **Relevant** to rank by match instead. The list pages instead of loading every Persona at once.
  * Agents and MCP clients list Personas the same way: `list_personas` takes `searchTerm` or `semanticQuery`, `sort` (`relevant`, `name`, `created`, `updated`) and a nested `filters` object with `statuses` and `dateRange`. The old `statuses`, `dateRange` and `score` sort are gone.
</Update>

<Update label="2026-09-25" description="Search, sort and filter Projects">
  * The Projects list gets the same toolbar as Posts: search by keyword or meaning, sort by **Updated**, **Created** or **Name**, and filter by **Tags** (a Project must carry every selected Tag). Admins can also filter by **Status**.
  * The filters and sort live in the page link, and older links that name one Tag still open the same list.
  * Agents and MCP clients list Projects the same way: `list_projects` takes `semanticQuery`, `sort` and a nested `filters` object (`statuses`, and `tags` by id or name). The top-level `statuses` parameter is gone.
</Update>

<Update label="2026-09-25" description="Filter Posts by Tags, brand relationship and date">
  * The Posts filters menu adds **Date**, **Brand relationship** (sponsored, likely paid but undisclosed, or organic) and **Tags**, with a strength for how strongly a Tag must apply. Admins also get analysis **Scores** and **Brand safety**.
  * Every Posts filter now lives in the page link, so a shared link opens the same filtered list.
  * Agents and MCP clients search Posts with the same views and filters as the dashboard: `search_posts` takes `view` (`all`, `prompt`, `general`, `team`, or `current_view`) and a nested `filters` object, including brands and Tags by name. The old `searchView`, `audienceFilter` and `promptFilter` parameters are gone.
</Update>

<Update label="2026-09-25" description="One Organization Boundary for Agent Search">
  * Agent and MCP searches now decide which organization's records you can see in one place, at the search index, and never trim results afterwards. Pages come back full instead of short, and `visibility: organization` means the same thing on Insights, Audiences, Projects and Reports: owned by the organization, not Global.
  * Insight search results list every organization an Insight is linked to in `organizationIds`, alongside the sole owner in `organizationId`.
  * Background agent reads now act as the person who started them, with their role checked by the server. Nothing changes for what admins and members can see.
</Update>

<Update label="2026-09-25" description="Removed senders can finish their Prompt">
  Removing a sender who has already started a Prompt (submitted to it or been texted about it) now lets them finish that Prompt and get paid if they complete it, while keeping them out of the next renewal. Senders who have not started are still removed immediately. The Prompt users table shows "Leaving after this Prompt" for these senders, with an action to keep them for the next Prompt.
</Update>

<Update label="2026-09-24" description="More ways to filter Creators">
  The Creators list can now be filtered by Language (a creator's main language or any other they post in), Gender, and number of Submissions. Filtered CSV downloads apply them too.
</Update>

<Update label="2026-09-24" description="Upload timing follows your last export">
  Moving to recurring Scroll History Uploads preserves the wait after your most recent accepted export, including uploads from earlier Prompts. Returning invitations use shorter copy and mention the reward once.
</Update>

<Update label="2026-09-24" description="Instagram uploads contribute Posts">
  New Instagram Scroll History Uploads can now contribute selected saved, liked, and repeatedly watched Posts after the upload is accepted. Selection combines high-signal Posts with a sample from the same archive; upload acceptance and payment are unchanged.
</Update>

<Update label="2026-09-24" description="Clearer export upload feedback">
  Failed file reads can be retried without selecting the file again, and interrupted uploads show a recovery message after a reload. Uploads show a concise status, and completed exports stay in place with their payment status.
</Update>

<Update label="2026-09-24" description="Tag the topic a Prompt asks for">
  Admins can now add topics to a Prompt in its Settings. A Prompt with no topics is general; adding a topic marks what the request focuses on. Submitted Posts keep their own Tags, independent of the Prompt's topics.
</Update>

<Update label="2026-09-24" description="One-tap export walkthrough">
  Get Started once again launches the floating walkthrough and opens your selected social app in one tap. Progress saves in the background.
</Update>

<Update label="2026-09-23" description="Global Prompt candidate review">
  * Global Prompt candidates now start from senders who belong to at least one Audience owned by an active organization. Linked Audiences and filters narrow that pool; Audience breadth and recruitment sorting still order it.
  * Adding candidates remains a manual choice. Saving rechecks each added candidate's current qualification and SMS eligibility, and preserves the existing Prompt roster.
</Update>

<Update label="2026-09-23" description="Updated MCP sign-in setup">
  * New ChatGPT and Codex connections use approved client metadata for OAuth sign-in. Existing client registrations remain valid; contact Social Glass before setting up a new client of another type.
  * OAuth access tokens are now checked against the MCP resource they were issued for. Older tokens may require signing in again.
  * The [MCP connection guide](/reference/mcp-setup) and [plugin guide](/reference/plugins) explain the current setup and troubleshooting steps.
</Update>

<Update label="2026-09-23" description="Faster Prompt recruitment and search">
  Candidate browsing now uses indexed filters and ordering, and selecting all matches avoids loading every profile's table details. Searching within a Prompt keeps its membership scope across pages while rechecking each returned person's eligibility.
</Update>

<Update label="2026-09-23" description="Focused admin user tools">
  * Admin agents can request specific profile, work, payment, and Audience details instead of loading an entire user record.
  * User search supports Prompt progress, SMS opt-out, demographic, location, and recruitment filters with the same sorting choices as the users table.
</Update>

<Update label="2026-09-23" description="A broader view from TikTok uploads">
  New TikTok Scroll History Uploads keep the selected high-signal Posts and add up to an equal number of distinct, randomly chosen Posts from the same eligible export activity. Smaller exports contribute the available remainder. Upload acceptance and payment are unchanged.
</Update>

<Update label="2026-09-22" description="Faster dashboard and Insight first paint">
  * Insight cover images now arrive with the page: the first row loads eagerly at high priority instead of waiting for a second request after the page is interactive.
  * Opening an Insight renders its detail with the page instead of a spinner, for signed-in and public viewers alike.
  * Opening a public dashboard link lands directly on the Insights tab in one step instead of showing loading spinners and redirecting.
  * Fewer font files are loaded on every page.
</Update>

<Update label="2026-09-22" description="Safer Shared Dashboard Editing">
  * Editing a note or reordering a Dashboard list preserves teammates' concurrent changes.
  * If an item disappears while you are writing a note, your draft remains available to copy.
</Update>

<Update label="2026-09-22" description="One vocabulary for item status">
  * Right-click and “More actions” menus on Insights, Personas, Projects and Posts now use the same words everywhere: **Publish** takes a draft or rejected item live, **Move to draft** brings it back, and **Reject** appears only while an item is a draft. Archive, Restore and Delete keep their names; Delete always asks first.
  * Menus offer only what you can actually do: organization members see Publish, Move to draft and Delete on the Insights and Projects their organization owns.
  * “New project…” in Add to project is now a field inside the menu: type a title and press Enter or Create.
</Update>

<Update label="2026-09-22" description="More reliable Prompt member lists">
  Assigned and removed sender lists, and candidates filtered by Audiences, now load from their membership records. Large groups retain their ordering across pages, and selecting all matches no longer builds every table row along the way.
</Update>

<Update label="2026-09-22" description="Run an Agent on a Selection, as Yourself">
  * Choosing Posts, Creators, Insights, or Personas and running an agent over that selection is now open to every member of the organization you are working in, not just Social Glass administrators.
  * The run acts as you: it reads and writes exactly what your own account may reach, and its results are attributed to you.
  * Automations continue to run on behalf of the person who last saved them. If that person's account has been removed, Run Now now says so instead of failing with a generic error.
</Update>

<Update label="2026-09-22" description="Consistent Prompt labels">
  Prompt selectors now use the same titles and date ranges. Unnamed prompts appear as “Scroll History Upload” or “Submissions,” and compact selections show “Title (dates).” Administrator-only internal names remain separate from public titles.
</Update>

<Update label="2026-09-22" description="Smoother Insight review">
  * Fixed a crash when editing Insight narratives, and clarified the Post menu's “Remove from insight” action.
  * Horizontal gestures on reorderable Post strips no longer also advance images inside a Post.
  * Creator actions appear above administrator tools. Use “Open creator” to see their details without leaving your place.
  * Insight audience descriptions are hidden from normal viewing and editing. Existing audience changes remain available for review.
  * “Why this change” has stronger contrast and a clearer separation between the explanation and its source.
</Update>

<Update label="2026-09-22" description="Weekly payment reporting">
  Finance payment sheets arrive in one weekly email instead of after individual payouts. The report includes payment statuses, outstanding and failed payments from earlier weeks, and separate totals for confirmed payments and externally recorded payments. Available provider transaction IDs and fees make reconciliation easier.
</Update>

<Update label="2026-09-21" description="A Smaller, Clearer MCP Tool Set">
  * Downloads moved out of the record lookup into their own tool. Asking for a record now only reads it, and asking for an Insight's contents or a Post's media through `get_downloads` issues the short-lived authorized link exactly as before.
  * Persona and Report writes are no longer offered to connected MCP clients while their shape is being settled. Create and update them in the Social Glass app; reads are unchanged, and Insight, Project, and Dashboard writes still work from your client.
  * Every tool now declares honestly whether it reads or writes, and the descriptions your client sees are about half their previous size, so more of the conversation is left for your actual work.
  * `get_project`, `list_prompts`, and `update_memories` now return their results as JSON inside the response text instead of a separate structured field, as do the administrator-only tools for organizations, creator profiles, users, and instruction templates. Search and lookup tools keep their readable result cards. The data itself is unchanged; a client that read the structured field on these tools should read the JSON text block instead.
</Update>

<Update label="2026-09-20" description="Clearer export choices and help">
  Scroll History Upload now asks whether you use TikTok often, with Instagram as the alternative. Having trouble? Reopen your export page, switch platforms, or watch the walkthrough directly on the page if the floating instructions do not work.
</Update>

<Update label="2026-09-18" description="Prompt progress at a glance">
  Prompt metrics now combine compact funnel and daily progress views, editable goals, and pace comparisons. Export metrics show recorded delivery receipts, completed-sender platforms, and payouts. Settings, metrics, demographics, payouts, and reminder history share tabs above the sender table. Text-prompt tables retain submitter scores and profile details.
</Update>

<Update label="2026-09-17" description="Quieter upload confirmations">
  Scroll History Upload confirms uploads and successful payments on the page, without an extra upload-received text. Download reminders and payment-issue messages still arrive when needed.
</Update>

<Update label="2026-09-17" description="Simpler Creator search and examples">
  Agent Creator searches now use the full catalog by default; an explicit organization-only view still limits results to that organization’s submissions. Opening a Creator shows a small set of their latest authored or collaborative posts, regardless of submission history.
</Update>

<Update label="2026-09-17" description="Easier Prompt setup and bulk assignment">
  Large sender selections save automatically in batches. Prompts can have an internal name for admin selectors while keeping their sender-facing title. New prompts default to Monday 6am through the following Monday 6am Pacific. Partial saves report what was applied and what remains. Duplicate and already-ended creation support up to 128 senders; larger cohorts use a new live prompt. Prompts retain up to 8,192 assignment records, including removed senders, and stop before exceeding that limit.
</Update>

<Update label="2026-09-16" description="Recruitment ranking and demographic previews">
  Prompt candidates now show reliability and Audience breadth, with Recommended ordering, score filters, and a Never assigned filter. Organization prompts support matching any or all selected Audiences. Selecting candidates previews how the group's demographics would change before assigning anyone.
</Update>

<Update label="2026-09-16" description="Complete submitter history scores">
  Submitter scores can finish calculating for long assignment and submission histories. Background recalculation preserves the previous score until the complete result is ready.
</Update>

<Update label="2026-09-16" description="Three download reminders">
  Export requests now receive three check-ins: after 24 hours, another 24 hours later, and a final reminder 48 hours after that. Uploading stops the remaining reminders. Previously completed reminder sequences stay complete, and already scheduled send times are preserved.
</Update>

<Update label="2026-09-14" description="Consistent Chat References">
  Chat references, previews, and source links now use the same access rules for Posts, Creators, Insights, and Audiences. Global Posts can open without a submission in the current organization, public links support typed references, and unavailable media shows a useful fallback.
</Update>

<Update label="2026-09-16" description="Background profile generation">
  Admins can choose Flex or Standard processing when generating user and creator profiles. Flex is selected by default, and generation continues in the background. Creator profiles show progress and completion status.
</Update>

<Update label="2026-09-15" description="Admin Audience filters">
  Global Prompts and admin Prompt user-table filters can find Audiences across organizations. Organization Prompt settings still offer that organization’s Audiences and global Audiences.
</Update>

<Update label="2026-09-15" description="Data upload reminders">
  Admins can preview and send a one-time invitation reminder to assigned senders who have not started or uploaded. Newly started export requests receive their first check-in after 24 hours, with a final reminder 48 hours later. Existing reminder schedules are preserved. Invitation amounts now come from the saved prompt payout, and download reminders use shorter platform-specific instructions. Custom invitation copy remains available.
</Update>

<Update label="2026-09-11" description="Simpler Prompt user management">
  Prompt users now share the dashboard toolbar: switch between Assigned, Candidates, and Removed, search the full selected view, and open filters and actions in place. The header checkbox selects all matching users, including rows that have not loaded yet, with a visible selection count. Prompt health uses compact metric cards with inline goal editing. Organization Prompts offer their own Audiences and global Audiences, marked with a globe. Data-upload Prompts show each sender’s platform, request date, accepted upload, and reminder schedule. Participation and upload stages share a counted View selector, including reminders due. Both prompt types share collapsible settings grouped into Audience, Schedule, and Requirements & payout beneath the name and guidance. Kind sits beside Name, per-sender requirements are clearly labeled, and totals are shown once in the shared metrics and View selector. Goal cards and invitation styling remain shared. Data-upload prompts include a rough forecast from current request and upload rates, with explicit explanations when timing or sample size prevents an estimate. Goals carry forward on duplication and renewal.
</Update>

<Update label="2026-09-12" description="Clearer Metrics and Charts">
  Metrics and charts now share softer edges, quieter brand colors, and consistent number styling across analytics, dashboards, audience profiles, and creator views. Composition charts show percentages inside segments with wrapping color-dot legends and exact-value inspection. Metric labels sit below values, chart tooltips use a light surface, and time-series charts include an expandable values table for touch and keyboard access.
</Update>

<Update label="2026-09-14" description="Fresh Consistent Creators">
  Consistent creator rankings now refresh every three days, so older activity ages out even when no new submissions arrive.
</Update>

<Update label="2026-09-14" description="Creator recency follows submissions">
  The Creators dashboard’s Recent sort now orders creators by their latest submission to your organization, so new audience evidence appears before older submissions. Profile refreshes no longer move creators to the top.
</Update>

<Update label="2026-09-13" description="Simpler Sender Profile">
  Sender account controls now share one menu for profile, account switching, support, and sign out. Profile editing uses normal page scrolling, a compact save action bar, and a clearer Venmo/PayPal picker. Profile and survey text fields now share a simple underline style. The resettable signup preview has larger phone fields, visible answer choices, and tighter spacing.
</Update>

<Update label="2026-09-11" description="Survey Results and Waitlists">
  See whether you match an active project immediately after completing a survey. Qualified applications stay visible in Opportunities with a Waitlist label. Post submission keeps its Submit button visible and removes extra empty link rows when a link is cleared.
</Update>

<Update label="2026-09-11" description="Switch Between Accounts">
  Keep multiple accounts signed in and switch from the account menu. Add another account without signing out, and return to the right workspace for that account.
</Update>

<Update label="2026-09-11" description="Simpler support">
  The support page now puts documentation first, with shorter email and privacy request instructions and prefilled email templates.
</Update>

<Update label="2026-09-11" description="Readable Terms and Privacy Policy">
  The existing Terms of Service and Privacy Policy are now available as readable web pages, with an archived copy of the original PDF. The document wording is unchanged.
</Update>

<Update label="2026-09-11" description="Clearer MCP Organization and Search Results">
  * `list_organizations` now returns labeled cards with each organization's ID, name, status, and archived flag, instead of a stub summary.
  * Search and get tools for Posts, Creators, Insights, and Personas now return readable result cards. They no longer fail closed when a client validates structured output.
</Update>

<Update label="2026-09-11" description="Automatic Organization Entry">
  Sign-in now opens an accessible organization automatically, restoring your last organization in this browser when needed. A spinner replaces the organization-selection screen while access loads. You can still switch organizations from the account menu.
</Update>

<Update label="2026-09-11" description="Clearer Sender Jobs">
  Sender Home now groups active and completed work under Jobs. Completed jobs move below active work with a clear completion label, payout links use a simpler outline button, and the empty state is easier to read.
</Update>

<Update label="2026-09-11" description="Merge Apply Completes Source Cleanup">
  Applying an Insight merge now removes the source Insights even when no approved field changes remain.
</Update>

<Update label="2026-09-11" description="Find Similar for Shared Insights">
  Find Similar on an Insight now shows related work when that Insight is shared with your organization or newly created as global.
</Update>

<Update label="2026-09-14" description="Global Insights Include Your Own">
  The Global Insights view in an organization now shows Global Insights plus your organization's own Insights, in both browse and search. Outside an organization, Global still shows only Global Insights.
</Update>

<Update label="2026-09-11" description="Simpler Insight Sorting">
  * Insights sort by Updates or Popular on every list and in every view.
  * Created and Changes are retired. Each Insight still shows when it was created and when it last changed.
</Update>

<Update label="2026-09-11" description="Smoother Export Uploads and Payment Receipts">
  * Export uploads automatically retry temporary connection failures. If the connection still fails, try again without selecting or reading the file again.
  * Home shows clearer upload progress and payment states. Confirmed payments include a link to open PayPal or Venmo.
  * Export payout confirmations appear in Home and Wallet without an additional Social Glass success text. Payment-failure texts remain available.
</Update>

<Update label="2026-09-10" description="Simpler Creator Sorting">
  * Creators sort by Recent or Followers on every list, in an organization and across all of them.
  * Most Posts and Most Submissions are retired. Post and submission counts are still shown on each creator.
</Update>

<Update label="2026-09-10" description="Resume Your Export Guide">
  Sender video guides now keep their player through Home loading updates. After a page reload, Resume guide returns to the last saved position without restarting the data request or its reminder.
</Update>

<Update label="2026-09-10" description="Clearer Export Follow-up">
  * New data export requests now schedule the first text reminder 48 hours later. Home shows the remaining time in hours and explains the next step.
  * Upload and reminder errors give clearer instructions for retrying, and unexpected failures are reported to help us fix them.
</Update>

<Update label="2026-09-10" description="Ready-to-Start Export Guides">
  * Choose TikTok or Instagram, then use the Start button to float the prepared guide and open the app. Start waits for the video to be ready.
</Update>

<Update label="2026-09-10" description="One Toolbar Across Insights, Personas, Creators, and Posts">
  * Insights, Personas, Creators, and Posts now share one toolbar: a View menu on the left, search in the center, then Sort, Filters, and an Actions menu on the right.
  * Curated lists such as Interesting posts and Hand-picked, Consistent, and Tracked creators moved from the sidebar into each tab's View menu, alongside the browse views. The sidebar shows one entry per tab.
  * Personas gained an Organization / Global view. Persona status, creator followers, and every other filter live in the Filters menu on every screen size.
  * Exporting creators and adding posts moved into the Actions menu.
</Update>

<Update label="2026-09-09" description="Prepare Your Floating Guide">
  * Choose Instagram or TikTok to prepare a paused guide, then use Start to request floating playback and open the app.
  * Start waits for the video to load. If floating playback fails, the guide stays available on Home with a separate app link.
</Update>

<Update label="2026-09-09" description="Quieter Scroll History Follow-up">
  * Returning Home keeps the countdown or upload actions visible without reopening guide controls. Mobile uses the floating guide without inline video or written instructions. Desktop QR guidance stays available.
  * Confirming Redo cancels the old reminders immediately and returns to app selection. Starting either app creates a fresh 24-hour countdown.
  * The Redo action is smaller with tighter spacing. Your data appears in navigation once your rewind is ready.
</Update>

<Update label="2026-09-09" description="A Clearer Scroll History Next Step">
  * Home shows a compact countdown until the next step, then keeps download and upload together in the task.
  * Download becomes secondary after opening your platform, while Upload stays available with a file-search hint and clear upload status.
  * Accepted uploads move to Completed, with payment and recovery status preserved.
  * Redo explains when to start again and reopens app selection. Confirming Redo and starting either app replaces the old reminders with a fresh 24-hour countdown; replaying instructions keeps the existing schedule.
</Update>

<Update label="2026-09-09" description="Export Guides on Home">
  * The sender experience opens Scroll History guides directly on Home. Use a phone QR code on desktop or a floating guide on mobile.
  * Instagram has a separate Open Instagram action so the guide can start first. Both apps let you retry the floating guide.
  * Unfinished requests let you change apps before uploading.
</Update>

<Update label="2026-09-09" description="Manual Data Export Invitations">
  * Admins can review and send a data-export prompt's initial invitation directly from its prompt page.
  * Choose the configured default message or write a custom message. Recipient and message changes require a new review, and the prompt tracks its initial broadcast to prevent duplicate launches.
</Update>

<Update label="2026-09-09" description="Simpler Export Preview and Richer Prompts">
  * The account preview keeps Scroll History requests and uploads on Home, with a full-width upload action.
  * Starting either platform guide schedules the first reminder for 24 hours later; reopening the guide preserves the existing reminder.
  * Refreshed Instagram and TikTok guides explain the next step before showing the selections, and play through once.
  * Prompt titles and guidance support rich text. Recurrence appears below the reward, and titles use the prompt’s own wording.
</Update>

<Update label="2026-09-08" description="More Resilient Data Uploads">
  * Instagram uploads support HTML and JSON, including original ZIPs. TikTok supports JSON and TXT ZIPs and multiple extracted activity files.
  * Large archives are read selectively on your device. Message, contact, and media files are excluded from upload.
  * Selected activity can be saved for recovery before processing. The upload page distinguishes a saved recovery copy from an accepted export.
</Update>

<Update label="2026-09-08" description="Simpler Scroll History Tasks">
  * Scroll History Upload appears above post prompts, with a shared progress and reward layout.
  * Choose Instagram or TikTok directly on Home to open your request instructions.
  * Open TikTok’s data-download page directly on mobile, with illustrated category instructions and a step-by-step navigation fallback.
  * Data-export selections are checked locally, then only the required data is uploaded automatically, with clearer request and reminder instructions.
  * Recurring tasks show their weekly or multiweek frequency while renewal remains available.
</Update>

<Update label="2026-09-07" description="More Reliable Payout Recovery">
  * Interrupted payout requests remain pending reconciliation, with stronger protection against duplicate payments on retry.
  * Known PayPal batches are checked automatically for updated outcomes. Partial results preserve the status of payments still awaiting confirmation.
  * Payment history returns only the fields needed to display your payments.
  * Prompt Completion duplicate checks recognize equivalent timestamp formats.
  * Data-export payments interrupted before sending can return to the administrator review queue; payments awaiting provider confirmation remain blocked from retry.
</Update>

<Update label="2026-09-07" description="Sender Experience Preview">
  * The account preview brings tasks, opportunities, wallet, and data-upload steps into one navigation flow.
  * Paste multiple post links directly into a task, add optional notes, and see progress toward completion. Duplicate checks run while you keep working.
  * Profile details use clearer labels and spacing. Account setup uses a compact loading indicator.
</Update>

<Update label="2026-09-07" description="Clearer Submission Prompts and History">
  * Assigned prompts show their organization name instead of an ambiguous Global label.
  * Past Submissions is available below Project Opportunities. Review your previous submissions and add notes there without cluttering the submission form.
</Update>

<Update label="2026-09-07" description="Clearer Project Answers and Sender Help">
  * Projects labels completed survey responses as “Answers submitted” and points you home to check for available tasks.
  * Optional How it works & FAQ guidance explains post tasks, data uploads, and payment confirmation, with links to payment details and support.
</Update>

<Update label="2026-09-05" description="Clearer Sender Management">
  * Sender tables load more people as you scroll. Sparse filters offer Continue loading when more scanning is needed; Refresh updates the displayed membership and scores.
  * Prompt management brings Assigned, Candidates, and Removed into one table with shared filters, current participation labels, and selection across pages. Linked Audiences can help narrow candidates.
  * Membership confirmations clear when you change the population. Activity review shows recorded evidence without automatically removing people.
  * Prompt health has independent goals for submission volume and Completed Senders. Compatible weekly Prompts show rough estimates from 14 past cycles, with early uncertainty and remaining-to-goal counts shown separately.
</Update>

<Update label="2026-09-04" description="More Reliable Profile Saves">
  * Saving your profile returns you to submitting after completing any required phone verification.
  * Profile edits preserve untouched fields and social accounts. Updating a Creator's social profile preserves submitters who use the same handle.
</Update>

<Update label="2026-09-04" description="Instagram Data Uploads">
  * Data-upload requests now accept Instagram JSON exports or ZIPs containing supported activity files, alongside TikTok ZIP, JSON, and TXT exports.
  * New uploads require at least 10 different posts with valid activity timestamps. Repeated activity on one post counts once. Uploads also check duplicate exports and available account identifiers before creating payment work; previously accepted uploads keep their payment eligibility.
  * Your platform choice and request progress are saved for return visits. Data-upload tasks are separate from individual-post tasks, with the configured amount, deadline, and payment status visible.
</Update>

<Update label="2026-09-04" description="Clickable Links in Project Descriptions">
  * URLs and linked text in Project descriptions are now clickable from the Project page, including recommendation-heavy campaign briefs.
  * Safe link targets stay clickable: http(s), mailto, relative and hash paths, and sg:// mentions. javascript, data, and vbscript URLs cannot become anchors.
</Update>

<Update label="2026-09-02" description="Your Team Owns Its Insights and Projects">
  * Any member of your organization can now create, edit, approve, and delete your organization's own Insights and Projects, from the app, the agent, and a connected MCP client. Approving one publishes it on your organization's public page, exactly as before.
  * Changes an agent proposes to an existing Insight or Project are staged for review rather than applied. Anyone on your team can apply or discard them from Review; what an agent creates still arrives as a draft. Your own edits apply immediately.
  * Making an Insight or Project part of the shared Social Glass library, and changing which organizations it reaches, stays with Social Glass administrators. Content your team authored stays yours and is never moved into the shared library.
</Update>

<Update label="2026-09-01" description="Create and Update from Your MCP Client">
  * Connected MCP clients can now create and update Personas, Projects, Reports, and Dashboard lists in your organization, without switching to the browser.
  * Every account sees the same tool list. What a call can reach still follows your organization access: Insight edits, publishing a Dashboard, and organization-independent Reports remain admin-only.
  * Each write asks for the target organization's name alongside its ID and refuses the write when the two do not match, so a request cannot land in the wrong workspace.
</Update>

<Update label="2026-08-31" description="Clearer Text Blast Summaries">
  * Text blast notifications identify automatic versus manual sends and the prompts or survey involved.
  * Prompt breakdowns distinguish everyone assigned from people included in the blast, with overlap and text opt-outs explained together.
  * People who opt out during sending are counted as opted out, rather than failed sends.
  * Blast previews show opt-outs and shared phone numbers, and require another review if the audience grows or reminder text changes.
  * Prompt removals caused by opting out remain visible in Removed history instead of disappearing without explanation.
  * Overlapping reminders and interrupted sends have stronger duplicate-send protections. Later carrier delivery results update the blast summary.
</Update>

<Update label="2026-08-31" description="Sidebar Navigation Preview Polish">
  * Collapsed sidebar menus open on click with page-name headings; hovering shows only the page-name tooltip.
  * Collapsed navigation shows the Social Glass logo until the sidebar is hovered, and section chevrons sit beside their labels.
  * Tooltips use inverse theme colors without borders or arrows by default.
  * Organization details use thin section dividers, including between Members and Instructions when Dashboard Defaults is hidden.
</Update>

<Update label="2026-08-26" description="Reliable TikTok Slideshow Images">
  * TikTok slideshow photos now display reliably when their source uses Apple's HEIC image format.
  * If an individual photo still cannot load, the post skips it instead of showing a blank card with file text.
</Update>

<Update label="2026-08-25" description="ChatGPT Connection Fix">
  * Fixed Social Glass sign-in for ChatGPT connections.
  * Kept organization and tool permissions unchanged while adding the standard sign-in and session-renewal permissions ChatGPT requires.
</Update>

<Update label="2026-08-18" description="Safer Structured Agent Reads">
  * Exact Insight reads now keep each client's analysis separate and clearly attributed.
  * Agent search and exact records now return reliable structured data without duplicate text payloads.
  * Admin agents can use a bounded, privacy-safe user search without a separate rollout setting.
</Update>

<Update label="2026-08-17" description="Simpler Admin Web Addresses">
  * Admin pages now live at simple addresses like `/admin/users` instead of being tucked under a client's own address.
  * Old admin links keep working and send you straight to the new address, so saved bookmarks are safe.
  * Admin pages that cover every client now let you pick a client from the page itself, and that choice stays in the link you share.
</Update>

<Update label="2026-08-14" description="Faster, Clearer Agent Search">
  * Split agent search into dedicated tools for Posts, Creators, Insights, and the Persona catalog.
  * Search now returns compact structured results, while full records come from the exact detail tool.
  * Agents can load one organization's context without reloading their full operating instructions.
</Update>

<Update label="2026-08-13" description="Live Organization Members">
  * The organization members list in admin now stays in sync automatically, so members added or removed anywhere show up within seconds.
  * Members can invite teammates to their organization directly from the sidebar.
  * Adding, inviting, and removing organization members is faster and more reliable from start to finish.
</Update>

<Update label="2026-08-13" description="Clearer Organization Insights">
  * Organization dashboards now open to Relevant Insights by default, with separate views for all available Insights and private organization Insights.
  * Global Insights can be linked to one or more organizations without requiring organization-specific analysis.
  * Renamed Insight access controls to Visibility and added clearer confirmation before replacing existing visibility.
</Update>

<Update label="2026-08-12" description="Clearer Post Submission Views">
  * Added clear Posts views for general submissions, team posts, all submissions, and submissions to a specific Prompt.
  * Prompt filtering now uses one Prompt at a time and shows its guidance directly in the selector.
  * Kept these submission views focused on All Posts, while Relevant and Interesting stay simple curated Post lists.
</Update>

<Update label="2026-07-28" description="Sign-In Fix for Two-Factor Accounts">
  * Fixed a sign-in bug where accounts with two-factor authentication could get stuck at the verification-code step after signing in with Google, seeing a "not ready for factor two verification" error.
  * Sign-in with Google plus an authenticator code now completes reliably across all browsers.
</Update>

<Update label="2026-07-22" description="Social Glass Agent Plugin">
  * Added a branded Social Glass plugin for Codex and Claude Code with customer-facing marketplace details.
  * Added shared Social Glass workflow skills to the plugin package.
  * Added a skills.sh installation option for agents that already have the Social Glass MCP configured separately.
  * Split and streamlined the plugin, direct MCP, and skills setup guides.
</Update>

<Update label="2026-07-13" description="Safer and Broader MCP Access">
  * Connected agents can now read signals and reports over MCP, matching the existing project and dashboard read tools.
  * MCP write tools now ask for the target organization's name alongside its ID and refuse mismatches, preventing edits from landing in the wrong client workspace.
  * Agents switching between organizations can fetch a lighter organization-only context instead of re-downloading full instructions.
</Update>

<Update label="2026-07-12" description="Dashboard-Aware Chat">
  * Chat can now read the current dashboard and its insight, creator, post, persona, and brand-monitor sections directly.
  * Dashboard questions can include computed Consistent insight and creator groups without asking users to copy and paste the visible list.
</Update>

<Update label="2026-07-03" description="Unified Detail Pages">
  * Persona and report pages now share the insight detail layout, with a cleaner header, larger title, and consistent summary placement.
  * Persona avatars, related creators, and creator page sections now use the same collapsible section treatment as insights.
  * Related insights on persona pages moved from a fixed side panel into an on-demand "See related" panel, giving the content the full width of the page.
</Update>

<Update label="2026-06-10" description="Project Tags">
  * Added project tags for organizing and filtering projects by category, campaign, or custom groupings.
  * Tags support both organization-scoped and global scopes, with admins able to create global tags visible across all clients.
  * Projects can be filtered by tags in the projects tab, and tag assignments can be managed from the project detail view.
</Update>

<Update label="2026-06-05" description="Post Media Downloads">
  * Organization members can now download the photos and videos attached to posts directly from post cards.
  * Video downloads prepare a downloadable MP4 when needed while keeping normal dashboard playback optimized for streaming.
  * Selected posts can now be packaged into a media ZIP from the bulk ActionBar, with a `download-contents.csv` file that records downloaded and skipped files.
  * Projects and insights now offer the same linked post media package download from their action menus.
  * Download feedback now appears immediately after starting a media download, and downloaded files use readable names based on platform, creator, and post.
</Update>

<Update label="2026-06-05" description="Client Survey Response Exports">
  * Added a dashboard survey responses page where organization members can download responses for surveys owned by their organization.
  * Client exports include answers, submission dates, and non-contact demographic context while excluding names, emails, phone numbers, user IDs, and social handles.
</Update>

<Update label="2026-06-03" description="Shared Review Workspace">
  * Added a shared Review page for team members to review AI-created drafts and staged changes in one place.
  * Moved insight review into the shared review workspace while keeping the existing update, merge, delete, and link-level review tools.
  * Added draft project review actions so teams can edit, approve, reject, or archive AI-created projects before clients see them.
</Update>

<Update label="2026-06-03" description="Project Review Statuses">
  * Added project review statuses so AI-created projects can stay in draft until reviewed.
  * Public project pages now show approved projects by default, keeping archived, rejected, deleted, and draft project records out of normal client views.
  * Changed project cleanup to archive stale or duplicate projects instead of renaming them as deprecated.
</Update>

<Update label="2026-06-01" description="Easier Survey Sharing and Replies">
  * Survey broadcasts can now send signed Social Glass links so recipients can answer without signing in.
  * Native Social Glass survey texts now tell recipients they can reply directly by text, making quick screeners easier to complete from a phone.
  * Improved survey selection in admin send flows so teams can find the right screener or survey more confidently before sending.
</Update>

<Update label="2026-05-30" description="Unified MCP Endpoint">
  * Moved Social Glass MCP setup to one canonical endpoint: `https://mcp.socialglass.ai/mcp`.
  * Consolidated read and write tools into the same MCP server, with write tools shown only for Social Glass admins.
  * Removed the older `/api/mcp` and `/api/mcp-write` routes so all MCP setup goes through the canonical MCP subdomain.
</Update>

<Update label="2026-05-29" description="MCP API Key Access">
  * Added support for Clerk user API keys as a durable Social Glass MCP authentication option for clients where OAuth refresh is unreliable.
  * Kept OAuth as the preferred self-serve setup, while allowing long-lived bearer-token access tied to an individual Social Glass user account.
  * Write-capable MCP access still requires a Social Glass admin account.
</Update>

<Update label="2026-04-22" description="Prompt Assignment Source-of-Truth Cleanup">
  * Prompt membership now uses one canonical relation table instead of duplicating assignment state on prompt documents.
  * Bulk prompt assignment from `/admin/users` now avoids the slow prompt-level rebuild path that had been making larger assignments drag.
  * Cleaned up the remaining legacy prompt membership fields in both dev and production so the new assignment model is the only live storage path.
</Update>

<Update label="2026-04-21" description="MCP Self-Serve Login + Admin-Gated Writes">
  * Enabled self-serve MCP login through dynamic client registration, so compatible MCP clients can connect to Social Glass without a manually preapproved OAuth client.
  * Simplified write-capable MCP access so it now follows the same app-side admin rule as our internal tooling instead of relying on a separate client allowlist.
  * Kept read access scoped to eligible Social Glass users and org access, while keeping write access restricted to Social Glass admins.
</Update>

<Update label="2026-04-18" description="2026-04-18">
  * Split Social Glass MCP into a safer public read-only endpoint and a separate write-capable endpoint for approved clients.
  * Added a dedicated write MCP route and metadata endpoint so external tools can connect without exposing write operations by default.
  * Added OAuth client allowlisting for the write-capable MCP surface to keep dynamic client registration compatible with safer defaults.
</Update>

<Update label="2026-04-07" description="2026-04-07">
  * Updated `/submit` survey behavior so org-required screeners only force completion for submitters assigned to that organization's active prompts.
  * Added a browseable opportunities list on `/submit` that shows org screeners to all submitters, even when they are not currently blocked by one.
  * Expanded submitter survey access so browseable opportunity surveys can still be opened and completed from the submit flow.
</Update>

<Update label="2026-04-03" description="Admin Payout Controls">
  **Admin Payout Controls (04/03/2026)**

  * Added an admin payouts page for sending one-off payouts manually and reviewing recent payout history in one place.
  * Added a prompt-level payout panel so admins can preview which submitters met a prompt's submission target for a selected window and send base payouts directly from the prompt screen.
  * Added duplicate protection for prompt-window base payouts so rerunning the same prompt payout window skips people who were already paid.
  * Added PayPal webhook reconciliation so payout statuses can update from PayPal processing events after the initial send request.
  * Added an explicit payout platform field on users so PayPal vs Venmo no longer depends on guessing from the payment identifier format.
</Update>

<Update label="2026-04-01" description="Agent Registry Foundation">
  **Agent Registry Foundation (04/01/2026)**

  * Reworked the existing instruction registry so rows can now act as first-class agent configs without migrating the stored prompt content into a new table.
  * Added agent-specific row metadata for scope, enabled state, tool access, and attached skills, while keeping global prompts, legacy prompt artifacts, revision history, and automations in the same storage layer.
  * Updated the admin surface so the registry can create and edit agent rows directly, including tool and skill assignment, while still supporting legacy instruction and automation rows during the transition.
</Update>

<Update label="2026-03-31" description="Prompt Payout Foundations">
  **Prompt Payout Foundations (03/31/2026)**

  * Added a base payout amount on prompts so admins can store how much a completed prompt should pay without keeping that logic in spreadsheets.
  * Expanded payout records to capture the reason for payment, including whether it is a base payout or a bonus, which prompt it relates to, and the payout window it covers.
  * Started storing payout amounts in cents for cleaner money handling while keeping the current PayPal sending flow in place.
  * Fixed the prompt payout export so submitters who exactly hit the submission target are marked as payable instead of being skipped.
</Update>

<Update label="2026-03-30" description="Admin Chat Streaming Simplification">
  **Admin Chat Streaming Simplification (03/30/2026)**

  * Swapped the admin agent chat over to OpenAI's official AI SDK UI stream bridge, which cuts out a custom stream translation layer that had been causing drift and flaky behavior.
  * Removed the old in-memory "resume the same live stream" path and replaced it with saved in-progress assistant drafts, so reloading still brings back the answer-in-progress without depending on a fragile reconnect buffer.
  * Kept stop/cancel behavior for active runs, while making finished assistant replies and failure states persist more cleanly in conversation history.
</Update>

<Update label="2026-03-26" description="Social Glass MCP">
  **Social Glass MCP (03/26/2026)**

  * Added a first MCP server for Social Glass so external MCP-capable agents can search zeitlets, inspect exact posts/creators/insights/personas, and make the same core insight/persona/project/dashboard updates our in-app chat agent already supports.
  * Protected the MCP route with Clerk OAuth metadata endpoints, then enforced Social Glass org access in-app so non-admin users stay scoped to their assigned organization while admins can opt into a specific org.
  * Kept the MCP tool contracts aligned with the existing chat-agent schemas and persistence adapters, so we now have one shared source of truth instead of a separate external-agent API surface.
</Update>

<Update label="2026-03-24" description="Dashboard Revision Restore From History">
  **Dashboard Revision Restore From History (03/24/2026)**

  * Added an in-product restore action to dashboard revision history, so admins can roll a dashboard draft back to any saved publish or restore snapshot without leaving the report view.
  * Restoring exits read-only revision mode and returns the dashboard to draft, making it easy to review changes before publishing again.

  **Agent Zeitlet Retrieval Upgrade (03/24/2026)**

  * Added a dedicated `get_zeitlet` tool so the agent can pull one exact post, creator, insight, or persona with its direct linked evidence instead of guessing from search snippets.
  * Updated `search_zeitlets` so it defaults to lightweight scan-friendly cards, while the richer mode now previews real entity fields instead of relying on the internal search corpus.
</Update>

<Update label="2026-03-23" description="Safer Insight and Persona Linking">
  * Insight and persona relationships now use ordered `entityLinks` rows as the backend source of truth, which makes saves less fragile when old linked data is imperfect.
  * We removed the unused insight `children` relationship from the product and backend contracts.
  * A new backfill + verification path preserves the existing order of linked posts, creators, personas, and related insights while we migrate older records safely in stages.
</Update>

<Update label="2026-03-22" description="Clearer Agent Write Results">
  * Agent write tools now return structured save summaries instead of bare success strings, so chat workflows can see exactly what changed.
  * New insights created through chat default to draft without silently re-drafting existing insights when they are edited.
  * Recent post search now excludes posts missing descriptions and reports how many low-signal posts were skipped.
</Update>

<Update label="2026-03-20" description="Project Slugs for Agent Workflows">
  * Added readable slugs for projects so agent workflows can target projects by slug instead of only full internal IDs.
  * New and renamed projects now keep their slug in sync automatically, and existing projects were migrated onto the same persisted slug field.
  * Updated the agent project tools and write path so `project_<slug>` and bare project slugs work the same way as other agent-friendly references.
</Update>

<Update label="2026-03-19" description="SMS Intake Reliability">
  * Tightened inbound SMS handling so split Twilio text parts are reconstructed into one logical message instead of being treated as unrelated submissions.
  * Preserved more inbound Twilio metadata and attachments so debugging and follow-up handling are more reliable when messages include links, media, or multipart delivery details.
  * Added a safer rollout path for the SMS routing agent behind a feature flag, including clearer replies when we can auto-route a text and when we need the sender to clarify the prompt.
  * Simplified insight editing for agents so long-form insight content is rewritten as a whole instead of patched via special append/prepend/replace operations.
</Update>

<Update label="2026-03-14" description="Zeitlet ID Migration">
  * Cleaned up zeitlet references so the system now relies on each item's canonical slug for agent lookups instead of storing a separate short ID on the record.
  * Kept saved markdown links stable by continuing to store durable internal IDs in `sg://...` references, while still letting agents and tools use readable refs like `post_<slug>`.
  * Ran the migration on both dev and prod, including mention normalization and legacy `shortId` cleanup.
</Update>

<Update label="2026-03-11" description="Public Page Monitoring">
  * Added an automated monitor that checks key public pages on a schedule instead of waiting for someone to notice a broken link.
  * Public dashboard views and major public site pages now have recurring browser-based health checks.
  * When those checks fail, the team gets an alert with a direct link to the failing run so issues can be triaged quickly.
</Update>

<Update label="2026-03-09" description="2026-03-09">
  * Fixed admin user edits reverting after save by making Clerk the source of truth for logged-in identity fields like names, phone, and org membership.
  * Updated submitter profile editing so phone still uses Clerk verification, while contact email now saves directly to the app profile without the broken Clerk email verification step.
  * Removed stale local table state in the admin users screen so prompt and survey edits follow live Convex data more reliably.
  * Hardened background profile generation and user merges to avoid writing older profile data back over newer admin edits.
  * Reworked the signed-out `/submit` flow so phone sign-in now falls straight into account creation for brand-new submitters instead of dead-ending on the sign-in screen.
  * Simplified submitter auth back onto Clerk's built-in sign-in screen, so signed-out `/submit` now redirects to `/signin` and we no longer maintain a custom phone auth flow there.
</Update>

<Update label="2026-03-05" description="2026-03-05">
  * Added signed-in dashboard revision history so teams can open older publish and restore snapshots directly from the dashboard.
  * Hardened dashboard saves and restores so partial updates no longer wipe sibling sections and restores behave like real point-in-time snapshots.
</Update>

<Update label="2026-03-04" description="Safer Admin Access Repair Flow">
  **What changed**

  * Removed automatic admin promotion during dev database sync.
  * Added a dedicated, secret-gated Convex ops command to safely set or clear a user’s admin role.
  * Standardized operator email configuration to `ian@ambassco.com`.
  * Added a clear internal runbook and agent instructions for future authorization-related maintenance.

  **Why this matters**

  * Prevents accidental admin access from being re-applied by default.
  * Gives us one predictable, auditable way to repair access when auth/account mappings drift.
  * Reduces repeated debugging and confusion for future agent-driven operations.
</Update>

<Update label="2026-03-03" description="Experimental PayPal/Venmo Payouts (MVP)">
  **What changed**

  * Added a new `payouts` table to track each payout request and response in one place.
  * Added a minimal PayPal Payouts integration that can send a single payout and store the result.
  * Added admin and CLI payout actions so we can run a live end-to-end payout test immediately.

  **Why this matters**

  * We can now verify real payout connectivity before finalizing broader payout business rules.
  * Every payout attempt has a persistent record with status, provider IDs, and error details for debugging.
</Update>

<Update label="2026-03-02" description="Submission Log Simplification + Latest Processing State">
  **What changed**

  * Simplified `submissions` to a lightweight audit log (who submitted what URL, where it links, and prompt/user context).
  * Removed processing status history from `submissions` and track only latest processing state on `posts.processing` using timestamps (`startedAt`, `completedAt`, `failedAt`).
  * Updated submit/scrape/orchestrator flows to patch `posts.processing` directly.
  * Updated admin metrics and sender/client rollups to derive processing state from linked `posts`.
  * Added migration support to backfill latest post processing state from legacy submission fields and remove deprecated submission fields.

  **Why this matters**

  * Keeps submissions clean and purpose-built as an immutable record of user submissions.
  * Removes run-history table complexity while preserving the only state needed for product operations (latest run outcome).
  * Keeps deep debug history in Sentry/PostHog rather than the primary relational model.
</Update>

<Update label="2026-03-01" description="Telemetry Ownership Cleanup (Sentry + PostHog)">
  **What changed**

  * Clarified telemetry ownership so runtime errors and incidents are handled in Sentry, while product behavior and funnel analytics remain in PostHog.
  * Stopped duplicate client-side exception ingestion in PostHog to reduce overlap and alert noise.
  * Standardized failure telemetry to consistently include a short failure reason and Sentry event IDs when available.

  **Why this matters**

  * Faster debugging with one clear source of truth for production failures.
  * Cleaner analytics and less duplication between tools.
  * More reliable cross-tool triage by linking product failure events to Sentry incidents.
</Update>

<Update label="2026-02-27" description="Unified Social Account Identity Across Entities">
  **Unified Social Account Identity Across Entities (02/27/2026)**

  * Migrated social account identity to a shared `accounts` table as the source of truth across creators, users, brands, and organizations.
  * Added owner-linked account rows (`ownerType` + `ownerId`) for consistent cross-entity identity mapping.
  * Updated creator/user/brand/organization write paths to sync account data through the `accounts` table.
  * Added and ran backfills to populate canonical account rows from existing records.
</Update>

<Update label="2026-02-25" description="Dashboard Foundation + Publish Revisions">
  **Dashboard Foundation + Publish Revisions (02/25/2026)**

  * Added a new first-class `dashboard` backend model that supports a single live dashboard per organization.
  * Added `dashboardRevisions` as immutable publish snapshots, so edits can stay in draft until an admin publishes.
  * Publishing now records a revision history entry and marks that snapshot as the live version for read flows.
  * Added a migration utility to seed each organization’s new dashboard from its most recent legacy report.
</Update>

<Update label="2026-02-21" description="PostHog Identity Cleanup and Historical Merge">
  **Analytics Quality**

  * Standardized PostHog user identity to Clerk IDs so user activity is no longer fragmented across multiple profile IDs.
  * Updated messaging and vector-search telemetry paths to stop creating extra People records from internal/system identifiers.
  * Switched client tracking to identified-only person profiles, which keeps anonymous funnel event tracking while reducing People-page noise.

  **Data Cleanup**

  * Added a PostHog identity backfill tool that aliases legacy Convex-based IDs to canonical Clerk-based IDs and refreshes user profile traits.
  * Added dry-run and execution commands so the cleanup can be run safely and repeatedly.
</Update>

<Update label="2026-02-20" description="Analytics Funnel + Reliability Reporting Refresh">
  **Analytics**

  * Fixed signup tracking so funnel events are captured reliably from redirect through onboarding completion.
  * Added clearer organization-signup telemetry to show view and continue actions during activation.
  * Improved AI telemetry identity quality so background embedding jobs no longer pollute user-level analytics.

  **Reporting**

  * Replaced placeholder PostHog reporting assets with production-ready dashboards for core product health and agent reliability.
  * Added an idempotent provisioning script so reporting dashboards/insights can be reconciled quickly in both dev and prod.

  **Platform Reliability**

  * Improved public routing so invalid organization links now go to the landing page instead of forcing users into a single fallback org.
  * Simplified public dashboard search reliability fixes and removed unused dev-only `react-grab` hooks from the app.
  * Standardized optional end-to-end test URL configuration so dashboard and chat smoke tests skip cleanly when target URLs are not set.
</Update>

<Update label="2026-02-18" description="Insight Consistency Formula Controls">
  **Reports**

  * Dashboard v2 can now auto-populate the **Insights → Consistent** list when a new report is created.
  * Admins can now re-run the **Insights Consistent** formula from the Insights tab and tune all formula settings directly in the UI.
  * The consistency controls now include full formulas, detailed plain-language explanations, and per-setting tooltips so non-technical teammates can understand exactly how scoring works.
  * Removed the max-insights cap from insight consistency seeding; qualifying insights are now controlled by eligibility + threshold instead of a hard count limit.
  * Added the same full formula controls and explanations to the **Creators → Consistent** view, including all backend tuning knobs.
  * Insight consistency reseeding now runs through an action flow to avoid mutation timeout failures on larger datasets.
  * Added PostHog tracking for consistency formula runs (`started`, `completed`, `failed`) across both creators and insights.
</Update>

<Update label="2026-02-17" description="Search Zeitlets Contract Simplification">
  **Insights**

  * Standardized `search_zeitlets` to a single tool contract that returns only the existing agent-facing formatted string output.
  * Removed the extra side metadata channel (`results` / `idMapDelta` merge path) from runtime handling to reduce moving parts and failure points.
  * Removed request-scoped `idMap` lookups entirely; typed short IDs now resolve authoritatively by slug in Convex (or pass through as full IDs), and writes/searches use that same path end-to-end.
</Update>

<Update label="2026-02-15" description="Lighter Message Storage and Stronger SMS Telemetry">
  **Insights**

  * Reduced stored chat metadata to the fields we actively use in the product, which lowers message document size and keeps chat history lighter.
  * Removed bulky Twilio raw payload storage from message records while preserving key delivery/error fields.
  * Added dedicated PostHog events for SMS ingest/send/failure paths so Twilio transport visibility is tracked in analytics instead of overloading core message records.
</Update>

<Update label="2026-02-12" description="Cleaner Dashboard Report Editing Logic">
  **Insights**

  * Simplified how dashboard report list updates are processed so all list edits now follow one consistent path.
  * Reduced duplicate update logic in agent and backend layers, which should make report edits more reliable and easier to maintain.
  * Added targeted regression tests for report list update behavior to help prevent this area from drifting again.
</Update>

<Update label="2026-02-11" description="More Precise Insight Editing for Agent Workflows">
  **Insights**

  * Agent-driven insight edits can now target specific parts of long insight writeups instead of rewriting the whole content block.
  * Insight updates now support both relationship-list changes and focused field edits in one operation.
  * Added safer text-edit behavior that fails clearly when edit anchors are missing or ambiguous, reducing accidental overwrites.
</Update>

<Update label="2026-02-10" description="Smarter Consistent Creator Suggestions in Dashboard Reports">
  **Reports**

  * Dashboard v2 now auto-populates the **Creators → Consistent** list when a new report is created.
  * The default formula prioritizes creators who show up repeatedly across the report window, with extra weight for recent activity.
  * Added a **Re-run Formula** button in the Creators tab so admins can refresh the Consistent list after changing report dates or formula settings.
  * Suggested creators are still fully editable after generation, so teams can manually tune the final list.
</Update>

<Update label="2026-02-06" description="Faster Insight Curation from Similar Zeitlets">
  **Insights**

  * Added `+ Add` actions inside the insight detail "similar zeitlets" rail for posts, insights, creators, and personas.
  * New add actions use incremental `insights.updateInsightOps` updates so linked lists append safely without replacing existing links.
  * Similar insight adds now map to the current insight's `related` list; post/creator/persona adds map to their matching linked fields.

  **Zeitlet Views**

  * Insights are now compact-only across views; removed the old default card path and preview toggles.
  * Added shared Zeitlet layout constants (`grid/list` columns, gap, estimated row heights) in `components/schema/view-layout.ts`.
  * `CreatorView` and `PersonasView` now use shared layout SSOT and support `layoutVariant` (with `variant` kept as a compatibility alias).
  * Removed unused `CreatorView.organizationId` and dropped unused `roundedContainer` plumbing in `ZeitletView`.

  **Authentication**

  * Fixed recurring submitter/org profile loops where required email kept reappearing: Clerk identity sync now omits blank email values instead of sending `null`.
  * Hardened `users.upsertUser` so empty/invalid synced contact identifiers no longer wipe an existing Convex email/phone on re-login.
  * Added retry/backoff for transient `Unauthorized Clerk sync` races during initial client-side identity sync.
</Update>

<Update label="2026-02-05" description="Evolution Agent + DB-Only System Prompts">
  **Agents**

  * Added `EvolutionAgent` handoff from `/chat` for updating agent instruction templates and notifying the operator via SMS.
  * Added `instructionTemplates.patchTemplate` mutation for safe, partial updates to system prompt templates.
  * Removed seed-defaults UI and hardcoded template remnants; instructions are DB-only.

  **Data Model**

  * Began `users` contact flattening rollout: added top-level `users.email` and `users.phone`, dual-write from user upsert/update paths, and dual-read helpers used by admin + submitter flows.
  * Backfilled top-level contact fields for existing users via `migrations:runBackfillUserTopLevelContactFields` (processed 1,704 users; migration state `success`).
  * Cut over indexed lookups from `by_contact_email`/`by_contact_phone` to `by_email`/`by_phone` across users, messaging, surveys, migrations, and related tests.
  * Completed legacy cleanup: removed nested `users.contact.email` and `users.contact.phone` writes/read paths, added and ran `migrations:runStripUserLegacyContactEmailPhone`, and removed those nested fields from the Convex schema.
</Update>

<Update label="2026-02-04" description="Ops Metrics Dashboard">
  **Admin**

  * Added Ops Metrics dashboard for submission pipeline health (throughput, success/failure, latency, backlog).
  * Added org/prompt filters, quick time presets, and daily trend view for ops monitoring.
  * Added admin editor for agent/system instruction templates stored in Convex, with previews and revision history.
</Update>

<Update label="2026-02-03" description="Insight Updates Field">
  **Insights**

  * Added `updates` to insights for timestamped update entries.
  * Added `description` (1–3 sentence summary) to insights and agent tools.

  **Mentions**

  * Type `@` to insert linked zeitlets in chat and report textareas.
  * Mentions render as chips with hover previews and deep links to detail views.
  * Markdown mentions now render consistently across chat, reports, and zeitlet narratives.
</Update>

<Update label="2026-02-02" description="Dashboard V2 Insight Signals + Sidebar Lists">
  **Reports v2**

  * Insights now support `signals` (`crossCohort` + `resonance`) for report generation + UI.
  * Dashboard v2 report Insights sidebar now sources Creators/Posts from their respective tab data sources (same filters + sort), not derived from insights.
</Update>

<Update label="2026-01-30" description="2026-01-30">
  * SMS contact-card acknowledgements are now consolidated under `contactCardAcknowledgedAt` (emoji tapbacks supported); run `migrations:runBackfillContactCardAcknowledgedAt` to backfill legacy `contactCardLikedAt` data.
</Update>

<Update label="2026-01-29" description="Agent Report Ops + Report Agent">
  **Dashboard Report Ops**
  Added list-ops support for dashboard v2 report updates, enabling insert/move/patch/remove without sending full lists.

  **Report Agent**
  Added a dedicated dashboard report agent config and chat handoff for first-pass report generation.

  **Chat history**
  Chat now supports multiple conversations with a collapsible history panel and quick new-chat actions.

  **Prompt reminder SMS**
  Reminder texts now show the organization name and a clearer deadline format (e.g., "Thu, Jan 22 at 11am PST") instead of the prompt name and bare date.

  **SMS submission confirmations**
  If a submission takes more than a few seconds to process, we now send a quick “processing” reply before the final confirmation count.
</Update>

<Update label="2026-01-28" description="Chat polish and fixes">
  **Chat navigation + layout**
  Chat now lives in the main sidebar under Dashboard, and insight results render in a horizontal scroller for easier browsing.

  **Chat actions**
  Right-click actions (find similar, delete, etc.) and approve/deny controls are now available for insights/personas created in chat.

  **Chat reliability**
  Message input clears immediately on send, and agent responses no longer fail due to unsupported usage metadata.

  **Chat filters**
  Filter selections in chat now persist in the URL (search, semantic, platforms, prompts, date range, ours).
</Update>

<Update label="2026-01-26" description="Admin Agent Chat">
  **Agent Chat (Admin)**
  Admins can now chat with an AI agent to create or update insights and personas directly from selected posts, creators, insights, or personas.

  **Select All + Filters**
  “Select All” now resolves across posts, creators, insights, and personas using the current FilterBar settings (prompts, platforms, time range, search, semantic).
</Update>

<Update label="2026-01-24" description="Prompt Reminders">
  **Automated Prompt Reminders**
  Submitters on active prompts now receive SMS reminders every 2 days until they hit the submission target, sent before 6 PM PT and respecting SMS opt-out/consent.

  **Bulk SMS Preview**
  Admins can preview the exact outbound SMS body (including auto-appended survey links and phone-prefill URLs) before scheduling or sending a broadcast.
</Update>

<Update label="2026-01-23" description="Signup Referral Links">
  **Referral Attribution**
  Signup links can now carry a referral user id (`/signup?ref=<userId>`) that gets stored on new user records.
  Submitter links at `/submit` accept the same `ref` param.

  **Admin Referral Dashboard**
  Admins can view referral counts per user and copy referral links from the new Referrals page.

  **Prompt Signup Links**
  `/submit` links can include `prompt=<promptId>` to auto-assign the viewer to that prompt as a submitter.

  **Signup SMS Welcome**
  New submitters who opt into texting now receive an automated welcome SMS, with prompt-aware instructions when assigned via a prompt link. The first outbound message also sends the Social Glass contact card.
</Update>

<Update label="2026-01-22" description="Clerk Contact Sync + Duplicate Submitter Linking">
  **Duplicate Submitter Linking**
  Submitter logins now reconcile duplicate accounts using verified contact info, so prompts remain attached when someone signs up by phone after previously using email.

  **Clerk Contact Backfill Tooling**
  Added a batch backfill action to push known phone numbers/emails into Clerk, preventing future duplicate accounts.
</Update>

<Update label="2026-01-20" description="Unified Interactions + Survey Prompt Linking">
  **Unified Activity Timeline**

  We now keep a single “interactions” timeline that brings together messages, submissions, and survey responses for easier review and analytics.

  **Survey Prompt Linking (In Progress)**

  Surveys are now linked to prompt records to start consolidating how we model questions and outreach. This is the first step toward a single prompts + surveys system.
</Update>

<Update label="2024-12-04" description="Slack Notifications & UI Polish">
  **Daily Slack Updates**

  You can now receive daily morning updates in Slack with a summary of new submissions and activity. Connect your workspace in organization settings.

  **Improved Autosave**

  Forms across the platform now save automatically as you type, with immediate save when you click away. No more lost work.

  **Mobile-Friendly Adjustments**

  Dashboard pages now display a prompt to use desktop for the best experience on mobile devices.
</Update>

<Update label="2024-11-27" description="Public Sharing & Context Menus">
  **Share Zeitgeists Publicly**

  Generate shareable links to your zeitgeist views (creators, personas, insights) that work without login. Perfect for sharing with stakeholders who don't need full platform access.

  **Right-Click Context Menus**

  All cards (posts, creators, personas, insights) now have context menus with quick actions. Right-click to duplicate, export, or manage items without opening the full editor.

  **Dataset Export**

  Export your insights and reports in the full zeitlet dataset format for easy sharing and AI-assisted analysis.
</Update>

<Update label="2024-11-20" description="Creator Intelligence & Enhanced Filtering">
  **Creator Intelligence**

  Look up any creator by their social handle or post URL to get detailed analytics and insights about their content and audience.

  **Improved Filter Bar**

  The filter bar across all pages now supports more options and remembers your preferences. Quickly narrow down posts, creators, and insights.

  **Enhanced Video Player**

  Videos now load faster and stream more smoothly with our new media pipeline.
</Update>

<Update label="2024-11-13" description="SMS Submissions & Bulk Messaging">
  **Submit Posts via SMS**

  Submitters can now text post links directly to receive and process submissions. No app needed.

  **Bulk Messaging**

  Send messages to multiple submitters at once with template support. Great for announcements and prompt updates.

  **Error Monitoring**

  We've added comprehensive error tracking to catch and fix issues faster.
</Update>

<Update label="2024-11-01" description="Zeitgeist Launch">
  **Introducing Zeitgeist**

  Your new home for understanding cultural moments. Zeitgeist brings together posts, creators, personas, and insights in one unified view.

  **Persona Cards**

  See your audience segments visualized as persona cards with key traits, behaviors, and representative content.

  **Insights with Media**

  Insights now support embedded videos and images in carousels, making it easier to tell the story behind the data.
</Update>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.