# 07 - External Reference Appendix ## Purpose This appendix keeps external references available without overloading the core planning documents. It records: - which pattern is borrowed; - why it is relevant; - what should not be copied literally. ## Dify Sources: - - - - Borrow: - explicit distinction between workflow and chatflow; - named nodes for classifier, agent, answer, variable management; - persistent conversation variables. Do not borrow literally: - low-code canvas as a direct replacement for exact 1C runtime logic. ## Open WebUI Sources: - - - Borrow: - layered extensibility model; - clear distinction between in-process tools, external APIs, and separate heavy pipelines; - input/output filter mindset. Do not borrow literally: - generic plugin-first shell as the main architecture for exact-data routing. ## Onyx Sources: - - Borrow: - platform view of chat, agents, actions, connectors; - separation between indexed knowledge, actions, and chat experience. Do not borrow literally: - enterprise search architecture as a substitute for 1C exact route discipline. ## LibreChat Sources: - - Borrow: - explicit agent capability surface; - tool exposure discipline; - deferred tools concept. Do not borrow literally: - treat MCP/tool abundance as a substitute for domain-specific capability contracts. ## Vanna Source: - Borrow: - exact-data assistant framing; - tool registry plus structured outputs; - user-aware execution semantics. Do not borrow literally: - SQL assistant assumptions as the whole model for our multi-layer accounting runtime. ## DB-GPT Source: - Borrow: - AI data assistant as platform-plus-domain-skill composition; - workflows and skills as explicit architectural objects. Do not borrow literally: - broad platform scope at the expense of current bounded hardening goals. ## LangGraph Source: - Borrow: - durable execution mindset; - checkpointing and deterministic replay; - explicit state graph thinking. Do not borrow literally: - framework migration as an end in itself. ## Summary The external references collectively support one conclusion: - the project should move toward more explicit state, transition, and capability contracts; - it should not dissolve its exact-data rails into a generic agent shell.