Skip to content

Conversation

@JadeCara
Copy link
Contributor

@JadeCara JadeCara commented Dec 16, 2025

Ticket ENG-2185

Description Of Changes

This ticket was originally asking for consent manual tasks. We are going forward with a work around #7102 because consent task graphs and access/erasure task graphs are different and have different capabilities - especially around conditional dependencies.

There are going to be a few PRs cleaning up some un-used functionality or adjusting functionality for improved usage patterns. This PR adds a condition tree which will hold the full conditional dependency tree in a jsonb column on the "root condition." It also migrates current conditions to store their full tree on their root node. This will allow us to access the full tree without building it or having to build out all of the conditions each time. It is a clean up based on the first few rounds of customer use and learning actual usage patterns.

This PR:

  • Update the Conditional Dependency table with a JSONB dictionary column. This will allow us to thoroughly test the migration without being destructive.

Future PRs:

  • Remove the extra columns and rows for conditional dependencies once the tree has been implemented and tested.
  • The logging being used by manual tasks and front end data is entirely the general audit logs so the manual task log table and utilities are now redundant. ENG-2185 #7124
  • Allow conditional dependencies to be assigned to a specific policy type or id
  • Allow users to be assigned to specific submissions rather than the whole task.

Code Changes

  • .fides/db_dataset.yml - removed ManualTaskLog table
  • src/fides/api/alembic/migrations/versions/ remove the manual task table.
  • src/fides/api/db/base.py - removed ManualTaskLog
  • src/fides/api/models/manual_task/manual_task.py removed the log class and updated the functions where manual task logs were created.
  • Updated all tests removing the manual task log.

Steps to Confirm

  1. There should be NO change in functionality.
  2. Manual tasks, conditional dependencies etc should continue to function as before.
  3. Please test with FidesPlus 2932
  4. Run FidesPlus branch above pointed at this branch.
  5. Create a ManualTask with several submissions required and several conditions, both dataset and privacy request based.
  6. Create privacy requests that meet and do not meet the requirements. Verify that they create/do not create as expected.
  7. Verify that you can complete the manual tasks with no errors.
  8. Verify that you can see the skipped logs and the manual task and manual task actions appear on the DSR activity log.
  9. Verify that you receive the access package with all expected manual task inclusions (attachments and text)
  10. Update the ManualTask submission types, delete one or more.
  11. Delete manual task integration

Pre-Merge Checklist

  • Issue requirements met
  • All CI pipelines succeeded
  • CHANGELOG.md updated
    • Add a db-migration This indicates that a change includes a database migration label to the entry if your change includes a DB migration
    • Add a high-risk This issue suggests changes that have a high-probability of breaking existing code label to the entry if your change includes a high-risk change (i.e. potential for performance impact or unexpected regression) that should be flagged
    • Updates unreleased work already in Changelog, no new entry necessary
  • UX feedback:
    • All UX related changes have been reviewed by a designer
    • No UX review needed
  • Followup issues:
    • Followup issues created
    • No followup issues
  • Database migrations:
    • Ensure that your downrev is up to date with the latest revision on main
    • Ensure that your downgrade() migration is correct and works
      • If a downgrade migration is not possible for this change, please call this out in the PR description!
    • No migrations
  • Documentation:
    • Documentation complete, PR opened in fidesdocs
    • Documentation issue created in fidesdocs
    • If there are any new client scopes created as part of the pull request, remember to update public-facing documentation that references our scope registry
    • No documentation updates required

@vercel
Copy link

vercel bot commented Dec 16, 2025

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

2 Skipped Deployments
Project Deployment Review Updated (UTC)
fides-plus-nightly Ignored Ignored Preview Dec 18, 2025 10:12pm
fides-privacy-center Ignored Ignored Dec 18, 2025 10:12pm

@JadeCara JadeCara mentioned this pull request Dec 16, 2025
18 tasks
@codecov
Copy link

codecov bot commented Dec 16, 2025

Codecov Report

❌ Patch coverage is 91.66667% with 4 lines in your changes missing coverage. Please review.
✅ Project coverage is 87.16%. Comparing base (d501db3) to head (b9f38c5).
⚠️ Report is 2 commits behind head on main.

Files with missing lines Patch % Lines
src/fides/api/task/manual/manual_task_utils.py 89.28% 0 Missing and 3 partials ⚠️
.../task/manual/manual_task_conditional_evaluation.py 90.90% 0 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #7133      +/-   ##
==========================================
- Coverage   87.22%   87.16%   -0.06%     
==========================================
  Files         533      534       +1     
  Lines       35126    35315     +189     
  Branches     4082     4123      +41     
==========================================
+ Hits        30639    30784     +145     
- Misses       3597     3636      +39     
- Partials      890      895       +5     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants