Sprints 273-276: Polyglot FFI Glue, Symbol Index, and LSP Proxy (steps 1893-1912)
Sprint 273 — PolyglotFFIGlueGenerator (steps 1893-1897): ABIBoundaryExtractor, CHeaderEmitter, RustPythonBindingEmitter, GoCppBindingEmitter. Extracts exported symbols from toComponent provider and emits C ABI + language-specific bindings. Sprint 274 — More Binding Pairs + DWARF (steps 1898-1902): CppJSBindingEmitter (N-API), RustGoBindingEmitter (#[no_mangle]), DWARFBoundaryAnnotator (DW_TAG_* + crossLangBoundary), FFIGlueDispatcher (routes by fromLang→toLang pair), MCP tool whetstone_generate_ffi_glue (#92). Sprint 275 — Cross-Language Symbol Index (steps 1903-1907): SCIPEmitter (SCIP JSON, one doc/language, caller+provider roles), CrossLanguageSymbolTable (byLangName_ + byScip_ dual index), SymbolIndexUpdater (nodeKey diff, clear-and-rebuild), SymbolIndexOrchestrator (orchestrate + update), MCP tool whetstone_emit_symbol_index (#93). Sprint 276 — LSP Proxy Core (steps 1908-1912): LSPProxyServer (JSON-RPC 2.0 dispatcher), LanguageServerRouter (routeByUri/routeByLanguageId), CrossLanguageBoundaryDetector (detect/detectWithUri/detectInLanguage), CrossLanguageDefinitionResolver (resolve/resolveFromUri → DefinitionLocation). End-to-end: Python call site goto-def resolves to Rust sort-core provider. 100/100 tests passing across all four sprints. Architecture gate clean. LoRA sessions recorded for all sprints (~14k tokens captured). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -15442,3 +15442,7 @@ suited based on computational shape.
|
||||
| 2026-03-01 | Claude Code | Sprint 271 complete (Steps 1883–1887): LanguageFitnessScorer phase 1. Added ASTFeatureExtractor.h (5 scalar features from JSON AST), LanguageIdiomProfile.h (8 language profiles), LanguageFitnessScorer.h (weighted scoring + JSON output), RegisterLanguageFitnessTools.h (whetstone_score_language_fitness MCP tool). 25/25 tests passing. whetstone_mcp rebuilt and wired. LoRA session recorded (5 tool calls, 6016 tokens). |
|
||||
| 2026-03-01 | Claude Code | Sprint 272 Step 1888: PolyglotProjectSpec + PolyglotFitnessRouter. PolyglotProjectSpec.h (3 structs: PolyglotInterface, PolyglotSection, PolyglotProjectSpec; PolyglotFitnessRouter::route() for explicit/auto-assignment). step1888_test: 5/5 PASS. LoRA session sprint272 recording active. |
|
||||
| 2026-03-01 | Claude Code | Sprint 272 complete (Steps 1888–1892): Polyglot Phase 2 test projects. Added PolyglotProjectSpec.h (spec/router structs), PolySortProject.h (Rust+Python), PolyApiProject.h (Go+TypeScript), PolyParseProject.h (C+++Haskell), Sprint272IntegrationSummary.h. 25/25 tests passing. All 3 projects route correctly via LanguageFitnessScorer. LoRA session sprint272 recorded (5 calls across 2 context segments). |
|
||||
| 2026-03-01 | Claude Code | Sprint 273 complete (Steps 1893–1897): PolyglotFFIGlueGenerator Phase 2. Added ABIBoundaryExtractor.h (extracts exported symbols from toComponent/provider across each PolyglotInterface), CHeaderEmitter.h (emits C ABI header with #ifndef guard + extern "C" + function/struct declarations), RustPythonBindingEmitter.h (mod ffi extern "C" + ctypes argtypes/restype from same AST node), GoCppBindingEmitter.h (CGo import "C" wrapper + C++ extern "C" stub), Sprint273IntegrationSummary.h. 25/25 tests passing. Architecture gate clean (no new violations). LoRA session sprint273-2026-03-01 recorded. |
|
||||
| 2026-03-01 | Claude Code | Sprint 274 complete (Steps 1898–1902): More binding pairs + DWARF annotations. Added CppJSBindingEmitter.h (N-API wrappers: napi_env, napi_get_value_*, NAPI_MODULE_INIT + JS require/module.exports), RustGoBindingEmitter.h (#[no_mangle] pub extern "C" fn + CGo cgo LDFLAGS bridge), DWARFBoundaryAnnotator.h (deterministic astNodeId, DW_TAG_subprogram/structure_type, crossLangBoundary flag), FFIGlueDispatcher.h (routes by fromLanguage→toLanguage: Python→Rust/RustPython, Go→C++/GoCpp, Go→Rust/RustGo, TS→C++/CppJS; generateAll emits bindings+c_header+dwarf_annotations), RegisterFFIGlueTools.h (MCP tool whetstone_generate_ffi_glue, tool #92). 25/25 tests passing. Architecture gate clean. LoRA session sprint274-2026-03-01 recorded (5 calls, ~4051 tokens). |
|
||||
| 2026-03-01 | Claude Code | Sprint 275 complete (Steps 1903–1907): Cross-Language Symbol Index. Added SCIPEmitter.h (one document per language, caller+provider roles, scipSymbol=toComponent/name.), CrossLanguageSymbolTable.h (byLangName_ + byScip_ dual index, lookup/contains/lookupByScip), SymbolIndexUpdater.h (nodeKey diff, clear-and-rebuild strategy, UpdateResult{added,removed,unchanged}), SymbolIndexOrchestrator.h (orchestrate=insert+SCIPEmit, update=delegate to updater), RegisterSymbolIndexTools.h (MCP tool whetstone_emit_symbol_index #93, supports full rebuild + incremental diff via old_nodes), Sprint275IntegrationSummary.h. 25/25 tests passing. Architecture gate clean. LoRA sprint275-2026-03-01 recorded (4 calls, ~3303 tokens). |
|
||||
| 2026-03-01 | Claude Code | Sprint 276 complete (Steps 1908–1912): LSP Proxy Core. Added LSPProxyServer.h (JSON-RPC 2.0 dispatcher: initialize/definition/hover/references/shutdown stubs + notification handlers; makeResponse/makeError; registerHandler API), LanguageServerRouter.h (routeByUri via ext map: .py→Python, .rs→Rust, .go→Go, .ts/.js→TypeScript, .cpp/.h→C++, else→unknown; routeByLanguageId via lowercase map), CrossLanguageBoundaryDetector.h (detect/detectWithUri/detectInLanguage; scans known language list; wraps CrossLanguageSymbolTable::lookup), CrossLanguageDefinitionResolver.h (resolve/resolveFromUri; fills DefinitionLocation{providerComponent,providerLanguage,callerLanguage,scipSymbol}; scipSymbol=toComponent/name.), Sprint276IntegrationSummary.h. End-to-end integration (step1912): poly-sort goto-definition from Python call site resolves to Rust sort-core provider via LSP proxy. 25/25 tests passing. Architecture gate clean. LoRA sprint276-2026-03-01 recorded (4 calls, 2939 tokens). |
|
||||
|
||||
Reference in New Issue
Block a user