CI Log Diff Open the app

Scope and expectations

Frequently asked questions

Direct answers about what the tool does and does not do.

Does CI Log Diff upload my logs?

No. The app is a static page. Your two files are read by a Web Worker inside your browser tab, and the page’s Content Security Policy forbids network connections from scripts. There is no upload endpoint, account, tracking script, cookie or storage.

Will it tell me the root cause of the failure?

No. It shows what changed between the two logs and marks blocks that contain a new error-like line as “error candidates”. A candidate is a lead for your investigation. A changed line alone cannot establish why a build failed.

If it reports no differences, did my CI job pass?

No. “No differences after normalization” only means the two files match under the active profile. It says nothing about either job’s outcome.

What is normalized, and what is not?

Optionally, a leading ISO-8601 timestamp on each line, and the exact workspace path prefixes you type in. Nothing else. Exit codes, ports, durations, versions and every other number are compared as written.

What happens with very large or very different logs?

Each file can be up to 8 MiB and 200,000 lines, with at most 65,536 characters per line. The comparison has a work budget and a 5-second deadline. If a budget runs out you get an explicit “incomplete” result that states how far the comparison got; it is never shown as clean.

Is the diff minimal?

Not guaranteed. Alignment looks ahead 64 lines, and after a longer insertion or deletion it re-synchronizes on a line that is unique in both logs within 2,000 lines. That keeps the work bounded. Heavily repeated text, or a block moved a long distance, can appear as separate removed and added blocks.

What is in an exported report?

By default: status, coverage, diagnostics and the selected blocks with their 1-based line ranges. No log text, file names, group labels or workspace paths. If you tick “Include log text”, the export adds up to 4 lines per side per block, at most 500 characters per line. That text is not scanned for secrets.

Can an AI assistant use it?

A coding agent with shell access can run the local CLI and read its bounded JSON. The browser app also registers an optional, consent-gated summary reader when the browser exposes document.modelContext; it has only been tested against a mock host. There is no remote MCP server or hosted connector.

Which CI systems are supported?

Any CI that gives you a plain UTF-8 text log. GitHub Actions ::group:: / ::endgroup:: markers are understood and unbalanced markers are reported; ANSI colors and other terminal control sequences are removed for display.

Does it cost anything?

No. The app and CLI are free to use under the MIT license. There is no paid tier.