This release is a pre-release and may not be stable for production use.
Beacon
Production-to-dev bridge. Ingests logs and errors from observability tools, clusters them with an LLM, files structured issues on GitHub or GitLab. Optional handoff to Relay closes the full SDLC loop.
Status: alpha, live on PyPI as
beacon-agent==0.1.0a1. Standalone: no inter-package runtime deps. GitHub + GitLab fully supported in v0.1.0a1; webhook server mode (Sentry, Datadog, OpenTelemetry receivers) lands in v0.1.0a2.
What it does
cat errors.jsonl | beacon digest \
--vcs github --repo myorg/myapp \
--relay-label relay
Beacon:
- Ingests observability events (JSON-lines from stdin or a file)
- Clusters them by stack signature so the same incident does not file 47 separate issues
- Summarizes each cluster with an LLM: likely cause, suggested action, suspected file:line
- Files (or updates) one issue per cluster on the VCS, with a stable hidden signature for dedup
- Hands off to Relay: if the LLM judges the issue small and well-scoped, Beacon applies your
--relay-label; Relay's workflow then picks it up and ships a fix PR
This closes the SDLC loop: production noise to triaged story to autonomous fix to review by Tribune to deploy to verify with Sentinel.
Why this exists
ThinkNext ships an OSS agentic SDLC stack:
| Stage | Tool |
|---|---|
| Idea to code | Cascade (human-gated) or Relay (autonomous) |
| Code to review | Tribune |
| Code to tested running app | Sentinel |
| Production to next story | Beacon (this repo) |
Beacon is the only piece that touches running production: the place where errors actually happen.
Install
pip install 'beacon-agent[claude-code]' # or [anthropic], [openai], [google], [all]
beacon configure llm claude_code --set-default
beacon configure vcs github --token ghp_xxx --set-default
Run
# Dry run: print what would be filed
cat errors.jsonl | beacon digest --vcs github --repo myorg/myapp --dry-run
# File issues, label the small ones for Relay
cat errors.jsonl | beacon digest \
--vcs github --repo myorg/myapp \
--label beacon \
--relay-label relay \
--min-count 3 \
--max-clusters 10
Read from a file instead of stdin:
beacon digest --source ./errors.jsonl --vcs gitlab --repo group/project
Input format
One JSON object per line. Beacon maps common field name aliases automatically so most sources work without an explicit adapter:
{"message": "User not found", "level": "error", "exception.type": "NotFound", "stacktrace": "...", "service.name": "api", "environment": "prod", "timestamp": "2026-05-27T10:15:00Z"}
{"msg": "DB connection refused", "level": "fatal", "service": "worker"}
Recognized aliases include: msg/message, level/severity, ts/timestamp, exception.type/exc_type/error.type, stack/stacktrace/traceback, service.name/service/app, env/environment, release/version, plus syslog-style numeric severities.
What ships in 0.1.0a1
| Capability | Status |
|---|---|
| stdin / file JSONL ingest with multi-source field aliases | Full |
| Clustering by stack signature with stable fingerprints | Full |
| LLM summary per cluster (cause + action + relay-safe judgment) | Full |
| GitHub: find-or-create issue with hidden signature marker for dedup | Full |
| GitLab: same | Full |
Optional --relay-label for autonomous handoff |
Full |
| Multi-LLM via vendored client (Anthropic / OpenAI / Google / Claude Code / Ollama) | Full |
| Webhook server (Sentry, Datadog, OpenTelemetry receivers) | Planned 0.1.0a2 |
Per-repo beacon.yaml (severity thresholds, ignore patterns, custom prompt) |
Planned 0.1.0a2 |
| Scheduled digest mode (cron-style weekly rollups) | Planned 0.1.0a2 |
| Bitbucket + Azure DevOps issue creators | Planned 0.1.0a3 |
License
MIT. See LICENSE.
About
Built and maintained by ThinkNext Software Solutions, alongside Cascade, Relay, Tribune, and Sentinel.
Metadata
Release files for beacon-agent 0.1.0a1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| beacon_agent-0.1.0a1.tar.gz | 33.9 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| beacon_agent-0.1.0a1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 75.6 kB
Release files / beacon_agent-0.1.0a1.tar.gz
| Download URL | beacon_agent-0.1.0a1.tar.gz |
|---|---|
| Size | 33.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
870bbfd00f5044e469b9c9e5bc62cfead2776d86f89858228c255e6fb599dc37
|
|
BLAKE2b-256 checksum How to use checksums |
5b6e96fc5d4ece562d323803cdb2003818a2cc9e0df95805265a7d9b0571c816
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.15
|
Release files / beacon_agent-0.1.0a1-py3-none-any.whl
| Download URL | beacon_agent-0.1.0a1-py3-none-any.whl |
|---|---|
| Size | 41.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b1f106d693a4b0502795bb0f8f1dbe413e6b55523f44c21f76f824b47ae8a48c
|
|
BLAKE2b-256 checksum How to use checksums |
ee8f8df0bccab992afe6acbc10171b97173752f42d5eb900f64b8149fe393a55
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.15
|
Security for beacon-agent 0.1.0a1
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.