# Reported issues for io.github.GoPlasmatic/orion

Pod holds 13 of 13 problems reported by people outside the maintainer team. Issues filed by the project's own owners, members and collaborators are excluded entirely — a maintainer's release checklist is not a warning to a prospective user.

Back to [io.github.GoPlasmatic/orion](/mcp/io-github-goplasmatic-orion).

## Most discussed

### `orion-cli send --raw`: reach a `body_mode: "payload"` channel without double-nesting

# `orion-cli send --raw`: reach a `body_mode: "payload"` channel without double-nesting

| | |
|---|---|
| **Suggested labels** | `enhancement`, `cli` |
| **Tier** | 3 — completes #278; small, self-contained, and it unblocks e2e coverage that is currently impossible to write |
| **Unblocks** | Sending to any `request.body_mode = "payload"` channel from the CLI or MCP — and with it, e2e coverage of `body_mode`, which #278 explicitly deferred for this reason |
| **Depends on** | #278 (shipped: `Bo

[Read the thread](https://github.com/GoPlasmatic/Orion/issues/282) · 2026-08-21 · closed · outside contributor · 1 comment

### Channel `request.body_mode`: opt out of envelope detection when a legacy model owns the `data` key

# Channel `request.body_mode`: opt out of envelope detection when a legacy model owns the `data` key

| | |
|---|---|
| **Suggested labels** | `enhancement`, `data-api` |
| **Tier** | 2 — migration enabler; the failure mode is **silent data loss on write** |
| **Unblocks** | Migrating any API whose request model has a top-level `data` (or `metadata`) field — including the standard FCM/push payload shape — from callers you cannot change |
| **Depends on** | Nothing, but **coordinate with #270**: 

[Read the thread](https://github.com/GoPlasmatic/Orion/issues/278) · 2026-08-20 · closed · outside contributor · 2 comments

### `http` connector: `query_params` — secret-safe query parameters, applied off the URL string

# `http` connector: `query_params` — secret-safe query parameters, applied off the URL string

| | |
|---|---|
| **Suggested labels** | `enhancement`, `connector` |
| **Tier** | 2 — integration enabler; the only credential shape Orion has no safe home for |
| **Unblocks** | Any API that authenticates with credentials **in the query string** — legacy SMS/telecom gateways, older payment and lookup APIs, several Indian DLT-registered SMS providers. Also fixes `build_url` corrupting any connector UR

[Read the thread](https://github.com/GoPlasmatic/Orion/issues/277) · 2026-08-20 · closed · outside contributor · 2 comments

### Channel `request.cookies_to_metadata`: named request cookies in the workflow context

# Channel `request_context`: named request cookies in the workflow context

| | |
|---|---|
| **Suggested labels** | `enhancement` |
| **Tier** | 2 — migration enabler |
| **Unblocks** | Legacy web-session flows keyed on an *opaque* browser cookie — browser pinning / "already signed in from another browser" checks, first-party visitor ids, bucket cookies: anywhere the cookie is **data a workflow matches against its own stored state**, not a bearer credential the platform verifies |
| **Depends o

[Read the thread](https://github.com/GoPlasmatic/Orion/issues/270) · 2026-08-20 · closed · outside contributor · 2 comments

### Channel `response.error_bodies`: per-channel shaping of ingress guard-rejection bodies

# Channel `response.error_bodies`: per-channel shaping of ingress guard-rejection bodies

| | |
|---|---|
| **Suggested labels** | `enhancement` |
| **Tier** | 2 — migration enabler, and an internal-consistency fix |
| **Unblocks** | Migrating a legacy HTTP API onto Orion with **deployed, unchangeable clients** that parse error bodies; finishing the job `response.mode = "shaped"` started — today a shaped channel emits its own shape for a `200`-with-task-errors and Orion's envelope for a `401` |

[Read the thread](https://github.com/GoPlasmatic/Orion/issues/269) · 2026-08-20 · closed · outside contributor · 1 comment

### `http_call`: two open format axes — `body_format` and `response_format`

# `http_call`: two open format axes — `body_format` and `response_format`

| | |
|---|---|
| **Suggested labels** | `enhancement` |
| **Tier** | 2 — integration enabler |
| **Unblocks** | Google / Apple / Webex OAuth token endpoints; SMS gateways and legacy APIs that answer `text/plain`; XML/SOAP-style gateways that take a textual payload |
| **Depends on** | Nothing. Standalone. Prerequisite for `06-oauth2-connector-auth`. |
| **Repo surface** | `HttpCallConfig` lives in **dataflow-rs** (`deny_

[Read the thread](https://github.com/GoPlasmatic/Orion/issues/261) · 2026-08-18 · closed · outside contributor · 1 comment

### [Task] Async submit endpoint

## Task 7.2.1: Async submit endpoint

**Story:** #104 | **Epic:** #7

### Sub-tasks
- [ ] `POST /api/v1/data/{channel}/async` handler
- [ ] Create Job (pending), persist to JobRepository
- [ ] Enqueue for worker processing
- [ ] Return 202 with `{ "job_id": "..." }`

### Key Files
- `src/server/routes/data.rs`

[Read the thread](https://github.com/GoPlasmatic/Orion/issues/106) · 2026-02-22 · closed · outside contributor · 2 comments

### [Epic] Configuration System

## Epic 2: Configuration System

**Priority:** P0 (Critical Path) | **Phase:** 1 - Foundation

### Scope
TOML-based configuration with environment variable overrides.

### Key Deliverables
- Config structs for all subsystems (server, storage, ingest, engine, logging, metrics)
- File loading via `--config <path>` CLI arg
- Environment variable overrides (`PLASMATIC_SERVER__PORT=9090`)
- Sensible defaults for all fields (zero-config startup)
- Validation with clear error messages

### Dependencies

[Read the thread](https://github.com/GoPlasmatic/Orion/issues/2) · 2026-02-22 · closed · outside contributor · 3 comments

## Most recent

### `[server] data_mounts`: serve REST channels at additional paths, without a rewriting proxy

# `[server] data_mounts`: serve REST channels at additional paths, without a rewriting proxy

| | |
|---|---|
| **Suggested labels** | `enhancement`, `config` |
| **Tier** | 3 — removes a mandatory reverse proxy for legacy-path migrations |
| **Unblocks** | Fronting deployed, unchangeable clients that call paths at the server root (`/zoom/meetings/user`, `/Legacy-App/api/public/...`) — today every such deployment needs an nginx/ALB rewrite whose only job is to prepend `/api/v1/data` |
| **Depend

[Read the thread](https://github.com/GoPlasmatic/Orion/issues/279) · 2026-08-20 · closed · outside contributor · 1 comment

### JWT support: a `jwt` channel auth mode (verified claims in the workflow context) plus `jwt_sign` / `jwt_verify` task functions

# JWT support: a `jwt` channel auth mode (verified claims in the workflow context) plus `jwt_sign` / `jwt_verify` task functions

| | |
|---|---|
| **Suggested labels** | `enhancement` |
| **Tier** | 1 — hard blocker (the last one) |
| **Unblocks** | Every per-user authenticated route; login/refresh token issuance; social login (provider id_token verification); claim-based request checks; role/scope authorization with proper 403 semantics |
| **Depends on** | Nothing hard. Composes with #259 (`p

[Read the thread](https://github.com/GoPlasmatic/Orion/issues/267) · 2026-08-18 · closed · outside contributor · 1 comment

### docker-release-cli's publish-mcp has no prerelease guard

Every release pipeline skips or de-emphasises prereleases except one:

| Workflow | Prerelease handling |
|---|---|
| `crates-publish.yml` | skips tags containing `alpha`/`beta`/`rc`/`pre` |
| `docker-release.yml` | `latest=auto`, so an rc never becomes `latest` |
| `release.yml` (dist) | marks `-rc.*` as a GitHub prerelease |
| `docker-release-cli.yml` -> `publish-mcp` | **none** |

`publish-mcp`'s condition is only:

```yaml
if: ${{ !inputs.dry_run && (github.ref_type == 'tag' || inputs.tag_ov

[Read the thread](https://github.com/GoPlasmatic/Orion/issues/255) · 2026-08-14 · closed · outside contributor · 1 comment

### Validate JSONLogic condition syntax in rule validation

## Parent Story
#212 — Rule Validation Endpoint

## Description

The validation endpoint must check that the `condition` field contains valid JSONLogic that the engine can compile and evaluate.

## Requirements

- Validate the condition using the same JSONLogic compiler the engine uses (`datalogic-rs`)
- Report syntax errors with the `"condition"` field name and a descriptive message
- Handle edge cases: `true` (always match) and `false` (never match) are valid conditions
- Nested JSONLogic expr

[Read the thread](https://github.com/GoPlasmatic/Orion/issues/222) · 2026-02-24 · closed · outside contributor · 1 comment

### [Story] 12.8: Engine & Operational Commands

## Story 12.8: Engine & Operational Commands

**Epic:** #168 — [Epic] CLI Tool for Orion
**Priority:** P1 (High)

### Description
Provide operational commands for engine control, metrics, and server information. These are essential for DevOps workflows and monitoring.

### Tasks

- [ ] **Task 12.8.1: `orion engine status`**
  Call `GET /api/v1/admin/engine/status`. Display: version, uptime (human-readable), total rules, active/paused counts, and list of channels. Use colored indicators for at-a-

[Read the thread](https://github.com/GoPlasmatic/Orion/issues/176) · 2026-02-23 · closed · outside contributor · 0 comments

The remaining reports are on [the project's issue tracker](https://github.com/GoPlasmatic/Orion/issues).
