QA report: external/cin-model-kotaemon-demo.hf.space at hosted
The application is mostly functional, with a single low-severity validation message issue in the model configuration form.
Deep feature testing evaluated application navigation, chat query workflows, system prompt configuration, collection scoping, response regeneration, and model creation forms across 11 scenarios.
The primary interactive and configuration features functioned as expected, with ten scenarios passing. The only confirmed defect is a low-severity user experience issue where submitting the LLM creation form with missing fields displays an unpolished error string containing a raw backend 'None' value. One finding concerning empty placeholder content in the information accordion was withdrawn during audit as an invalid test expectation.
A console build error affecting the 'pdfjs-viewer-element' component was recorded as an environment limitation, preventing the run from exercising embedded PDF document viewing functionality.
Run summary
| Metric | Count |
|---|
| Scenarios executed | 11 |
| Passed | 10 |
| Failed | 1 |
| Blocked | 0 |
| Findings raised | 1 |
| Issues after the audit | 1 |
| Withdrawn by the audit | 1 |
| Critical / high / medium / low | 0 / 0 / 0 / 1 |
Target: https://cin-model-kotaemon-demo.hf.space · Testing level: deep_feature · Stack: unknown
Issues
Low severity
F2 · Missing field validation error exposes raw 'None' value instead of user-friendly message
Severity: low · Type: ux · Verdict: promoted · Scenario: S5
Surfaced by the audit of S5, which the Tester passed, and reproduced live: I navigated to Resources > LLMs tab and opened the Add LLM form. Leaving the fields empty and clicking 'Add LLM' resulted in the error message 'Failed to create LLM : None' being displayed, reproducing the reported behaviour. The page reported 1 console error during the scenario.
Expected: The application displays a user-friendly validation error specifying which fields are required.
Actual: The application displays an unpolished error string 'Failed to create LLM : None', exposing the internal Python null representation.
Steps to reproduce:
- Navigate to Resources > LLMs tab
- Open the Add LLM form
- Leave the Name and Provider/vendor fields empty
- Click the Add LLM button
Evidence: screenshots/critic-M2-1.png
Environment limitations
These failures came from the test environment, not from the application: a credential the sandbox does not hold, a demo nobody may write to, a resource it cannot reach. They are not counted as issues. They record what this run could not exercise.
- S1 could not exercise this: Console logs package build error for PDF viewer component. A package build error for 'pdfjs-viewer-element' is logged to the console. The audit recorded the test environment as the cause, so it is not counted as an issue.
Withdrawn findings
The Critic re-examined these claims and found the evidence did not support them. They are kept here rather than deleted.
- Information panel accordion does not display any placeholder content or citation UI when expanded (S9, low): The 'Information panel' is designed to show document citations and retrieval metadata for active chat responses. Expanding it before a query has been made naturally reveals nothing, and lacking an explicit placeholder is not a defect. The page reported 1 console error during the scenario.
Scenario results
| Scenario | Priority | Result | Issues |
|---|
| S1 Application Load and Tab Navigation | high | pass | none |
| S2 Chat Query Form Empty Submission Validation | high | pass | none |
| S3 Chat Query Valid Submission | high | pass | none |
| S4 Document Upload Empty Submission Validation | high | pass | none |
| S5 Add LLM Model Missing Fields Validation | medium | pass | F2 |
| S6 Add LLM Model Missing Provider Validation | medium | pass | none |
| S7 Modify System Prompt and Save | medium | pass | none |
| S8 Toggle Chat Settings Accordion | low | pass | none |
| S9 Toggle Information Panel Accordion | low | fail | none |
| S10 Change File Collection Scope | low | pass | none |
| S11 Regenerate Answer Without Context | low | pass | none |
The audit
The Critic reviewed 1 finding and re-verified 1 of them live in the browser, replaying the reported steps on a fresh page.
- Finding F1 was withdrawn because expecting static placeholder text in an inherently dynamic citation panel that has no context yet is an invalid test expectation.
- A missed UX defect was filed for the LLM creation form exposing a backend 'None' string to the user during validation.
- A console error regarding a PDF viewer package failure was captured but flagged as an environment limitation.
What to fix first
- Replace the raw backend 'None' string in the LLM creation error banner with a user-friendly field validation message (F2).
Coverage and caveats
In scope: Application tab navigation and state rendering; Chat Query form validation and execution attempts; Document upload form validation; Resource and model configuration validation; Reasoning settings modification and persistence; UI accordion and state toggles.
Not covered: End-to-end RAG chat execution with live documents (requires valid external API keys which cannot be provided); Successful indexing of a specific PDF document (out of scope for an automated UI surface test without file fixtures).
- The application is a Single Page Application (Gradio) where all navigation happens via tabs without full page reloads
- Without valid API keys, the chat submission will fail gracefully rather than crashing
- An upload button or submit action named 'Upload and Index' exists on the Document Upload form as implied by the flows
By the numbers
| Metric | Value |
|---|
| Scenarios | 10 passed, 1 failed, 0 blocked of 11 (45 planned steps) |
| Browser actions | 150 (54 clicks, 5 inputs, 13 navigations, 78 snapshots) |
| Screenshots | 40 (4 explore, 35 scenario, 1 critic), 35 captioned |
| Coverage | 1 pages, 5 forms, 4 flows, 1 console errors |
| Audit | 1 findings, 1 re-verified live, 0 confirmed, 1 promoted, 1 withdrawn |
| Model calls | 155 |
| Tokens | 653,362 input, 8,282 output, 13,913 thinking |
| Time | 12 min |
| Stage | Calls | Input | Output | Thinking | Seconds |
|---|
| explore | 23 | 96,767 | 1,806 | 1,738 | 135 |
| plan | 1 | 3,727 | 1,918 | 3,390 | 38 |
| test | 123 | 531,891 | 3,609 | 6,129 | 488 |
| critique | 7 | 19,309 | 725 | 2,145 | 50 |
| report | 1 | 1,668 | 224 | 511 | 7 |