The browser lives at /docker/falkordb-browser/ on the host (separate from
the MiroFish stack so they can be restarted independently). It joins the
mirofish_net bridge network as 'external' and dials the same FalkorDB
sidecar the MiroFish app uses. Users sign in via the browser UI by entering
host=falkordb, port=6379, empty user/pass — the connection is server-side
from inside the browser container, so the user's machine doesn't need
direct access to the Docker network.
- 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.
The Shanda sponsor logo's alt text was `666ghj%2MiroFish | Shanda`,
missing the `F` from the URL-encoded `/`. Every other badge in both
READMEs uses the correct `666ghj%2FMiroFish`. Bring this one in line
with the rest.
- Add return type annotation (list[str]) to Config.validate()
- Add type annotations (msg: str, -> None) to logger convenience functions
- Add FileParser.is_supported() classmethod for checking file format support
- Add sans-serif font for English left-pane (status, workflow sections)
- Shorten English workflow step descriptions
- Reduce English report title font-size from 36px to 28px
- Use sans-serif font for English titles, descriptions and navbar
- Shorten English hero text to avoid overflow
- Fix :global() scoped CSS issue that was setting root font-size to 3.5rem
- Use separate unscoped style block for html[lang] selectors
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.
Ensure poster_type stays PascalCase English and stance stays English enum
values regardless of language setting. Only natural language fields follow
the user's language preference.
The language instruction was causing LLM to change entity/relation naming
conventions. Now explicitly enforce PascalCase/UPPER_SNAKE_CASE for technical
identifiers while only applying language preference to description fields.