Sign in
Product updates

Narrly release notes

New capabilities, meaningful improvements, and fixes across Narrly Platform and Mobile.

1.6.9

Latest

2026-09-08

  • Update

    **Narrative Power:** owned editor and detail now show a creator-only Power readout (composite, dimensions, 5-beat tension sparkline, turning point + stakes). One-tap **Sharpen** calls targeted refine with the existing do-no-harm tension guard. Published narrative body stays prose-only — no beat labels or panel copy.

  • Update

    **Discovery Engine** is the first-run create path: paste a URL or notes above the fold, score the four-beat draft immediately, then Refine or Publish.

  • Update

    **Vogler alignment (flagged):** `NARRLY_ARC_V2` restores Ordinary World / Ordeal / Return-with-Elixir as first-class optional beats and adds `ordinary_world_contrast` + `elixir_takeaway` scoring. Default off so the 5-dimension composite floor does not move.

  • Update

    **Why this lands:** on publish, a shareable receipt (arc one-liners, turning point, stakes, elixir, Power score) is stored and rendered beside the public narrative — it does not alter the body.

  • Update

    **Refine rollout:** default **on** after live eval (+7.5 composite). Kill with `NARRLY_NARRATOLOGY_REFINE=0`. Optional percent bucket via `NARRLY_NARRATOLOGY_REFINE_PERCENT`. Mobile generate already runs `refineNarrativeDraft` and returns `narratology` scores. Do-no-harm tension guards stay intact.

  • Update

    **Cover generation:** `gpt-image-1` calls time out at 45s; stale pending/generating covers are marked failed so mobile cannot spin forever. Failures return an error (not a silent data-URI “success”).

  • Update

    **Mobile feed detail** now includes `narratology`, `whyThisLands`, `coverImageError`, and `isOwnedByMe` so Power + receipt can render on-device. Mobile `stage_*` ids map onto Campbell beats so Why this lands is actually stored at publish.

  • Update

    **Welcome email** no longer blocks Create. Verified users proceed immediately; Welcome retries in the background.

  • Update

    **Mobile Sharpen** returns `narratology` plus `composite_before` / `composite_after` so the client can refresh Power. Mobile generate writes Call / Quest / Reckoning / Breakthrough / New World as the actual section jobs (ids unchanged for scoring). Headings that are beat labels are stripped. The product is not cast as a Mentor.

  • Update

    Analytics (privacy-safe): `power_panel_viewed`, `sharpen_tapped`, `sharpen_succeeded {dimension, composite_before, composite_after}`, `discovery_engine_intake {scored, composite}`, `receipt_generated`, `receipt_shared`.

Unreleased

In progress

  • Update

    Free email signup waits on `/verify-email` before guided Create, so Welcome can send after verification. Unverified password users are gated out of Create. A failed welcome email no longer deletes the account; the user can retry.

1.6.8

2026-09-01

  • Update

    Internal narratology scoring on generation: 0–100 `tension_arc`, `turning_point_strength`, `reversal_stakes`, `arc_coherence`, `specificity_evidence` (plus composite). Existing section metrics stay secondary. Nothing is shown in the UI.

  • Update

    Self-refine loop: if a core dimension is below threshold, rewrite the weak section once (escalate stakes / sharpen the reversal), re-score, cap 2 passes / 8s. Flag `NARRLY_NARRATOLOGY_REFINE` defaults **off** until Dane flips it (optional percent A/B). The rewrite instruction is a **system** message; only the model completion is persisted. If the completion contains instruction fragments (`Current section:`, `rewrite the given narrative`, `word count`, `Do not invent`, …) the pass is rejected and the original section is kept. Eval fails the run if any refined section still contains that instruction text.

  • Update

    Privacy-safe `narrative_scored` analytics emit sub-scores only — no body text.

  • Update

    Narrative quality eval: `npm run eval:narrative` runs a fixed 16-case Product/Market/Mission/Intelligence benchmark through generate + 2.0 scoring, prints per-dimension averages and composite, and fails on regression vs `data/eval/last-run.json`. Pass `--update` to freeze a new baseline; `--live` for real OpenAI generation (and refine, unless `--no-refine`).

  • Update

    Refine do-no-harm: rewrite only a dimension below `NARRLY_NARRATOLOGY_REFINE_THRESHOLD` (default 65). After rewrite, re-score all five and keep the original unless the target rose and no other dimension dropped more than `NARRLY_NARRATOLOGY_HARM_TOLERANCE` (default 1). **Protected dimension:** `tension_arc` may not drop more than `NARRLY_NARRATOLOGY_TENSION_EPSILON` (default 0.5) on any pass — a rewrite that lifts stakes/coherence but drops tension beyond epsilon is rejected and the original section is kept. A rejected pass still counts toward the 2-pass cap. Nothing shown in the UI.

  • Update

    Generation model A/B scaffolding (`NARRLY_GEN_FRONTIER_MODEL`) stays in tree for future Claude/o-series or prompt tests. Flag defaults **off**; generation remains **gpt-4**. Live eval (n=16, seed 1688) showed gpt-5.5 vs gpt-4 composite −1.00 and tension −7.50; gpt-5.5 is rejected.

  • Update

    Live refine ON vs OFF (gpt-4, n=16, seed 1688): composite **+4.06** (11 up / 4 down / 1 tie), tension_arc **+6.88** (7 / 2 / 7). Time 438s ON vs 276s OFF. Ship bar **PASS**. Flags remain off.

1.6.7

2026-09-01

  • Update

    Activation funnel: server-side PostHog events (`signup`, `first_generate_started`, `narrative_created`, `narrative_published`, `returned_d1`) with `distinct_id` bound to the user. Each canonical event fires once per action (server is the only emitter). DarkBrief uses `narrative_published_dark`. Homepage generate no longer client-captures `narrative_created` (now `create_generate_succeeded`). Session ping accepts `surface: mobile` for D1.

  • Update

    Signup persists a non-null acquisition `source` (UTM / referrer host, fallback `direct`) and sets it as a PostHog person property. No narrative body or PII in analytics.

  • New

    Added `npm run verify:funnel-readiness` to fail if any funnel event is missing in the last 7 days.

  • Update

    First-narrative activation (web): after signup, land on a pre-filled Daily Provocation with Generate above the fold (`?start=guided`, also the default for users with zero narratives). Publish is one tap in the post-generate editor. Wizard, templates, and lens picker remain available as power-user paths.

  • Update

    Discovery Engine intake (flagged first cut): paste a landing-page URL or product notes and get a four-beat arc (Prior Belief, Inciting Truth, Reversal, New Trajectory) as a draft you can Refine or Publish. Framed as **the story your tech is hiding**. Reuses auth, generation rate limits, and guardrails; privacy-safe `discovery_engine_intake` analytics only.

[Unreleased] — 1.6.6

In progress

  • Update

    Script brief: duration chips (Free 10/15/30/60s; Pro also 2–30 min) and optional 10s Grok Imagine segments; Pro durations gated on subscription

  • Update

    Video kit: extract stages/sections/summary into timed 10s scenes when the model omits a scene list

  • Update

    Talking-head: Pro camera cap 120s / 80MB

  • Update

    Copy: **Narrlies** (many) · **My Narrlies** · **From your Narrlies** · 3/15 Narrlies per day — never Narrlys

  • Update

    Expo push: `POST/DELETE /api/v1/me/push-token` persists `expoPushTokens` on `userProfiles`; `plan_ready` sends OS push via Expo Push API (no plan body) in addition to Activity.

  • Update

    Loops opt-in auto-publish (Pro): schedule field `auto_publish_on_plan_approve` (default false); after plan approval + passing verification on a schedule-triggered run, may continue to Narrly publish/delivery. Failures leave the run recoverable and never fail approval/verify.

  • Update

    Script brief: `POST /api/v1/narratives/[narrativeId]/script-brief` returns `{ title, script }` (LLM with local fallback; hard length caps; privacy-safe `script_brief_generated` analytics).

  • Update

    Home interests: `GET/PATCH /api/v1/me/interests` persists up to 5 fixed tags on `userProfiles`; trending / for-you ranking applies a capped heuristic soft-boost when narrative mode/type/tags overlap.

  • Update

    Automated Loops: progressive disclosure — hide schedule UI until first completed Manual Loop; hide schedule chrome during Manual Loop intake/run; Manual Loop copy; unlock strip after approve.

  • Update

    Talking-head Narrlies: Pro owners can upload ≤120s vertical video (`POST /api/narratives/talking-head`); status `pending` → `ready` | `failed`; mirrors to `publicNarratives` for Narrlies; DarkBrief blocked; soft fail leaves covers intact.

  • Update

    Scheduled Loops: Activity notify on `plan_ready` (in-app; Expo push when token present).

  • Update

    Admin: sync-only cover backfill `POST /api/admin/cover-sync-backfill` (mirror private→public; dryRun default).

  • Update

    Cover regenerate: Free plan unlocked (still rate-limited); Pro unchanged.

  • Update

    Web Tusk coach panel on owned narrative detail (asks `POST /api/v1/tusk/ask`; no voice).

  • Update

    Tusk ask: cross-session memory — last 8 Q/A turns per `(userId, narrativeId)` in Firestore `tuskSessions`, bounded into the model prompt; Q/A never sent to analytics.

Unreleased

In progress

  • Update

    Switched screenshot-intake analysis from Fireworks vision to OpenAI `gpt-4.1-mini`, with auth, per-user rate limiting, request size bounds, and a hard request timeout.

  • Fixed

    Fixed screenshot-intake analysis: Fireworks serverless no longer serves `qwen2p5-vl-32b-instruct` (404). Switched default vision model to `kimi-k3`, raised route `maxDuration` to 90s, and hardened JSON parsing.

1.6.4

2026-08-27

  • New

    Added server-side Narrative Guidance support for Mobile generation, including profile-default fallback and a bounded `USER NARRATIVE GUIDANCE` prompt section that cannot override safety or required structure.

  • New

    Added default-safe persistence for `narrativeGuidance` on generated and saved Mobile narratives.

  • New

    Added Alias publishing support for standard Mobile narratives with frozen `publicAuthorType` and `publicAuthorNameSnapshot` fields.

  • Update

    Hardened public feed/detail serialization so alias-published narratives do not get re-enriched with the account profile name or avatar.

  • Update

    Returned `isOwnedByMe` for DarkBrief detail so Mobile owners can edit their anonymous public signal without revealing identity.

1.6.3

2026-08-26

  • New

    Added an authenticated Fireworks-powered screenshot-intake analysis API for Mobile so a pasted or selected screenshot can become a bounded narrative prompt without persisting raw screenshots.

  • Update

    Reconciled Platform UX with the Mobile-led v1.6.2 activation model: `/workspace/narrly` now offers the same structured Daily Provocation prompts and starts Create with the matching lens.

  • Update

    Updated Platform narrative tools to match Mobile's clearer language: visual Counter claim labels, compact/collapsible Turning Points, source-material Arc copy, and supervised-first Loop schedule gating.

  • Fixed

    Fixed the scheduled Loop Firestore index configuration needed by the production Loop scheduler.

1.6.0

2026-08-20

  • New

    Added iOS Universal Links for Create at `https://narrly.ai/open/create`, with an Apple App Site Association document and a browser fallback into the guided first-narrative flow.

  • New

    Added a Smart App Banner and homepage **Get the iPhone app** CTA for the live App Store listing.

  • Update

    Rewrote customer-facing product emails around narrative power instead of four-lenses taxonomy.

  • Update

    Rebuilt lifecycle emails on Narrly’s product light brand: teal wordmark, “Shape the narrative,” white card on `#F9FAFB`, and `#0dceda` CTAs.

  • Update

    Rewrote the narrly.ai homepage hero and three pillars around narrative power. Capability labels stay visual proof.

  • Update

    Verified focused messaging, homepage, Universal Link, and welcome-email tests before production deploy.

  • Update

    Production alias `www.narrly.ai` updated with the v1.6 messaging and Create Universal Link surfaces.

1.5.1

2026-08-13

  • New

    Added Free and Narrly Pro entitlement helpers used by Narrative detail tooling and pricing.

  • New

    Added a body-first Narrative tools strip on owned Narrative detail with Counter, Turning Points, Arc, Mutations, and Loop access.

  • New

    Added bounded Counter soft-limit handling with an upgrade path for Free users.

  • Update

    Updated customer-facing pricing to the Free and Narrly Pro packaging model.

  • Update

    Redesigned the verified-user welcome email for first-narrative activation with a stable subject, safe greeting fallback, one guided CTA, and no four-choice lens list.

  • Update

    Hardened Counter Narrative and Turning Points API failures with bounded, user-safe error codes instead of raw provider errors.

  • Update

    Locked Mutations behind Narrly Pro while keeping Counter, Turning Points, Arc, and Loop visible to Free users.

  • Fixed

    Fixed the Turning Points analyze route so file-parser imports no longer crash JSON narrative analysis at production route bootstrap.

  • Improved

    Improved Turning Points provider parsing to normalize safe response variations before schema validation.

  • Update

    Verified focused Counter Narrative, Turning Points, Narrative Loop, and entitlement tests before production deployment.

  • Update

    Verified runtime behavior on production revision `c08c0a65`; subsequent v1.5.1 commits in this line are release-record only.

1.4.0

2026-08-13

  • New

    Added Narrative Loops on owned Narrative detail so users can refresh a Narrative with new context (`What changed?` → Create Loop Plan → Approve plan) without using Narrative Arcs as a primary nav product.

  • New

    Added `narrative_loop_started` analytics alongside existing Arc rerun events (bounded IDs/statuses only).

  • New

    Added supportive, hideable Trust checks panel (“What Narrly checked”) on owned Narrative detail.

  • New

    Added private Counter Narrative generation on Narrative detail with claim labels and no public debate surface.

  • New

    Added owned Counter **Use to revise** that opens the Narrative editor with private Counter guidance (never auto-published).

  • New

    Added Explicit Preference Memory on Narrative Loops: save only after confirmation, review/disable/delete, and Loop plan disclosure of enabled preferences.

  • Improved

    Improved Narrative Loops so plan approval can generate and verify in place on Narrative detail, with Accept/Reject and optional preference save.

  • New

    Added in-place Publish & confirm delivery on Narrative detail Loops, plus `second_narrative_loop_completed` and `outcome_delivered` analytics.

  • New

    Added Outcome Analytics v2 events: `narrative_loop_completed`, trust hide/show, and typed Counter lifecycle captures.

  • Update

    Reframed the Narrative detail Arc panel as owned Narrative pillars and demoted standalone Narrative Arcs from primary navigation; Loop is the primary return path on detail.

1.3.0

2026-08-13

  • New

    Added supervised Narrative Arcs that turn an authorized Radar signal or manual research input into an editable plan, canonical Narrative, Verification Receipt, confirmed delivery, and repeatable Run.

  • New

    Added Narrative Arc activity to owned Narratives and My Narrlys so users can open the connected Arc, review its delivery history, and continue work without leaving their Narrative library.

  • New

    Added explicit Arc controls for plan approval and revision, pause and resume, cancellation, outcome acceptance or rejection, bounded retry, and confirmed prior-version restoration.

  • New

    Added Saved Arc reruns that require fresh source input, preserve earlier Runs, and carry forward only corrections the user explicitly chooses.

  • New

    Added Google Docs export with secure Google connection and reconnection, recognizable provider branding, clear failure guidance, an explicit Open Google Doc action, and a source link back to published Narrlys.

  • Improved

    Improved Narrative Arc verification with a four-section Receipt covering checks, evidence basis, limitations, permissions, and destination readiness before delivery.

  • Improved

    Improved public Narrative destination links so legacy and canonical paths open without duplicated route prefixes.

  • Improved

    Improved Narrative Arc accessibility and responsive behavior across desktop and narrow mobile-width Platform layouts.

1.2.0

2026-07-17

  • New

    Added private, narrative-native Mutations analysis across Platform and Mobile. The Mutation Halo maps 3–8 potential or evidence-backed observed variants around the canonical Narrative ID, with server-computed gravity, accessible detail views, public-remix lineage, and stress-test refresh.

  • New

    Added narrative-native Turning Points analysis across Platform and Mobile: generated and existing Narrlys are analyzed by canonical Narrative ID, results live inside narrative preview/detail, and approved sharper turns update the owned narrative. External text, DOCX, and PDF analysis remains available as a secondary draft tool.

  • New

    Added Tribe-native Constellations beta for explainable, steward-approved discovery across three or more autonomous public Tribes, surfaced inside Tribes with difference-preserving explanations and leave, mute, correction, and report controls.

  • New

    Added canonical narrative lifecycle analytics IDs across generation, publishing, viewing, sharing, and remix flows.

  • New

    Added collision-safe friendly public narrative URLs, narrative-specific social metadata, and a dry-run-first legacy slug backfill.

  • New

    Added an automated public Release Notes page sourced from this changelog.

  • Improved

    Improved production dependency security by clearing the critical advisories that were present in the prior stack.

  • Fixed

    Fixed the signed-out public narrative viewer crash and friendly-route live subscription lookup.

  • Fixed

    Fixed web publication failing with Firestore permission errors by moving slug reservation and public-mirror writes behind the authenticated server publisher.

  • Fixed

    Fixed homepage, canceled-checkout, and email-verification prerendering on the patched Next.js release.

1.1.0

2026-07-17

  • New

    Added Master Plots API support for creating narrative arcs and resuming them with chapters.

  • New

    Added public-safe Discover User Search support for profile lookup by name.

  • New

    Added Pro-gated Custom Integrations API support for HTTPS webhook connections.

Turn your next technology shift into a narrative.

Get started free