TheDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/vruizz22/innova-ai-engine/llms.txt
Use this file to discover all available pages before exploring further.
innova-ai-engine deploys ten Lambda functions from a single container image built with Dockerfile.lambda. Each function is registered in serverless.yml under its own entry point — a Python module inside src/pipeline/ — but every invocation loads the exact same image. This approach eliminates cold-start image variance between workers and ensures that native dependencies (pypdfium2, pillow, scipy) are identical across the fleet. Functions are triggered by two mechanisms: SQS event-source mappings (for processing queues owned by the backend stack) and EventBridge scheduled rules (cron expressions, for nightly and hourly background jobs). One function, health, is triggered over HTTP through API Gateway and the custom domain ai.superprofes.app.
Function reference table
| Function | Trigger | Queue / Schedule | Batch size | Timeout | Memory | Handler module |
|---|---|---|---|---|---|---|
health | HTTP GET | ai.superprofes.app/health | — | 10 s | 128 MB | src.pipeline.health |
llmClassifier | SQS | llm-classify-queue | 20 | 300 s | 512 MB | src.pipeline.llm_consumer |
nightlyBkt | EventBridge | cron(0 7 * * ? *) | — | 900 s | 1024 MB | src.pipeline.nightly_bkt |
nightlyIrt | EventBridge | cron(15 7 * * ? *) | — | 900 s | 1024 MB | src.pipeline.nightly_irt |
hourlyAlerts | EventBridge | cron(0 * * * ? *) | — | 900 s | 1024 MB | src.pipeline.hourly_alerts |
ocrWorker | SQS | ocr-queue | 5 | 60 s | 512 MB | src.pipeline.ocr_worker |
guideIngest | SQS | guide-ingest-queue | 1 | 600 s | 2048 MB | src.pipeline.guide_ingest_worker |
solutionGenerator | SQS | solution-generation-queue | 1 | 600 s | 1024 MB | src.pipeline.solution_generator |
submissionGrader | SQS | submission-grade-queue | 5 | 120 s | 512 MB | src.pipeline.submission_grader |
exerciseGenerator | SQS | exercise-generate-queue | 1 | 300 s | 512 MB | src.pipeline.exercise_generator |
The
llmClassifier, ocrWorker, submissionGrader, guideIngest, solutionGenerator, and exerciseGenerator functions all use functionResponseType: ReportBatchItemFailures, meaning a failed item is reported individually rather than failing the entire batch.Shared container image
All functions reference the same ECR image defined in theprovider.ecr block of serverless.yml:
docker build and docker push to ECR updates all ten functions simultaneously on sls deploy.
Health endpoint
Thehealth function responds to GET /health at the custom domain ai.superprofes.app. It returns a static JSON body and requires no database access:
200 OK with the payload above.
Invoking a handler locally
Lambda handlers are plain Python callables that take(event, context). You can invoke any of them directly with uv run by passing a simulated event dict and None as the context:
nightly_bkt with any other handler module (e.g., nightly_irt, hourly_alerts). SQS-triggered workers accept a standard SQS event envelope:
Unimplemented worker: adhoc_solver
The src/adhoc_solver/ package (A10) exists in the repository and is fully implemented, but it is not currently registered as a function in serverless.yml. It is reserved for a future ad-hoc scan-solving feature and will be wired into the deployment when that use case is activated in production.
Individual worker pages
Nightly BKT
EventBridge cron that recalibrates BKT parameters for every active skill nightly at 07:00 UTC.
Nightly IRT
EventBridge cron that fits 2PL IRT parameters for every exercise with ≥50 attempts at 07:15 UTC.
Hourly Alerts
EventBridge cron that detects at-risk students and class-level patterns every hour.
LLM Classifier
SQS worker that classifies student attempt errors against the error taxonomy using Claude Haiku in batches of 20.
OCR Worker
SQS worker that transcribes handwritten math submissions using Gemini 2.5 Flash with automatic Claude vision escalation.
Guide Ingest
SQS worker that extracts math questions from uploaded worksheet PDFs using Gemini precheck and Claude Sonnet.
Solution Generator
SQS worker that builds step-by-step solution keys for extracted guide questions using Claude Sonnet.
Submission Grader
SQS worker that transcribes and grades student photo submissions using Claude Haiku vision.
Exercise Generator
SQS worker that generates new math exercises on teacher request using Claude Haiku forced tool_use.