Commit Graph

456 Commits

Author SHA1 Message Date
Bill
8a461df47e Step 260: project-wide diagnostics (getProjectDiagnostics)
Diagnostics across all open files in one call, grouped by file path.
Includes cross-file E0400 warnings for undefined imports, with optional
severity filter and file glob filter. 12/12 tests pass.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 20:13:46 +00:00
Bill
f0417bccce Step 259: cross-file symbol resolution and import graph
getInScopeSymbols gains crossFile parameter to include exported symbols from
all open buffers. Import graph tracks file dependencies, auto-maintained on
openFile/closeFile. Text-based fallback for parsers without Import AST nodes.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 20:06:46 +00:00
Bill
ac5b7e21c8 Step 258: project model and workspace indexing (Phase 9d start)
Adds multi-buffer management via openFile/closeFile/listBuffers/setActiveBuffer
RPC methods, plus indexWorkspace for scanning workspace files without opening
them. Language auto-detected from extension. 27 MCP tools total (was 22).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 19:43:53 +00:00
Bill
5830361463 Step 257: token efficiency tests + benchmarks (Phase 9c complete)
Systematic validation of all Phase 9c token-saving features: compact AST
(6-7% of full size), lean scope (4% of detailed), diagnostic deltas, budget
pagination across 3 pages, batch queries, and combined 95% savings. Benchmark
confirms sub-millisecond parse->mutate->diagnose cycles. Also adds Environment
Layer feature request to docs/annotations.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 19:34:58 +00:00
Bill
850bb8f927 Step 256: batch query endpoint for multi-query round-trips
batchQuery accepts array of sub-queries, returns all results in one
response. Errors in individual sub-queries don't affect others.
22 MCP tools total. 12/12 tests pass.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 16:06:54 +00:00
Bill
92e2f2493a Step 255: symbol-only mode for scope queries (lean vs detailed)
getInScopeSymbols, getCallHierarchy, getDependencyGraph now default
to lean "symbols" mode returning names/IDs only. Pass detailed:true
for full node JSON. 12/12 tests pass.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 16:00:56 +00:00
Bill
ba9da3fd55 Step 254: response budget system (truncation, continuation, pagination)
Optional budget parameter on getAST and getDiagnostics. Responses exceeding
the budget are truncated with continuation tokens for paginated follow-up.
Binary search finds max array elements fitting the budget. Diagnostics sorted
by severity (errors first) before truncation.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 15:54:01 +00:00
Bill
d6941da793 Step 253: diagnostic pipeline integration tests (Phase 9b complete)
End-to-end tests: valid code → zero diags, annotation errors with nodeIds,
quick fix application clearing diagnostics, delta showing removals/additions,
combined parser+annotation streams, severity filtering. Phase 9b: 44/44 tests
across steps 250–253.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 15:48:06 +00:00
Bill
fcccaeb866 Step 252: diagnostic delta streaming (getDiagnosticsDelta, version tracking)
DiagnosticVersionTracker records snapshots and computes added/removed deltas
between versions. Agents can efficiently check if their fix resolved an error
without re-fetching all diagnostics. 21 MCP tools total.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 15:45:31 +00:00
Bill
fbc7b6bce2 Step 251: quick-fix actions as RPC mutations (getQuickFixes, applyQuickFix)
Concrete mutation objects for each diagnostic fix. getQuickFixes returns
reviewable fixes with categories; applyQuickFix applies the fix and reports
whether the diagnostic cleared. Heuristic fixes for missing return and
unused variables. 20 MCP tools total.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 15:41:56 +00:00
Bill
14c2fc218a Step 250: structured diagnostic format (error codes, nodeIds, fix suggestions)
Unified diagnostic stream merging parse errors (E01xx), annotation validation
(E02xx), and strategy violations (E03xx) with severity levels, AST node
references, and machine-applicable fix mutations. New getDiagnostics RPC
method with severity/source filtering. 18 MCP tools total.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 15:36:24 +00:00
Bill
f858925911 Step 249: MCP server integration tests (Phase 9a complete)
End-to-end tests exercising the full MCP stack through MCPBridge:
handshake, 17 tools with valid schemas, AST queries, pipeline execution,
diagnostics, prompts, file CRUD cycle, and compact AST comparison (3% size).
Phase 9a: 64/64 tests pass across steps 245–249.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 15:14:21 +00:00
Bill
fbff0cedd0 Step 248: compact AST response format (subtree, diff, version tracking)
Adds token-efficient AST queries: compact mode (<30% of full size),
subtree extraction by nodeId, version-tracked AST diff after mutations,
and tokenEstimate on all responses. 12/12 tests pass, 17 tools total.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 06:29:17 +00:00
Bill
1131fdf73d Step 247: file operation tools for MCP (read, write, create, diff, list)
Adds 5 workspace-aware file I/O tools to the MCP server so agents can
manage files without a GUI. All paths are resolved against --workspace
root with escape-rejection security. 12/12 tests pass, tool count now 15.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 05:59:02 +00:00
Bill
06706aeacf Step 246: mcp_main.cpp — standalone MCP server entry point
Wires HeadlessEditorState + MCPBridge into a standalone whetstone_mcp
binary that any MCP client (Claude Code, Cursor, etc.) can launch over
stdio. No SDL, no ImGui, no OpenGL — headless only. 12/12 tests pass.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 05:40:32 +00:00
Bill
9fcb5a0c8c Step 245: HeadlessEditorState — agent API surface without ImGui/SDL
Adds the headless agent architecture for Sprint 9 Phase 9a:
- ASTUtils.h: pure AST utilities extracted from EditorUtils.h
- HeadlessEditorState.h: GUI-free state with buffer management
- HeadlessAgentRPCHandler.h: full RPC dispatch (20+ methods)
- step245_test.cpp: 20 tests all passing

Also fixes test compilation errors (NotificationSystem API changes,
AgentRole permissions, DependencyPanel missing include) and adds
SDL2 system library detection fix in CMakeLists.txt.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 01:34:27 +00:00
Bill
f63e6a5fdd Sprint 8: add step244 integration test and fix Ubuntu test build 2026-02-10 22:17:12 +00:00
Bill
bfff75397f 3d finished 2026-02-10 13:42:39 -07:00
Bill
686de5a4ef Step 241: text-first defaults and trim headers 2026-02-10 11:22:44 -07:00
Bill
f074f51e7f Add language and plugin enhancement requests 2026-02-10 10:00:27 -07:00
Bill
e62bb3fd8a Add Julia packaging feature request 2026-02-10 09:59:38 -07:00
Bill
c09a76d74d Add Julia feature requests and roadmap update 2026-02-10 09:56:03 -07:00
Bill
9b9244e0f8 Add language support roadmap and feature requests 2026-02-10 09:51:23 -07:00
Bill
5670ab7f5e Step 234: Add session pipeline tests 2026-02-10 09:09:38 -07:00
Bill
423db8cb22 Step 233: Add training data pipeline 2026-02-10 08:47:07 -07:00
Bill
b68d24c881 Rename session trace header 2026-02-10 08:43:19 -07:00
Bill
2491ece973 Step 232: Add session trace converter 2026-02-10 08:41:59 -07:00
Bill
d909b07301 Step 231: Add session anonymizer 2026-02-10 08:36:22 -07:00
Bill
835b90bbac Step 230: Enhance session recorder 2026-02-10 08:33:19 -07:00
Bill
718c99fef9 Step 229: Add tool definition tests 2026-02-10 08:23:48 -07:00
Bill
7e329b6a2e Step 228: Add prompt templates 2026-02-10 08:20:59 -07:00
Bill
1d91c49b15 Step 227: Open-source model tool definitions 2026-02-10 08:19:07 -07:00
Bill
8a15b27380 Step 226: OpenAI tool definitions 2026-02-10 08:14:19 -07:00
Bill
23117eb97e Step 225: Claude tool definitions 2026-02-10 08:12:16 -07:00
Bill
82bc20b5c8 Step 224: evaluation harness tests 2026-02-10 08:06:04 -07:00
Bill
3e02f004f0 Step 223: evaluation runner CLI 2026-02-10 08:04:00 -07:00
Bill
1ce68176d1 Step 222: workflow evaluation tasks 2026-02-10 08:02:24 -07:00
Bill
66c1b50ad7 Step 221: basic evaluation tasks 2026-02-10 08:00:43 -07:00
Bill
575e4b782d Step 220: evaluation framework 2026-02-10 07:58:25 -07:00
Bill
01990197c5 Sprint 7 Phase 7c: Synthetic trace generation and export (Steps 214-219)
TraceGenerator with 6 scenario templates, built-in code corpus,
and deterministic batch generation. TraceExporter supports Anthropic
Messages, OpenAI Chat, JSONL, and Markdown formats with filtering
and statistics. 294 tests passing.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 07:53:41 -07:00
Bill
80b5a199cb Sprint 7 Phase 7b: MCP server with tools, resources, and prompts (Steps 207-213)
- Step 207: MCPServer.h — MCP protocol core with JSON-RPC 2.0 stdio transport,
  initialize/initialized handshake, capabilities (tools, resources, prompts)
- Step 208: 5 AST tools — whetstone_get_ast, whetstone_mutate, whetstone_batch_mutate,
  whetstone_get_scope, whetstone_get_call_hierarchy
- Step 209: 5 annotation/generation tools — whetstone_suggest_annotations,
  whetstone_apply_annotation, whetstone_generate_code, whetstone_run_pipeline,
  whetstone_project_language
- Step 210: 5 MCP resources — ast, diagnostics, libraries, annotations, settings
- Step 211: 4 MCP prompts — annotate_module, cross_language_projection,
  security_audit, refactor_memory
- Step 212: MCPBridge.h — stdio transport with Content-Length framing,
  bridges MCP to Whetstone JSON-RPC
- Step 213: MCP server tests — 90/90 assertions pass

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 07:45:11 -07:00
Bill
c9d938f855 Sprint 7 Phase 7a: API documentation, schemas, and new RPC methods (Steps 202-206)
- Step 202: docs/AGENT_API.md — comprehensive JSON-RPC API reference with 23 methods
- Step 203: schemas/ — 20 JSON Schema files (8 types, 12 methods) for validation
- Step 204: Expose ContextAPI (getInScopeSymbols, getCallHierarchy, getDependencyGraph) and BatchMutationAPI (applyBatch) via WebSocket RPC
- Step 205: Expose Pipeline operations (runPipeline, parseSource, generateFromAST, projectLanguage) via WebSocket RPC
- Step 206: API schema validation tests — 51/51 assertions pass
- Updated PROGRESS.md with Sprint 5+6 completion, corrected summary table
- Updated FEATURE_REQUESTS.md to reflect implemented items
- Created sprint7_plan.md with 33 steps across 6 phases

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 07:31:01 -07:00
Bill
d3b0050469 Step 201: sprint 6 integration tests 2026-02-10 05:24:00 -07:00
Bill
2fa307ef2c Step 200: startup and performance improvements 2026-02-10 05:22:46 -07:00
Bill
02063766a8 Step 199: large file handling 2026-02-10 05:15:09 -07:00
Bill
ae1f8ba489 Step 198: virtual scrolling for large files 2026-02-10 05:09:14 -07:00
Bill
eb49e2a3a7 Step 197: keyboard navigation audit 2026-02-10 05:08:02 -07:00
Bill
09fd7b011e Step 196: high contrast and colorblind modes 2026-02-10 04:55:49 -07:00
Bill
93f2d7d1e9 Step 195: security and semantic UX tests 2026-02-10 04:48:48 -07:00
Bill
838082466b Step 194: semantic-filtered library browser 2026-02-10 02:18:25 -07:00