portal: 搜尋濾內部型別(value/workflow 雜項列)+總圖頁(Arcrun#39 藏書地圖 GUI 切片)

- filterDeprecatedEntries 加 INTERNAL_ENTRY_TYPES(value/workflow):
  搜尋不再出現無標題雜項列與工作流定義(leo 客戶測試回饋);
  #46 上游修好後隨治標段一併拔除。測試 49/49 綠。
- 新增 GET /portal/data/graph/overview:全租戶 active 三元組 →
  {nodes(degree), edges},D-4 graph 粗閘、kbdbFetch 直讀、上限 500 誠實截斷。
- portal 新增「總圖」頁:nav 隨 graph_allowed 顯示;力導向佈局手刻
  (固定種子=確定性、零外部套件)、紙感樣式(green 節點/amber hub)、
  邊 hover 顯示謂詞、點節點跳該實體圖譜搜尋;頁尾連 00-MAP.md
  (#39「人機共用同一份地圖」的 AI 注入文字版)。
- #39 本體(library_map Template/ingest 重算/MCP 注入)仍歸該 issue SDD。
This commit is contained in:
Claude (總管雲端)
2026-07-18 08:17:22 +00:00
parent 6e0df065fd
commit a82c9bbb82
4 changed files with 219 additions and 4 deletions
@@ -393,6 +393,15 @@ describe('filterDeprecatedEntriesArcrun#46 搜尋殘影治標)', () => {
it('空陣列 → 空陣列', () => {
expect(filterDeprecatedEntries([])).toEqual([]);
});
it('濾內部型別 value/workflow(無標題雜項列;leo 2026-07-18 客戶測試回饋);block/wiki 保留', () => {
const keepBlock = { entry_type: 'block', metadata_json: '{}', content: '正常 block' };
const keepWiki = { entry_type: 'wiki', metadata_json: '{}', content: '精耕頁' };
const keepNoType = { metadata_json: '{}', content: '無 entry_type 不誤殺' };
const dropValue = { entry_type: 'value', metadata_json: '{}', content: '特休假' };
const dropWorkflow = { entry_type: 'workflow', metadata_json: '{}', content: '同步問答:…' };
const out = filterDeprecatedEntries([keepBlock, dropValue, keepWiki, dropWorkflow, keepNoType]);
expect(out).toEqual([keepBlock, keepWiki, keepNoType]);
});
});
describe('mapGraphWorkflowOutput#57 workflow 輸出 → plugin 形狀)', () => {