Beautify the README; fix health endpoint OpenAPI auth - #255
Conversation
Restyle the README to match the Nvisy Studio README: a centered hero (shared logo, tagline, and a Build/Release/Security/License badge row plus a site link row), the active-development warning, and consistent sections — Features, Requirements, Quick start, Commands, Documentation, Contributing, License, and Support. Add the shared brand logo under .github/assets/. Every linked path resolves to a file that exists. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018bKk1YEG4tZ69jzYVQvQL8
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (1)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthroughThe README was rewritten with a new project header, redaction pipeline overview, expanded feature list, setup requirements, command reference, documentation links, contribution guidance, and revised support links. ChangesREADME refresh
Estimated code review effort: 1 (Trivial) | ~5 minutes Merge Risk: ⚪ Minimal · up to This PR refreshes the README and adds branding without changing application behavior, dependencies, permissions, or deployment. No actionable merge-blocking risk remains after normal checks and review. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (1 skipped: 1 unsupported.)
✨ Finishing Touches🧪 Generate unit tests (beta)
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 |
The health handler extracts Option<AuthState> (it runs a real-time check for an authenticated caller and returns the cached status otherwise), but aide's blanket Option<T> OperationInput delegates to AuthState's impl, which stamps a required Bearer requirement. The spec therefore marked /health/ as auth-required even though it is mounted on the public router and accepts unauthenticated requests, which misled SDK clients. Add an OptionalAuth extractor (its own file) that carries the same optional value but declares the token as optional in the spec — an empty security requirement (no auth) alongside the Bearer one. Use it in the health handler. A unit test asserts the emitted security offers the unauthenticated alternative. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018bKk1YEG4tZ69jzYVQvQL8
Two changes:
1. Beautify the README
Restyles the README to match the Nvisy Studio README:
nvisy.com · docs.nvisy.com · app.nvisy.comlink row.docs/files), Contributing, License, Support.Adds the shared brand logo at
.github/assets/logo.png(byte-identical to Studio's). Every linked path resolves to a file that exists.2. Fix the health endpoint's OpenAPI auth requirement
/health/is mounted on the public router and accepts unauthenticated requests (an authenticated caller gets a real-time health check; an unauthenticated one gets the cached status). But because the handler extractedOption<AuthState>, aide's blanketOption<T>OperationInputdelegated toAuthState's impl and stamped a required Bearer requirement — so the spec wrongly marked the endpoint auth-required, which misled SDK clients.Adds an
OptionalAuthextractor (its own file) that carries the same optional value but declares the token as optional in the spec — an empty security requirement (no auth) alongside the Bearer one. The health handler uses it; a unit test asserts the emitted security offers the unauthenticated alternative.🤖 Generated with Claude Code