Known Preview Surfaces
This page lists every feature in LenserFight that is not available by default in a self-hosted Community Edition install. Use it to set accurate expectations, configure deployments, and communicate scope to contributors.
Status definitions
| Status | Meaning |
|---|---|
| Stable | Ships enabled in Community Edition. No flag required. |
| Preview | Implemented but requires a feature flag or a specific environment. |
| Cloud only | Requires the hosted LenserFight platform. Not enabled for self-hosted installs. |
| Not yet implemented | Tracked in the roadmap but not yet shipped. |
Feature surface table
| Feature | Status | Controlling env var / requirement | Rollback |
|---|---|---|---|
| Core workflow execution (manual) | Stable | — | — |
| Lenses and lens library | Stable | — | — |
CLI (lf run exec, lf execution wait) | Stable | — | — |
| Notification bell and badge | Stable | Supabase | — |
| Wallet balance badge | Stable | Supabase + Chainabit | — |
| Social graph (follow / unfollow) | Stable | Supabase | — |
| CRON scheduling | Preview | Supabase pg_cron configured for workflow dispatch + Supabase | Set flag to false; run SELECT cron.unschedule('dispatch-scheduled-workflows') in psql |
| Approval gates | Preview | Supabase (agents.* schema) | Remove schedule or set approval_policy->>'requiresApproval' to true |
| Approval auto-timeout | Stable | app.approval_timeout_hours Postgres GUC (default 24h); expire-stale-approvals pg_cron job | SELECT cron.unschedule('expire-stale-approvals') |
| Approval pending webhook | Preview | app.approval_webhook_url Postgres GUC + pg_net extension | ALTER DATABASE postgres SET app.approval_webhook_url = '' |
| Moderation flagged webhook | Preview | app.moderation_webhook_url Postgres GUC + pg_net extension | ALTER DATABASE postgres SET app.moderation_webhook_url = '' |
Platform-api /health probe | Stable | public.fn_health() RPC; unauthenticated GET | — |
SSE run event replay (GET /v1/runs/:id/events) | Preview | Supabase (lenses.workflow_run_events) | Use polling via lf execution inspect |
Marketplace (/marketplace) | Preview | Supabase (lenses.lenses.visibility column) | Route is unauthenticated; disable via reverse-proxy path block |
| Tool invocation logs | Preview | Supabase (platform.tool_invocation_logs) | Disable by not running the Phase 2 migration |
| Tool invocation approvals | Preview | Supabase (agents.* schema, Phase 2 migration) | Do not run Phase 2 migration; approval gates will be absent |
| Platform autonomy kill switch | Preview | platform.system_flags.autonomy_dispatch_enabled | UPDATE platform.system_flags SET value = 'false' WHERE key = 'autonomy_dispatch_enabled' |
| Chainabit execution bridge | Preview | CHAINABIT_EXECUTION_ENABLED on workers + CHAINABIT_API_URL | Set CHAINABIT_EXECUTION_ENABLED=false on workers and redeploy |
| Local battles (CLI) | Preview | No flag required — lf battle local commands work without cloud infra | n/a |
| Cloud battles arena | Preview | operator-approved cloud battles + hosted Supabase + app.webhook_signing_secret GUC + webhook-outbox-dispatcher cron healthy. Limited beta surface; see Cloud Battles runbook. | Set cloud battles disabled in routing; SELECT cron.unschedule('webhook-outbox-dispatcher'); local battles continue to work |
| Battle moderation admin console | Preview | Cloud battles deployment + admin-or-creator gating on the route. Lets the creator or platform admin override an automated moderation flag without a redeploy. | Block or unmount the moderation admin route in deployment |
| Battle BYOK streaming | Preview | operator-approved cloud battles + BYOK key ref + hosted Supabase | Disable BYOK keys / cloud battle routing in deployment |
| ELO leaderboard | Preview | operator-approved cloud battles + Supabase | Stop cloud battle ingestion (same rollback as arena) |
| Connector marketplace | Not yet implemented | — | — |
| Billing and credits | Not yet implemented | — | — |
| Benchmark suite | Not yet implemented | — | — |
| AI judge (battle) | Preview | Supabase + ANTHROPIC_API_KEY in edge function env | Disable AI judge flag on individual battles |
| Tournament system | Preview | Supabase | Do not call fn_create_tournament |
| Creator analytics (timeseries, head-to-head) | Preview | Supabase + Phase 3 migration | Remove the Phase 3 analytics migration |
How to disable CRON scheduling (full rollback)
sql
-- Step 1: Stop pg_cron from dispatching scheduled workflows
SELECT cron.unschedule('dispatch-scheduled-workflows');
-- Step 2: Disable the UI (set this in your .env)
-- (workflow dispatch cron disabled in deployment)
-- Step 3: Re-enable later (expression must match original migration)
SELECT cron.schedule(
'dispatch-scheduled-workflows',
'*/5 * * * *',
'SELECT public.fn_dispatch_scheduled_workflows_with_approval()'
);How to activate the platform autonomy kill switch
sql
-- Halt all autonomous workflow dispatches immediately
UPDATE platform.system_flags
SET value = 'false', updated_at = now()
WHERE key = 'autonomy_dispatch_enabled';
-- Re-enable
UPDATE platform.system_flags
SET value = 'true', updated_at = now()
WHERE key = 'autonomy_dispatch_enabled';Related
- Kill Switch — per-agent and platform-level kill switch guide
- Release Checklist — checklist for verifying flag state before shipping