Skip to content

[comp] Production Deploy#2359

Merged
tofikwest merged 13 commits intoreleasefrom
main
Mar 24, 2026
Merged

[comp] Production Deploy#2359
tofikwest merged 13 commits intoreleasefrom
main

Conversation

@github-actions
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.

chasprowebdev and others added 3 commits March 22, 2026 22:28
@vercel
Copy link
Copy Markdown

vercel bot commented Mar 23, 2026

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

Project Deployment Actions Updated (UTC)
app (staging) Ready Ready Preview, Comment Mar 24, 2026 9:55pm
comp-framework-editor Ready Ready Preview, Comment Mar 24, 2026 9:55pm
1 Skipped Deployment
Project Deployment Actions Updated (UTC)
portal (staging) Skipped Skipped Mar 24, 2026 9:55pm

Request Review

@cursor
Copy link
Copy Markdown

cursor bot commented Mar 23, 2026

PR Summary

Medium Risk
Medium risk due to an API contract change (upload-and-parse now returns runId/publicAccessToken) and moving questionnaire parsing to long-running async Trigger.dev jobs, plus new AI-based PDF/DOCX extraction paths that may affect parsing correctness and cost/latency.

Overview
Questionnaire upload/parsing is shifted from synchronous DB persistence to async Trigger.dev execution. The POST /v1/questionnaire/upload-and-parse response changes from {questionnaireId,totalQuestions} to {runId,publicAccessToken}, and the app now uses useRealtimeRun to track completion and navigate once the task outputs a questionnaireId.

File parsing paths are expanded/changed. Questionnaire content extraction adds .docx support via mammoth, handles PDFs via Claude native PDF support (and updates the Claude model to claude-sonnet-4-6), splits PDF vs image handling, and adds new PDF extraction/question-parsing helpers; the vector-store file extractor is updated similarly with new tests.

Trigger.dev jobs and integrations get robustness tweaks. parse-questionnaire and the knowledge-base orchestrator increase maxDuration, parse-questionnaire accepts fileSize from callers, vendor risk assessment now throws a BadRequestException for invalid websites, and Google Workspace checks centralize user filtering logic (OU + include/exclude email terms) in a new helper with tests and reuse it in two-factor-auth and employee-access (now also supports target_org_units).

Written by Cursor Bugbot for commit 8fd4607. This will update automatically on new commits. Configure here.

tofikwest and others added 5 commits March 24, 2026 10:19
… async processing

- Changed API response to return runId and publicAccessToken instead of questionnaireId and totalQuestions for real-time tracking.
- Enhanced file handling to support async parsing of questionnaires, including improved error handling for file uploads.
- Updated content extraction to handle PDF and DOCX formats using Claude's capabilities.
- Added tests for new PDF extraction logic and updated existing tests to cover new functionality.
- Updated maxDuration for parseQuestionnaireTask and processKnowledgeBaseDocumentsOrchestratorTask to reflect correct time in seconds instead of milliseconds.
- Enhanced the questionnaire service to include fileSize in the upload data.
- Updated parseQuestionnaireTask to handle fileSize, allowing for more accurate file handling during parsing.
…tionnaire

[dev] [tofikwest] tofik/fix-knowledge-base-questionnaire
tofikwest and others added 2 commits March 24, 2026 11:36
…acking

- Changed comment to clarify the transition from upload completion to async parsing tracking in useQuestionnaireParse hook.
[dev] [tofikwest] tofik/upload-file-update-status
- Changed model name from 'claude-3-5-sonnet' to 'claude-sonnet-4-6' in the logging output of the parseQuestionsWithClaude function to reflect the current model in use.
[dev] [tofikwest] tofik/fix-log-model-name
@vercel vercel bot temporarily deployed to staging – app March 24, 2026 16:00 Inactive
@vercel vercel bot temporarily deployed to staging – portal March 24, 2026 16:00 Inactive
@tofikwest tofikwest merged commit ae0f384 into release Mar 24, 2026
12 checks passed
@claudfuen
Copy link
Copy Markdown
Contributor

🎉 This PR is included in version 3.11.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Copy link
Copy Markdown

@cursor cursor bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

questionsAndAnswers: questionsAndAnswers.map((qa) => ({
question: qa.question,
answer: null,
sources: undefined,
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Source field lost in async task flow

Low Severity

The source field from UploadAndParseDto (which can be 'internal' or 'external') is no longer propagated to the parse-questionnaire task payload. The old synchronous flow explicitly passed source: dto.source || 'internal' to persistQuestionnaireResult, but the new async flow omits it entirely from the tasks.trigger call. The task's db.questionnaire.create also doesn't set source, relying on the Prisma @default("internal"). This silently drops the source value for any caller passing 'external'.

Additional Locations (1)
Fix in Cursor Fix in Web

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.

3 participants