Inspiration
AI coding agents repeatedly rediscover the same architecture decisions, security pitfalls, deployment failures, and reusable implementation patterns. Valuable lessons often remain buried in chat transcripts, commit history, and internal notes, so the next agent can make the same mistake again.
GameFork Wheel turns those hard-won lessons into a curated, searchable knowledge layer for AI agents: don't reinvent the wheel, and don't repeat known failures.
What it does
GameFork Wheel exposes a deliberately small, anonymous, read-only MCP surface with one tool: search_wheel.
Agents can:
- browse 41 active general-purpose public lessons by default, 10 at a time with cursor pagination;
- search a 76-record source index covering design decisions, failure records, reusable code, game mechanics, and prompt templates;
- retrieve relevant failure patterns before touching risky areas such as database RLS, OAuth, MCP, or Cloudflare deployment;
- learn from sensitive entries without receiving excluded body text, source locations, or internal repository paths;
- abstain when a query is unrelated instead of returning a misleading weak match.
The public tier fails closed. Sensitive entries return only permitted metadata such as title, summary, tags, and body_excluded: true. There are no write tools in the public app.
How we built it
GameFork already had a private Wheel knowledge system. During OpenAI Build Week, I created a Wheel-only public MCP endpoint at https://gamefork.dev/api/mcp-wheel, separated it from GameFork's game and authenticated write tools, and packaged it as a ChatGPT app.
The TypeScript service runs on Cloudflare Workers with a dedicated Durable Object. A generated Wheel index supplies curated entries, while explicit public-tier filtering prevents sensitive bodies and internal file paths from crossing the boundary. The MCP contract publishes one read-only tool with structured output and safety annotations.
The latest search layer is deterministic lexical search v2: NFKC normalization, CJK bigrams, exact identifier boosting, calibrated score thresholds, and abstention. Entries can also carry verification evidence, review dates, and conflict metadata.
Codex with GPT-5.6 accelerated repository analysis, architecture review, implementation verification, deployment diagnosis, documentation, search evaluation, and browser-based end-to-end testing.
Challenges we ran into
The hardest challenge was not search itself; it was making useful operational knowledge public without leaking sensitive implementation detail. We solved this with a distinct public caller tier, explicit body exclusion, path removal, a fail-closed feature flag, rate limiting, and a dedicated endpoint containing only search_wheel.
We also encountered intermittent ChatGPT sessions where a connector was visible but its tool schema was stale or unavailable to the model. Server health checks separated chat-session attachment issues from production service failures.
Accomplishments that we're proud of
- A production MCP endpoint exposing exactly one anonymous read-only tool.
- 76 indexed lessons, with 41 active general-purpose lessons in the default public catalog.
- Cursor pagination with 10 results per page.
- Search across design, failure, code, mechanic, and prompt entries.
- Web and Pixel 9a tests for catalog browsing, RLS failures, OAuth design checks, and sensitive-entry redaction.
- Sensitive entries verified to stop at permitted summary metadata with
body_excluded: true. - 338 tests and 29 search evaluation cases passing, with zero forbidden-result hits.
- No internal file or source paths returned by the public tier.
What we learned
Agent memory needs governance as much as retrieval. A knowledge base becomes safer and more useful when lessons are verified before adoption, sensitive content is classified at build time, weak matches are rejected, and the public interface is smaller than the internal one.
What's next for GameFork Wheel
- Complete OpenAI identity review and App Directory review.
- Publish GameFork Wheel for one-click installation in ChatGPT.
- Continue harvesting and verifying failures from real development work.
- Promote generalized lessons to the public Open Wheel repository.
- Improve citations and provenance without exposing internal paths.
Built With
- chatgpt
- cloudflare-workers
- codex
- durable-objects
- model-context-protocol
- next.js
- openai
- supabase
- typescript
- vitest
- zod
Log in or sign up for Devpost to join the conversation.