Remove decorative emoji from quiz flow, keep contextual ones
Remove decorative emoji from quiz flow, keep contextual ones. Stop re-serving quiz questions users have already answered, and 5 other related changes.
Latest features, enhancements, and improvements
Remove decorative emoji from quiz flow, keep contextual ones. Stop re-serving quiz questions users have already answered, and 5 other related changes.
durable handling of angle-bracket placeholders in content (#50). Show only enabled areas on the areas list, not all with disabled ones, and 2 other related changes.
Add meta description for SEO.
add missing short-text prompt templates for the ai area.
list the new URLs at the end of the deployment email (#49).
Replace in-memory question repeat-avoidance cache with DynamoDB-backed store.
Redesign homepage around AI grading and feedback.
enable short-text questions for Claude Certified Architect - Foundation.
repair 90 UTIL release-notes workflow (clone auth + change detection) (#44).
Bring robots.txt under version control and fix invalid directive.
align workflow 91 clone layout with 90 for multi-repo notes (#46).
Align question panel header height with answer panel header.
add "Test your knowledge" CTA to article pages (#47). strip leading enumerator from topic names on listing pages (#51), and 3 other related changes.
send batch-completion email in production only. send SES completion email after an OpenAI batch is processed, and 4 other related changes.
remove GCSE-specific text from site header (#41). deterministic, unique article titles from the task (not the LLM), and 3 other related changes.
task-level subtopics — one article per certification task. cap unscoped generation runs to 5 randomly sampled topics, and 3 other related changes.
add all 11 NVIDIA certifications as AI-area subjects (load=false). add 10 NVIDIA AI certification subjects with exam-domain subtopics. add AI area with NVIDIA and Claude Certified Architect subjects.
remove Bedrock and Lambda-deploy workflows, extract QuestionError table. remove unused Bedrock AI e2e spec. remove Bedrock/Lambda/SAM deployment tooling (no longer used).
email subject identifies Blog vs Data run + environment. make blog category deterministic from subject data. disable non-AI subjects so daily prod generation only runs AI area.
remove session management markdown files and update .gitignore for .DS_Store. Simplify footer to single blog link instead of individual area links.
add Claude Certified Architect content, remove Bedrock/Lambda pipeline, wire up load flag.
correct auth, quiz naming, logging and dead API endpoints.
add govt-exams to valid areas in question data validation.
add optional count input to DEV OpenAI batch generation workflow.
build sitemap/llms.txt/robots.txt from live S3 state each deploy (#40).
send deployment-complete email with new-URL counts (#39).
enable NVIDIA NCA Generative AI LLM for dev validation.
build llms.txt before removing the sitemap temp dir.
add Claude Code skills and hooks for auth project.
Consolidate Claude Code permissions into project settings.
extract HTML to template fragments + dev workflow fixes.
fix stale code references in CLAUDE.md and README.md.
extract DynamoDBBaseRepository, update all 5 repos to inherit from it. delete legacy root dynamodb_handler.py — all callers redirected to domain layer.
add codebase reusability implementation plan.
move text_utils into domain/utils/, update checksum import.
add siteTopicId GSI to Questions table and enable subjects for both sites.
replace DynamoDBHandler in AI providers with DynamoDBBatchRepository injection.
move question_validator to domain/infrastructure/validators/, delete root duplicates.
add *.db to .gitignore to prevent large DynamoDB local files being committed.
add codebase reusability design spec — utility consolidation, shared DynamoDB base, provider DI fix.
Remove dead code and apply pre-existing cleanup changes. Upgrade to Node.js 24.
add Oak National Academy API configuration file.
Add AWS cost optimizer skill for reviewing and optimizing AWS resources.
Add --runtime nodejs22.x to dev deploy workflow.
Add S3 lifecycle policies and cost optimization report.
Add templates for project documentation and task management.
Add GitHub Action to count weekly quiz attempts.
Consolidate verifyTable() into shared utility with uniform error handling.
Extract shared patterns into BaseController, requestUtils, and fileLoader.
Enable 02-api-tests-dev.yml workflow. disable API test GitHub Actions workflows.
Suppress verbose API test logging in CI. Reduce test logging verbosity.
Move option shuffling to backend. Optimize AI feedback layout for better text focus, and 4 other related changes.
Add quiz timing fields for tracking learner performance. Add quiz navigation improvements. Add subject and topic context with breadcrumb navigation to QuizSelection.
Add null checks for option.text in meta-option detection. Add option shuffling with meta-option detection. Add NVR diagram generation infrastructure and set load flags to false.
Improve NVR diagram detection and include questions in quiz results. Replace fixed timeout with explicit wait for quiz settings visibility. Enhance NVR diagram functionality and review mode display in quiz components.
Prevent logout when accessing public pages. Correct breadcrumb link to area page. Correct 'Change' link URL to topic selection page.
Set temperature to 0 for all OpenAI calls. Close mobile burger menu when clicking nav links. Change 'Subscribe' to 'Subscribe Now' for consistency.
Add session learnings for NVR implementation research. Add session learnings and token consumption report for 2026-01-14.
Add child subscription inheritance from parent accounts.
Add NVR visual reasoning question support in frontend.
add topic-level load filtering in generate-from-json command. add GCSE History topic for Russia and Soviet Union 1917-41.
update OpenAI provider to accept prompts dict for question generation. Expand meta-option patterns for 4-option questions.
Correct PWA manifest icon dimensions to square aspect ratios. Correct pluralization of 'marks' to 'mark' for singular values.
Implement subscription-only model and remove voucher dependency.
Add NVR question type with diagram support.
Add subscription nudge banner to Parent Dashboard.
Add cron schedule to run OpenAI batch workflow daily at 02:00 UTC. Add scheduled runs to prod OpenAI batch workflow, and 8 other related changes.
Add missing structured feedback field copying from API response. Add cycle detection to traversePath and AliasLookup table for O(1) queries, and 4 other related changes.
Update token consumption report format to one-file-per-day and consolidate session data. Update .env.prod to use OpenAI as default provider, and 4 other related changes.
Remove unused HuggingFace dependencies. Strengthen prompts with mandatory constraints at prompt start, and 2 other related changes.
Add landing page with options for Performance Insights. Add Performance Insights page with natural language query support. Add breadcrumbs to all pages and UI improvements.
Add new GCSE subject files and update existing topic data. Add temperature control and subject constraints to reduce LLM hallucination. add comprehensive 11-plus subject files with 64 topics.
Add 3-layer content validation and email breakdown for Bedrock processing. Add missing JWT_SECRET fetch to bedrock startup script. Add DEBUG logging for LLM interactions and Bedrock startup script.
Add AWS cost optimization report. Add next session focus areas. Add ontology architecture for natural language queries.
Add Insights History page and improve Performance Insights UX. Update homepage wording to focus on 11+ and GCSE exams. Simplify login flow and add ProfileCompletion page.
add .coverage to .gitignore to prevent coverage files from being tracked. regex extraction bug and add deletion protection script. correct duplicate tracking in CLI email notifications.
Remove scheduled trigger from ontology curriculum update workflow. Align dev workflow with prod pattern for consistent deployments. Change limit input type from number to string in workflows.
Add comprehensive unit tests and fix JSON parsing bug. Fix ontology test field names and URL encoding. Fix direct URL access test to use enabled area cards.
prevent same-batch duplicates and add environment-specific email config. Use correct model from batch job record when processing OpenAI results. Avoid DynamoDB 400KB limit by not storing full prompts in batch metadata.
Session learnings and token report for OpenAI batch fixes. Suppress boto3/botocore/urllib3 DEBUG logs in OpenAI batch processing. Use Claude 3.5 Sonnet v1 for batch inference support.
Auto-deploy Lambda on push to main. Use DYNAMODB_REGION instead of reserved AWS_REGION env var in Lambda. decouple Lambda from S3 triggers using EventBridge scheduled rules.
Create comprehensive documentation structure with architecture, diagrams, and guides. Add Toon format documentation and knowledgebase infrastructure, and 9 other related changes.
Update package-lock.json. Improve contrast for selected elements with yellow/amber highlighting, and 8 other related changes.
add subject/topic ID validation and improve workflow summary. Add workflow number to display name for easier identification, and 7 other related changes.
add comprehensive AWS asset registry and refactor documentation structure. Add comprehensive payment SSM testing and test coverage analysis, and 7 other related changes.
remove raw output section from validation workflow summaries. remove redundant header from validation workflow reports, and 6 other related changes.
Add git pull and stash commands to permissions. Implement MAIN_LOGO.jpeg across all platforms with automated icon generation, and 3 other related changes.
Apply fail-fast principles - remove hidden fallbacks. Modularize CLAUDE.md into smaller instruction files, and 4 other related changes.
Add monthly release notes JSON generation to workflow. Add tagging for S3 bucket and CloudFront distribution in production and development workflows, and 3 other related changes.
Add project=trh-backend tag to Lambda for billing reports. Add Lambda custom resource for idempotent SSM parameter management, and 3 other related changes.
Add missing CSS classes and improve spacing for Quiz and Results pages. Migrate useQuiz composable to React hook, and 3 other related changes.
Move Stripe products to correct Sandbox environment. Fix Zustand hook violations and establish GOV.UK design system, and 3 other related changes.
Add comprehensive AWS Asset Registry and update documentation index. Add session documentation for main branch update and merge operations, and 2 other related changes.
Complete login page and header redesign with GOV.UK GDS principles. Update footer links to point to actual blog pages, and 2 other related changes.
Migrate Subscriptions component to React with Stripe. Migrate Results component to React, and 2 other related changes.
Migrate QuizHistory to React and fix router dependency. Migrate QuizSelection component and fix scroll utility, and 2 other related changes.
Implemented comprehensive AWS Bedrock integration for batch question generation with Lambda handlers for processing results from S3, JSONL parsing, and DynamoDB storage. Includes monitoring scripts and local/hybrid testing capabilities.
Established automated E2E testing workflows for both development and production environments with screenshot capture, comprehensive test coverage, and integration with CI/CD pipeline.
Developed comprehensive error logging system with user details capture, retry mechanisms for CloudFront routing failures, and detailed backend error information for better debugging and user feedback.
Streamlined voucher request and redemption flow with clearer messaging, immediate activation feedback, expiry date validation, and enhanced user notifications.
Strengthened quiz result submission validation with additional checks for answer consistency, scoring criteria alignment, ID format validation, and user type verification.
Implemented comprehensive AWS Bedrock integration for batch question generation with Lambda handlers for processing results from S3, JSONL parsing, and DynamoDB storage. Includes monitoring scripts and local/hybrid testing capabilities.
Deployed advanced checksum-based duplicate detection system with HTML entity decoding, Unicode normalization, and formatting quality scoring to prevent duplicate questions in the database.
Established automated E2E testing workflows for both development and production environments with screenshot capture, comprehensive test coverage, and integration with CI/CD pipeline.
Implemented sophisticated question caching system with JWT-based user identification, cache statistics tracking, and session cleanup to optimize quiz performance and user experience.
Developed comprehensive error logging system with user details capture, retry mechanisms for CloudFront routing failures, and detailed backend error information for better debugging and user feedback.
Streamlined voucher request and redemption flow with clearer messaging, immediate activation feedback, expiry date validation, and enhanced user notifications.
Enforced mandatory userType validation throughout the system with security checks to prevent unauthorized access, improved error handling for type mismatches, and user-friendly feedback messages.
Added comprehensive A Level Physics AS Level support with detailed topic coverage, question generation templates, and command examples for enhanced educational content.
Implemented robust checksum normalization with HTML tag stripping, Unicode character handling for superscripts/subscripts, and mathematical expression standardization to ensure content uniqueness.
Strengthened quiz result submission validation with additional checks for answer consistency, scoring criteria alignment, ID format validation, and user type verification.
Established automated E2E testing workflows for both development and production environments with screenshot capture, comprehensive test coverage, and integration with CI/CD pipeline.
Developed comprehensive error logging system with user details capture, retry mechanisms for CloudFront routing failures, and detailed backend error information for better debugging and user feedback.
Streamlined voucher request and redemption flow with clearer messaging, immediate activation feedback, expiry date validation, and enhanced user notifications.
Enforced mandatory userType validation throughout the system with security checks to prevent unauthorized access, improved error handling for type mismatches, and user-friendly feedback messages.
Implemented comprehensive AWS Bedrock integration for batch question generation with Lambda handlers for processing results from S3, JSONL parsing, and DynamoDB storage. Includes monitoring scripts and local/hybrid testing capabilities.
Established automated E2E testing workflows for both development and production environments with screenshot capture, comprehensive test coverage, and integration with CI/CD pipeline.
Implemented sophisticated question caching system with JWT-based user identification, cache statistics tracking, and session cleanup to optimize quiz performance and user experience.
Developed comprehensive error logging system with user details capture, retry mechanisms for CloudFront routing failures, and detailed backend error information for better debugging and user feedback.
Streamlined voucher request and redemption flow with clearer messaging, immediate activation feedback, expiry date validation, and enhanced user notifications.
Enforced mandatory userType validation throughout the system with security checks to prevent unauthorized access, improved error handling for type mismatches, and user-friendly feedback messages.
Strengthened quiz result submission validation with additional checks for answer consistency, scoring criteria alignment, ID format validation, and user type verification.
Implemented sophisticated question caching system with JWT-based user identification, cache statistics tracking, and session cleanup to optimize quiz performance and user experience.
Developed comprehensive error logging system with user details capture, retry mechanisms for CloudFront routing failures, and detailed backend error information for better debugging and user feedback.
Streamlined voucher request and redemption flow with clearer messaging, immediate activation feedback, expiry date validation, and enhanced user notifications.
Implemented robust checksum normalization with HTML tag stripping, Unicode character handling for superscripts/subscripts, and mathematical expression standardization to ensure content uniqueness.
Implemented sophisticated question caching system with JWT-based user identification, cache statistics tracking, and session cleanup to optimize quiz performance and user experience.
Developed comprehensive error logging system with user details capture, retry mechanisms for CloudFront routing failures, and detailed backend error information for better debugging and user feedback.
Streamlined voucher request and redemption flow with clearer messaging, immediate activation feedback, expiry date validation, and enhanced user notifications.
Enforced mandatory userType validation throughout the system with security checks to prevent unauthorized access, improved error handling for type mismatches, and user-friendly feedback messages.
Implemented comprehensive AWS Bedrock integration for batch question generation with Lambda handlers for processing results from S3, JSONL parsing, and DynamoDB storage. Includes monitoring scripts and local/hybrid testing capabilities.
Implemented sophisticated question caching system with JWT-based user identification, cache statistics tracking, and session cleanup to optimize quiz performance and user experience.
Developed comprehensive error logging system with user details capture, retry mechanisms for CloudFront routing failures, and detailed backend error information for better debugging and user feedback.
Streamlined voucher request and redemption flow with clearer messaging, immediate activation feedback, expiry date validation, and enhanced user notifications.
Implemented comprehensive AWS Bedrock integration for batch question generation with Lambda handlers for processing results from S3, JSONL parsing, and DynamoDB storage. Includes monitoring scripts and local/hybrid testing capabilities.
Established automated E2E testing workflows for both development and production environments with screenshot capture, comprehensive test coverage, and integration with CI/CD pipeline.
Implemented sophisticated question caching system with JWT-based user identification, cache statistics tracking, and session cleanup to optimize quiz performance and user experience.
Developed comprehensive error logging system with user details capture, retry mechanisms for CloudFront routing failures, and detailed backend error information for better debugging and user feedback.
Streamlined voucher request and redemption flow with clearer messaging, immediate activation feedback, expiry date validation, and enhanced user notifications.
Enforced mandatory userType validation throughout the system with security checks to prevent unauthorized access, improved error handling for type mismatches, and user-friendly feedback messages.
Developed comprehensive error logging system with user details capture, retry mechanisms for CloudFront routing failures, and detailed backend error information for better debugging and user feedback.
Enforced mandatory userType validation throughout the system with security checks to prevent unauthorized access, improved error handling for type mismatches, and user-friendly feedback messages.