Ai 429 - #15
Merged
Merged
Conversation
alex-struk
requested review from
NoorChasib,
antsand,
dbarkowsky and
kmandryk
as code owners
December 11, 2025 16:32
dbarkowsky
reviewed
Dec 11, 2025
dbarkowsky
approved these changes
Dec 17, 2025
Collaborator
There was a problem hiding this comment.
A few bugs I notice when testing:
- PDF files will not render
- No bounding boxes rendering
I'm happy to approve this as the backend code seems sound and saves the data as expected.
I wonder if we should consider the file_type column of the documents table as the actual mime-type instead of an arbitrary enum though. Mostly thinking of cases where we might have to handle jpg/png/etc. differently.
I did this with my file-upload-test branch a while back, although our approaches were a bit different overall.
alex-struk
added a commit
that referenced
this pull request
Jun 23, 2026
… on early failure Review findings #14, #15 (PR 4 — try-in-place): - #14: the activity-output input hash resolves namespaced ctx bindings (doc.* -> documentMetadata.*, segment.* -> currentSegment.*) the same way execution does, so different doc.* inputs no longer collide to a false cache hit. Namespace logic is consolidated into graph-workflow context-utils (applyCtxNamespace / resolveCtxBinding) as the single source of truth. - #15: node-status polling stops on query error, so a run that fails before any node executes no longer polls forever. Note: the related output-snapshot fix (#13) and the bounded run-count cache / fetchHistory fan-out (#16, #17) live with the temporal and workflow-controller commits respectively, since they share files there. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
AI-429: Develop and Deploy Simple UI
Summary
[AI-429](https://citz-do.atlassian.net/browse/AI-429)
This PR implements the core functional loop for the OCR application. It connects the frontend upload interface with the backend processing logic, replaces the stubbed queue service with direct asynchronous processing, and adds a comprehensive UI for managing and viewing documents.
Changes
Frontend
App.tsxto use MantineAppShellwith navigation for "Upload" and "Processing queue" views.DocumentUploadPanelusing@mantine/dropzonefor drag-and-drop uploads with progress tracking.ProcessingQueueto list documents with status filtering, search, and polling support.DocumentViewerwith bounding box overlays to visualize OCR confidence scores on the actual document image.useDocumentOcrand updateduseDocumentsto support polling.Backend
QueueService: Replaced stubbed RabbitMQ calls with in-process asynchronous execution (processOcrForDocument) to trigger OCR immediately upon upload.DocumentController: AddeddownloadDocumentendpoint to serve stored files to the frontend.OcrService: Improved file path resolution and added logic to handle "running" status from Azure.UploadController: Updated to trigger OCR processing asynchronously to prevent blocking the upload response.Testing
pre_ocrtoongoing_ocrtocompleted_ocr.Checklist
By submitting this pull request, I acknowledge that I have attempted to meet the following: