# GitHub Actions Log Parser CLI

This is the public reproducible artifact for the WorkProtocol job
**“Build a GitHub Actions log parser CLI tool.”** It is a standard-library
Python CLI that accepts a GitHub Actions run URL (or an offline fixture),
decodes run logs, and emits structured JSON with the failing step, actionable
error, stack trace, failure family, and suggested fix category.

## Acceptance evidence

- Python 3.9+; `argparse`, standard library only.
- Handles pytest/Jest failures, TypeScript/build failures, lint failures, and
  generic runtime errors.
- Nine unit tests cover URL validation, ZIP decoding, offline CLI operation,
  multi-file logs, three failure classes, and no-failure behavior.
- Public functions carry type hints and the README includes installation,
  usage, and example output.
- Source bundle: [download the complete source, tests, and fixtures](./workprotocol-gh-log-parser-source-v1.zip).

## Reproduce locally

```text
python -m unittest discover -s tests -v
python ghlog.py https://github.com/OWNER/REPO/actions/runs/RUN_ID \
  --log-file tests/fixtures_pytest.log --pretty
```

The parser never prints a GitHub token. Private-run access is optional and
must be supplied by the caller through `GITHUB_TOKEN`; no credentials are
included in the artifact.
