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
|
|
|
|
# Whetstone DSL — Claude Code Session Guide
|
|
|
|
|
|
|
|
|
|
|
|
> Read this before starting any work on the Whetstone editor.
|
|
|
|
|
|
> This project is independent of HiveMind. Do not conflate them.
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## What Whetstone Is
|
|
|
|
|
|
|
|
|
|
|
|
Whetstone is a **general-purpose constructive editor and MCP server** for
|
|
|
|
|
|
cross-language code generation. It is NOT a HiveMind-specific tool — HiveMind
|
|
|
|
|
|
is one of many projects that consumes it. Whetstone's core capabilities:
|
|
|
|
|
|
|
|
|
|
|
|
- Semantic annotation DSL (SemAnno): annotate code with memory/ownership intent
|
|
|
|
|
|
- 19+ language parsers and generators (Python, C++, Rust, Go, JS/TS, Java, and more)
|
|
|
|
|
|
- Cross-language transpilation (AST-level, annotation-guided)
|
2026-03-01 21:31:58 -07:00
|
|
|
|
- 93+ MCP tools callable by any MCP client over stdio
|
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
|
|
|
|
- Headless `whetstone_mcp` binary + full ImGui GUI editor (`whetstone_editor`)
|
|
|
|
|
|
|
|
|
|
|
|
**Stack:** C++20, Dear ImGui + SDL2 + OpenGL3, nlohmann-json, tree-sitter, vcpkg, CMake
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## Current State
|
|
|
|
|
|
|
|
|
|
|
|
| Item | Value |
|
|
|
|
|
|
|------|-------|
|
2026-04-22 10:15:48 -06:00
|
|
|
|
| Last step | **Step 1988** |
|
|
|
|
|
|
| Last sprint | **Sprint 291 — COMPLETE + GR-034 fix (step 1988)** |
|
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
|
|
|
|
| MCP tool count | **93 tools** |
|
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
|
|
|
|
| Architecture gate | All headers ≤ 600 lines (pre-existing BufferOps.h violation) |
|
|
|
|
|
|
| `whetstone_mcp` binary | `editor/build-native/whetstone_mcp` |
|
2026-03-02 10:28:45 -07:00
|
|
|
|
| Active track | **Phase 6 COMPLETE** — Next: Phase 7 (TBD) |
|
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
|
|
|
|
|
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
|
|
|
|
Sprint history: see `progress.md` (15k+ lines) — single authoritative file,
|
|
|
|
|
|
sprint summary table at top, step-by-step detail below.
|
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
|
|
|
|
|
2026-03-02 10:28:45 -07:00
|
|
|
|
Phase 6 plan (`docs/phase6_library_dispatch_sprint_plan.md`) **FULLY COMPLETE**:
|
|
|
|
|
|
- Sprint 286 (1958–1962): OperationTaxonomy + LibraryCapabilityLedger — COMPLETE
|
|
|
|
|
|
- Sprint 287 (1963–1967): PerTaskLibrarySelector — COMPLETE
|
|
|
|
|
|
- Sprint 288 (1968–1972): LibrarySymbolAdvisor — COMPLETE
|
|
|
|
|
|
- Sprint 289 (1973–1977): Integration into generate_taskitems — COMPLETE
|
|
|
|
|
|
- Sprint 290 (1978–1982): CUDA End-to-End Proof — COMPLETE
|
|
|
|
|
|
|
|
|
|
|
|
Phase 5 plan (`docs/polyglot_orchestrator_sprint_plan.md`) fully executed:
|
|
|
|
|
|
- Sprint 282 (1938–1942): Polyglot Test Harness — COMPLETE
|
|
|
|
|
|
- Sprint 283 (1943–1947): poly-pipeline — COMPLETE
|
|
|
|
|
|
- Sprint 284 (1948–1952): poly-compiler — COMPLETE
|
|
|
|
|
|
- Sprint 285 (1953–1957): poly-everything — COMPLETE
|
|
|
|
|
|
|
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
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## Sprint Workflow (TDD Pattern)
|
|
|
|
|
|
|
|
|
|
|
|
Every sprint follows this exact pattern:
|
2026-03-02 10:28:45 -07:00
|
|
|
|
1. `start_recording` → `architect_intake` → `generate_taskitems` → `queue_ready` → `run_pipeline ×4`
|
|
|
|
|
|
2. Implement headers in `editor/src/` (single-class, ≤600 lines)
|
|
|
|
|
|
3. Write tests in `editor/tests/stepNNN_test.cpp`
|
|
|
|
|
|
4. Add CMakeLists entries, build, run all 5 tests
|
|
|
|
|
|
5. `get_metrics` → commit → update CLAUDE.md + MEMORY.md → write handoff
|
|
|
|
|
|
|
2026-03-09 11:18:11 -06:00
|
|
|
|
**Sprint 291 COMPLETE.** HTTP/SSE daemon mode (steps 1983–1987). 5/5 tests passing.
|
|
|
|
|
|
|
|
|
|
|
|
Sprint 291 delivered HTTP+SSE daemon transport:
|
|
|
|
|
|
- Step 1983: `MCPHttpServer.h` — cpp-httplib HTTP+SSE server (GET /sse, POST /message, GET /health)
|
|
|
|
|
|
- Step 1984: `MCPBridge::runHttp()` — delegates to MCPHttpServer
|
|
|
|
|
|
- Step 1985: `mcp_main.cpp` — `--daemon`/`--port` flags, PID lockfile, duplicate daemon guard
|
|
|
|
|
|
- Step 1986: `tools/start-whetstone-daemon.sh` + updated `Documents/.mcp.json` (SSE transport)
|
|
|
|
|
|
- Step 1987: Integration tests (5/5 pass)
|
|
|
|
|
|
|
2026-03-02 10:28:45 -07:00
|
|
|
|
**Phase 6 COMPLETE.** All 5 sprints (286–290, steps 1958–1982) done. 50/50 tests passing.
|
|
|
|
|
|
|
|
|
|
|
|
Phase 6 delivered deterministic per-task library + API dispatch:
|
|
|
|
|
|
- Sprint 286 (1958–1962): OperationTaxonomy + LibraryCapabilityLedger — **COMPLETE**
|
|
|
|
|
|
- Sprint 287 (1963–1967): PerTaskLibrarySelector — **COMPLETE**
|
|
|
|
|
|
- Sprint 288 (1968–1972): LibrarySymbolAdvisor — **COMPLETE**
|
|
|
|
|
|
- Sprint 289 (1973–1977): Integration into generate_taskitems — **COMPLETE**
|
|
|
|
|
|
- Sprint 290 (1978–1982): CUDA end-to-end proof — **COMPLETE**
|
|
|
|
|
|
|
2026-03-09 11:18:11 -06:00
|
|
|
|
**Next: Phase 7 (TBD).** Sprint 291 (HTTP/SSE daemon) is a standalone infrastructure sprint outside Phase 6/7. Start a new session to plan Phase 7.
|
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
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## Build
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# Native build (this machine: Linux x86_64)
|
|
|
|
|
|
cd /home/bill/Documents/CLionProjects/whetstone_DSL
|
|
|
|
|
|
cmake --build editor/build-native --target whetstone_mcp --parallel
|
|
|
|
|
|
|
|
|
|
|
|
# Build the GUI editor too
|
|
|
|
|
|
cmake --build editor/build-native --target whetstone_editor --parallel
|
|
|
|
|
|
|
|
|
|
|
|
# Run a specific step test
|
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
|
|
|
|
./editor/build-native/step1887_test
|
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
|
|
|
|
|
|
|
|
|
|
# Run the architecture gate
|
|
|
|
|
|
./editor/build-native/file_limits_test
|
|
|
|
|
|
|
|
|
|
|
|
# Full rebuild from scratch
|
|
|
|
|
|
cd editor
|
|
|
|
|
|
cmake -S . -B build-native -DCMAKE_BUILD_TYPE=Release \
|
|
|
|
|
|
-DCMAKE_TOOLCHAIN_FILE=/home/bill/vcpkg/scripts/buildsystems/vcpkg.cmake
|
|
|
|
|
|
cmake --build build-native --parallel
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
**vcpkg packages** (already installed in `editor/build-native/vcpkg_installed/`):
|
|
|
|
|
|
nlohmann-json, sdl2, imgui, glad, tree-sitter, and language grammars via FetchContent.
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## Key Directories
|
|
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
editor/
|
|
|
|
|
|
src/ C++ source — all components as single-class headers
|
|
|
|
|
|
src/mcp/ MCP tool registration headers (Register*.h)
|
|
|
|
|
|
src/ast/ AST nodes, parsers, generators
|
|
|
|
|
|
src/state/ EditorState sub-states
|
|
|
|
|
|
src/panels/ ImGui panel components
|
|
|
|
|
|
tests/ One test file per step (stepNNN_test.cpp)
|
|
|
|
|
|
build-native/ Build output (do not commit binaries)
|
|
|
|
|
|
tools/
|
|
|
|
|
|
claude/
|
|
|
|
|
|
tools.json MCP tool catalog (update when adding new tools)
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## Adding a New MCP Tool (Pattern)
|
|
|
|
|
|
|
|
|
|
|
|
1. Implement the C++ class in `editor/src/MyFeature.h` (≤ 600 lines)
|
|
|
|
|
|
2. Create `editor/src/mcp/RegisterMyFeatureTools.h`:
|
|
|
|
|
|
- Define tool name, input schema, handler lambda
|
|
|
|
|
|
- Handler calls `MyFeature::run(args)` and returns JSON result
|
|
|
|
|
|
3. Add `#include "mcp/RegisterMyFeatureTools.h"` to `RegisterOnboardingAndAllTools.h`
|
|
|
|
|
|
4. Add entry to `tools/claude/tools.json`
|
|
|
|
|
|
5. Rebuild `whetstone_mcp` and verify tool appears via MCP initialize response
|
|
|
|
|
|
|
|
|
|
|
|
Reference implementations: `RegisterCodegenTools.h`, `RegisterContextTools.h`,
|
|
|
|
|
|
`RegisterValidationTools.h`, `RegisterMetricsTools.h`
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## MCP Tools by Sprint (Key Tools)
|
|
|
|
|
|
|
|
|
|
|
|
| Tool | Sprint | What It Does |
|
|
|
|
|
|
|------|--------|-------------|
|
|
|
|
|
|
| `whetstone_architect_intake` | 36 | Markdown spec → normalized requirements + conflict report |
|
|
|
|
|
|
| `whetstone_generate_taskitems` | 36 | Requirements → AnnotatedTaskitems with confidence/escalate |
|
|
|
|
|
|
| `whetstone_queue_ready` | 36 | Validate taskitem set → confirmed queue |
|
|
|
|
|
|
| `whetstone_schema_to_cpp` | 41 | JSON Schema → typed C++ header + CMake snippet |
|
|
|
|
|
|
| `whetstone_generate_dispatch_table` | 41 | Job entries → C++ dispatch table header |
|
|
|
|
|
|
| `whetstone_assemble_context` | 43 | Workspace symbol lookup → token-budget-trimmed context slice |
|
|
|
|
|
|
| `whetstone_validate_taskitem` | 44 | Score taskitem self-containment (0–100), batch audit report |
|
|
|
|
|
|
| `whetstone_start_recording` | 45 | Start per-session tool-call recording |
|
|
|
|
|
|
| `whetstone_get_metrics` | 45 | Get session metrics + A/B comparison vs baseline |
|
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
|
|
|
|
| `whetstone_score_language_fitness` | 271 | Score AST features against language profiles → ranked list |
|
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
|
|
|
|
|
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
|
|
|
|
Full tool list: `tools/claude/tools.json` (91 entries).
|
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
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## Architecture Constraints
|
|
|
|
|
|
|
|
|
|
|
|
- **No header may exceed 600 lines** — enforced by `file_limits_test`
|
|
|
|
|
|
- Single-class-per-header pattern throughout
|
|
|
|
|
|
- MCP tools are thin wiring only — business logic lives in the feature class
|
|
|
|
|
|
- `tools.json` must be updated every time a tool is added/removed
|
|
|
|
|
|
- Never touch `whetstone_mcp` for GUI-only features; keep headless binary lean
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## Relationship to HiveMind
|
|
|
|
|
|
|
|
|
|
|
|
Whetstone generates code for HiveMind (schema→C++ structs, dispatch tables).
|
|
|
|
|
|
HiveMind is a **consumer** of the MCP tools. The two projects are independent:
|
|
|
|
|
|
|
|
|
|
|
|
- **Whetstone source:** `CLionProjects/whetstone_DSL/` — this directory
|
|
|
|
|
|
- **HiveMind source:** `Documents/hivemind/` — separate project
|
|
|
|
|
|
- Do NOT modify Whetstone when working on HiveMind, and vice versa
|
|
|
|
|
|
|
|
|
|
|
|
Whetstone MCP is registered at `Documents/.mcp.json` so it's available
|
|
|
|
|
|
as a tool server in Claude Code sessions opened from `Documents/`.
|