diff --git a/AraSpell.py b/archive/legacy_scripts/AraSpell.py
similarity index 100%
rename from AraSpell.py
rename to archive/legacy_scripts/AraSpell.py
diff --git a/Grammer_Rules.py b/archive/legacy_scripts/Grammer_Rules.py
similarity index 100%
rename from Grammer_Rules.py
rename to archive/legacy_scripts/Grammer_Rules.py
diff --git a/PuncAra.py b/archive/legacy_scripts/PuncAra.py
similarity index 100%
rename from PuncAra.py
rename to archive/legacy_scripts/PuncAra.py
diff --git a/gradio Spelling.py b/archive/legacy_scripts/gradio Spelling.py
similarity index 100%
rename from gradio Spelling.py
rename to archive/legacy_scripts/gradio Spelling.py
diff --git a/tests/deep_dive_expanded.json b/archive/old_tests/deep_dive_expanded.json
similarity index 100%
rename from tests/deep_dive_expanded.json
rename to archive/old_tests/deep_dive_expanded.json
diff --git a/tests/deep_dive_expanded.py b/archive/old_tests/deep_dive_expanded.py
similarity index 100%
rename from tests/deep_dive_expanded.py
rename to archive/old_tests/deep_dive_expanded.py
diff --git a/tests/deep_dive_gaps.json b/archive/old_tests/deep_dive_gaps.json
similarity index 100%
rename from tests/deep_dive_gaps.json
rename to archive/old_tests/deep_dive_gaps.json
diff --git a/tests/deep_dive_gaps.py b/archive/old_tests/deep_dive_gaps.py
similarity index 100%
rename from tests/deep_dive_gaps.py
rename to archive/old_tests/deep_dive_gaps.py
diff --git a/tests/deep_dive_output.json b/archive/old_tests/deep_dive_output.json
similarity index 100%
rename from tests/deep_dive_output.json
rename to archive/old_tests/deep_dive_output.json
diff --git a/tests/deep_dive_test.py b/archive/old_tests/deep_dive_test.py
similarity index 100%
rename from tests/deep_dive_test.py
rename to archive/old_tests/deep_dive_test.py
diff --git a/tests/gap_filling_results.json b/archive/old_tests/gap_filling_results.json
similarity index 100%
rename from tests/gap_filling_results.json
rename to archive/old_tests/gap_filling_results.json
diff --git a/tests/gap_filling_tests.py b/archive/old_tests/gap_filling_tests.py
similarity index 100%
rename from tests/gap_filling_tests.py
rename to archive/old_tests/gap_filling_tests.py
diff --git a/tests/phase0_investigation.py b/archive/old_tests/phase0_investigation.py
similarity index 100%
rename from tests/phase0_investigation.py
rename to archive/old_tests/phase0_investigation.py
diff --git a/tests/phase0_results.json b/archive/old_tests/phase0_results.json
similarity index 100%
rename from tests/phase0_results.json
rename to archive/old_tests/phase0_results.json
diff --git a/tests/phase5_investigation.py b/archive/old_tests/phase5_investigation.py
similarity index 100%
rename from tests/phase5_investigation.py
rename to archive/old_tests/phase5_investigation.py
diff --git a/tests/phase5_results.json b/archive/old_tests/phase5_results.json
similarity index 100%
rename from tests/phase5_results.json
rename to archive/old_tests/phase5_results.json
diff --git a/tests/phase8_adversarial_audit.py b/archive/old_tests/phase8_adversarial_audit.py
similarity index 100%
rename from tests/phase8_adversarial_audit.py
rename to archive/old_tests/phase8_adversarial_audit.py
diff --git a/tests/phase9_results.json b/archive/old_tests/phase9_results.json
similarity index 100%
rename from tests/phase9_results.json
rename to archive/old_tests/phase9_results.json
diff --git a/tests/phase9_validation.py b/archive/old_tests/phase9_validation.py
similarity index 100%
rename from tests/phase9_validation.py
rename to archive/old_tests/phase9_validation.py
diff --git a/tests/round2_b2_b3_live.json b/archive/old_tests/round2_b2_b3_live.json
similarity index 100%
rename from tests/round2_b2_b3_live.json
rename to archive/old_tests/round2_b2_b3_live.json
diff --git a/tests/round2_b2_b3_live.py b/archive/old_tests/round2_b2_b3_live.py
similarity index 100%
rename from tests/round2_b2_b3_live.py
rename to archive/old_tests/round2_b2_b3_live.py
diff --git a/tests/round2_live_tests.py b/archive/old_tests/round2_live_tests.py
similarity index 100%
rename from tests/round2_live_tests.py
rename to archive/old_tests/round2_live_tests.py
diff --git a/tests/round2_results.json b/archive/old_tests/round2_results.json
similarity index 100%
rename from tests/round2_results.json
rename to archive/old_tests/round2_results.json
diff --git a/ARCHITECTURAL_ANALYSIS.md b/archive/phase_reports/ARCHITECTURAL_ANALYSIS.md
similarity index 100%
rename from ARCHITECTURAL_ANALYSIS.md
rename to archive/phase_reports/ARCHITECTURAL_ANALYSIS.md
diff --git a/DEPLOYMENT_REPORT.md b/archive/phase_reports/DEPLOYMENT_REPORT.md
similarity index 100%
rename from DEPLOYMENT_REPORT.md
rename to archive/phase_reports/DEPLOYMENT_REPORT.md
diff --git a/EDITOR_REFACTOR_PLAN.md b/archive/phase_reports/EDITOR_REFACTOR_PLAN.md
similarity index 100%
rename from EDITOR_REFACTOR_PLAN.md
rename to archive/phase_reports/EDITOR_REFACTOR_PLAN.md
diff --git a/EXAMPLE_WALKTHROUGH.md b/archive/phase_reports/EXAMPLE_WALKTHROUGH.md
similarity index 100%
rename from EXAMPLE_WALKTHROUGH.md
rename to archive/phase_reports/EXAMPLE_WALKTHROUGH.md
diff --git a/FINAL_PRODUCTION_AUDIT.md b/archive/phase_reports/FINAL_PRODUCTION_AUDIT.md
similarity index 100%
rename from FINAL_PRODUCTION_AUDIT.md
rename to archive/phase_reports/FINAL_PRODUCTION_AUDIT.md
diff --git a/IMPLEMENTATION_COMPLETE.md b/archive/phase_reports/IMPLEMENTATION_COMPLETE.md
similarity index 100%
rename from IMPLEMENTATION_COMPLETE.md
rename to archive/phase_reports/IMPLEMENTATION_COMPLETE.md
diff --git a/IMPLEMENTATION_SUMMARY.md b/archive/phase_reports/IMPLEMENTATION_SUMMARY.md
similarity index 100%
rename from IMPLEMENTATION_SUMMARY.md
rename to archive/phase_reports/IMPLEMENTATION_SUMMARY.md
diff --git a/PHASE_1_COMPLETE_VERIFICATION.md b/archive/phase_reports/PHASE_1_COMPLETE_VERIFICATION.md
similarity index 100%
rename from PHASE_1_COMPLETE_VERIFICATION.md
rename to archive/phase_reports/PHASE_1_COMPLETE_VERIFICATION.md
diff --git a/PHASE_1_DELIVERY.md b/archive/phase_reports/PHASE_1_DELIVERY.md
similarity index 100%
rename from PHASE_1_DELIVERY.md
rename to archive/phase_reports/PHASE_1_DELIVERY.md
diff --git a/PHASE_2_DESIGN_PLAN.md b/archive/phase_reports/PHASE_2_DESIGN_PLAN.md
similarity index 100%
rename from PHASE_2_DESIGN_PLAN.md
rename to archive/phase_reports/PHASE_2_DESIGN_PLAN.md
diff --git a/PHASE_2_STATUS.md b/archive/phase_reports/PHASE_2_STATUS.md
similarity index 100%
rename from PHASE_2_STATUS.md
rename to archive/phase_reports/PHASE_2_STATUS.md
diff --git a/PHASE_4_COMPLETION_REPORT.md b/archive/phase_reports/PHASE_4_COMPLETION_REPORT.md
similarity index 100%
rename from PHASE_4_COMPLETION_REPORT.md
rename to archive/phase_reports/PHASE_4_COMPLETION_REPORT.md
diff --git a/PHASE_4_DOCUMENT_MANAGEMENT.md b/archive/phase_reports/PHASE_4_DOCUMENT_MANAGEMENT.md
similarity index 100%
rename from PHASE_4_DOCUMENT_MANAGEMENT.md
rename to archive/phase_reports/PHASE_4_DOCUMENT_MANAGEMENT.md
diff --git a/PHASE_4_IMPLEMENTATION_PLAN.md b/archive/phase_reports/PHASE_4_IMPLEMENTATION_PLAN.md
similarity index 100%
rename from PHASE_4_IMPLEMENTATION_PLAN.md
rename to archive/phase_reports/PHASE_4_IMPLEMENTATION_PLAN.md
diff --git a/PHASE_4_RISK_ASSESSMENT.md b/archive/phase_reports/PHASE_4_RISK_ASSESSMENT.md
similarity index 100%
rename from PHASE_4_RISK_ASSESSMENT.md
rename to archive/phase_reports/PHASE_4_RISK_ASSESSMENT.md
diff --git a/PHASE_4_TEST_PLAN.md b/archive/phase_reports/PHASE_4_TEST_PLAN.md
similarity index 100%
rename from PHASE_4_TEST_PLAN.md
rename to archive/phase_reports/PHASE_4_TEST_PLAN.md
diff --git a/PHASE_4_VERIFICATION_AUDIT.md b/archive/phase_reports/PHASE_4_VERIFICATION_AUDIT.md
similarity index 100%
rename from PHASE_4_VERIFICATION_AUDIT.md
rename to archive/phase_reports/PHASE_4_VERIFICATION_AUDIT.md
diff --git a/PHASE_5_AUTHENTICATION_PLAN.md b/archive/phase_reports/PHASE_5_AUTHENTICATION_PLAN.md
similarity index 100%
rename from PHASE_5_AUTHENTICATION_PLAN.md
rename to archive/phase_reports/PHASE_5_AUTHENTICATION_PLAN.md
diff --git a/PHASE_5_AUTH_DECISION.md b/archive/phase_reports/PHASE_5_AUTH_DECISION.md
similarity index 100%
rename from PHASE_5_AUTH_DECISION.md
rename to archive/phase_reports/PHASE_5_AUTH_DECISION.md
diff --git a/PHASE_5_COMPLETION_REPORT.md b/archive/phase_reports/PHASE_5_COMPLETION_REPORT.md
similarity index 100%
rename from PHASE_5_COMPLETION_REPORT.md
rename to archive/phase_reports/PHASE_5_COMPLETION_REPORT.md
diff --git a/PHASE_5_IMPLEMENTATION_PLAN.md b/archive/phase_reports/PHASE_5_IMPLEMENTATION_PLAN.md
similarity index 100%
rename from PHASE_5_IMPLEMENTATION_PLAN.md
rename to archive/phase_reports/PHASE_5_IMPLEMENTATION_PLAN.md
diff --git a/PHASE_6_IMPLEMENTATION_SUMMARY.md b/archive/phase_reports/PHASE_6_IMPLEMENTATION_SUMMARY.md
similarity index 100%
rename from PHASE_6_IMPLEMENTATION_SUMMARY.md
rename to archive/phase_reports/PHASE_6_IMPLEMENTATION_SUMMARY.md
diff --git a/PHASE_6_VERIFICATION_REPORT.md b/archive/phase_reports/PHASE_6_VERIFICATION_REPORT.md
similarity index 100%
rename from PHASE_6_VERIFICATION_REPORT.md
rename to archive/phase_reports/PHASE_6_VERIFICATION_REPORT.md
diff --git a/PHASE_7_COMPLETION_REPORT.md b/archive/phase_reports/PHASE_7_COMPLETION_REPORT.md
similarity index 100%
rename from PHASE_7_COMPLETION_REPORT.md
rename to archive/phase_reports/PHASE_7_COMPLETION_REPORT.md
diff --git a/PLAYWRIGHT_TEST_REPORT.md b/archive/phase_reports/PLAYWRIGHT_TEST_REPORT.md
similarity index 100%
rename from PLAYWRIGHT_TEST_REPORT.md
rename to archive/phase_reports/PLAYWRIGHT_TEST_REPORT.md
diff --git a/PROJECT_TECHNICAL_AUDIT.md b/archive/phase_reports/PROJECT_TECHNICAL_AUDIT.md
similarity index 100%
rename from PROJECT_TECHNICAL_AUDIT.md
rename to archive/phase_reports/PROJECT_TECHNICAL_AUDIT.md
diff --git a/REMOVED_AND_MODIFIED_FUNCTIONS.md b/archive/phase_reports/REMOVED_AND_MODIFIED_FUNCTIONS.md
similarity index 100%
rename from REMOVED_AND_MODIFIED_FUNCTIONS.md
rename to archive/phase_reports/REMOVED_AND_MODIFIED_FUNCTIONS.md
diff --git a/TEST_REPORT.md b/archive/phase_reports/TEST_REPORT.md
similarity index 100%
rename from TEST_REPORT.md
rename to archive/phase_reports/TEST_REPORT.md
diff --git a/TEST_RESULTS_AND_VALIDATION.md b/archive/phase_reports/TEST_RESULTS_AND_VALIDATION.md
similarity index 100%
rename from TEST_RESULTS_AND_VALIDATION.md
rename to archive/phase_reports/TEST_RESULTS_AND_VALIDATION.md
diff --git a/THEME_SYSTEM.md b/archive/phase_reports/THEME_SYSTEM.md
similarity index 100%
rename from THEME_SYSTEM.md
rename to archive/phase_reports/THEME_SYSTEM.md
diff --git a/VERIFICATION_5_DUPLICATES.md b/archive/phase_reports/VERIFICATION_5_DUPLICATES.md
similarity index 100%
rename from VERIFICATION_5_DUPLICATES.md
rename to archive/phase_reports/VERIFICATION_5_DUPLICATES.md
diff --git a/VERIFICATION_6_CURSOR.md b/archive/phase_reports/VERIFICATION_6_CURSOR.md
similarity index 100%
rename from VERIFICATION_6_CURSOR.md
rename to archive/phase_reports/VERIFICATION_6_CURSOR.md
diff --git a/VERIFICATION_7_SELECTION.md b/archive/phase_reports/VERIFICATION_7_SELECTION.md
similarity index 100%
rename from VERIFICATION_7_SELECTION.md
rename to archive/phase_reports/VERIFICATION_7_SELECTION.md
diff --git a/VERIFICATION_AUDIT_INDEX.md b/archive/phase_reports/VERIFICATION_AUDIT_INDEX.md
similarity index 100%
rename from VERIFICATION_AUDIT_INDEX.md
rename to archive/phase_reports/VERIFICATION_AUDIT_INDEX.md
diff --git a/VERIFICATION_AUDIT_SUMMARY.md b/archive/phase_reports/VERIFICATION_AUDIT_SUMMARY.md
similarity index 100%
rename from VERIFICATION_AUDIT_SUMMARY.md
rename to archive/phase_reports/VERIFICATION_AUDIT_SUMMARY.md
diff --git a/VERIFICATION_REPORT_1-4.md b/archive/phase_reports/VERIFICATION_REPORT_1-4.md
similarity index 100%
rename from VERIFICATION_REPORT_1-4.md
rename to archive/phase_reports/VERIFICATION_REPORT_1-4.md
diff --git a/atef_prompt.md b/atef_prompt.md
deleted file mode 100644
index a0315588b2176a48025351a086f4378c0eb57454..0000000000000000000000000000000000000000
--- a/atef_prompt.md
+++ /dev/null
@@ -1,198 +0,0 @@
-\# Agent Operating Instructions
-
-
-
-\---
-
-
-
-\## 1. Think Before Coding
-
-Don't assume. Surface tradeoffs. Name confusion early.
-
-
-
-\- \*\*State assumptions explicitly\*\* — if uncertain, ask rather than guess
-
-\- \*\*Present multiple interpretations\*\* — don't pick silently when ambiguity exists
-
-\- \*\*Push back when warranted\*\* — if a simpler approach exists, say so
-
-\- \*\*Stop when confused\*\* — name what's unclear before writing a single line
-
-
-
-\---
-
-
-
-\## 2. Simplicity First
-
-Minimum code that solves the problem. Nothing speculative.
-
-
-
-\- No features beyond what was asked
-
-\- No abstractions for single-use code
-
-\- No "flexibility" that wasn't requested
-
-\- No error handling for impossible scenarios
-
-\- If 200 lines could be 50, rewrite it
-
-
-
-\*\*Test:\*\* Would a senior engineer call this overcomplicated? If yes, simplify.
-
-
-
-\---
-
-
-
-\## 3. Surgical Changes
-
-Touch only what you must. Clean up only your own mess.
-
-
-
-When editing existing code:
-
-\- Don't "improve" adjacent code, comments, or formatting
-
-\- Don't refactor things that aren't broken
-
-\- Match existing style, even if you'd do it differently
-
-\- If you notice unrelated dead code, \*\*mention it — don't delete it\*\*
-
-
-
-When your changes create orphans:
-
-\- Remove imports/variables/functions that \*\*your\*\* changes made unused
-
-\- Leave pre-existing dead code unless explicitly asked to remove it
-
-
-
-\*\*Test:\*\* Every changed line should trace directly to the user's request.
-
-
-
-\---
-
-
-
-\## 4. Goal-Driven Execution
-
-Define success criteria. Loop until verified. Never mark done without proof.
-
-
-
-Transform vague tasks into verifiable goals:
-
-
-
-| Instead of... | Transform to... |
-
-|----------------------|------------------------------------------------------|
-
-| "Add validation" | "Write tests for invalid inputs, then make them pass"|
-
-| "Fix the bug" | "Write a test that reproduces it, then make it pass" |
-
-| "Refactor X" | "Ensure tests pass before and after" |
-
-
-
-For multi-step tasks, state a brief plan upfront:
-
-1. \[Step] → verify: \[check]
-
-2\. \[Step] → verify: \[check]
-
-3\. \[Step] → verify: \[check]
-
-\*\*Test:\*\* Would a staff engineer approve this before you mark it done?
-
-
-
-\---
-
-
-
-\## 5. Subagent Strategy
-
-Use subagents to keep the main context window clean.
-
-
-
-\- Offload research, exploration, and parallel analysis to subagents
-
-\- One focused task per subagent — no bundling
-
-\- For complex problems, throw more compute at it via parallel subagents
-
-\- Synthesize results back into the main thread; don't chain noise
-
-
-
-\---
-
-
-
-\## 6. Autonomous Bug Fixing
-
-When given a bug report: fix it. No hand-holding required.
-
-
-
-\- Point at logs, errors, failing tests — then resolve them
-
-\- Go fix failing CI without being asked how
-
-\- Zero context-switching required from the user
-
-
-
-\---
-
-
-
-\## 7. Self-Improvement Loop
-
-After any correction, extract the pattern and prevent recurrence.
-
-
-
-\- Update `tasks/lessons.md` with: what went wrong, why, and the rule that prevents it
-
-\- Review `tasks/lessons.md` at session start for the current project
-
-\- Ruthlessly iterate until the mistake rate on that class of error drops to zero
-
-
-
-\---
-
-
-
-\## Task Execution Protocol
-
-
-
-1\. \*\*Plan first\*\* — write plan to `tasks/todo.md` with checkable items
-
-2\. \*\*Check in\*\* — verify plan before starting implementation
-
-3\. \*\*Track progress\*\* — mark items complete as you go
-
-4\. \*\*Explain changes\*\* — high-level summary at each step
-
-5\. \*\*Document results\*\* — add a review section to `tasks/todo.md`
-
-6\. \*\*Capture lessons\*\* — update `tasks/lessons.md` after any correction
-
diff --git a/audit_ckl.json b/audit_ckl.json
deleted file mode 100644
index 344408e22819a73daeb7b383f92d6f4f7cb5bfa2..0000000000000000000000000000000000000000
--- a/audit_ckl.json
+++ /dev/null
@@ -1,62 +0,0 @@
-{
- "C.1 Supabase configured": {
- "passed": true,
- "detail": ""
- },
- "C.2 Supabase client in frontend": {
- "passed": true,
- "detail": ""
- },
- "C.3 DB tables referenced in code": {
- "passed": true,
- "detail": "Found: ['documents', 'summaries', 'settings']"
- },
- "C.4 RLS blocks unauthenticated": {
- "passed": true,
- "detail": "HTTP 401"
- },
- "C.5 Invalid JWT blocked": {
- "passed": true,
- "detail": "HTTP 401"
- },
- "K.1u health concurrent": {
- "passed": true,
- "detail": "1/1 ok, avg=0.59s, max=0.59s, err=0%"
- },
- "K.3u health concurrent": {
- "passed": true,
- "detail": "3/3 ok, avg=0.65s, max=0.74s, err=0%"
- },
- "K.5u health concurrent": {
- "passed": true,
- "detail": "5/5 ok, avg=0.79s, max=0.99s, err=0%"
- },
- "K.1u analyze concurrent": {
- "passed": true,
- "detail": "1/1 ok, avg=4.4s, max=4.4s"
- },
- "K.3u analyze concurrent": {
- "passed": true,
- "detail": "3/3 ok, avg=8.5s, max=12.2s"
- },
- "L.1 API handles missing 'text' field": {
- "passed": true,
- "detail": ""
- },
- "L.2 long text": {
- "passed": false,
- "detail": "HTTPSConnectionPool(host='bayan10-bayan-api.hf.space', port=443): Read timed out. (read timeout=60)"
- },
- "L.3 XSS prevention": {
- "passed": false,
- "detail": "HTTPSConnectionPool(host='bayan10-bayan-api.hf.space', port=443): Read timed out. (read timeout=60)"
- },
- "L.4 SQL injection": {
- "passed": false,
- "detail": "HTTPSConnectionPool(host='bayan10-bayan-api.hf.space', port=443): Read timed out. (read timeout=30)"
- },
- "L.5 CORS configured": {
- "passed": false,
- "detail": "CORS: "
- }
-}
\ No newline at end of file
diff --git a/audit_results.json b/audit_results.json
deleted file mode 100644
index cf8e6f63aac8e3afa6a5b87b71d046e236a9ea0b..0000000000000000000000000000000000000000
--- a/audit_results.json
+++ /dev/null
@@ -1,187 +0,0 @@
-{
- "total": 45,
- "passed": 39,
- "failed": 6,
- "results": {
- "I.1 /api/health status": {
- "passed": true,
- "detail": "HTTP 200"
- },
- "I.2 /api/health schema": {
- "passed": true,
- "detail": ""
- },
- "I.3 spelling loaded": {
- "passed": false,
- "detail": ""
- },
- "I.4 grammar loaded": {
- "passed": false,
- "detail": ""
- },
- "I.5 punctuation loaded": {
- "passed": false,
- "detail": ""
- },
- "I.6 summarization loaded": {
- "passed": true,
- "detail": ""
- },
- "I.7 /api/spelling status": {
- "passed": true,
- "detail": ""
- },
- "I.8 /api/spelling returns corrected": {
- "passed": true,
- "detail": "['corrected_text', 'original_text', 'status']"
- },
- "I.9 /api/grammar status": {
- "passed": true,
- "detail": ""
- },
- "I.10 /api/grammar schema": {
- "passed": true,
- "detail": "['corrected_text', 'original_text', 'status']"
- },
- "I.11 /api/punctuation status": {
- "passed": true,
- "detail": ""
- },
- "I.12 /api/punctuation schema": {
- "passed": true,
- "detail": ""
- },
- "I.13 /api/punctuation adds marks": {
- "passed": true,
- "detail": ""
- },
- "I.14 /api/summarize status": {
- "passed": true,
- "detail": ""
- },
- "I.15 /api/summarize returns summary": {
- "passed": true,
- "detail": "['original_length', 'status', 'summary', 'summary_length']"
- },
- "I.16 summary shorter than input": {
- "passed": true,
- "detail": ""
- },
- "I.17 /api/analyze status": {
- "passed": true,
- "detail": ""
- },
- "I.18 /api/analyze schema": {
- "passed": true,
- "detail": ""
- },
- "I.19 /api/analyze empty text handling": {
- "passed": true,
- "detail": ""
- },
- "I.20 /api/analyze invalid JSON handling": {
- "passed": true,
- "detail": ""
- },
- "G.spell 'الطقص' → 'الطقس'": {
- "passed": false,
- "detail": "got: 'الط قص'"
- },
- "G.spell 'المدرسه' → 'المدرسة'": {
- "passed": true,
- "detail": "got: 'المدرسة'"
- },
- "G.spell 'الأجتماع' → 'الاجتماع'": {
- "passed": false,
- "detail": "got: 'الأج اجتماع'"
- },
- "G.gram 'المهندسون يعملوا' contains 'يعملون'": {
- "passed": true,
- "detail": "got: 'المهندسون يعملون'"
- },
- "G.punc 'هل تعرف أين المكان' has '؟'": {
- "passed": true,
- "detail": "got: 'هل تعرف أين المكان؟'"
- },
- "G.punc 'ما أجمل هذا المنظر' has '!'": {
- "passed": true,
- "detail": "got: 'ما أجمل هذا المنظر!'"
- },
- "H.1 pipeline returns suggestions": {
- "passed": true,
- "detail": "2 suggestions"
- },
- "H.1 latency < 120s": {
- "passed": true,
- "detail": "5.8s"
- },
- "H.1 offsets correct": {
- "passed": true,
- "detail": ""
- },
- "H.1 no overlaps": {
- "passed": true,
- "detail": ""
- },
- "H.2 pipeline returns suggestions": {
- "passed": true,
- "detail": "4 suggestions"
- },
- "H.2 latency < 120s": {
- "passed": true,
- "detail": "16.3s"
- },
- "H.2 offsets correct": {
- "passed": true,
- "detail": ""
- },
- "H.2 no overlaps": {
- "passed": false,
- "detail": ""
- },
- "H.3 pipeline returns suggestions": {
- "passed": true,
- "detail": "5 suggestions"
- },
- "H.3 latency < 120s": {
- "passed": true,
- "detail": "8.5s"
- },
- "H.3 offsets correct": {
- "passed": true,
- "detail": ""
- },
- "H.3 no overlaps": {
- "passed": true,
- "detail": ""
- },
- "J.1 health latency": {
- "passed": true,
- "detail": "0.62s"
- },
- "J.2 analyze short text latency": {
- "passed": true,
- "detail": "4.8s"
- },
- "J.3 summarize latency": {
- "passed": true,
- "detail": "2.2s"
- },
- "M.1 HF Space running": {
- "passed": true,
- "detail": ""
- },
- "M.2 environment": {
- "passed": true,
- "detail": ""
- },
- "M.3 Supabase configured": {
- "passed": true,
- "detail": ""
- },
- "M.4 frontend loads": {
- "passed": true,
- "detail": "87732 bytes"
- }
- }
-}
\ No newline at end of file
diff --git a/build.py b/build.py
deleted file mode 100644
index 2ffae699535eea23fcebdff16506662912811082..0000000000000000000000000000000000000000
--- a/build.py
+++ /dev/null
@@ -1,54 +0,0 @@
-"""
-Build script for Vercel deployment.
-Injects Supabase credentials from environment variables into index.html meta tags.
-
-Usage:
- Set SUPABASE_URL and SUPABASE_ANON_KEY environment variables, then run:
- python build.py
-"""
-
-import os
-import sys
-
-def main():
- html_path = os.path.join('src', 'index.html')
-
- if not os.path.exists(html_path):
- print(f"❌ {html_path} not found")
- sys.exit(1)
-
- supabase_url = os.environ.get('SUPABASE_URL', '')
- supabase_anon_key = os.environ.get('SUPABASE_ANON_KEY', '')
-
- if not supabase_url or not supabase_anon_key:
- print("⚠️ Warning: SUPABASE_URL or SUPABASE_ANON_KEY not set. Auth will run in offline mode.")
-
- with open(html_path, 'r', encoding='utf-8') as f:
- html = f.read()
-
- # Inject Supabase credentials into meta tags
- html = html.replace(
- '',
- f''
- )
- html = html.replace(
- '',
- f''
- )
-
- # Remove development-only SDK scripts that won't exist in production
- html = html.replace('\n', '')
- html = html.replace('\r\n', '')
- html = html.replace('\n', '')
- html = html.replace('\r\n', '')
-
- with open(html_path, 'w', encoding='utf-8') as f:
- f.write(html)
-
- print(f"✅ Supabase credentials injected into {html_path}")
- if supabase_url:
- print(f" SUPABASE_URL: {supabase_url[:40]}...")
- print(f" Dev SDK scripts removed")
-
-if __name__ == '__main__':
- main()
diff --git a/check_dependencies.py b/check_dependencies.py
deleted file mode 100644
index cfb36bc77a8ba2d773730420ba33e7b14c4587a4..0000000000000000000000000000000000000000
--- a/check_dependencies.py
+++ /dev/null
@@ -1,29 +0,0 @@
-"""Check if all required dependencies are installed."""
-
-import sys
-
-required_packages = {
- 'flask': 'Flask',
- 'flask_cors': 'flask-cors',
- 'transformers': 'transformers',
- 'torch': 'torch',
- 'sentencepiece': 'sentencepiece',
-}
-
-missing = []
-for module, package in required_packages.items():
- try:
- __import__(module)
- print(f"✓ {package} is installed")
- except ImportError:
- print(f"✗ {package} is NOT installed")
- missing.append(package)
-
-if missing:
- print(f"\nMissing packages: {', '.join(missing)}")
- print("Install them with: pip install -r requirements.txt")
- sys.exit(1)
-else:
- print("\nAll dependencies are installed!")
- sys.exit(0)
-
diff --git a/exhaustive_check.py b/exhaustive_check.py
deleted file mode 100644
index 49c46c5e775f1a486f3570447fe0466231506ea6..0000000000000000000000000000000000000000
--- a/exhaustive_check.py
+++ /dev/null
@@ -1,362 +0,0 @@
-"""
-ULTRA-EXHAUSTIVE: Every single bullet point from the plan.
-Fixes false negatives from v1.
-"""
-import re, os, glob
-
-def load(p):
- return open(p, encoding='utf-8').read()
-
-html = load('src/index.html')
-tokens = load('src/css/tokens.css')
-base = load('src/css/base.css')
-comp = load('src/css/components.css')
-editor = load('src/js/editor.js')
-ui = load('src/js/ui.js')
-fmt = load('src/js/format.js')
-docs_ui = load('src/js/documents-cloud/documents-ui.js')
-renderer = load('src/js/renderer.js')
-selection_js = load('src/js/selection.js')
-
-all_js = ''
-for f in glob.glob('src/js/**/*.js', recursive=True):
- all_js += load(f) + '\n'
-all_css = tokens + base + comp
-
-done = 0
-miss = 0
-items = []
-
-def c(name, result):
- global done, miss
- if result:
- done += 1
- items.append(('DONE', name))
- else:
- miss += 1
- items.append(('MISS', name))
-
-def section(t):
- items.append(('SEC', t))
-
-# ═══════════════════════════════════════════
-section('PHASE 1: tokens.css')
-# ═══════════════════════════════════════════
-c('--shadow-xs', '--shadow-xs' in tokens)
-c('--shadow-glow (primary-tinted)', '--shadow-glow' in tokens)
-c('--transition-spring (cubic-bezier)', '--transition-spring' in tokens and 'cubic-bezier' in tokens)
-c('--gradient-primary', '--gradient-primary' in tokens)
-c('--gradient-surface', '--gradient-surface' in tokens)
-c('--radius-xl: 1.5rem', '--radius-xl' in tokens and '1.5rem' in tokens)
-c('--color-skeleton', '--color-skeleton' in tokens or 'skeleton' in base)
-
-section('PHASE 1: base.css')
-c('Custom scrollbar webkit', '::-webkit-scrollbar' in base)
-c('Custom scrollbar firefox (thin)', 'scrollbar-width: thin' in base)
-c('Dark/light scrollbar theming', 'data-theme' in base or ':root' in base)
-c('scroll-behavior: smooth', 'scroll-behavior: smooth' in base)
-c('::selection highlight', '::selection' in base)
-c('Focus-visible outlines', 'focus-visible' in (base + comp))
-c('--spacing-section / section-gap', '--spacing-section' in tokens or 'section' in tokens.lower())
-c('@keyframes shimmer', '@keyframes shimmer' in base)
-c('.skeleton class', '.skeleton' in base)
-c('Button press scale(0.97)', 'scale(0.97)' in base)
-
-section('PHASE 1: components.css — Navigation')
-c('Glassmorphism blur(16px) saturate(180%)', 'blur(16px) saturate(180%)' in comp)
-c('Bottom border glow on scroll', 'nav-scrolled' in comp)
-c('Active nav link indicator', 'nav-link' in comp or 'nav' in comp.lower())
-
-section('PHASE 1: components.css — Buttons')
-c('Gradient-accent transition', 'transition' in comp)
-c('Press state scale(0.97)', 'scale(0.97)' in (base + comp))
-c('Disabled opacity + cursor:not-allowed + desaturation', 'cursor: not-allowed' in comp and 'grayscale' in comp)
-c('Focus-visible ring', 'focus-visible' in comp)
-c('Feedback state (pulse/flash)', 'pulse' in comp.lower() or '@keyframes' in comp)
-
-section('PHASE 1: components.css — Cards')
-c('Card hover translateY + glow shadow', 'translateY' in comp and 'shadow-glow' in comp)
-c('Feature icon pulse on hover', 'pulse' in comp.lower())
-
-section('PHASE 1: components.css — Modals')
-c('Modal slide-up entrance @keyframes modalSlideUp', '@keyframes modalSlideUp' in comp)
-
-section('PHASE 1: components.css — Toast')
-c('Toast component exists', 'toast' in comp.lower())
-c('Toast icons: .toast--success', '.toast--success' in comp)
-c('Toast icons: .toast--warning', '.toast--warning' in comp)
-c('Toast icons: .toast--error', '.toast--error' in comp)
-
-section('PHASE 1: components.css — Skeleton')
-c('.skeleton shimmer animation', '.skeleton' in base and 'shimmer' in base)
-
-section('PHASE 1: components.css — Empty States')
-c('.empty-state component in CSS', '.empty-state' in comp)
-c('Applied to empty doc list (JS)', 'empty-state' in docs_ui)
-
-section('PHASE 1: components.css — Confirm Dialog')
-c('.confirm-dialog CSS', '.confirm-dialog' in comp)
-c('showConfirmDialog() in HTML', 'showConfirmDialog' in html)
-
-section('PHASE 1: components.css — Bottom Sheet')
-c('Bottom sheet transitions', 'bottom-sheet' in comp or 'bottom-sheet' in html)
-c('Drag handle visual', 'handle' in comp.lower() or 'drag' in html.lower())
-
-section('PHASE 1: components.css — Pricing')
-c('.pricing-glow active plan', '.pricing-glow' in comp)
-c('.beta-shimmer animation', '.beta-shimmer' in comp and '@keyframes betaShimmer' in comp)
-c('Coming soon blur/opacity', 'opacity' in comp)
-
-# ═══════════════════════════════════════════
-section('PHASE 2: Brand Identity')
-# ═══════════════════════════════════════════
-c('Favicon SVG exists', os.path.exists('src/favicon.svg'))
-c('Nav logo SVG (book icon + gradient)', 'grad1' in html)
-c('Footer logo consistent (same SVG)', html.count('grad1') >= 2)
-c('Wordmark text-gradient everywhere', html.count('text-gradient') >= 3)
-c('SVG icons present throughout', html.count('