// Step 1906: whetstone_emit_symbol_index MCP tool wiring // Tests SymbolIndexOrchestrator logic directly. // Orchestrator: extract nodes → build table → emit SCIP index → return. // // t1: Python→Rust boundary produces SCIP index with "Rust" and "Python" documents // t2: SCIP index contains sort_array symbol with correct scipSymbol // t3: table lookup works after orchestration // t4: incremental update via orchestrator returns correct diff counts // t5: orchestrate() result has required top-level fields #include "SymbolIndexOrchestrator.h" #include "ABIBoundaryExtractor.h" #include #include #include using json = nlohmann::json; namespace ws = whetstone; static int p=0,f=0; #define T(n) { std::cout<<" "<<#n<<"... "; } #define P() { std::cout<<"PASS\n"; ++p; } #define F(m) { std::cout<<"FAIL: "< 0 ? 1 : 0; }