P→MPDFMDSystem documentation
Format referenceOpen converter ↗

Level 3 · Runtime and maintenance

Live requests and offline improvement are separate processes

A conversion request produces one result and ends. Maintenance and evaluation run outside that request; they do not silently rewrite a user’s completed package.

What happens while the user waits

Figure 1 · Request boundary
User uploadsPDF, ≤ configured limits
→
Web servicevalidate and reserve slot
→
Worker processrecognize, validate, render
→
Responsepreview and package
→
Cleanupdelete temporary upload

The deployed service admits one conversion worker at a time. A request that cannot acquire that slot promptly receives a busy response. The worker has a total timeout; OCR also has a per-page timeout. These bounds prevent one document from occupying the service indefinitely.

Script · activeLLM · not calledPerson · upload and download

Maintenance is release work, not a hidden continuation of conversion

Live path

Triggered by one upload. Reads that PDF and current released code. Returns a fixed package. It neither trains the recognizer nor waits for an offline reviewer.

Offline path

Triggered by maintainers. Reads frozen references, saved evidence, and reserved test documents. Produces reports or a candidate release; deployment is a separate controlled action.

A

Health and dependency checks

Operators inspect service status, logs, OCR availability, language data, storage, and release revision.

Automated checks
B

Regression and evaluation runs

Maintainers compare candidate output with frozen references and reserved documents. Results become evidence; they do not modify production output.

Scheduled by person
C

Policy or recognizer revision

Developers correct code, fixtures, or documented scope. A model may be used only under an explicit evaluation or decision policy.

Development
D

Release and rollback

A reviewed commit becomes an immutable release. Operators can return the service to an earlier known revision.

Controlled
No self-modifying loop. The current service does not learn from uploads, update its recognizer automatically, or revisit old conversions after a maintenance run.

Uploaded PDFs are temporary

The web service writes an upload to a private temporary file, passes it to an isolated worker, and deletes it on success or failure. Temporary package material is also cleaned after the response is assembled. Releases and application logs are not intended to contain uploaded PDFs or derived Markdown.

The downloaded package is the user’s retained copy. A future review service would require a separately defined storage, authorization, deletion, and privacy policy; it is not implied by the current converter.

A named revision is promoted atomically

Reviewed, pushed commitexact source revision
↓
Immutable release directorydependencies refreshed
↓
Current symlink switchesatomic promotion
↓
Service restartsHTTPS proxy remains in front

The public HTTPS endpoint is terminated by Caddy and proxied to the local application service. The release records its source revision. Rollback repoints the current release and restarts the service.