m4/org/openalice-relayci ok

openalice-relay

Features
8
Status
·unknown
Last activity
1mo ago
Branch
mvp

Architecture rating

D1mo ago
consistencyB

Strong substrate adoption: manifest 100/100 valid, AGENTS.md present, drift 90, code_health 90, zero circular deps — uniform with org conventions; small uniform Rust codebase.

docsC-

Valid manifest (100/100) with clear summary, AGENTS.md and 8 @feature annotations present, but README excerpt is empty and 7 definitions lack docstrings — manifest-strong, prose-light.

securityD

Outbound-only Telegram relay (1 runtime dep, no exposed HTTP surface) limits attack surface, but no visible secret-handling, token-scoping, or rate-limit evidence — bot token presumably via env, unverified; graded conservatively on absent signals.

reliabilityD

Polling loop with max complexity 17, one god module and 3 deep-nesting sites; CI green but no observable signal for poll timeouts, retry/backoff, or graceful SIGTERM shutdown — core reliability concerns for a long-running poller unverified.

data layerD

Stateless relay owns zero tables and ships no migrations — appropriate for the design, but there is no schema/constraint/RLS engineering to credit, so the axis is essentially N/A and scored as absent.

observabilityD

Declared RUST_LOG is unused (env drift) and health probe fails (no HTTPS endpoint in manifest) — no metrics, tracing, or working health probe; logging appears wired but under-used.

testingF

No tests/ directory and no test signal in inspector AST output for the relay loop or A2A parsing — critical poll/forward path appears entirely untested despite passing CI.

source · auto-grader-2026-06-16

Ecosystem manifest

.atlas-deps.yml

Telegram relay bot that polls the A2A Service and forwards agent messages to a Telegram chat.

Runtime deps
  • via A2A_URL
    Poll tasks/list (JSON-RPC) to fetch new A2A messages and forward them to Telegram
Consumed env
  • A2A_URL
  • A2A_API_KEY
  • A2A_RELAY_BOT_TOKEN
  • A2A_RELAY_CHAT_ID
  • A2A_RELAY_CHANNEL
  • RUST_LOG
Exposes
  • docker_image: openalice-relay
Env drift · manifest ⇄ code

Atlas grepped the repo's source for env reads (rust env::var · ts process.env · py os.environ · shell $VAR) and diffed against the manifest's consumes_env. Two lists below: stale declarations and undeclared reads.

Manifest declares, code unused
  • RUST_LOG
Observed reads: 5 · declared: 6

Roadmap · what's planned next

2% avg4 goals

Code composition

tokei · loc
294loc
  • Rust95.2%
  • TOML4.8%
  • Rust95.2%· 280
  • TOML4.8%· 14
Language% codecodecommentsblanksfiles
Rust95.2%28016321
TOML4.8%14011
Markdown0.0%0831

Telemetry ribbon · last 90 days

1 event
MAYJUNJUL2026-06-10 · lifecycle · first scan — repo indexedNOW
commitmanifestlifecyclekind

relay/a2a

2 features
  • relay.a2a.mark_read
    src/main.rs:224
    POST /api/v1/messages/{id}/read against A2A — currently unused, relay stays an observer so Alice's monitor owns read-state.
    since 0.1.0
  • relay.a2a.poll
    src/main.rs:106
    JSON-RPC tasks/list call against the A2A Service, flattening submitted+completed task history into A2AMessage records with from/to/channel metadata.
    route:A2A_URL
    since 0.1.0

relay/bot

1 feature
  • relay.bot.init
    src/main.rs:54
    Construct a RelayBot with a tuned reqwest client (30s timeout, 10s connect) and a now-anchored last_seen so restarts don't replay history.
    since 0.1.0

relay/crate

1 feature
  • relay.crate
    src/main.rs:6
    Telegram relay bot binary — polls A2A Service and forwards agent messages to a Telegram chat for human visibility.
    bin:openalice-relaycrate:openalice-relay
    since 0.1.0

relay/telegram

4 features
  • relay.a2a.telegram
    src/main.rs:260
    Poll A2A messages and forward each new one as an HTML-formatted Telegram message.
    since 0.1.0
  • relay.telegram.auto_chat_id
    src/main.rs:355
    Bootstrap path — when A2A_RELAY_CHAT_ID is unset, long-poll Telegram getUpdates until the first inbound message reveals a chat id.
    since 0.1.0
  • relay.telegram.format
    src/main.rs:237
    Render an A2A message as HTML for Telegram — colour-coded emoji per sender, escaped from/to, timestamp, body.
    since 0.1.0
  • relay.telegram.send
    src/main.rs:76
    POST a message to Telegram Bot API sendMessage with HTML parse mode and disabled link previews; logs body on non-2xx without failing the loop.
    route:https://api.telegram.org/bot{token}/sendMessage
    since 0.1.0