Skip to content

fix(settings): provide supported parser installation guidance - #2180

Open
hongthana wants to merge 2 commits into
HKUDS:devfrom
hongthana:codex/parser-guidance-2164-20261030-021822-310265
Open

hongthana wants to merge 2 commits into
HKUDS:devfrom
hongthana:codex/parser-guidance-2164-20261030-021822-310265

Conversation

@hongthana

Copy link
Copy Markdown

Description

The official Docker image uses a source layout, so the parser installation prompt's wheel-only deeptutor module install command is rejected. Document Parsing settings now shows supported Docker, source-checkout, and wheel instructions instead of promising a live one-click installation.

Docker guidance explains declarative DEEPTUTOR_EXTRAS, preservation of existing extras/configuration/mounts, startup re-application, and checking logs for nonfatal installation failures. A GET-only Recheck availability action handles loading, still-missing, failure/retry, and installed states while preserving pending parser choices. Guidance and regressions cover Docling, LiteParse, MarkItDown, and PyMuPDF4LLM, with translations in all six locales. Remote Docling and model downloads retain their existing behavior.

The backend continues refusing live package changes. Its documentation update regenerates only the router-index fingerprint; all 55 routers and 718 routes are unchanged.

Separate prerequisite commit

b98aa432 fixes three pre-existing gate failures: a scheduler local reused for two types, a You.com result-limit type inference issue, and an extra EOF newline in a chat test. These mechanical changes are isolated from the parser commit, independently reviewed, and preserve behavior.

Related Issues

Modules affected

  • api
  • services
  • web
  • docs
  • tests
  • Other: mechanical learning-scheduler prerequisite

Validation

Final combined candidate, Python 3.11 and Node.js 22:

  • Full Python suite: 11,564 passed, 90 skipped, 22 subtests passed.
  • Vitest: 206 files / 1,050 tests passed, including 24 settings tests.
  • Node tests: 1,313 passed.
  • Production Playwright: 2 passed, covering all four parsers at desktop 1280px and mobile 390px, instruction commands, pending selection, still-missing/failure/retry/installed paths, keyboard recheck, and no live installation request.
  • pre-commit run --all-files, including mypy, Ruff, Bandit, and secret checks: passed.
  • Frontend contracts, dependency boundaries, typecheck, lint, locale checks, production build, and route budgets: passed.
  • Python import boundaries, architecture, generated requirements, repository hygiene, and whitespace checks: passed.
  • TypeScript chat-engine tests and desktop-shell checks/tests: passed.
  • Fresh independent review of the combined proposal: no actionable findings.

Browser acceptance uses mocked API responses against the production frontend. Docker/source/wheel guidance was checked against the owning entrypoint, manifests, lifecycle implementation, source-helper dry run, and regressions. Actual parser dependency installation and container recreation were not exercised; the local Docker daemon was unavailable. No claim is made about dependency compilation or live parser installation success.

Checklist

  • This PR targets dev.
  • I have read and followed the contribution guidelines.
  • My code follows the project's coding standards.
  • I have run pre-commit run --all-files and fixed the reported issues.
  • I have added relevant regression tests.
  • I have updated the canonical documentation.
  • Existing authorization and command allowlists are preserved; no live package execution is added.

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

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant