Commit Graph

82 Commits

Author SHA1 Message Date
Bill
bff1b47e83 Step 1990: Fix C++ struct field type loss and queue_ready test-files blocker
CppParser bug: declaration/field_declaration nodes created Variable AST nodes
but never extracted the "type" field from the tree-sitter parse tree. This
caused CppGeneratorTypes::inferFieldType to always fall back to
"auto /* TODO: specify type */" for struct fields whose names didn't match
name-based heuristics. Fix: read childByFieldName(member, "type"), create a
PrimitiveType child, and attach via var->setChild("type", ...) — same pattern
already used for function return types and parameters. Also unwrap
init_declarator nodes so field names are clean identifiers, not "x = 0".

queue_ready bug: strictExecutionContract mode blocked on missing testFiles
even when the project was starting new work and test files don't exist yet.
Demoted to a warning so new sprint work is not blocked on pre-declared tests.

5/5 tests passing (step1990_test).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-23 18:13:41 -06:00
Bill
9fe3c1aa93 Add MCP compatibility ledger tool and first-pass Go/Rust codegen hardening 2026-02-25 22:46:33 -07:00
Bill
f1c6214de8 Implement Sprint 169 pipeline strictness and add Sprint 170-171 plans 2026-02-25 18:20:39 -07:00
Bill
f4f3633b11 Add semantic hash table tools, lock scaffolding, and H2 dual-hash migration scaffold 2026-02-24 11:13:31 -07:00
Bill
f7c514e705 Refactor large headers and enforce architecture constraints 2026-02-17 08:47:26 -07:00
Bill
cdb35da6d7 Complete step469 initializer list and STL pattern support with tests 2026-02-16 20:36:44 -07:00
Bill
58e96178ab Complete step468 operator overloading and friend support with tests 2026-02-16 20:35:06 -07:00
Bill
5519d24e95 Complete step467 exception handling support with tests 2026-02-16 20:20:35 -07:00
Bill
7e42f02d8d Complete step466 range-for and structured binding support with tests 2026-02-16 20:18:58 -07:00
Bill
3662e130ec Complete step464 assembly annotation mapping with tests 2026-02-16 20:15:55 -07:00
Bill
c3d8e1cd0c Complete step463 assembly generators and x86-to-arm mapping tests 2026-02-16 20:14:03 -07:00
Bill
068bd71a31 Complete step462 ARM assembly parser with tests 2026-02-16 20:12:19 -07:00
Bill
5b0044cabb Complete step461 x86 assembly parser with tests 2026-02-16 20:10:19 -07:00
Bill
95922f1ec6 Complete step460 assembly AST nodes with serialization tests 2026-02-16 20:06:47 -07:00
Bill
439a8a5838 Step 414: add MySQL parser and generator support 2026-02-16 15:54:37 -07:00
Bill
0e201e2f8c Step 413: add T-SQL parser and generator support 2026-02-16 15:50:23 -07:00
Bill
7dbfbab63a Step 412: add PostgreSQL generator and pipeline routing 2026-02-16 15:45:27 -07:00
Bill
158e46895b Step 411: add standalone PostgreSQL parser and routing 2026-02-16 15:40:06 -07:00
Bill
c0f7770dcf Step 410: add SQL AST nodes with serialization support 2026-02-16 15:36:31 -07:00
Bill
ba15bdae03 Step 408: add VB.NET generator and generate routing 2026-02-16 15:31:23 -07:00
Bill
a07cd5b0b7 Step 407: add standalone VB.NET parser and parse routing 2026-02-16 15:28:43 -07:00
Bill
9aab804687 Step 406: add F# generator and pipeline generate routing 2026-02-16 15:26:23 -07:00
Bill
a7597a649c Step 405: add standalone F# parser and parse routing 2026-02-16 15:22:55 -07:00
Bill
5af8ed40e0 Step 394: add TypeAlias + nested type access tests
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 14:01:30 -07:00
Bill
d06c32d5ff Step 375: Add Scheme generator and pipeline routing 2026-02-16 11:33:29 -07:00
Bill
b7918108ea Step 374: Add Scheme parser and pipeline routing 2026-02-16 11:30:33 -07:00
Bill
e9ec11200e Step 371: Add Common Lisp generator and pipeline routing 2026-02-16 11:12:38 -07:00
Bill
8c1eeae897 Step 370: Add Common Lisp parser and routing 2026-02-16 11:08:20 -07:00
Bill
1f4c6f3c91 Step 369: Add WAT phase integration tests and diagnostics 2026-02-16 10:02:14 -07:00
Bill
ccf21833f7 Step 366: Add WAT generator and pipeline generation route 2026-02-16 09:53:33 -07:00
Bill
219b828030 Step 365: Add WAT parser and pipeline routing 2026-02-16 09:49:50 -07:00
Bill
31f12d0323 Step 362: C Generator (12/12 tests) 2026-02-16 09:31:12 -07:00
Bill
dbec5aa514 Step 361: C Parser Functions Structs Enums (12/12 tests) 2026-02-16 09:28:14 -07:00
Bill
e958c778f3 Step 340: C++ Generator — Preprocessor, Enum, Namespace (12/12 tests)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 08:17:50 -07:00
Bill
93d84fd29b Step 339: C++ Parser — Preprocessor, Enum, Namespace (12/12 tests)
Extended CppParser to parse #include, #pragma, #define, enum class/enum,
namespace, using alias, and typedef from tree-sitter CST. Handles all
preprocessor directive types and recursive namespace body parsing.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 00:42:26 -07:00
Bill
ca01fc6744 Step 338: EnumDeclaration + NamespaceDeclaration (12/12 tests)
Added EnumDeclaration, EnumMember, NamespaceDeclaration, TypeAlias AST nodes with
full serialization roundtrip and CompactAST support. Enums support scoped/unscoped,
underlying type, member values. Namespaces support nesting.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 00:38:34 -07:00
Bill
96799dd51f Step 337: Preprocessor AST Nodes (12/12 tests)
Added IncludeDirective, PragmaDirective, MacroDefinition as first-class AST nodes.
Full serialization roundtrip and CompactAST support. Preprocessor directives are
statement-level nodes with macro bodies kept as unparsed text.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 00:36:25 -07:00
Bill
6464c88483 Step 335: C++ Generator — Inheritance + Templates (12/12 tests)
Updated CppGenerator, PythonGenerator, JavaGenerator for multiple inheritance
output using getBases(). C++ emits template prefix + access specifiers + virtual.
Python uses direct multi-base. Java uses extends + implements adaptation.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 00:29:54 -07:00
Bill
b75fba72d8 Step 334: C++ Parser — Inheritance + Templates (12/12 tests)
Multiple inheritance with access specifiers and virtual flags from tree-sitter
CST. Template class type parameters, CRTP detection, struct support.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 00:24:56 -07:00
Bill
6b2b5bf13b Step 333: Template Class Declarations (12/12 tests)
isClassTemplate/isVariadic serialization, isCRTPClass detection helper,
CompactAST getNodeName for GenericType/TypeParameter.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 00:18:56 -07:00
Bill
b1654f0b85 Step 332: Multiple Inheritance in ClassDeclaration (12/12 tests)
BaseClass struct with access specifiers and virtual flags. Backward-compatible
getBases() migration from legacy superClass. Diamond inheritance detection via
BFS. Updated Serialization for baseClasses array roundtrip.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 19:31:55 -07:00
Bill
0d51a6fe4c Steps 309-319: Sprint 11 Phases 11d-e — Kotlin/C# languages + workflow annotation foundation
Phase 11d (Steps 309-313): Kotlin + C# parsers and generators
- KotlinParser (regex-based): fun, suspend fun, class, data class, val/var
- KotlinGenerator: idiomatic Kotlin output with type mappings
- CSharpParser (regex-based): methods, async, class, interface
- CSharpGenerator: Allman braces, foreach, Task async, LINQ types
- Pipeline integration for both languages, 10 parsers + 10 generators

Phase 11e (Steps 314-319): Workflow annotation foundation
- AnnotationInference: generalized multi-subject inference engine
- Subject 9 routing annotations: ContextWidth, Review, Ambiguity,
  Automatability, Priority, ImplementationStatus
- SkeletonAST: project specification before code exists
- Architect tooling: createSkeleton, addSkeletonNode, getProjectModel,
  inferAnnotations RPCs + 4 MCP tools (42+ total)
- Inference-to-routing bridge: complexity→ambiguity, getter→deterministic
- TrainingDataExporter + TrainingDataGenerator scaffolding

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 15:50:06 -07:00
Bill
a2a9fe6f97 Step 308: All 8 generators produce language-appropriate output for 9 new AST node types (8/8 tests)
Phase 11c complete (80/80 tests). Added visitor implementations for
ClassDeclaration, InterfaceDeclaration, MethodDeclaration, GenericType,
TypeParameter, AsyncFunction, AwaitExpression, LambdaExpression, and
DecoratorAnnotation to Rust, Go, Java, JavaScript/TypeScript, and Elisp
generators. Each generator emits idiomatic syntax: Rust struct+impl/trait/async fn/.await/|closure|,
Go type struct/interface/func receiver/<-channel/func(), Java class extends/interface/CompletableFuture/(x)->/@annotation,
JS class extends/async function/await/(x)=>/class, Elisp cl-defstruct/cl-defgeneric/cl-defmethod/(lambda).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 15:08:55 +00:00
Bill
dc462e8941 Step 307: Go + C++ + Elisp parser deepening — struct/interface, class, template, lambda (12/12 tests)
Go: struct → ClassDeclaration, interface → InterfaceDeclaration, method receiver → MethodDeclaration, func literal → LambdaExpression, expression_list unwrapping
C++: class/struct → ClassDeclaration, template → TypeParameter, methods → MethodDeclaration, lambda_expression → LambdaExpression
Elisp: (lambda ...) special_form → LambdaExpression

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 05:22:56 +00:00
Bill
30e718a996 Step 306: JS/TS + Rust parser deepening — class, async, await, arrow/closure, struct, trait, impl (12/12 tests)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 03:34:22 +00:00
Bill
91152e4cf1 Step 305: Python + Java parser deepening — class, async, lambda, decorator, generics (12/12 tests)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 02:49:09 +00:00
Bill
d3e26d9216 Step 304: Serialization + dispatch for 9 new AST node types — Python + C++ generators (12/12 tests)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 17:11:00 +00:00
Bill
15230df621 Step 303: New AST nodes — AsyncFunction, AwaitExpression, LambdaExpression, DecoratorAnnotation (12/12 tests)
4 modern language construct nodes with full JSON roundtrip serialization.
AsyncFunction extends Function with isAsync flag, AwaitExpression wraps
awaited expressions, LambdaExpression captures variables with captureList,
DecoratorAnnotation models @decorator(args) patterns.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 16:57:10 +00:00
Bill
87615a7187 Steps 297-302: Phase 11b complete + Phase 11c step 302 (68/68 tests)
Phase 11b — Validation & Conflict Completion:
- Step 297: Subject 2-4 validation rules E0600-E0805 (12/12)
- Step 298: Subject 5-8 validation rules E0900-E1202 (12/12)
- Step 299: Cross-type conflict detection, 6 conflict pairs (12/12)
- Step 300: TransformEngineExtended — float folding, dead var, annotation-aware (12/12)
- Step 301: Phase 11b integration tests (8/8)

Phase 11c — Parser Deepening (start):
- Step 302: New AST nodes — ClassDeclaration, InterfaceDeclaration,
  MethodDeclaration, GenericType, TypeParameter with JSON roundtrip (12/12)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 16:53:23 +00:00
Bill
d4a3609050 Steps 290-294: Phase 11a — Semanno format, annotation codegen, visitor dispatch (60/60 tests)
Semanno comment format standard (@semanno:type(key=value)) with emitter/parser
covering all 67+ annotation types. SemannoAnnotationImpl CRTP mixin provides
default visitor implementations for all 56 extended annotation methods across
7 language generators. Virtual inheritance resolves diamond ambiguity between
ProjectionGenerator and SemannoAnnotationImpl.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 18:41:31 +00:00