cgh-bugreport
Crash reports for cgh that keep the promise the rest of the product makes: nothing leaves the machine without a gate, and you see exactly what would.
pip install cgh-bugreport # capture only: reports spool locally
cgh bug status # the ledger: spooled, sent, where, when
cgh bug preview last # the exact raw payload, byte for byte
cgh bug send # explicit, always; to a PRIVATE repo only
cgh bug purge # drop spooled reports
Two properties carry the design:
- The core never phones home. All reporting lives in this plugin.
A cgh install without it provably has no reporting code at all, and
even with it, the plugin itself has no network code: sending goes
through your own
ghCLI and its credentials. - Payloads are built by allowlist, never by scrubbing. A report
contains versions, OS name, the failing command name, the exception
TYPE, and stack frames normalized to cgh's own modules (anything
outside reduces to
<external>). Exception messages, file paths, arguments and log lines are not fields, so they structurally cannot leave. The PII scanner runs over the finished payload as a tripwire and fails the build loudly if it ever matches.
Sending is always manual (auto_send does not exist), refuses public
repositories, dedups by fingerprint (new occurrences comment on the
existing issue), and every send lands in .codegraph/activity.log.
The payload is shown and confirmed before anything leaves; --yes
skips the question. Spool: capped at 20 reports, purged after 30 days,
never indexed by cgh itself.
[plugin.bugreport]
# github_repo = "your-org/cgh-crash-reports" # must be private
Known tradeoff, stated: sending through your gh credentials links
the report to your GitHub identity. The private repo bounds the
audience; the preview shows there is nothing sensitive to link.
Metadata
Release files for cgh-bugreport 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| cgh_bugreport-0.1.2.tar.gz | 11.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cgh_bugreport-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 21.5 kB
Release files / cgh_bugreport-0.1.2.tar.gz
| Download URL | cgh_bugreport-0.1.2.tar.gz |
|---|---|
| Size | 11.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a490bab75c8826afceb5710f41dcd593f52ade322e9b62bb78de4308fa517921
|
|
BLAKE2b-256 checksum How to use checksums |
8fc41a3f2812f5575e49f3165a12f4fd44fa4af93f18a14f58210dd4ce6a7ff6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.
Transparency logRelease files / cgh_bugreport-0.1.2-py3-none-any.whl
| Download URL | cgh_bugreport-0.1.2-py3-none-any.whl |
|---|---|
| Size | 10.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0cd66dce8d324f3c8ee1cbf5d509c7d1f0b6e4cfd910fe755ca8f5a1b98ec8d3
|
|
BLAKE2b-256 checksum How to use checksums |
5e9521a8c8b96626786bf9f7b7f5c44257c30ef92f65270724afa645dbc8a139
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.
Transparency log