Fix 403 on tutorial section directory indexes
Summary
Directory indexes under the developer portal return 403 for tutorial section roots while child pages return 200. Agents and crawlers that follow nav/llms.txt links to folder URLs hit a dead end.
Related context: agentic onboarding audit (Work Item #84 (closed) / MR !180 (merged)).
Observed (prod developers.hive.io)
GET /tutorials-recipes/→ 403GET /tutorials-javascript/→ 403- Child tutorial HTML pages under those trees → 200
Please re-verify on staging/prod when triaging; paths may include other tutorial section roots with the same pattern.
Why it matters
llms.txt, sitemap, and Quickstart/nav link people (and agents) at section roots.- 403 looks like “docs missing” rather than “pick a child page,” and breaks naive URL following.
Proposed fix
- Confirm which Jekyll / nginx / Cloudflare rule returns 403 for directory URLs without
index.html. - Prefer one of:
- Publish a real section index (listing) at each tutorial root, or
- 301/302 redirect directory → a canonical first page or
/tutorials/, or - Serve a lightweight index instead of 403.
- Add a CI/smoke assertion that documented section roots return 200 (or an intentional redirect), not 403.
- Align sitemap/
llms.txtlinks with whatever canonical URL you choose.
Acceptance
- Tutorial section roots previously returning 403 now 200 or intentional redirect
- Child pages unchanged
- Smoke/CI covers the fixed roots
- Nav / sitemap /
llms.txtpoint at the canonical URLs
Out of scope
- Rewriting tutorial content
- OpenAPI/OpenRPC (#85 (closed)) or MCP