From 516dbcfdde607dd7b327ecd2e6bcc62011383e25 Mon Sep 17 00:00:00 2001 From: "[._.]/ Adam Eivy" Date: Thu, 10 Sep 2026 00:01:28 +0000 Subject: [PATCH 1/4] fix(pipeline): derive manuscript fields from arc limits (#6769) --- .../arcCanvas/DeriveFromManuscriptPreview.jsx | 15 +++++---- .../DeriveFromManuscriptPreview.test.jsx | 32 +++++++++++++++++++ 2 files changed, 40 insertions(+), 7 deletions(-) create mode 100644 client/src/components/pipeline/arcCanvas/DeriveFromManuscriptPreview.test.jsx diff --git a/client/src/components/pipeline/arcCanvas/DeriveFromManuscriptPreview.jsx b/client/src/components/pipeline/arcCanvas/DeriveFromManuscriptPreview.jsx index d7a1cdb526..1d2e42d276 100644 --- a/client/src/components/pipeline/arcCanvas/DeriveFromManuscriptPreview.jsx +++ b/client/src/components/pipeline/arcCanvas/DeriveFromManuscriptPreview.jsx @@ -1,11 +1,12 @@ import { useState } from 'react'; import { Loader2, X, BookText } from 'lucide-react'; import { WORLD_PREMISE_MAX } from '../../../services/apiUniverseBuilder.js'; +import { ARC_LIMITS } from '../../../../../server/lib/storyArc.js'; // Field-count guard for derived synopsis textareas — mirrors the server caps so // the user isn't surprised by a 400 on commit. const DERIVE_SYNOPSIS_MAX = 8000; -const DERIVE_TITLE_MAX = 300; +const ISSUE_TITLE_MAX = 300; // Review/edit panel for the derive-from-manuscript proposal. The arc + bible // fields and the single-volume title/synopsis are editable; each existing issue @@ -48,10 +49,10 @@ export default function DeriveFromManuscriptPreview({ preview, committing, onCan onConfirm({ arc, bible, - volume, + volume: { ...volume, title: volume.title.slice(0, ARC_LIMITS.SEASON_TITLE_MAX) }, issues: issues.map((it) => ({ id: it.id, - title: it.title.slice(0, DERIVE_TITLE_MAX), + title: it.title.slice(0, ISSUE_TITLE_MAX), synopsis: it.ideaLocked ? '' : it.synopsis.slice(0, DERIVE_SYNOPSIS_MAX), })), }); @@ -78,7 +79,7 @@ export default function DeriveFromManuscriptPreview({ preview, committing, onCan