From 48993eb3116e0836589f70d8009eb46023156560 Mon Sep 17 00:00:00 2001 From: Eric Gullickson <16152721+ericgullickson@users.noreply.github.com> Date: Wed, 11 Feb 2026 15:22:38 -0600 Subject: [PATCH] docs: fix receipt tier gating and add feature tier refs to core docs (refs #146) Co-Authored-By: Claude Opus 4.6 --- backend/src/core/CLAUDE.md | 2 +- backend/src/features/ocr/README.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/backend/src/core/CLAUDE.md b/backend/src/core/CLAUDE.md index 8b25831..a8fd0bd 100644 --- a/backend/src/core/CLAUDE.md +++ b/backend/src/core/CLAUDE.md @@ -11,7 +11,7 @@ | Directory | What | When to read | | --------- | ---- | ------------ | | `auth/` | Authentication utilities | JWT handling, user context | -| `config/` | Configuration loading (env, database, redis) | Environment setup, connection pools | +| `config/` | Configuration loading (env, database, redis) and feature tier gating (fuelLog.receiptScan, document.scanMaintenanceSchedule, vehicle.vinDecode) | Environment setup, connection pools, tier requirements | | `logging/` | Winston structured logging | Log configuration, debugging | | `middleware/` | Fastify middleware | Request processing, user extraction | | `plugins/` | Fastify plugins (auth, error, logging, tier guard) | Plugin registration, hooks, tier gating | diff --git a/backend/src/features/ocr/README.md b/backend/src/features/ocr/README.md index 83b4d65..b601f48 100644 --- a/backend/src/features/ocr/README.md +++ b/backend/src/features/ocr/README.md @@ -8,7 +8,7 @@ Backend proxy for the Python OCR microservice. Handles authentication, tier gati |--------|----------|-------------|------|------|----------| | POST | `/api/ocr/extract` | Synchronous general OCR extraction | Required | - | 10MB | | POST | `/api/ocr/extract/vin` | VIN-specific extraction | Required | - | 10MB | -| POST | `/api/ocr/extract/receipt` | Fuel receipt extraction | Required | - | 10MB | +| POST | `/api/ocr/extract/receipt` | Fuel receipt extraction | Required | Pro | 10MB | | POST | `/api/ocr/extract/manual` | Async maintenance manual extraction | Required | Pro | 200MB | | POST | `/api/ocr/jobs` | Submit async OCR job | Required | - | 200MB | | GET | `/api/ocr/jobs/:jobId` | Poll async job status | Required | - | - | @@ -177,4 +177,4 @@ The backend proxy translates Python service error codes: Manual extraction requires Pro tier. The tier guard middleware (`requireTier` plugin) validates the user's subscription tier before processing. Free-tier users receive HTTP 403 with `TIER_REQUIRED` error code and an upgrade prompt. -Receipt and VIN extraction are available to all tiers. +VIN extraction is available to all tiers. Receipt extraction requires Pro tier (`fuelLog.receiptScan`).