ebook_compare
Runs the identical pinned EPUBCheck 5.3.0 validation over exactly two EPUB builds (directly hosted public URLs or files attached in chat, baseline first, revised second) sequentially under one shared 110-second deadline, then reports which spec findings regressed or were fixed between them. Returns per-build hashes, EPUB versions, pass verdicts and severity counts, a regressions list (rules that appear or worsen in the revised build) and a fixed list (rules removed or reduced), and a ranking by pass state then fewer blocking findings. Use for 'did my re-export get worse', 'which build has fewer problems', and revision-over-revision questions. The ranking orders automated conformance only (it never means one build renders, reads, or sells better), and when both builds tie on pass state and blocking count it names no winner rather than crowning the first submission. It also flags when the two files declare different titles, since that usually means they are not two builds of one book. Human review remains required for both builds. A comparison can take up to 110 seconds under its shared deadline; tell the user before the call.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| urls | No | Exactly two distinct direct public HTTP(S) EPUB URLs: the baseline build first, the revised build second. Provide either these URLs or files, never both. STRICT RULE: Ebook compare failed: provide either two EPUB URLs or two attached EPUB files, not both STRICT RULE: Ebook compare failed: provide two public EPUB URLs or attach two EPUB build files | |
| files | No | Exactly two distinct EPUB builds attached in chat: the baseline build first, the revised build second. Provide either these attachments or urls, never both. | |
| maxMessages | No | Maximum findings to collect per build for the comparison (default 150) |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| fixed | Yes | Rules removed or reduced in the revised build versus the baseline | |
| limits | Yes | Conclusions this automated comparison cannot support | |
| ranking | Yes | Builds ranked by pass state then fewer blocking findings; unvalidatable builds last | |
| documents | Yes | Per-build hashes, versions, and verdicts in submitted order (baseline first, revised second) | |
| nonclaims | Yes | What these automated results do not establish | |
| truncated | Yes | True when either build's findings were truncated, which can make the difference table incomplete | |
| comparedAt | Yes | ISO timestamp of the comparison | |
| regressions | Yes | Rules that appear or worsen in the revised build versus the baseline | |
| processingMs | Yes | Total processing time in milliseconds | |
| engineVersion | Yes | EPUBCheck engine version that produced the verdicts | |
| ruleProfileDate | Yes | Release date of the pinned EPUBCheck rule profile | |
| humanReviewItems | Yes | Checks only a qualified human can perform | |
| humanReviewRequired | Yes | Always true: automated conformance never covers how either build reads or renders |