Skip to content

[comp] Production Deploy#3140

Merged
tofikwest merged 4 commits into
releasefrom
main
Jun 15, 2026
Merged

[comp] Production Deploy#3140
tofikwest merged 4 commits into
releasefrom
main

Conversation

@github-actions

@github-actions github-actions Bot commented Jun 15, 2026

Copy link
Copy Markdown
Contributor

This is an automated pull request to release the candidate branch into production, which will trigger a deployment.
It was created by the [Production PR] action.


Summary by cubic

Unblocks framework imports by raising description limits to 10k and accepting/normalizing TipTap policy content, fixing failures when importing exported frameworks (e.g., NIST SP800-53). Also standardizes exported policy content to a canonical doc shape.

  • Bug Fixes
    • Raised import description limits to 10,000 for requirements, controls, policies, and tasks.
    • Allowed policyTemplates.content to be an object or array via IsObjectOrArray (size guard retained).
    • Normalized policy content on import/export with normalizeTipTapDoc to always emit { type: 'doc', content: [] } (avoids bare {} and supports legacy arrays).
    • Added tests for DTO validation and content normalization.

Written for commit 381f7f3. Summary will update on new commits.

Review in cubic

github-actions Bot and others added 4 commits June 15, 2026 02:19
…t + content shape)

Two prod bugs hit when importing an exported framework (e.g. the first NIST
SP800-53 framework):

1. 5000-char limit on import. FRAME-2 raised the requirement description cap to
   10000 only on the standalone requirement DTOs; the import flow uses a
   separate ImportRequirementDto that was still @maxlength(5000). NIST PL-2's
   requirement text is >6000 chars, so import failed validation. Raise it to
   10000 to match (control/policy/task stay 5000, consistent with their
   standalone create DTOs).

2. "policyTemplates[].content must be an object". Policy content is an untyped
   Json column that legitimately holds either a {type:'doc',content:[...]}
   object or a bare ProseMirror node array (legacy data). Export emits it
   verbatim, but the import DTO required @isObject, which rejects arrays.
   - Relax ImportPolicyTemplateDto.content to accept array-or-object.
   - Normalize content to a canonical doc node on import-persist (and on export
     for forward-compat) via normalizeTipTapDoc. This also replaces the old
     `(content ?? {})` fallback that wrote a bare {} — which onboarding silently
     turned into an empty policy.

Adds the IsObjectOrArray validator, the normalizeTipTapDoc helper, and tests
for both (DTO validation boundaries + helper shape cases). All 60 framework-
editor tests pass.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Extend the import limit fix beyond requirement descriptions: control, policy,
and task descriptions on import also go 5000 -> 10000. Import is the bulk-load
path for externally-authored frameworks (e.g. NIST), where any description can
be verbose, and we can't assume only requirements exceed 5000. All four columns
are unbounded Postgres text, so there's no DB risk. Adds a test covering 10k
control/policy/task descriptions.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…mit-and-content

fix(framework-editor): unblock framework import (10k requirement limit + content shape)
@vercel

vercel Bot commented Jun 15, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
comp-framework-editor (staging) Ready Ready Preview, Comment Jun 15, 2026 1:29pm
2 Skipped Deployments
Project Deployment Actions Updated (UTC)
app (staging) Skipped Skipped Jun 15, 2026 1:29pm
portal (staging) Skipped Skipped Jun 15, 2026 1:29pm

Request Review

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 6 files

Confidence score: 5/5

  • Automated review surfaced no issues in the provided summaries.
  • No files require special attention.

Re-trigger cubic

@tofikwest tofikwest merged commit 483e1a0 into release Jun 15, 2026
13 checks passed
@claudfuen

Copy link
Copy Markdown
Contributor

🎉 This PR is included in version 3.82.3 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants