Switch to cases/{new,in-progress,completed}/ directory structure

Replace single CASES_DIR with find_case_dir() that searches across
all status directories. New cases created in cases/new/{number}/.

Config: CASES_BASE, CASES_NEW, CASES_IN_PROGRESS, CASES_COMPLETED
Docker: added -v /home/chaim/legal-ai/cases:/cases volume mount

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-04 10:45:47 +00:00
parent dc6026100c
commit 5fc52ce530
6 changed files with 32 additions and 12 deletions

View File

@@ -613,7 +613,7 @@ async def api_gitea_create_repo(req: GiteaRepoRequest):
raise HTTPException(502, f"Gitea error: {e}")
clone_url = repo.get("clone_url") or repo.get("html_url", "")
case_dir = config.CASES_DIR / req.case_number
case_dir = config.find_case_dir(req.case_number)
pushed = False
if case_dir.exists():
@@ -676,7 +676,7 @@ async def api_upload_tagged_document(
new_filename = generate_doc_filename(doc_type, case_number, party_name, ext)
# Save to case directory
case_dir = config.CASES_DIR / case_number / "documents"
case_dir = config.find_case_dir(case_number) / "documents"
case_dir.mkdir(parents=True, exist_ok=True)
dest = case_dir / new_filename
@@ -719,7 +719,7 @@ async def _process_tagged_document(task_id: str, dest: Path, case_number: str, c
result = await processor.process_document(doc_id, case_id)
# Git commit + push
repo_dir = config.CASES_DIR / case_number
repo_dir = config.find_case_dir(case_number)
if repo_dir.exists():
env = {
"GIT_AUTHOR_NAME": "Ezer Mishpati", "GIT_AUTHOR_EMAIL": "legal@local",
@@ -779,7 +779,7 @@ async def _process_case_document(task_id: str, source: Path, req: ClassifyReques
# Copy to case directory
_progress[task_id] = {"status": "copying", "filename": req.filename}
case_dir = config.CASES_DIR / req.case_number / "documents"
case_dir = config.find_case_dir(req.case_number) / "documents"
case_dir.mkdir(parents=True, exist_ok=True)
# Use original name without timestamp prefix
original_name = re.sub(r"^\d+_", "", source.name)
@@ -800,7 +800,7 @@ async def _process_case_document(task_id: str, source: Path, req: ClassifyReques
result = await processor.process_document(UUID(doc["id"]), case_id)
# Git commit
repo_dir = config.CASES_DIR / req.case_number
repo_dir = config.find_case_dir(req.case_number)
if repo_dir.exists():
subprocess.run(["git", "add", "."], cwd=repo_dir, capture_output=True)
doc_type_hebrew = {