Commit Graph

781 Commits

Author SHA1 Message Date
Bill
9f9d9590c3 Add runnable local twitter clone demo (node + static UI) 2026-03-03 10:31:32 -07:00
Bill
452603ae7f Add strict/hybrid library policy with auto/ask/options modes 2026-03-03 10:22:05 -07:00
Bill
e24f677dde Wire availableLibraries into taskitem generation dispatch 2026-03-03 09:50:05 -07:00
Bill
0592c8c3a6 Complete strict execution contract for semantic fallback tasks 2026-03-03 09:37:27 -07:00
Bill
a474a87f50 Fix MCP build includes and queue task parsing compatibility 2026-03-03 09:36:54 -07: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
d7caaa8762 Sprint 290: CUDA End-to-End Proof (steps 1978-1982)
CUDALibraryProfile, CUDASymbolCatalog, ProjectStackDeclarator,
ProofPipelineRunner, Sprint290IntegrationSummary. 25/25 tests passing.
End-to-end proof: "GPU matrix multiply. JSON result serialization."
-> cublas for compute.matrix, nlohmann_json for serialization.json.
Phase 6: Library Dispatch COMPLETE (Sprints 286-290, steps 1958-1982).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-02 10:27:47 -07:00
Bill
03dc4dc208 Sprint 289: Integration into generate_taskitems (steps 1973-1977)
EnrichedExecutionContract, TaskitemLibraryAnnotator, AnnotatedTaskitemValidator,
DispatchJustificationReport, Sprint289IntegrationSummary. 25/25 tests passing.
Full pipeline: spec -> classifier -> selector -> advisor -> enriched contracts.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-02 10:21:06 -07:00
Bill
a410c9c756 Sprint 288: LibrarySymbolAdvisor (steps 1968-1972)
Specific API symbol recommendation layer. Five new headers:
- LibrarySymbolRecord: functionName/signature/usagePattern/caveats
- LibrarySymbolCatalog: multi-symbol registry per (library, domain)
- LSPSymbolExtractor: parses LSP JSON into LibrarySymbolRecords
- LibrarySymbolAdvisor: ranked symbols for (library, domain) alphabetically
- Sprint288IntegrationSummary: CUDA+nlohmann catalog; cublasSgemm+json::parse verified

25/25 tests passing.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-02 10:11:23 -07:00
Bill
2a40cb1ba5 Sprint 287: PerTaskLibrarySelector (steps 1963-1967)
Deterministic library dispatch layer. Five new headers:
- LibrarySelection: result struct with avoidedLibraries + justification
- OperationClassifier: wraps taxonomy with ClassificationResult
- PerTaskLibrarySelector: sort by score, pick max, build avoided list
- SelectionJustificationLog: append-only auditable selection log
- Sprint287IntegrationSummary: 8-task spec, all selections verified

25/25 tests passing.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-02 10:04:39 -07:00
Bill
b5c8b46117 Sprint 286: OperationTaxonomy + LibraryCapabilityLedger (steps 1958-1962)
Phase 6 Library Dispatch foundation. Five new headers:
- OperationDomain: dot-key hierarchy with parent traversal
- LibraryCapabilityRecord: score/APIs/weaknesses + validator
- LibraryCapabilityLedger: (library, domain) -> record registry
- OperationTaxonomy: 40+ domain tree, keyword-based classify()
- Sprint286IntegrationSummary: 8-library seed ledger + verified lookups

25/25 tests passing.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-02 09:48:30 -07:00
Bill
8c5fb9a6ad Sprint 285: poly-everything (steps 1953–1957)
Final Phase 5 sprint: unified polyglot orchestration over 8 languages
(C++, Python, Rust, Go, Haskell, TypeScript, Java, Lisp)

Components:
- PolyglotFunctionMap: (language, functionName) → implementation tag registry
- PolyglotExecutionContext: per-language runtime config (timeout_ms/env/working_dir)
- PolyglotResultAggregator: FunctionResult collection + AggregateReport (pass/fail/duration)
- PolyglotOrchestrator: ties all three; recordResult; runSummary

26/26 tests pass. Phase 5 (The Proof) complete.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-01 22:38:02 -07:00
Bill
0f6d10e39a Sprint 284: poly-compiler (steps 1948–1952)
5-phase compiler pipeline: C++(lex)→Haskell(parse)→Rust(typecheck)→Lisp(optimize)→Go(emit)

Components:
- CompilerPhaseSpec + CompilerPhaseRegistry: phase descriptors sorted by order field
- CompilerIRNode + IRNodePipeline: IR node kinds (Source→Token→AST→TypedAST→OptimizedAST→Bytecode) + queue
- CompilerPhaseRouter: IRNodeKind→phaseId routing with optional fallback
- CompilerPipelineRunner: chains PhaseTransform functions in order, supports runUpTo

26/26 tests pass.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-01 22:32:40 -07:00
Bill
95cf04008e Sprint 283: poly-pipeline (steps 1943–1947)
PipelineStageSpec/Registry, PipelineGraph (Kahn topo sort), PipelineExecutionPlan,
PipelineParityValidator — 26/26 tests pass.
Integration step 1947: Python→Rust→Go→Haskell→TypeScript pipeline verified.
Metrics: 7 whetstone calls, 8566 tokens.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-01 22:25:57 -07:00
Bill
84708da611 Sprint 282: Polyglot test harness (steps 1938–1942)
PolyglotSpecRunner, BehavioralParityChecker, ParityRegressionGuard,
PolyglotSuiteOrchestrator — 26/26 tests pass.
Integration step 1942: poly-sort Python+Rust+Go parity verified.
Metrics: 7 whetstone calls, 8855 tokens.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-01 22:21:40 -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
99cc6319c0 Sprint 281: DAP Hardening (steps 1933–1937)
DAPRequestValidator, DAPCapabilityNegotiator, DAPEventBroadcaster,
DAPBreakpointHitDispatcher — 26/26 tests pass.
Integration step 1937: Python+Rust DAP session round-trip verified.
Also adds allBreakpoints() to ASTNodeBreakpointMapper.
Metrics: 8 whetstone calls, 8853 tokens.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-01 21:45:53 -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
bbac434b16 Sprint 280: Cross-language step + breakpoints (steps 1928–1932)
CrossLanguageStepOverHandler, CrossLanguageStepIntoHandler,
ASTNodeBreakpointMapper, BreakpointSyncOrchestrator — 26/26 tests pass.
Integration step 1932: Go+TypeScript poly-API round-trip verified.
Metrics: 7 whetstone calls, 5587 tokens.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-01 21:31:05 -07:00
Bill
3808caa1d5 Sprint 279: DAP Orchestration Core (steps 1923-1927)
- DAPProxyServer: DAP JSON dispatcher, routes by command, default handlers for
  all standard DAP commands, response envelope with seq/type/request_seq/success
- DebugAdapterRouter: per-language adapter capability registry; routeCommand gates
  on active language AND adapter support
- PolyglotStackTraceDecoder: infers language from source extension, marks boundary
  frames where adjacent frames differ in language, sets astNodeId per frame
- LanguageSeamFrameDetector: detectSeams/primarySeam/seamCount/frameLanguages/
  crossesBoundary over decoded polyglot stacks
- Sprint279IntegrationSummary: poly-sort (Python+Rust) end-to-end DAP pipeline

26/26 tests passing (5+5+5+5+6). All new headers well under 600 lines.
LoRA recorded: sprint279-2026-03-01 (7 calls, 5535 tokens).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-01 21:08:37 -07:00
Bill
4d47e894c1 Sprint 278: LSP Proxy Hardening (steps 1918-1922)
- LSPMessageValidator: JSON-RPC 2.0 shape validation (method, id type, params type)
- LSPCapabilityNegotiator: per-source capability tracking; shouldRoute gates on declared caps
- LSPRequestThrottler: per-URI/method debounce; blocks rapid didChange floods
- LSPErrorRecovery: per-source health tracking; stale-cache fallback when crashed
- Sprint278IntegrationSummary: poly-parse (C++ + Haskell) end-to-end integration

26/26 tests passing (5+5+5+5+6). All new headers well under 600 lines.
LoRA recorded: sprint278-2026-03-01 (9 calls, 6437 tokens).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-01 20:28:31 -07:00
Bill
67c3c73046 Sprint 277: LSP Advanced Orchestration (steps 1913-1917)
- LSPWorkspaceIndex: track open docs, URI→{languageId,content,version}
- LSPDiagnosticsAggregator: merge diagnostics from multiple LSP sources per URI
- LSPCompletionMerger: merge+deduplicate completion items from multiple sources
- LSPOrchestrator: top-level coordinator composing all three + proxy + cross-lang resolver
- Sprint277IntegrationSummary: poly-api (Go+TypeScript) end-to-end integration

26/26 tests passing (5+5+5+5+6). All new headers ≤600 lines.
LoRA recorded: sprint277-2026-03-01 (1 call, 569 tokens).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-01 20:18:23 -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
d1e883dd38 Add polyglot orchestrator feature requests, sprint plan, and test projects
Feature requests I-N cover: LanguageFitnessScorer, PolyglotFFIGlueGenerator,
CrossLanguageSymbolIndex, LSP Orchestrator, DAP Orchestrator, Polyglot Test Harness.
Sprint plan maps 75 steps across sprints 271-285 in 5 phases.
Test projects: poly-sort (Rust+Python), poly-api (Go+TS), poly-parse (C++/Haskell),
poly-pipeline (5 lang), poly-compiler (5 lang), poly-everything (all languages).
Theoretical goal: lossless polyglot transpiling proven as a construction.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-28 23:01:40 -07:00
Bill
de5bdd358f Close all 26 generator readiness gaps (sprints 267-270)
Sprint 268: GR-002/003/006/007/008/016/017/019/021/024 — self-containment,
  graduation thresholds, asm/ir/jvm/elixir lang coverage, semanno format.
Sprint 269: GR-005/011/013/015 — prose capture in RequirementsParser,
  GateEnforcer, ParitySkewAnalyzer, CrossArtifactConsistencyEngine.
Sprint 270: GR-009/010/012/014/018/020 — CrossFileTransactionGate,
  SemanticCompletionGate, ConstrainedProjectionGate, TokenBudgetGate,
  CppConstraintRefactorPolicy, NativeDecompositionDepthGuard.
All 50 new tests passing (steps 1873-1882, 5/5 per step).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-28 22:28:41 -07:00
Bill
423273a14b Add planning spec template and expanded project backlog pack 2026-02-26 19:52:13 -07:00
Bill
597fe4eded Add raw score/gate parity packet and enforcement (sprint 265) 2026-02-26 17:04:24 -07:00
Bill
bfe44cd6d8 Align raw scoring and impact gate task-set parity (sprint 264) 2026-02-26 17:02:13 -07:00
Bill
fe85f1b515 Add raw structural projector before candidate scoring (sprint 263) 2026-02-26 16:59:28 -07:00
Bill
f534d7f0fa Add raw output-shape template control pack (sprint 262) 2026-02-26 16:56:09 -07:00
Bill
181f289dd1 Add intrinsic prompt-pack intervention for raw generation (sprint 261) 2026-02-26 16:40:19 -07:00
Bill
42c53da5c6 Add signal-targeted intrinsic raw variant expansion (sprint 260) 2026-02-26 16:37:57 -07:00
Bill
ba1e0dc3e8 Add adaptive raw top-gap retry loop (sprint 259) 2026-02-26 16:33:19 -07:00
Bill
df0de8156b Add backlog-driven raw top-gap requirement injection (sprint 258) 2026-02-26 16:30:49 -07:00
Bill
fd8d582db7 Add top-gap uplift hard gate for raw candidate search (sprint 257) 2026-02-26 16:27:39 -07:00
Bill
39575cb383 Add top-gap weighted raw candidate selection telemetry (sprint 256) 2026-02-26 16:25:57 -07:00
Bill
057fcd4087 Add raw top-gap hardening stage for native tasks (sprint 255) 2026-02-26 16:23:19 -07:00
Bill
5feb05e900 Add raw gap backlog synthesis from ladder runs (sprint 254) 2026-02-26 15:59:33 -07:00
Bill
b6c91c9d64 Add batch closure ladder analytics and runner (sprint 253) 2026-02-26 15:48:33 -07:00
Bill
28b29dfd30 Add richer raw variants and history-aware ladder routing (sprints 251-252) 2026-02-26 15:46:11 -07:00
Bill
2c422fedda Add automatic native profile closure ladder runner (sprint 250) 2026-02-26 15:42:35 -07:00
Bill
8e0018ef80 Add raw candidate search scoring and no-uplift guardrail (sprints 248-249) 2026-02-26 15:41:20 -07:00
Bill
dfb10ea40f Add single-shot profile shaping closure path (sprint 247) 2026-02-26 15:33:36 -07:00
Bill
daf9d9b8c4 Add intrinsic multishot decomposition closure path (sprint 246) 2026-02-26 15:31:36 -07:00
Bill
d4b7e8ce48 Add intrinsic first-pass decomposition boost path (sprint 245) 2026-02-26 15:19:21 -07:00
Bill
b68f7edc84 Add first-pass profile autofill closure path (sprint 244) 2026-02-26 15:17:56 -07:00
Bill
050fee9480 Add profile task-bundle remediation loop closure (sprint 243) 2026-02-26 15:10:41 -07:00
Bill
ee38182b79 Add native impact remediation synthesis loop (sprint 242) 2026-02-26 15:08:36 -07:00