Bill
72ffee68fa
WIP: stage all uncommitted work — sprints 46-221, graduation headers, specialist fleet, test steps 909-1988
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-22 10:15:48 -06:00
Bill
af6fa169b7
Sprint 291: Add HTTP/SSE daemon mode to whetstone_mcp (Steps 1983-1987)
...
Eliminates the dual-process bug where multiple Claude Code sessions each
spawn their own whetstone_mcp stdio process with split in-memory state.
All sessions now share a single persistent daemon via MCP HTTP+SSE transport.
Changes:
- MCPHttpServer.h: HTTP+SSE transport (cpp-httplib via FetchContent).
GET /sse streams events per session, POST /message routes JSON-RPC,
GET /health for status. Thread-safe session map with mutex/cv/queue.
- MCPBridge.h: adds runHttp(port, workspace) method
- mcp_main.cpp: --daemon/--port flags, daemon.pid lockfile, duplicate guard
- CMakeLists.txt: FetchContent for cpp-httplib, step1983-1987 targets
- tools/start-whetstone-daemon.sh: idempotent startup, health-check poll
- 5/5 tests passing (step1987_test)
Note: Documents/.mcp.json switched to SSE transport in working directory
(not tracked in this repo). Daemon must be started before Claude Code sessions.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-09 11:18:11 -06:00
Bill
143e9014b3
Update CLAUDE.md: Phase 6 Library Dispatch COMPLETE
...
All 5 sprints (286-290, steps 1958-1982) complete. 50/50 tests passing.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-02 10:28:45 -07:00
Bill
e6027d31f6
Update CLAUDE.md: Sprint 281 complete, next Sprint 282
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-01 21:46:40 -07:00
Bill
b38f57ed1c
Update CLAUDE.md: Sprint 280 complete, next Sprint 281
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-01 21:31:58 -07:00
Bill
94f61dc97c
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 >
2026-03-01 18:41:32 -07:00
Bill
1f1234b28b
Sprint 272: fitness-routed polyglot test projects — Phase 2 (steps 1888-1892)
...
Added PolyglotProjectSpec data model and three concrete 2-language test
project fixtures, all routing correctly via LanguageFitnessScorer.
New headers:
- PolyglotProjectSpec.h: PolyglotInterface, PolyglotSection, PolyglotProjectSpec,
PolyglotFitnessRouter (explicit override + auto-routing via scorer)
- PolySortProject.h: sort-core → Rust, data-gen → Python
- PolyApiProject.h: http-server → Go, api-client → TypeScript
- PolyParseProject.h: lexer → C++, ast-transform → Haskell
- Sprint272IntegrationSummary.h
25/25 tests passing (steps 1888-1892). All new headers ≤ 600 lines.
tools/claude/tools.json: added whetstone_score_language_fitness (tool 91).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-01 14:17:33 -07:00
Bill
d98fc26c05
Sprint 271: LanguageFitnessScorer — polyglot Phase 1 (steps 1883-1887)
...
Add language fitness scoring infrastructure for the polyglot orchestrator.
New components:
- ASTFeatureExtractor.h: extract 5 scalar features from JSON AST subtrees
(mutation ratio, recursion shape, concurrency primitive, I/O pattern, type complexity)
- LanguageIdiomProfile.h: static ideal feature vectors for 8 languages
(Python, Rust, Go, Haskell, C++, TypeScript, Elixir, Lisp)
- LanguageFitnessScorer.h: weighted scoring against profiles, returns JSON
array sorted descending with per-language score and rationale
- RegisterLanguageFitnessTools.h: whetstone_score_language_fitness MCP tool
- Sprint271IntegrationSummary.h: sprint metadata
25/25 tests passing (steps 1883-1887). whetstone_mcp rebuilt with new tool.
Also: merge PROGRESS.md into progress.md (single authoritative log, 15k lines),
update CLAUDE.md to current state (step 1887, sprint 271, 91 tools).
LoRA session recorded: sprint271-polyglot-fitness-2026-03-01
(5 tool calls: architect_intake, generate_taskitems, 3x generate_code)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-01 13:55:38 -07:00
Bill
1696b92bb8
Add Sprints 46-59: governance, porting foundation, and language graduation prep (Steps 689-828)
...
Sprints 46-58 implement the cross-language porting foundation: language-to-IR
adapters, equivalence checking, gate validation, legacy ingestion, managed/dynamic
families, low-level/logic-actor semantics, debug workflow tooling, AST-native
family tools, Rust/CPP raising tools, system-level orchestration, query family,
and porting gates. Sprint 59 adds the governance layer (policy packs, review
boards, waiver packets, ambiguity triage, decision ledger) with the
whetstone_review_porting_decision MCP tool.
Also includes: sprint plans 46-130, MCP taskitem pipeline scripts,
CLAUDE.md, docs, and full test matrix (steps 689-828).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-02-22 13:18:10 -07:00