chore: per-folder CLAUDE.md, OCI PR template, OCI issue forms#302
Conversation
Wires the OCI pipeline scaffolding into the repo so future sessions read stack-specific rules and contributors get OCI-grounded issue and PR templates by default. backend/CLAUDE.md - Python / FastAPI / Supabase / Pinecone, the 7 documented bugs, off-limits files (auth.py, startup_checks.py). frontend/CLAUDE.md - Bun, shadcn, React Query, Tailwind, design language, critical-files list, approved file-size exceptions. mcp-server/CLAUDE.md - FastMCP, dual transport, mcp pin, MCP_API_KEY env var, Bearer header space rule, structured-error policy, 500ms agent-loop budget. .github/PULL_REQUEST_TEMPLATE.md - replaces the generic OSS template with an OCI-specific one. Summary, type, ADR adherence checklist, how-to-test, verification, deployment notes (env vars, migrations, off-limits files, mcp version, /api/v1 contract), Paired-Ship Protocol tradeoff, risk and rollback. No screenshots, no generic checklist. .github/ISSUE_TEMPLATE/oci-issue.yml - internal work tracker. Wave / type / stack / priority / ADR-required as dropdowns. Why, what-ships, acceptance-criteria as required textareas. .github/ISSUE_TEMPLATE/dogfood-finding.yml - friction-while-using-OCI capture. Fast: what-I-tried / what-happened / what-expected / repro / tool. .github/ISSUE_TEMPLATE/ddia-finding.yml - OCI flaws spotted while reading DDIA. Chapter, concept, OCI surface, what-is-wrong (DDIA-grounded), three-pillar impact ratings. bug_report.yml and feature_request.yml unchanged - those serve external contributors and stay generic.
|
@DevanshuNEU is attempting to deploy a commit to the Dev's projects Team on Vercel. A member of the Team first needs to authorize it. |
|
Warning Rate limit exceeded
You’ve run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughThis PR standardizes the OCI development workflow by introducing three GitHub issue templates for different work types (DDIA findings, dogfood user reports, internal OCI tasks), overhauling the PR template with a checklist-driven structure, and adding stack-specific engineering rule documents (CLAUDE.md) for backend, frontend, and MCP server subsystems. ChangesGitHub Workflow Templates
Stack-Specific Engineering Rules
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Tip 💬 Introducing Slack Agent: The best way for teams to turn conversations into code.Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.
Built for teams:
One agent for your entire SDLC. Right inside Slack. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/PULL_REQUEST_TEMPLATE.md:
- Line 47: The checklist line "Latency target honored, measured: p50 ___ ms /
p95 ___ ms (ADR target: ___)" triggers MD037 due to raw underscores; update that
line in the PULL_REQUEST_TEMPLATE.md by replacing the bare underscores with
either backticked placeholders (e.g., `___`) or angle-bracket tokens (e.g.,
<value>) so the placeholders are treated as code/text and not parsed as
emphasis, and keep the surrounding wording unchanged.
- Around line 29-39: Convert the Setext-style section labels in the PR template
to ATX headings to satisfy markdownlint MD003: replace the four labels
"Backend:", "Frontend:", "MCP server:", and "Tests / docs:" with ATX-style
headings (e.g., prefix each with one or more # characters such as "# Backend",
"# Frontend", "# MCP server", "# Tests / docs") so the headings are consistent
and lint-clean.
In `@frontend/CLAUDE.md`:
- Line 11: Update the inconsistent lockfile name in CLAUDE.md by replacing the
incorrect `bun.lock` mention with the canonical `bun.lockb` used elsewhere in
the document; specifically edit the sentence at the top (current line
referencing `bun.lock`) and the off-limits section (the block around lines
79–83) so all occurrences consistently read `bun.lockb`.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
Run ID: 0e782559-f6fe-452b-a045-b506cda79b9f
📒 Files selected for processing (7)
.github/ISSUE_TEMPLATE/ddia-finding.yml.github/ISSUE_TEMPLATE/dogfood-finding.yml.github/ISSUE_TEMPLATE/oci-issue.yml.github/PULL_REQUEST_TEMPLATE.mdbackend/CLAUDE.mdfrontend/CLAUDE.mdmcp-server/CLAUDE.md
- PR template line 47: wrap latency placeholders in backticks so MD037 does not parse `___` as emphasis. - frontend/CLAUDE.md off-limits section: change `bun.lockb` to `bun.lock` to match the actual lockfile on disk and the rest of this file. Reviewer suggested the reverse, but verification against the working tree shows the text-format `bun.lock` is what Bun is using here. Skipped review finding: convert bold labels under "What changed" to ATX headings. Those labels are inline bold text, not Setext headings, so MD003 does not apply. Adding `###` headers per stack would add visual weight that contradicts the "lighter, less generic" direction this template was built for. Note: the root CLAUDE.md also has a `bun.lockb` reference inconsistency (off-limits section). Leaving that for a separate follow-up since it is not part of this PR.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Railway changed how startCommand is evaluated; the $PORT variable was being passed as the literal string instead of being shell-expanded, causing uvicorn to crash on every boot and the /health probe to time out across 11 attempts. The Dockerfile's built-in CMD already binds to the EXPOSE'd port with --proxy-headers, so removing the override restores boot. Same railway.json shipped fine for PR #293 two months ago, and no runtime code, Dockerfile, or requirements changed between #293 and the failing #302 deploy (only docs touched). Root cause is a Railway platform behavior change. Hotfix: skipped /oci-design gate (Phase 1F warn) because prod is fully down. Backfilling an ADR or dogfood finding after recovery.
Summary
Wires the OCI pipeline scaffolding into the repo: three per-folder CLAUDE.md files (backend / frontend / mcp-server), an OCI-specific PR template replacing the generic OSS one, and three OCI-flavored YAML issue forms. Phase 1E of the OCI pipeline build (vault-side phases 1A through 1D shipped in DevVault first).
Type of change
Closes / implements
oci/sessions/latest.md)backend/,frontend/, ormcp-server/modified, only*/CLAUDE.mdand.github/)What changed
Backend:
backend/CLAUDE.mdnew. Python / FastAPI / Supabase / Pinecone specifics, the 7 documented bugs, off-limits files (middleware/auth.py,config/startup_checks.py).Frontend:
frontend/CLAUDE.mdnew. Bun, shadcn, React Query, Tailwind, design language, critical-files list, approved file-size exceptions.MCP server:
mcp-server/CLAUDE.mdnew. FastMCP, dual transport,mcp>=1.25.0,<2.0.0pin,MCP_API_KEYenv var, Bearer-header space rule, structured-error policy, 500ms agent-loop budget.Tests / docs:
.github/PULL_REQUEST_TEMPLATE.mdreplaced. OCI-specific shape with ADR adherence checklist, Paired-Ship Protocol tradeoff section, risk and rollback. No screenshots, no generic checklist..github/ISSUE_TEMPLATE/oci-issue.ymlnew. Internal work tracker (wave / type / stack / priority / ADR-required dropdowns)..github/ISSUE_TEMPLATE/dogfood-finding.ymlnew. Friction-while-using-OCI capture in 60 seconds..github/ISSUE_TEMPLATE/ddia-finding.ymlnew. OCI flaws spotted while reading DDIA, three-pillar impact ratings.bug_report.yml,feature_request.ymlunchanged. External-contributor templates kept generic.ADR adherence
n/a, chore commit, no architectural impact.
How to test
backend/CLAUDE.mdand confirm it auto-loads when Claude Code works insidebackend/. Same forfrontend/andmcp-server/.Expected: PR template has Summary / Type / Closes / What changed / ADR adherence / How to test / Verification / Deployment notes / Tradeoff / Risk-and-rollback sections. Issue picker shows 5 forms with consistent visual style.
Verification
bug_report.ymlshape (name:andbody:keys present, body is a list of typed blocks)Deployment notes
backend/middleware/auth.py,backend/config/startup_checks.py,bun.lockb)mcppackage version change (still>=1.25.0,<2.0.0)/api/v1/*contracts (no source code in PR)Tradeoff (Paired-Ship Protocol)
Replaced the generic OSS PR template instead of keeping both. The old shape (Description / Motivation / Type / Testing / Checklist / Screenshots / Additional Context) was creating friction in real PRs and has been the source of unstructured PR bodies historically. Keeping both via a
PULL_REQUEST_TEMPLATE_legacy.mdrename was considered, but GitHub uses the unprefixed file as default, so the legacy version would have been visibly second-class anyway. Trade: external contributors filing their first PR see a denser, OCI-specific template instead of the familiar OSS one. Mitigation: the new template's first 2 sections (Summary and Type) match the OSS pattern, and deeper sections are explicitly optional ("delete if n/a").Chose YAML issue forms over Markdown templates so the picker has a single visual style alongside existing
bug_report.ymlandfeature_request.yml. The DevVault Markdown counterparts atoci/templates/*.mdremain in place forgh issue create --body-fileuse (used by/oci-planand/oci-merge-done); both formats coexist by design.Risk and rollback
git revertthis commit, or open a tiny follow-up PR restoring prior template files from history.Summary by CodeRabbit
Documentation
Chores