// Step 1897: Sprint 273 Integration // Full pipeline: PolyglotProjectSpec → ABIBoundaryExtractor → CHeaderEmitter → // RustPythonBindingEmitter. Verified on poly-sort (data-gen/Python calls sort-core/Rust). // // t1: poly-sort spec extracts correct boundary node from poly-sort AST // t2: C header generated from boundary node is syntactically correct // t3: Rust binding has extern "C" + mod ffi referencing sort_array // t4: Python binding has CDLL comment + argtypes + restype = None // t5: Sprint273IntegrationSummary struct reports correct counts and success #include "ABIBoundaryExtractor.h" #include "CHeaderEmitter.h" #include "RustPythonBindingEmitter.h" #include "PolySortProject.h" #include "Sprint273IntegrationSummary.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; }