image:[AGPL-3.0,link="https://www.gnu.org/licenses/agpl-3.0"] image:[Palimpsest,link="https://github.com/hyperpolymath/palimpsest-licence"] Jonathan D.A. Jewell <jonathan.jewell@gmail.com> v1.0.0, 2025-12-11 :toc: macro :icons: font :source-highlighter: rouge :experimental: :url-github: https://github.com/hyperpolymath/feedback-a-tron :url-gitlab: https://gitlab.com/hyperpolymath/feedback-a-tron :url-bitbucket: https://bitbucket.org/hyperpolymath/feedback-a-tron :url-codeberg: https://codeberg.org/hyperpolymath/feedback-a-tron
Automated multi-platform feedback submission with network verification
Feedback-o-Tron automates the submission of issues, bug reports, and feedback across multiple platforms simultaneously. It ensures submissions actually reach their destination through comprehensive network verification.
-
Multi-platform submission: GitHub, GitLab, Bitbucket, Codeberg (simultaneously)
-
Deduplication: Prevents duplicate submissions using fuzzy matching
-
Network verification: Confirms submissions reached their destination
-
Credential rotation: Avoids rate limits by rotating credentials
-
Audit logging: Complete record of all operations
-
MCP integration: Works as Claude Code tool
# Clone
git clone {url-github}
cd feedback-a-tron/elixir-mcp
# Install dependencies
mix deps.get
# Run
mix run --no-halt# Submit to GitHub
FeedbackATron.Submitter.submit(%{
title: "Bug: Something is broken",
body: "Description of the issue...",
repo: "owner/repo"
}, platforms: [:github])
# Submit to multiple platforms
FeedbackATron.Submitter.submit(%{
title: "Feature request",
body: "...",
repo: "owner/repo"
}, platforms: [:github, :gitlab, :codeberg])
# With deduplication check
FeedbackATron.Deduplicator.check(%{title: "...", body: "..."})
# => {:ok, :unique} | {:duplicate, existing} | {:similar, matches}┌─────────────────────────────────────────────────────────────┐
│ FeedbackATron │
├─────────────────────────────────────────────────────────────┤
│ ┌──────────┐ ┌──────────────┐ ┌─────────────────────┐ │
│ │ Submitter│ │ Deduplicator │ │ NetworkVerifier │ │
│ │ │ │ │ │ - Latency/jitter │ │
│ │ - GitHub │ │ - Exact hash │ │ - DNS verification │ │
│ │ - GitLab │ │ - Fuzzy match│ │ - TLS validation │ │
│ │ - Bitbucket│ │ - Semantic │ │ - BGP/RPKI checks │ │
│ │ - Codeberg│ │ │ │ │ │
│ └──────────┘ └──────────────┘ └─────────────────────┘ │
│ │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ AuditLog │ │
│ │ - All submissions recorded │ │
│ │ - JSON lines format │ │
│ │ - Automatic rotation │ │
│ └──────────────────────────────────────────────────────┘ │
├─────────────────────────────────────────────────────────────┤
│ Credentials │
│ - Environment variables │
│ - CLI configs (gh, glab) │
│ - Rotation for rate limit avoidance │
└─────────────────────────────────────────────────────────────┘Before and after submission, FeedbackATron verifies:
| Check | Purpose |
|---|---|
Latency/Jitter |
Detect unstable connections |
Packet loss |
Ensure data integrity |
DNS resolution |
Verify correct destination |
DNSSEC |
Prevent DNS spoofing |
TLS certificate |
Verify endpoint identity |
BGP origin |
Detect route hijacking |
Environment variables:
# GitHub
export GITHUB_TOKEN=ghp_...
# GitLab
export GITLAB_TOKEN=glpat_...
# Bitbucket
export BITBUCKET_TOKEN=...
# Codeberg
export CODEBERG_TOKEN=...Or use CLI tools (gh, glab) which are auto-detected.
| Platform | URL |
|---|---|
GitHub (primary) |
{url-github} |
GitLab |
{url-gitlab} |
Bitbucket |
{url-bitbucket} |
Codeberg |
{url-codeberg} |
Licensed under AGPL-3.0-or-later OR LicenseRef-Palimpsest-0.5.
See LICENSE.txt for details.
See CONTRIBUTING.adoc.