Skip to content

[comp] Production Deploy#2443

Open
github-actions[bot] wants to merge 13 commits intoreleasefrom
main
Open

[comp] Production Deploy#2443
github-actions[bot] wants to merge 13 commits intoreleasefrom
main

Conversation

@github-actions
Copy link
Copy Markdown
Contributor

@github-actions github-actions bot commented Apr 2, 2026

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.

github-actions bot and others added 2 commits April 2, 2026 19:58
…ection (#2383)

Resolves ENG-114

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Mariano Fuentes <marfuen98@gmail.com>
@cursor
Copy link
Copy Markdown

cursor bot commented Apr 2, 2026

PR Summary

Medium Risk
Adds HIPAA-specific training completion gating, certificate generation/emailing, and a new API endpoint, plus modifies task description responses based on active frameworks—changes affect compliance metrics and user-facing content generation.

Overview
Adds a HIPAA Security Awareness Training track alongside existing general training: new hipaa-sat-1 completion records, HIPAA certificate PDF generation, a dedicated completion email/template, and a new POST /v1/training/generate-hipaa-certificate endpoint (with updated OpenAPI).

Updates compliance/people scoring and onboarding/invite flows to account for HIPAA training when the HIPAA framework is active (including creating the extra completion entry and requiring it for “completed” status).

Introduces framework-aware task description filtering in the API (filterDescriptionByFrameworks) to strip inactive-framework paragraphs, and extends People API responses to include deactivated.

App/Portal UI updates: employee details and dashboard now show HIPAA completion + certificate download, portal adds an in-app HIPAA acknowledgement task and improved device-agent handling for multiple devices, and integrations prompt admins to import employees after connecting supported sync providers; tasks UI gains an automationStatus filter.

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

@vercel
Copy link
Copy Markdown

vercel bot commented Apr 2, 2026

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

Project Deployment Actions Updated (UTC)
comp-framework-editor Ready Ready Preview, Comment Apr 2, 2026 10:03pm
portal (staging) Ready Ready Preview, Comment Apr 2, 2026 10:03pm
1 Skipped Deployment
Project Deployment Actions Updated (UTC)
app (staging) Skipped Skipped Apr 2, 2026 10:03pm

Request Review

Resolves ENG-90

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Mariano Fuentes <marfuen98@gmail.com>
* feat(tasks): add filter for automated vs manual evidence tasks

Resolves SALE-2

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix(tests): resolve duplicate testid collisions in TaskList test

Use getAllBy* selectors to handle multiple Select components rendering
with overlapping testids in the mocked UI.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Mariano Fuentes <marfuen98@gmail.com>
- Add `deactivated` field to API response (MEMBER_SELECT + PeopleResponseDto)
  so the client can properly distinguish deactivated vs inactive members
- Extract filtering logic from TeamMembersClient into testable pure functions
  (buildDisplayItems, filterDisplayItems) in filter-members.ts
- Replace lucide-react Loader2 with InProgress from @trycompai/design-system/icons
- Add deactivated field to client-side PeopleResponseDto
- Add API test for includeDeactivated query parameter
- Add 17 unit tests covering status/search/role filter combinations

Resolves SALE-6

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Mariano Fuentes <marfuen98@gmail.com>
…paragraphs (#2381)

* fix(tasks): hide framework-specific info irrelevant to organization

Resolves SALE-3

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix(tasks): handle split framework header paragraphs

* fix(tasks): support composite framework header labels

---------

Signed-off-by: Tofik Hasanov <72318342+tofikwest@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Mariano Fuentes <marfuen98@gmail.com>
Co-authored-by: chasprowebdev <chasgarciaprowebdev@gmail.com>
Co-authored-by: Mariano Fuentes <marfuen98@gmail.com>
…evices per employee

* refactor: update device handling in OrganizationPage and EmployeeTasksList components

- Changed agentDevice to agentDevices to fetch multiple devices for a member.
- Updated related components to handle arrays of devices instead of single device instances.
- Adjusted UI to display all agent devices with their compliance status.
- Modified tsconfig.json to change JSX setting from react-jsx to preserve.
- Updated prisma schema to use the installed prisma client binary and adjusted output path.

* feat(training): implement HIPAA training completion flow

- Added new Prisma schema for HIPAA training, including models for training video completions and user certificates.
- Created email template for notifying users upon HIPAA training completion.
- Implemented service methods to generate HIPAA training certificates and send completion emails.
- Updated training service to handle HIPAA training video completions and integrate with existing training workflows.
- Added tests for HIPAA training functionalities to ensure proper behavior and coverage.
- Introduced new API endpoint for generating HIPAA training certificates.
- Enhanced employee detail page to display HIPAA training status and completion date.

* fix(tasks): update DeviceAgentAccordionItem to display OS type correctly

- Removed unused SelectValue component and replaced it with a span to show the detected OS type as 'Intel' or 'Apple Silicon' based on the selected value.
- Improved UI clarity by directly displaying the OS type in the select trigger.

* fix(frameworks): optimize training completion filtering logic

- Updated the logic for fetching training completions to use a single mapping for member IDs.
- Enhanced filtering of completed video IDs to ensure it checks both member ID and completion status in one step.
- Introduced a condition to determine if training completions are needed based on security training settings.

* fix(training): validate HIPAA training availability for organizations

- Added a check in the TrainingService to ensure that HIPAA training is available for the organization before processing the training video ID.
- Throws a BadRequestException if the organization does not have access to HIPAA training.

* Delete apps/api/prisma/schema.prisma

Signed-off-by: Mariano Fuentes <marfuen98@gmail.com>

* Delete apps/app/prisma/schema.prisma

Signed-off-by: Mariano Fuentes <marfuen98@gmail.com>

* Delete apps/portal/prisma/schema.prisma

Signed-off-by: Mariano Fuentes <marfuen98@gmail.com>

---------

Signed-off-by: Mariano Fuentes <marfuen98@gmail.com>
Co-authored-by: Lewis Carhart <lewis@trycomp.ai>
Co-authored-by: Mariano Fuentes <marfuen98@gmail.com>
Bumps [@tiptap/extension-list](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/extension-list) from 3.16.0 to 3.18.0.
- [Release notes](https://github.com/ueberdosis/tiptap/releases)
- [Changelog](https://github.com/ueberdosis/tiptap/blob/develop/packages/extension-list/CHANGELOG.md)
- [Commits](https://github.com/ueberdosis/tiptap/commits/v3.18.0/packages/extension-list)

---
updated-dependencies:
- dependency-name: "@tiptap/extension-list"
  dependency-version: 3.18.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump globals from 16.5.0 to 17.2.0

Bumps [globals](https://github.com/sindresorhus/globals) from 16.5.0 to 17.2.0.
- [Release notes](https://github.com/sindresorhus/globals/releases)
- [Commits](sindresorhus/globals@v16.5.0...v17.2.0)

---
updated-dependencies:
- dependency-name: globals
  dependency-version: 17.2.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* chore: update bun.lock after globals bump

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Mariano Fuentes <marfuen98@gmail.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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.

* fix: use activeOrganizationId for org redirect on app open

The root page was picking the first "ready" org from the memberships
list, ignoring the session's activeOrganizationId. This caused users
to land on the wrong org after switching orgs and reopening the app.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix: use activeOrganizationId in setup and admin layouts

Same issue as root page — these layouts picked organizations[0]
instead of respecting the session's activeOrganizationId.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
#2445)

Move the infrastructure/cloud hosting question ahead of the software
question in the onboarding wizard for a more logical flow.

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix(onboarding): reorder steps so cloud question comes before software

Move the infrastructure/cloud hosting question ahead of the software
question in the onboarding wizard for a more logical flow.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* feat(portal): add signed policies list page

* feat(portal): add link to signed policies from dashboard

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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