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>
This commit is contained in:
@@ -401,6 +401,8 @@ public:
|
||||
auto* a = static_cast<const AmbiguityAnnotation*>(anno);
|
||||
appendProp(props, "intent", a->intent, first);
|
||||
appendVec(props, "options", a->options, first);
|
||||
appendProp(props, "level", a->level, first);
|
||||
appendProp(props, "description", a->description, first);
|
||||
} else if (ct == "CandidateAnnotation") {
|
||||
tag = "candidate";
|
||||
auto* a = static_cast<const CandidateAnnotation*>(anno);
|
||||
@@ -424,6 +426,37 @@ public:
|
||||
appendProp(props, "author", a->author, first);
|
||||
appendProp(props, "reason", a->reason, first);
|
||||
|
||||
// --- Subject 9: Workflow Routing ---
|
||||
} else if (ct == "ContextWidthAnnotation") {
|
||||
tag = "contextwidth";
|
||||
auto* a = static_cast<const ContextWidthAnnotation*>(anno);
|
||||
appendProp(props, "width", a->width, first);
|
||||
} else if (ct == "ReviewAnnotation") {
|
||||
tag = "review";
|
||||
auto* a = static_cast<const ReviewAnnotation*>(anno);
|
||||
appendBool(props, "required", a->required, first);
|
||||
appendProp(props, "reviewer", a->reviewer, first);
|
||||
appendProp(props, "reason", a->reason, first);
|
||||
} else if (ct == "AutomatabilityAnnotation") {
|
||||
tag = "automatability";
|
||||
auto* a = static_cast<const AutomatabilityAnnotation*>(anno);
|
||||
appendProp(props, "strategy", a->strategy, first);
|
||||
if (a->confidence > 0.0) {
|
||||
if (!first) props += ",";
|
||||
props += "confidence=" + std::to_string(a->confidence);
|
||||
first = false;
|
||||
}
|
||||
} else if (ct == "PriorityAnnotation") {
|
||||
tag = "priority";
|
||||
auto* a = static_cast<const PriorityAnnotation*>(anno);
|
||||
appendProp(props, "level", a->level, first);
|
||||
appendVec(props, "blockedBy", a->blockedBy, first);
|
||||
} else if (ct == "ImplementationStatusAnnotation") {
|
||||
tag = "implstatus";
|
||||
auto* a = static_cast<const ImplementationStatusAnnotation*>(anno);
|
||||
appendProp(props, "status", a->status, first);
|
||||
appendProp(props, "assignee", a->assignee, first);
|
||||
|
||||
// --- Semantic Core ---
|
||||
} else if (ct == "IntentAnnotation") {
|
||||
tag = "intent";
|
||||
|
||||
Reference in New Issue
Block a user