Metadata-Version: 2.4
Name: oncall-page-sift
Version: 0.1.0
Summary: Local CLI and desktop app for turning noisy on-call pages into triage briefs
Author: Haider Sattar
License-Expression: MIT
Keywords: oncall,incident,alerts,triage,sre,cli
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: System :: Monitoring
Classifier: Topic :: Utilities
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file

![Terminal report preview](docs/terminal-report.svg)

# oncall-page-sift

`oncall-page-sift` turns noisy on-call pages, alert log snippets, and incident chat fragments into a compact triage brief. It groups duplicate signals, estimates severity, extracts owner/service hints, redacts token-shaped values, and suggests immediate next actions.

It runs locally and has no runtime dependencies.

## Install

```bash
pip install oncall-page-sift
```

## CLI

```bash
oncall-page-sift examples/pages.txt
oncall-page-sift examples/pages.txt --format json
oncall-page-sift examples/pages.txt --format html --output triage.html
oncall-page-sift examples/pages.txt --fail-on-score 75 --fail-on-unowned
```

Output includes:

- alert count, incident score, top severity, and duplicate rate
- grouped services/categories with source lines and examples
- owner hints and warnings for unassigned high-severity pages
- immediate actions such as rollback checks, dependency inspection, and timeline capture

## Desktop App

```bash
oncall-page-sift-gui
```

Paste pages on the left, click **Sift**, then copy or save the Markdown brief.

## Example

```text
09:14 service=checkout owner=payments p1 5xx rate 28% after deploy
09:16 checkout.prod timeout p95 14s, 620 failures in 10m
09:18 service=checkout owner=payments rollback candidate confirmed
```

Produces a grouped `checkout / availability` brief with severity, duplicate count, source lines, and suggested rollback/customer-impact checks.

## Development

```bash
PYTHONPATH=src python3 -m pytest
PYTHONPATH=src python3 -m oncall_page_sift.cli examples/pages.txt
python3 -m build --no-isolation
python3 -m twine check dist/*
```

