- backend/app/api/graph.py: add POST /api/graph/ingest_text
(one-call: project + ontology + async build + returns project_id/task_id)
Designed for cron automations that need to ingest a markdown briefing
without the 3-step project -> ontology -> build dance.
- backend/app/services/ontology_generator.py: bump max_tokens 4096->16384
and add a retry-with-compact-prompt path on JSON parse failure.
M3 truncates long entity-attribute arrays; the retry asks for a stripped
schema (no attributes, 6 entity types max, 6 edge types max).
- deploy/Dockerfile.e2e: build context is the project root, so COPY
needs the deploy/ prefix; entrypoint uses 'uv run python' because
the MiroFish image is uv-managed (flask/graphiti/falkordb all live
under /app/backend/.venv).
- README.md: replace Zep + Qwen references with the Graphiti+FalkorDB
stack and MiniMax M-series LLMs; add 'About this fork' section
documenting the deploy overlay, ingest_text API, and cron integration.
Background threads (graph building, simulation prep, report generation,
profile generation) now inherit the requesting user's locale preference.
Previously these fell back to 'zh' because Flask request context was
unavailable in spawned threads.
- Updated README.md to reflect the removal of the project creation endpoint, adjusting the workflow steps accordingly.
- Removed the `create_project` function from graph.py, streamlining the project management API by eliminating deprecated functionality.