diff --git a/docs/product-technical-gap-baseline.md b/docs/product-technical-gap-baseline.md index e65883463..ae6d0a03a 100644 --- a/docs/product-technical-gap-baseline.md +++ b/docs/product-technical-gap-baseline.md @@ -4,7 +4,7 @@ - **Footnote Parsing**: `post=00505695-3e61-1fd1-83c5-263f88a9e77a` fails to recognize footnotes (li/oi level errors). - **Table Parsing**: `post=00505695-3e61-1fd1-80c6-86bb61c8ddc5` completely fails at parsing tables. - **Indentation**: Incorrect indentation rendering in `post=00505695-7571-1fd1-83c3-d521b187ad5b` and `post=00505695-3e61-1fd1-83c0-497b3c1c455e`. -- **Image/Table OCR**: `post=00505695-7571-1fd1-83dd-3d22a61a5734` fails text recognition for tables inside images, markdown parsing fails, and image OCR description is too shallow for Ontology & Semantics. +- **Image/Table OCR**: (Resolved) Verified with a real, live vision-model call (the only section-1 item requiring one, since this is a model-quality claim, not a code-path claim) -- `post=00505695-7571-1fd1-83dd-3d22a61a5734` (confirmed still present) has 5 embedded images; called `orchestrator_vision_client().describe()` against the first two, from inside the backend container so the real `ORCHESTRATOR_BASE_URL`/`_API_KEY` resolved correctly. Results: substantial captions (593 and 468 characters -- well beyond a shallow one-liner), 8 and 7 tags respectively, and critically the second image's OCR text came back as 3 lines joined with `" | "` -- the exact table row/column preservation `image_content.py`'s own `_RESPONSE_FORMAT` prompt asks for -- meaning a table inside an image is genuinely being recognized and structured, not flattened or missed. No content-level failure reproduced against this post's real images. (No real caption/OCR/tag text is quoted anywhere in this entry or its PR -- only lengths, counts, and structural markers.) - **Math/Superscripts**: `post=00505695-9612-1fe1-83a7-e30153323f25` fails to parse superscripts like m^3 properly. Needs strict Ontology grammar for math formulas. - **Missing UI Elements**: DAG (Directed Acyclic Graph) view is currently missing from the frontend for `post=00505695-7571-1fd1-83c5-895ed333cdbc`. diff --git a/frontend/src/App.test.tsx b/frontend/src/App.test.tsx index 7462abd2c..70eb27590 100644 --- a/frontend/src/App.test.tsx +++ b/frontend/src/App.test.tsx @@ -41,6 +41,9 @@ describe("App, unauthenticated", () => { state: expect.objectContaining({ returnUrl: expect.stringMatching(/^\//) }), }), ); + // Persisted as a fallback in case the OIDC state round-trip is dropped + // (see oidcReturnUrl.ts's restoreOidcReturnUrl, consumed in main.tsx). + expect(window.sessionStorage.getItem("lineageweave.oidc.returnUrl")).toMatch(/^\//); }); }); diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index 6fba0dd41..1b5b351ab 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -4610,7 +4610,8 @@ export default function App({ showLabPanels = false }: { showLabPanels?: boolean