Enhancements to Classroom Progress Updates, RAG Ingestion, and Protobuf Contracts#291
Merged
halinhtvn3a merged 37 commits intomainfrom Dec 23, 2025
Merged
Enhancements to Classroom Progress Updates, RAG Ingestion, and Protobuf Contracts#291halinhtvn3a merged 37 commits intomainfrom
halinhtvn3a merged 37 commits intomainfrom
Conversation
- Added image URLs for several educational institutions in `organizationData.json`. - Updated answer correctness in `answerData.json` for multiple questions. - Modified assignment descriptions in `assignmentQuestionData.json` for micro:bit projects. - Introduced new content sections in `contentData.json` about drawbridges. - Expanded rubric criteria in `rubricCriterionData.json` with detailed descriptions and point allocations.
Updated `DeleteSectionCommandHandler.cs` to differentiate between Draft and Published sections during deletion. Draft sections are deleted permanently, while Published sections are marked as Deleted, allowing for potential recovery and better auditing.
Feature/classroom
- Enhanced filtering conditions for quiz and assignment scores in GetClassroomStatisticQueryHandler.cs. - Removed NotificationDbContextSeed instantiation and its registration in DependencyInjection.cs, eliminating database seeding during startup. - Cleared multiple entries from notificationData.json, indicating a reset of initial user notifications. - Updated Notification.Infrastructure.csproj to stop copying notificationData.json to output. - Completely removed NotificationDbContextSeed.cs file, eliminating the seeding logic. - Adjusted age ranges in ageRangeData.json, changing labels and corresponding age limits.
…tone-STEMify/STEMify-Backend into feature/STEM-ai-integration
Modified user activation to prevent re-activation of already active or deleted users in AcceptInvitationCommandHandler. Updated AccountController to always set cookies as secure and set the domain based on request security.
Updated notification messages in `CourseCompletedConsumer.cs` and `EnrollmentCreatedConsumer.cs` to provide localized titles and messages in Vietnamese, improving user experience for Vietnamese-speaking users.
…tion Feature/stem ai integration
Changed the error message for non-unique group codes from English to Vietnamese to support localization efforts.
Changed the correct answer's `QuestionId` from 19 to 39. Updated the content from "Science – Technology – Engineering – Mathematics" to "Science – Teaching – English – Math" to reflect the new subject matter.
Introduces the ability to cancel organization subscription orders via gRPC and application command. Adds new proto definitions, command, command handler, and event for handling cancellation, including revoking active license assignments and publishing a cancellation event.
Removed OTEL_RESOURCE_ATTRIBUTES and added Pdflayer__ApiKey. Retained existing API keys and adjusted port formatting. Commented out depends_on section and set restart policy to unless-stopped.
Introduced compact per-student progress summaries in GetClassroomLearningSnapshotQueryHandler to provide assessment and content completion rates. Updated ServiceExtensions to add RabbitMQ service reference and environment variable configuration for improved service integration.
Adds a new IngestionService for RAG indexing with debouncing and TTL, integrates it into event handling and teacher service, and exposes a test endpoint for triggering progress events. Improves context gathering to prioritize ingestion documents, adds richer logging throughout the context and agent pipelines, and enhances student/class data tools to utilize progress summaries. Also updates content generation to support language selection and improves robustness in graph building and agent analysis.
Removed debug logging from TeacherService and enhanced student status classification to account for new students based on enrollment duration. Student 'joined_at' is now included in overviews, and the student analysis agent now provides a mapping of student IDs to names for more natural responses. The agent prompt was streamlined for clarity, emphasizing the use of student names, improved date handling, and more concise, actionable guidance for teachers.
…tion Feature/stem ai integration
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces several new features and improvements across multiple services, focusing on event-driven classroom progress updates, RAG (Retrieval-Augmented Generation) ingestion, and enhancements to protobuf contracts for classroom and subscription management. The most significant changes include the addition of test endpoints for triggering classroom progress events, integration of a debounced RAG ingestion service, and updates to protobuf definitions to support richer data exchange between services.
Event-driven classroom progress and RAG ingestion:
/test/trigger-progress-eventendpoint inteacher.pyto simulate student progress updates, supporting both RabbitMQ and direct invocation modes for testing the event-driven flow and RAG ingestion debounce logic. [1] [2]IngestionServicewith debouncing and TTL support into the AI service dependency injection, wiring it into classroom snapshot event handlers and teacher service to enable scheduled RAG indexing after progress events. [1] [2] [3]Protobuf contract enhancements:
GrpcStudentProgressSummaryand includedstudent_progress_summariesinGrpcClassroomLearningSnapshotResponseto enable richer classroom analytics. [1] [2]GrpcCertificateDetailmessage and updatedGetCertificateByIdRPC to return detailed certificate data. [1] [2]CurriculumSubscriptionInfoto includeplanNamefor better subscription plan tracking.CancelOrganizationSubscriptionOrderRequestmessage and corresponding RPC for canceling organization subscription orders. [1] [2]Infrastructure and configuration:
Pdflayer__ApiKeyenvironment variable todocker-compose.ymlfor PDF generation service configuration.PdfServiceto correctly readPdflayer:ApiKeyfrom configuration.Logging and diagnostics:
JITContextBuilderto provide detailed diagnostics at each stage of context building (gather, select, structure, compress, and token estimation).plan_solve_agent.pyby removing full prompt logging before LLM calls. [1] [2] [3]Domain events:
SubscriptionCancelledEventdomain event to support event-driven workflows for subscription cancellations.