Skip to content

Import Calls Metadata - #112

Closed
MSami625 wants to merge 13 commits into
EfficientAI-tech:mainfrom
MSami625:import-metadata
Closed

Import Calls Metadata#112
MSami625 wants to merge 13 commits into
EfficientAI-tech:mainfrom
MSami625:import-metadata

Conversation

@MSami625

@MSami625 MSami625 commented Aug 7, 2026

Copy link
Copy Markdown
Collaborator

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 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.
  • [✅ ] I have updated documentation where needed.

@greptile-apps

greptile-apps Bot commented Aug 7, 2026

Copy link
Copy Markdown

Greptile Summary

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.

Files Needing Attention: app/api/v1/routes/call_import_evaluations.py

Important Files Changed

Filename Overview
app/api/v1/routes/call_import_evaluations.py Adds evaluation/import actor stamping across user mutations; the previously reported terminal parent-rollup attribution gap remains.
app/api/v1/routes/call_imports.py Integrates actor stamping and resolved audit metadata into call-import mutation and serialization paths.
app/services/call_imports/audit.py Introduces centralized actor-stamping and user-email resolution helpers.
app/migrations/059_call_import_audit_users.py Adds nullable creator and last-updater references for existing call-import and evaluation records.
frontend/src/components/callImports/AuditMetaChips.tsx Adds reusable presentation components for creator and last-updater metadata.
frontend/src/pages/callImports/CallImports.tsx Displays import activity metadata in the imports listing.
tests/test_api/test_call_import_audit.py Covers call-import metadata stamping and serialization but not the outstanding terminal parent-rollup path.

Reviews (11): Last reviewed commit: "chore: placeholder" | Re-trigger Greptile

Comment thread app/api/v1/routes/call_import_evaluations.py
Comment thread app/api/v1/routes/call_import_evaluations.py
Comment thread app/api/v1/routes/call_import_evaluations.py
@TEJASNARAYANS TEJASNARAYANS self-assigned this Aug 10, 2026
Comment thread app/api/v1/routes/call_import_evaluations.py
Comment thread app/api/v1/routes/call_import_evaluations.py
@greptile-apps

greptile-apps Bot commented Aug 11, 2026

Copy link
Copy Markdown

Want your agent to iterate on Greptile's feedback? Try greploops.

@MSami625 MSami625 added fix Fix version release and removed fix Fix version release labels Aug 11, 2026
@MSami625 MSami625 closed this Aug 11, 2026
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