Major release with significant performance improvements and new processing strategy. ## Core Changes - Implemented simple_full_document processing strategy (default) - Full document → LLM approach: 1-2 passes, ~5-6 minutes processing time - Achieved 100% completeness with 2 API calls (down from 5+) - Removed redundant Document AI passes for faster processing ## Financial Data Extraction - Enhanced deterministic financial table parser - Improved FY3/FY2/FY1/LTM identification from varying CIM formats - Automatic merging of parser results with LLM extraction ## Code Quality & Infrastructure - Cleaned up debug logging (removed emoji markers from production code) - Fixed Firebase Secrets configuration (using modern defineSecret approach) - Updated OpenAI API key - Resolved deployment conflicts (secrets vs environment variables) - Added .env files to Firebase ignore list ## Deployment - Firebase Functions v2 deployment successful - All 7 required secrets verified and configured - Function URL: https://api-y56ccs6wva-uc.a.run.app ## Performance Improvements - Processing time: ~5-6 minutes (down from 23+ minutes) - API calls: 1-2 (down from 5+) - Completeness: 100% achievable - LLM Model: claude-3-7-sonnet-latest ## Breaking Changes - Default processing strategy changed to 'simple_full_document' - RAG processor available as alternative strategy 'document_ai_agentic_rag' ## Files Changed - 36 files changed, 5642 insertions(+), 4451 deletions(-) - Removed deprecated documentation files - Cleaned up unused services and models This release represents a major refactoring focused on speed, accuracy, and maintainability.
46 lines
1.4 KiB
SQL
46 lines
1.4 KiB
SQL
-- Fix foreign key constraint issue
|
|
-- If document doesn't exist, we need to either:
|
|
-- 1. Create the document (if it was deleted)
|
|
-- 2. Remove the foreign key constraint temporarily
|
|
-- 3. Use a different approach
|
|
|
|
-- Option 1: Check if we should drop and recreate FK constraint
|
|
-- (This allows creating jobs even if document doesn't exist - useful for testing)
|
|
|
|
-- First, let's see the constraint
|
|
SELECT
|
|
conname as constraint_name,
|
|
conrelid::regclass as table_name,
|
|
confrelid::regclass as foreign_table_name
|
|
FROM pg_constraint
|
|
WHERE conname = 'processing_jobs_document_id_fkey';
|
|
|
|
-- Option 2: Temporarily disable FK constraint (for testing only)
|
|
-- WARNING: Only do this if you understand the implications
|
|
-- ALTER TABLE processing_jobs DROP CONSTRAINT IF EXISTS processing_jobs_document_id_fkey;
|
|
-- Then recreate later with:
|
|
-- ALTER TABLE processing_jobs ADD CONSTRAINT processing_jobs_document_id_fkey
|
|
-- FOREIGN KEY (document_id) REFERENCES documents(id) ON DELETE CASCADE;
|
|
|
|
-- Option 3: Create job without FK constraint (if document truly doesn't exist)
|
|
-- This is a workaround - the real fix is to ensure documents exist
|
|
INSERT INTO processing_jobs (
|
|
document_id,
|
|
user_id,
|
|
status,
|
|
attempts,
|
|
max_attempts,
|
|
options,
|
|
created_at
|
|
) VALUES (
|
|
'78359b58-762c-4a68-a8e4-17ce38580a8d'::uuid,
|
|
'B00HiMnleGhGdJgQwbX2Ume01Z53',
|
|
'pending',
|
|
0,
|
|
3,
|
|
'{"strategy": "document_ai_agentic_rag"}'::jsonb,
|
|
NOW()
|
|
)
|
|
ON CONFLICT DO NOTHING;
|
|
|