Skip to content

feat(documents): validate extractions from IXP models deployed to a folder - #1934

Draft
PG-Thomas wants to merge 2 commits into
feat/documents-folder-modelsfrom
feat/documents-folder-model-validation
Draft

PG-Thomas wants to merge 2 commits into
feat/documents-folder-modelsfrom
feat/documents-folder-model-validation

Conversation

@PG-Thomas

@PG-Thomas PG-Thomas commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor

Stacks on #1933 (folder extraction), which stacks on #1929.

What

Models deployed to a folder can't use the project and tag validation route (.../validation/start). Their validation is a separate artifacts flow, and the caller opens the Action Center task. This PR adds:

  • start_model_extraction_validation(extraction_response, storage_bucket_name, storage_bucket_folder_path, storage_bucket_directory_path=None, folder_key=None):
    • It reads the model's taxonomy from models/{name}.
    • It starts extraction-validation/artifacts/start, then waits for content-validation-data.
    • It returns the operation_id and the content_validation_data.
  • create_model_validation_task(title, content_validation_data, priority=None, folder_key | folder_path): it opens a DocumentValidationTask through GenericTasks/CreateTask and returns the Task, so an agent can suspend on WaitTask.
  • retrieve_model_extraction_validation_result(operation_id): it reads extraction-validation/artifacts/validation-result/{id}. Until the reviewer submits, DU returns {"Result": {}}, and the method then raises OperationNotCompleteException.

The taxonomy and the content validation data are passed through unchanged (PascalCase), because the artifacts and task endpoints receive them back as-is.

Task is imported inside the two task methods. A module-level import creates an import cycle (action_center → common.interrupt_models → documents).

How it was tested

  • Unit tests (sync and async):
    • The artifacts request body, including that it has no folder header.
    • Polling for content-validation-data.
    • The task body and its folder header.
    • The validated result, both submitted and not yet submitted.
  • The uipath-platform suite, ruff and mypy all pass.
  • Live run against a production tenant with folder-deployed models:
    • The extraction worked. Validation data was written to the solution's bucket, both with and without a directory path.
    • A DocumentValidationTask was created with priority Low. Read back, it showed the right type, priority and data. It was then deleted.
    • Before submit, the result raised OperationNotCompleteException ... Current status: Pending.
    • I did not exercise the submitted path in this live run. The same route is in production use in the invoice-processing solution.

Version bumped to 0.2.37.

@github-actions github-actions Bot added test:uipath-langchain Triggers tests in the uipath-langchain-python repository test:uipath-integrations labels Oct 8, 2026
@PG-Thomas
PG-Thomas force-pushed the feat/documents-folder-models branch from eb96c02 to c259b8a Compare October 8, 2026 17:22
…older

- add start_model_extraction_validation, which writes the validation data
  for an extraction to a storage bucket through
  extraction-validation/artifacts
- add create_model_validation_task, which opens an Action Center
  DocumentValidationTask over that data and returns the Task, so agents
  can wait on it
- add retrieve_model_extraction_validation_result, which reads the
  reviewer's submitted extraction result
- keep the taxonomy and the content validation data PascalCase, as the
  artifacts and task endpoints expect them
@PG-Thomas
PG-Thomas force-pushed the feat/documents-folder-model-validation branch from 4533c08 to b215c4e Compare October 8, 2026 17:24

This branch has not been deployed

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

Labels

test:uipath-integrations test:uipath-langchain Triggers tests in the uipath-langchain-python repository

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant