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.
57 lines
1.6 KiB
SQL
57 lines
1.6 KiB
SQL
-- Debug foreign key constraint and document existence
|
|
|
|
-- 1. Check if document exists (bypassing RLS with service role context)
|
|
SELECT id, user_id, status
|
|
FROM documents
|
|
WHERE id = '78359b58-762c-4a68-a8e4-17ce38580a8d'::uuid;
|
|
|
|
-- 2. Check foreign key constraint definition
|
|
SELECT
|
|
tc.constraint_name,
|
|
tc.table_name,
|
|
kcu.column_name,
|
|
ccu.table_name AS foreign_table_name,
|
|
ccu.column_name AS foreign_column_name,
|
|
tc.constraint_type
|
|
FROM information_schema.table_constraints AS tc
|
|
JOIN information_schema.key_column_usage AS kcu
|
|
ON tc.constraint_name = kcu.constraint_name
|
|
AND tc.table_schema = kcu.table_schema
|
|
JOIN information_schema.constraint_column_usage AS ccu
|
|
ON ccu.constraint_name = tc.constraint_name
|
|
AND ccu.table_schema = tc.table_schema
|
|
WHERE tc.constraint_type = 'FOREIGN KEY'
|
|
AND tc.table_name = 'processing_jobs'
|
|
AND kcu.column_name = 'document_id';
|
|
|
|
-- 3. Check if document exists in different ways
|
|
-- Direct query (should work with SECURITY DEFINER)
|
|
DO $$
|
|
DECLARE
|
|
v_doc_id UUID := '78359b58-762c-4a68-a8e4-17ce38580a8d'::uuid;
|
|
v_exists BOOLEAN;
|
|
BEGIN
|
|
SELECT EXISTS(
|
|
SELECT 1 FROM documents WHERE id = v_doc_id
|
|
) INTO v_exists;
|
|
|
|
RAISE NOTICE 'Document exists: %', v_exists;
|
|
|
|
IF NOT v_exists THEN
|
|
RAISE NOTICE 'Document does not exist in database!';
|
|
RAISE NOTICE 'This explains the foreign key constraint failure.';
|
|
END IF;
|
|
END $$;
|
|
|
|
-- 4. Check table schema
|
|
SELECT
|
|
table_name,
|
|
column_name,
|
|
data_type,
|
|
is_nullable
|
|
FROM information_schema.columns
|
|
WHERE table_name = 'documents'
|
|
AND column_name = 'id'
|
|
ORDER BY ordinal_position;
|
|
|