Document X-Kernel-Project-Id resolution rules on the Projects page#409
Conversation
Three updates, all matching middleware behavior verified end-to-end against kernel/kernel#2387: - Fix the unscoped-request claim: without the header, requests act on the org's default project, not org-wide. (Same stale framing kernel/kernel#2386 fixes in the OpenAPI descriptions.) - Add a Resolution rules section: unknown/archived project returns a coded 404 (project_not_found); naming the default project is equivalent to omitting the header; scoped keys 403 on mismatched headers. - Note the header accepts a project ID or name. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Firetiger deploy monitoring skipped This PR didn't match the auto-monitor filter configured on your GitHub connection:
Reason: This PR only updates documentation (info/projects.mdx) with no code changes to the kernel service itself, so it doesn't require deploy monitoring. To monitor this PR anyway, reply with |
There was a problem hiding this comment.
Risk assessment: Very Low
Evidence from the diff: this PR modifies only info/projects.mdx, with a small documentation-only update describing X-Kernel-Project-Id resolution behavior. It doesn't change code, generated API specs, navigation config, infrastructure, auth/permission logic, or executable behavior. No CODEOWNERS file was present in the workspace, and there were no existing approvals when checked.
Approved based on the limited blast radius and docs-only surface.
Sent by Cursor Automation: Assign PR reviewers
|
Preview deployment for your docs. Learn more about Mintlify Previews.
💡 Tip: Enable Workflows to automatically generate PRs for you. |


What
Updates
info/projects.mdxwith the precise resolution rules for theX-Kernel-Project-Idheader.Changes
404with{"code":"project_not_found"}403(cross-links the existing API keys section)--projectflag further down the page).Every rule here was verified live against a running build of kernel/kernel#2387 (before/after comparison on a dev org).
Merge timing
project_not_foundbody and the default-project normalization land there. Today's API returns a plain-text 404 and treats an explicit default header as a strict filter.🤖 Generated with Claude Code
Note
Low Risk
Documentation-only change to
projects.mdx; no runtime or API code in this repo.Overview
Updates
info/projects.mdxsoX-Kernel-Project-Idbehavior matches the API (aligned with kernel/kernel#2387).Scoping without the header is no longer described as “org-wide”; unscoped requests (and org-wide keys without a header) are documented as acting on the organization’s default project for reads and writes.
Adds a Resolution rules subsection: invalid or archived projects →
404withproject_not_found; naming the default project is equivalent to omitting the header; project-scoped keys that disagree with the header →403(with a link to the API keys section). The intro also states the header accepts a project ID or name.Reviewed by Cursor Bugbot for commit c45abdb. Bugbot is set up for automated code reviews on this repo. Configure here.