docs: refresh ROADMAP structure and competitive landscape#68
Merged
Conversation
The previous ROADMAP had drifted: about 60% of the content was struck-through (done) items duplicating CHANGELOG history, and the "Competitive features" table hadn't been refreshed since AI Gateway was filed as "planned" — it's been shipped for two PRs now. ### Restructure Old top-level: Current Focus → Up Next → Plugin Backlog (P0/P1/P2/P3) → Feature Backlog (by concern) → Tech Debt → Open Questions → Out of Scope → Competitive Features to Monitor. New top-level: Now → Next → Later (grouped by concern) → Someday / maybe → Blocked → Open Questions → Non-goals → Competitive Watch. Time-horizoned instead of category-first. ### What was cut - All struck-through `~~done~~` rows across every section — they live in CHANGELOG. - "AI & LLM (ADR-0024)" subsection — every item is shipped. - "Compile-Time Safety Gaps" table — all but one row shipped; absorbed into Tech Debt. - "Current Focus" section of all-done items — repurposed as Now. ### Competitive watch refresh (2026-04-20) Researched Kong (3.8, 3.9, 3.14), APISIX (3.15, 3.16), Portkey (March 2026 open-source expansion), LiteLLM (v1.81.x MCP gateway + guardrails), Cloudflare AI Gateway (Universal Endpoint + prompt caching), Zuplo (OpenAPI Overlay + MCP-from-spec), Envoy Gateway (GRPCRoute GA), Tyk (integrated dev portal + Pump analytics), Istio (Ambient GA in 1.24 + Gateway API Inference Extension at KubeCon EU 2026), and Kubernetes Gateway API Inference Extension. Rebalanced the section so AI is one of seven categories (protocol, traffic, auth, observability/DX, spec-driven gateways, K8s/service mesh, AI/LLM) — Barbacane is primarily an API gateway, not an AI gateway. Each row lists competitor + Barbacane's status (shipped, Later, Someday, or non-goal). ### New Someday/maybe items (tagged `[competitive]`) Items competitors ship that we might respond to: - Semantic cache / semantic routing (Kong 3.8, Portkey) - Hard-budget spend enforcement (Portkey, LiteLLM) - OpenAPI Overlay support (Zuplo) - Auto-generated developer portal from compiled spec (Kong, Tyk, Apigee, Zuplo) Result: 247 lines → 250 lines, but the content is all signal — forward priorities and competitive intelligence rather than half a file of struck-through history.
Resolve ROADMAP.md by keeping the new "Now / Next / Later" structure from this branch — completed items from main (transformation plugins, AI gateway middlewares, security plugins docs) belong in CHANGELOG, not in a forward-looking roadmap. Also refreshes README to surface the AI gateway and MCP server as flagship capabilities, regroups the plugin table by concern, and adds an inline x-barbacane-* config example.
Verified against every plugin's config-schema.json and docs/reference/extensions.md: - x-barbacane-dispatch uses 'name:', not 'plugin:' - ai-proxy.targets is an object map keyed by target name, not a list - provider fallback is a separate top-level 'fallback:' list - ai-cost-tracker prices use 'prompt'/'completion', not 'input'/'output' - jwt-auth.jwks_url is unimplemented; example uses issuer/audience - ai-token-limit partition_key uses 'header:x-auth-sub' since jwt-auth writes the subject to a header, not a context key
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The ROADMAP had drifted:
This PR restructures the file around time horizons and refreshes the competitive landscape using 2026-04-20 research.
Structure change
Before: Current Focus → Up Next → Plugin Backlog (P0/P1/P2/P3) → Feature Backlog → Tech Debt → Open Questions → Out of Scope → Competitive table
After: Now → Next → Later (grouped by concern) → Someday / maybe → Blocked → Open Questions → Non-goals → Competitive Watch
Time-horizoned instead of category-first, so readers see the pipeline before the catalog.
What was cut
~~done~~row across all sections — that history belongs in CHANGELOG.Competitive watch refresh
Rebalanced so AI is one of seven categories, not the centerpiece — Barbacane is primarily an API gateway. Each row lists competitor + Barbacane's status (shipped / Later / Someday / non-goal).
Sources consulted (all 2026 releases verified via WebSearch 2026-04-20):
New Someday / maybe items (tagged
[competitive])Features competitors ship that we might respond to:
Verified against code/docs that MCP OAuth 2.1 + PKCE (covered by existing
oidc-auth), MCP identity forwarding (N/A — we generate MCP from our own spec, not proxy external servers), and circuit breaker (partially covered byai-proxyfallback) are not Someday items — they're already addressed or architecturally different.Test plan
wc -l ROADMAP.md— 250 lines (was 247, but all-signal — no strike-through history).Risk
None — documentation only. Does not touch code or CI config.