Files
cim_summary/backend/sql/debug-foreign-key.sql
admin 9c916d12f4 feat: Production release v2.0.0 - Simple Document Processor
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.
2025-11-09 21:07:22 -05:00

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;