# Reported issues for leafengines

Pod holds 16 of 28 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 [leafengines](/mcp/leafengines).

## Most discussed

### [D1] Wire telegram-webhook to telegram_query_signals ingestion pipeline

# D1 Complete ✓

## Summary
`telegram-webhook` now logs every command invocation to `public.telegram_query_signals` with full metadata (user_hash, tier, command, tool_name, fips_code, state_code, county_name, response_success, latency_ms). Downstream triggers populate `bigfoot_autogen_queue` and `correlation_edges` automatically.

## Fixes Applied
1. **logQuerySignal()** added to `telegram-webhook/index.ts` (13 call sites)
2. **await** added to logQuerySignal calls so Supabase isolate doesn't te

[Read the thread](https://github.com/QWarranto/leafengines-claude-mcp/issues/39) · 2026-07-13 · closed · 0 comments

### Implement Slack interactive commands: /soil, /crop, /onboard, /summary

Port core Telegram commands to Slack slash commands with Slack-appropriate UX.

**Commands:**
- `/soil <county>` — Soil analysis, rich block with soil map image
- `/crop <county>` — Crop suitability, bulleted recommendation list
- `/onboard` — 3-step onboarding, ephemeral flow with 'Next' button
- `/summary` — Usage + milestone, progress bar block + milestone emoji
- `/link` — Link identity, modal with API key input
- `/recent` — Saved sessions, dropdown of recent sessions

**Interaction model:*

[Read the thread](https://github.com/QWarranto/leafengines-claude-mcp/issues/37) · 2026-06-18 · open · 0 comments

### Route n8n leafEnginesNotify alerts to Slack (not just Telegram)

Expand the n8n notification node to support Slack alongside the existing Telegram/email fallbacks.

**Changes:**
- `leafEnginesNotify` node: add `channel: slack` option
- Payload fields: `slack_webhook_url`, `slack_channel`, `message_blocks` (rich formatting)
- Frost alerts, soil anomalies, and water quality breaches trigger Slack messages
- Fallback chain: Slack -> Telegram -> Email (ordered by user preference)

**Rich Slack formatting:**
- Use Block Kit for actionable alerts (e.g., 'View Detai

[Read the thread](https://github.com/QWarranto/leafengines-claude-mcp/issues/36) · 2026-06-18 · open · 0 comments

### Enable team pooling via shared API key in Slack channels

Support shared team API keys in Slack group channels. A single Team API key can be shared by 3-5 people with pooled daily limits.

**Implementation:**
- Detect group channel context (not DM) in Slack message handler
- If channel has a configured team key, route all queries through that key
- Pool limits: 150 AI calls + 500 data calls per day across the team
- `/soil` and other commands work in group channels with team accountability
- Log `slack_channel_id` in telemetry for audit

**Security:**

[Read the thread](https://github.com/QWarranto/leafengines-claude-mcp/issues/35) · 2026-06-18 · open · 0 comments

### Add analysis_sessions continuity for Slack -> cross-platform bookmarking

Enable Slack users to access saved analysis sessions started on other platforms.

**Commands to implement:**
- `/recent` — last 5 saved sessions across all channels
- `/deepdive [session_id]` — retrieve full multi-turn analysis
- `/favorites` — user-bookmarked sessions (starred)

**Data model:**
- `analysis_sessions` table already exists; add `channel_source` enum (`telegram`, `slack`, `mcp`, `web`)
- Add `slack_thread_ts` column for Slack thread continuity

**Acceptance:**
- User starts soil an

[Read the thread](https://github.com/QWarranto/leafengines-claude-mcp/issues/34) · 2026-06-18 · open · 0 comments

### Implement /link and user_channels schema for Slack identity

Extend the unified identity system to cover Slack. Add Slack as a supported channel in the `user_channels` table alongside Telegram and email.

**Tasks:**
- Add `slack_user_id`, `slack_team_id` columns to `user_channels`
- Implement `/link` slash command in Slack (maps Slack identity to LeafEngines API key)
- On `/link`, validate the API key and inherit existing tier/subscription
- If no existing key, generate one and DM it to the user
- Prevent duplicate linking (one Slack user -> one API key)

[Read the thread](https://github.com/QWarranto/leafengines-claude-mcp/issues/33) · 2026-06-18 · open · 0 comments

### Set up @SSKP Slack bot infrastructure and OAuth scopes

Deploy the `@SSKP` Slack bot to the LeafEngines workspace.

**Required tokens:**
- `SLACK_BOT_TOKEN` (`xoxb-...`) — chat.postMessage, channel access, user info
- `SLACK_APP_TOKEN` (`xapp-1-...`) — socket mode for interactivity
- `SLACK_WEBHOOK_URL` — legacy fallback for n8n workflows

**Scopes to request:**
- `chat:write`
- `chat:write.public`
- `commands`
- `users:read`
- `channels:read`
- `im:read`
- `app_mentions:read`

**Acceptance:**
- Bot posts to `#general` via `chat.postMessage` successf

[Read the thread](https://github.com/QWarranto/leafengines-claude-mcp/issues/32) · 2026-06-18 · open · 0 comments

### Deploy v2 Supabase edge functions with backward compat for v1 keys

v1 keys must continue working; v2 adds new endpoints.

- Rename existing to /v1/*
- Deploy new under /v2/*
- v1 keys passthrough on both paths
- MCP server base_url prefers /v2
- Deprecation notice on /v1

[Read the thread](https://github.com/QWarranto/leafengines-claude-mcp/issues/31) · 2026-06-15 · open · 0 comments

## Most recent

### Update telemetry schema for credit packs vs monthly subs

Billing model change requires new telemetry dimensions.

- billing_model enum: credit_pack, subscription, grandfathered
- credit_balance snapshot per call
- subscription_tier field on all usage events
- Backfill script for historical data

[Read the thread](https://github.com/QWarranto/leafengines-claude-mcp/issues/30) · 2026-06-15 · open · 0 comments

### Add partner program API endpoints

Dedicated partner endpoints for wholesale report program.

- POST /v1/partner/register
- POST /v1/partner/report
- GET /v1/partner/orders
- PUT /v1/partner/branding

[Read the thread](https://github.com/QWarranto/leafengines-claude-mcp/issues/29) · 2026-06-15 · open · 0 comments

### Implement credit pack purchase validation endpoints

Edge functions for credit pack lifecycle.

- POST /v1/credits/purchase
- POST /v1/credits/webhook
- GET /v1/credits/balance
- POST /v1/credits/consume

[Read the thread](https://github.com/QWarranto/leafengines-claude-mcp/issues/28) · 2026-06-15 · open · 0 comments

### Add MCP-to-downstream argument transform layer

MCP schemas differ from downstream Zod schemas. Build transform middleware.

- Map county_fips -> query.county
- Map question -> context.natural_language
- Validate transformed payload
- Error telemetry on transform failures

[Read the thread](https://github.com/QWarranto/leafengines-claude-mcp/issues/27) · 2026-06-15 · open · 0 comments

### Implement auth pool with failover (Hermes credential management pattern)

Multiple API keys, credential pools, provider failover.

- hermes auth add pattern
- Round-robin key usage
- Fallback on 429/500
- Rate-limit tracking per key in Redis

[Read the thread](https://github.com/QWarranto/leafengines-claude-mcp/issues/26) · 2026-06-15 · open · 0 comments

### Prepare OGC CITE certification test suite

Run official OGC conformance tests.

- Download CITE WFS 2.0 test engine
- Execute against staging
- Fix failing assertions
- Generate compliance report

[Read the thread](https://github.com/QWarranto/leafengines-claude-mcp/issues/24) · 2026-06-15 · open · 0 comments

### Implement WFS-T (Transaction) support

Enable write-back for partner lab annotations.

- Insert partner lab results
- Update stale data (user-scoped)
- Delete user-scoped data
- LockFeature for concurrent edit safety

[Read the thread](https://github.com/QWarranto/leafengines-claude-mcp/issues/23) · 2026-06-15 · open · 0 comments

### Implement WFS DescribeFeatureType endpoint

Return XSD schema for each feature type.

- XSD for soil_data (pH, texture, NPK)
- XSD for water_quality (contaminants, EPA score)
- Content negotiation

[Read the thread](https://github.com/QWarranto/leafengines-claude-mcp/issues/22) · 2026-06-15 · open · 0 comments

The remaining reports are on [the project's issue tracker](https://github.com/QWarranto/leafengines-claude-mcp/issues).
