Skip to content

[comp] Production Deploy#2898

Merged
tofikwest merged 7 commits into
releasefrom
main
May 21, 2026
Merged

[comp] Production Deploy#2898
tofikwest merged 7 commits into
releasefrom
main

Conversation

@github-actions
Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot commented May 21, 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.


Summary by cubic

Gate Phase 2 deactivation behind a new isDirectorySource flag so only authoritative directories can deactivate members; skips deactivation for product-scoped tools to prevent accidental removals. Addresses CS-422 where Confluence sync caused employees to disappear.

  • Bug Fixes
    • Added isDirectorySource to SyncDefinition and IntegrationManifest (default false).
    • Set isDirectorySource: true for google-workspace and rippling; controller now passes the flag to processEmployees.
    • Updated GenericEmployeeSyncService to skip Phase 2 unless the flag is true; added tests for gating and domain checks.

Written for commit 660daba. Summary will update on new commits. Review in cubic

github-actions Bot and others added 7 commits May 21, 2026 16:11
…uthoritative manifests

Companion to the SyncDefinition.isDirectorySource flag added earlier in this PR:

- Add `isDirectorySource?: boolean` to the `IntegrationManifest` interface so
  code-based manifests can advertise themselves as authoritative employee
  directories with the same vocabulary that dynamic integrations use via
  `SyncDefinition.isDirectorySource`.

- Set `isDirectorySource: true` on the two code-based manifests that actually
  perform employee sync today: `google-workspace` and `rippling`. Both are
  customer-trusted directories of who works at the company, and their inline
  Phase 2 deactivation in `sync.controller.ts` is the correct behavior for
  them.

Why this matters even though the inline GWS/Rippling sync paths don't go
through `processEmployees` today:

- Consistency: every authoritative directory now declares its role in one
  obvious place, regardless of code-based vs dynamic.
- Documentation: a future reader of the manifest immediately sees "this
  integration is the source of truth for employment status."
- Future-proofing: if the inline GWS/Rippling sync paths are ever
  consolidated into the generic `processEmployees` pipeline, the flag is
  already correctly set and the consolidation becomes a one-line change.

No behavior change today — purely declarative.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
CS-422 [BUG] Employees missing following confluence sync
@vercel
Copy link
Copy Markdown

vercel Bot commented May 21, 2026

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

Project Deployment Actions Updated (UTC)
app (staging) Ready Ready Preview, Comment May 21, 2026 7:27pm
comp-framework-editor (staging) Ready Ready Preview, Comment May 21, 2026 7:27pm
1 Skipped Deployment
Project Deployment Actions Updated (UTC)
portal (staging) Skipped Skipped May 21, 2026 7:27pm

Request Review

Copy link
Copy Markdown
Contributor

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

Choose a reason for hiding this comment

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

No issues found across 7 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 6e30ec7 into release May 21, 2026
14 checks passed
@claudfuen
Copy link
Copy Markdown
Contributor

🎉 This PR is included in version 3.61.0 🎉

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.

3 participants