refactor(mcp): extract order services into independent project
Remove Kingdee sync, business CLI/MCP tools, and internal order-query routing now owned by the separate kingdee-orders-mcp project. Keep Wiki retrieval, file assets and ingest available in code while its deployed service is off. Retain legacy response fields with business access disabled, and document migration ownership and rollback without exposing credentials or data. Validation: 174 Wiki tests pass. Independent order service verified with 36 template parity checks, authenticated HTTP queries, and a real sync.
This commit is contained in:
+4
-12
@@ -131,18 +131,10 @@ class McpQueryTests(unittest.TestCase):
|
||||
self.assertIn("public only", prompt)
|
||||
self.assertIn("normal wiki-query log entry is allowed", prompt)
|
||||
self.assertIn("wiki-ingest, wiki-update, wiki-rebuild", prompt)
|
||||
self.assertIn("obsidian-wiki business schema --json", prompt)
|
||||
self.assertIn("obsidian-wiki business template", prompt)
|
||||
self.assertIn("obsidian-wiki business sql", prompt)
|
||||
self.assertIn("read-only business facts", prompt)
|
||||
self.assertIn("hybrid business + wiki questions", prompt)
|
||||
self.assertIn("two read-only tracks", prompt)
|
||||
self.assertIn("parallel subagents when the host supports them", prompt)
|
||||
self.assertIn("run those tracks sequentially", prompt)
|
||||
self.assertIn("customer, product, salesperson, project, delivery, anomaly, ranking, or quality", prompt)
|
||||
self.assertNotIn("spawn read-only subagents", prompt)
|
||||
self.assertNotIn("obsidian-wiki business", prompt)
|
||||
self.assertIn("independent kingdee-orders MCP", prompt)
|
||||
self.assertIn("Do not read legacy order databases", prompt)
|
||||
self.assertIn("Do not run arbitrary shell commands", prompt)
|
||||
self.assertIn("If Visibility is public only, do not use business facts", prompt)
|
||||
self.assertNotIn("shell commands, file writes", prompt)
|
||||
self.assertNotIn("rm -rf", prompt)
|
||||
|
||||
@@ -200,7 +192,7 @@ class McpQueryTests(unittest.TestCase):
|
||||
|
||||
self.assertEqual(result["answer_markdown"], result["answer"])
|
||||
self.assertEqual(result["citations"], ["Mini FAKRA", "BJD"])
|
||||
self.assertTrue(result["used_business_facts"])
|
||||
self.assertFalse(result["used_business_facts"])
|
||||
self.assertTrue(result["used_wiki"])
|
||||
self.assertEqual(result["data_freshness"], ["2026-06-02"])
|
||||
self.assertEqual(result["confidence"], "high")
|
||||
|
||||
Reference in New Issue
Block a user