You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Call imports and evaluations now record who created or last updated them (user IDs in the DB, emails in API responses). The UI shows that metadata on the imports list (Activity column, 2×2 layout), import detail, and evaluation detail/list. Includes migration 059, audit helpers, route stamping, API tests, and AuditMetaChips components.
Why?
Workspace members could see imports and evaluation runs but not which user uploaded or ran them. Storing actor user IDs and resolving emails at read time keeps lists efficient and matches existing auth patterns.
How to Test?
Run migrations: eai migrate (or your usual migrate command).
Log in as user A, create or upload a call import → API/UI show Created by (and Activity on /call-imports).
As user B, trigger an action that updates the import or start an evaluation → Last updated by / Run by update where applicable.
Open import detail and an evaluation detail page → audit chips show emails (or — for older rows without actors).
Run tests: pytest tests/test_api/test_call_import_audit.py tests/test_api/test_call_import_evaluations.py (with your venv).
Release Label
Select one semantic version bump intent for this PR:
major - breaking change, next release bumps major version
[✅ ] minor - backward-compatible feature, next release bumps minor version
fix - backward-compatible bug fix, next release bumps patch version
No label (defaults to patch release)
If you do not have permission to apply labels, mention the intended release label here and a maintainer will set it.
Checklist
[ ✅] I have read the CONTRIBUTING.md guide.
[✅ ] My code follows the project's style guidelines.
[ ✅] I have added tests that prove my fix is effective or my feature works.
The PR adds creator and last-updater metadata for call imports and evaluations, exposes resolved actor emails through the API, and renders them in the frontend.
Adds audit columns, migration support, stamping helpers, and route integration.
Adds audit metadata chips to import and evaluation list/detail views.
Adds evaluation PDF-report storage and caching support alongside related storage configuration.
Updates focused API and worker tests.
Confidence Score: 4/5
The PR is not yet safe to merge because terminal evaluation-row cancellation or deletion can still update the parent import while leaving its actor attribution stale.
The row cancellation and deletion paths invoke a terminal rollup that mutates the parent CallImport, but their fixes stamp only the evaluation before commit, so the import Activity field can continue showing the prior actor.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What Changed?
Call imports and evaluations now record who created or last updated them (user IDs in the DB, emails in API responses). The UI shows that metadata on the imports list (Activity column, 2×2 layout), import detail, and evaluation detail/list. Includes migration 059, audit helpers, route stamping, API tests, and AuditMetaChips components.
Why?
Workspace members could see imports and evaluation runs but not which user uploaded or ran them. Storing actor user IDs and resolving emails at read time keeps lists efficient and matches existing auth patterns.
How to Test?
Run migrations: eai migrate (or your usual migrate command).
Log in as user A, create or upload a call import → API/UI show Created by (and Activity on /call-imports).
As user B, trigger an action that updates the import or start an evaluation → Last updated by / Run by update where applicable.
Open import detail and an evaluation detail page → audit chips show emails (or — for older rows without actors).
Run tests: pytest tests/test_api/test_call_import_audit.py tests/test_api/test_call_import_evaluations.py (with your venv).
Release Label
Select one semantic version bump intent for this PR:
major- breaking change, next release bumps major versionminor- backward-compatible feature, next release bumps minor versionfix- backward-compatible bug fix, next release bumps patch versionIf you do not have permission to apply labels, mention the intended release label here and a maintainer will set it.
Checklist
CONTRIBUTING.mdguide.