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:
@@ -506,6 +506,9 @@ class AmbiguityAnnotation : public Annotation {
|
||||
public:
|
||||
std::string intent;
|
||||
std::vector<std::string> options;
|
||||
// Workflow routing fields (Subject 9)
|
||||
std::string level; // "none" | "low" | "medium" | "high"
|
||||
std::string description;
|
||||
AmbiguityAnnotation() { conceptType = "AmbiguityAnnotation"; }
|
||||
};
|
||||
|
||||
@@ -538,3 +541,40 @@ public:
|
||||
std::string reason;
|
||||
DecisionAnnotation() { conceptType = "DecisionAnnotation"; }
|
||||
};
|
||||
|
||||
// ── Subject 9: Workflow Routing Annotations ──────────────────────
|
||||
|
||||
class ContextWidthAnnotation : public Annotation {
|
||||
public:
|
||||
std::string width; // "local" | "file" | "project" | "cross-project"
|
||||
ContextWidthAnnotation() { conceptType = "ContextWidthAnnotation"; }
|
||||
};
|
||||
|
||||
class ReviewAnnotation : public Annotation {
|
||||
public:
|
||||
bool required = false;
|
||||
std::string reviewer; // "human" | "agent" | "either"
|
||||
std::string reason;
|
||||
ReviewAnnotation() { conceptType = "ReviewAnnotation"; }
|
||||
};
|
||||
|
||||
class AutomatabilityAnnotation : public Annotation {
|
||||
public:
|
||||
std::string strategy; // "deterministic" | "template" | "slm" | "llm" | "human"
|
||||
double confidence = 0.0;
|
||||
AutomatabilityAnnotation() { conceptType = "AutomatabilityAnnotation"; }
|
||||
};
|
||||
|
||||
class PriorityAnnotation : public Annotation {
|
||||
public:
|
||||
std::string level; // "critical" | "high" | "medium" | "low"
|
||||
std::vector<std::string> blockedBy;
|
||||
PriorityAnnotation() { conceptType = "PriorityAnnotation"; }
|
||||
};
|
||||
|
||||
class ImplementationStatusAnnotation : public Annotation {
|
||||
public:
|
||||
std::string status; // "skeleton" | "partial" | "complete" | "needs-review"
|
||||
std::string assignee;
|
||||
ImplementationStatusAnnotation() { conceptType = "ImplementationStatusAnnotation"; }
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user