> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://cla-demo.postmansolutions.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://cla-demo.postmansolutions.com/_mcp/server.

# File Intake Service Evaluation

This documents the evaluation of the File Intake Service as part of [User Story 728637](https://dev.azure.com/CLADevOps/Development/_workitems/edit/728637): SPIKE: Evaluate the File Intake Service
Suggested changes or potential enhancements have been identified for each category. The items have been marked with Severity to indicate importance.

# Documentation

Below are the suggested changes to the documentation.

## Recommended Changes

| No. | Document         | Severity | Description                                                                                                                 | References                                                                                                                                                                                                          |
| --- | ---------------- | -------- | --------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 1   | Sequence Diagram | Medium   | Add step to send problem event when there are validation issues                                                             | [File Intake Sequence Diagram](https://lucid.app/lucidchart/a0b6a8fb-f2e7-408b-a159-1083cbcc3eb7/edit?viewport_loc=-974%2C1715%2C4466%2C2020%2CEJW9Ya1Ki_Fd\&invitationId=inv_88061227-19ac-4c6b-82b2-e1e9af444b0d) |
| 2   | Sequence Diagram | Low      | Add hashValue to accepted-file event properties                                                                             | [File Intake Sequence Diagram](https://lucid.app/lucidchart/a0b6a8fb-f2e7-408b-a159-1083cbcc3eb7/edit?viewport_loc=-974%2C1715%2C4466%2C2020%2CEJW9Ya1Ki_Fd\&invitationId=inv_88061227-19ac-4c6b-82b2-e1e9af444b0d) |
| 3   | Wiki             | Medium   | Remove submitted-file event                                                                                                 | [File Intake Service - Overview](https://dev.azure.com/CLADevOps/Development/_wiki/wikis/AutoExtract/7913/File-Intake-Service)                                                                                      |
| 4   | Wiki             | Low      | Add file metadata info including possible duplicates behavior                                                               | [File Intake Service - Overview](https://dev.azure.com/CLADevOps/Development/_wiki/wikis/AutoExtract/7913/File-Intake-Service)                                                                                      |
| 5   | Readme           | Medium   | Remove file drop description, update the event topics and align the flow description with the latest behavior               |                                                                                                                                                                                                                     |
| 6   | Readme           | Low      | Contributing section: Update the description on the "short term" process that was done while pipeline was not yet available |                                                                                                                                                                                                                     |

# Design

The following are potential design improvements:

## Possible Enhancements

| No. | Severity | Description                                                                                                                                                                             |
| --- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 1   | Medium   | Is the concept of multiple applications per client still applicable? Currently, only Docs AI is the supported "application"                                                             |
| 2   | Medium   | Only valid files are now saved. Only internalUrl is used. Consider removal of externalUrl. Note that this impacts status-check as it is required for creation of initial status record  |
| 3   | Low      | Client registration exists in both Fluxx and Docs AI. Consider consolidating them or make them consistent (Ex. Fluxx's ClientID is GUID vs. Doc AI int)                                 |

# Code

Potential optimizations and improvements have been included in the table below.

## Possible Enhancements

| No. | Severity | Description                                                                                                                                          |
| --- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| 1   | Medium   | Have one handling and response type for single and multiple file uploads                                                                             |
| 2   | Medium   | MessageReceiver: Consistent setup of service bus topics and subscribers across all services.                                                         |
| 3   | Medium   | Messaging: If possible, use common library or framework to standardize sending and receiving messages                                                |
| 4   | Medium   | Toggle on/off logging of service bus messages. When there are more users, the messages may fill up logs. Consider risks since full message is logged |
| 5   | Medium   | Reduce signed blob expiry. Current is 24 hours (used by extractor)                                                                                   |
| 6   | Medium   | Use Cradle for type safety, similar to what was done in registration service                                                                         |
| 7   | Low      | Since DocsAI has duplicate check based on hashValue, check if this is still needed in the intake?                                                    |
| 8   | Low      | Cleanup test API v1/test-500  Note: Change is available in 696268 working branch but not yet merged pending availability of framework 2.1            |
| 9   | Low      | For swagger documentation of v1/file/metadata/:fileId API, add custom tag instead of "default"                                                       |
| 10  | Medium   | Clarify next steps for the openapi.yml endpoint. For example, integration with DevOps                                                                |