Commit History
-
chore: remove unused data_dir / DATA_DIR (Storage Bucket dependency)
MATSUMURA Taishi +1: Claude Sonnet 4.6Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>841d2e6
-
fix(docker): remove HEALTHCHECK to let HF Spaces use its own mechanism
MATSUMURA Taishi +1: Claude Sonnet 4.6Docker HEALTHCHECK was marking container UNHEALTHY (possibly before uvicorn fully accepted connections), causing HF to kill the Space after ~10 min. Removing it so HF relies on its own port check instead. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>0c8eee3 -
refactor(docker): remove in-container Neo4j, connect to external GCP Neo4j
MATSUMURA Taishi +1: Claude Sonnet 4.6- Remove Neo4j APT installation and neo4j.conf from Dockerfile - Remove supervisord (no longer needed for single process) - Run uvicorn directly as CMD - HEALTHCHECK start-period reduced to 30s (uvicorn starts in ~5s now) - NEO4J_URI/USER/PASSWORD should be set as HF Spaces secrets Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>6940fc4
-
fix(neo4j): move data dirs from /data (S3 FUSE) to /tmp (local)
MATSUMURA Taishi +1: Claude Sonnet 4.6Storage Bucket at /data uses FUSE/S3, which is incompatible with Neo4j's file locking and random I/O requirements. This saturated container network resources, preventing uvicorn from serving health checks. Moving Neo4j dirs to /tmp (local ephemeral storage) fixes this. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>a8e89f8 -
debug(spaces): HEALTHCHECK + neo4j logs to stdout for HF health check diagnosis
MATSUMURA Taishi +1: Claude Sonnet 4.6- Add Dockerfile HEALTHCHECK (curl /health, start-period=90s) so Docker marks the container healthy after neo4j stabilizes - Redirect neo4j logs from /tmp to stdout/stderr so they appear in HF Container logs - Add flush=True prints in startup and /health to confirm requests arrive Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>c8e5f4b
-
fix(api): ensure health checks always return 200 for HF Spaces
MATSUMURA Taishi +1: Claude Sonnet 4.6Add /health endpoint and move catch-all route outside the STATIC_DIR guard so the app responds with 200 even when frontend/dist is missing, preventing the 30-min launch timeout on HuggingFace Spaces. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>1db9cff
-
refactor(extractor): migrate to Responses API (client.responses.create)
- Use instructions + input instead of messages - json_object format for structured output - max_output_tokens replaces max_completion_tokens Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>067e38e -
fix(extractor): max_tokens -> max_completion_tokens for gpt-5-mini, bump openai>=1.84.0
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>0332e82 -
fix(deps): upgrade openai>=1.57.0 to fix httpx proxies incompatibility
openai<1.57 passes `proxies` to httpx.AsyncClient which was removed in httpx 0.28.0, causing TypeError at runtime. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>2b703de -
refactor(extractor): remove heuristic fallback, require OpenAI API key
- Heuristic path was silently hiding missing key errors - extract_triples now raises HTTP 400 if OPENAI_API_KEY unset - Switch default model to gpt-5-mini Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>2b5418e -
feat(ui): add drag-and-drop file upload to UploadPanel
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>596b0e3 -
feat(sample): switch Load Sample to Japanese supply chain text
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>a2aee7d -
feat(nlp): add Japanese language support
- chunker: split on 。!? in addition to . - triple_extractor: add Japanese causal patterns for heuristic fallback - triple_extractor: update LLM prompt to preserve source language in cause/effect Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>a8dddda -
debug(api): pipe uvicorn stdout/stderr to container logs
Add --log-level debug to surface import errors and startup failures visible in HF Spaces Container logs tab. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>c48db2b
-
fix(neo4j): use /data for persistent storage, chown fallback to chmod 777
0b52992 -
refactor(docker): switch to python:3.11-slim base, install neo4j via APT
48fee7d -
fix(api): run Neo4j init as background task so FastAPI responds immediately
0e412ae -
fix(neo4j): bypass entrypoint, write neo4j.conf directly, start binary via supervisord
6435c4f -
fix(neo4j): chown /data to neo4j in start.sh before supervisord starts neo4j
ceefb10 -
fix(docker): add git for HF Spaces build pipeline
d2fe3d3 -
fix(neo4j): redirect data dirs to /tmp to avoid HF Spaces /data permission issue
af43704 -
fix(supervisord): use /tmp for pidfile/logs, remove user directives for HF Spaces compat
0d63655 -
fix(frontend): declare react-cytoscapejs module, add explicit any types
3b2d223 -
fix(deps): use networkx 3.2.1, last version supporting Python 3.9
d175431 -
fix(docker): upgrade pip before installing requirements
042745c -
fix(deps): downgrade networkx to 3.3 for Python 3.9 compatibility
e47b961 -
fix(docker): remove --break-system-packages unsupported by pip in base image
0a22f9d -
feat: implement CC-RAG prototype with Neo4j, FastAPI, React
Full single-container app for Hugging Face Docker Spaces: - Neo4j causal graph storage with forward/backward chain traversal - FastAPI backend: upload, triple extraction, graph build, CC-RAG chat - React+Vite frontend: upload, triples table, Cytoscape graph view, chat - Heuristic fallback extraction when no OpenAI API key - LFS rules for images, fonts, PDFs, native libs, DB filese675bdb -
initial commit
Verified signatured4dc64e