Sync with langgenius/knowledge-fs#94 revision 2 (13dbb69): - Duplicate, overlapping and reworded content are detected from text and the embeddings indexing already created, with no model calls; the token consent now covers only factual conflict detection, with its own switch and a checkbox in the enable dialog. - Proxy GET .../tidy/summary and the kind/state filters; settings expose conflicts and the space pause reason; findings may be outdated. - Show scan progress and model calls, the pause reason with Retry, failed documents, counts per review status and per kind, a kind filter, and explain reworded duplicates found by stored vectors. - Re-pin the KnowledgeFS contract; regenerate console contracts and docs; add the new copy to all 25 locales. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
KnowledgeFS contract pin
These JSON artifacts are the reviewed boundary to the standalone private KnowledgeFS repository. Dify CI needs only this directory and the Python runtime; it does not clone KnowledgeFS or run TypeScript tooling.
Run uv run --project api python api/dev/generate_knowledge_fs_contract.py --check to verify every artifact digest, the Capability v2 profile and signed public-key vector, and the Dify product/issuer declarations against the exported OpenAPI and capability policy.
After committing and reviewing a KnowledgeFS change, run:
uv run --project api python api/dev/generate_knowledge_fs_contract.py \
--update-lock --knowledge-fs-root /path/to/knowledge-fs
Updates require a clean, committed source checkout. The schema-6 lock records the exact commit and root tree from source-provenance.json, plus SHA-256 hashes of all exported JSON artifacts and both Dify operation manifests. Review and commit the artifacts, provenance, operation manifests, and lock together. No TypeScript implementation is vendored here. KnowledgeFS owns its build, type checks, coverage, and runtime tests in its separate CI.