Skip to content

🧠 Ubiquitous Language Agent Specification

🎯 Purpose

The Ubiquitous Language Agent is a core modeling assistant in the ConnectSoft AI Software Factory. Its primary purpose is to:

πŸ“– Extract, define, and formalize the Ubiquitous Language across all business and technical domains, ensuring shared understanding and semantic consistency between stakeholders, agents, and generated software.

It acts as the semantic anchor for all downstream architectural, domain, and engineering agents by producing precise, contextual, and traceable term definitions aligned with DDD principles.


πŸ“‹ Responsibilities

The Ubiquitous Language Agent fulfills the following responsibilities in the factory lifecycle:

Responsibility Description
🧾 Extract Domain Terms Analyze user prompts, business vision, and use case blueprints to identify candidate terms.
πŸ“˜ Define Ubiquitous Language Write formal definitions, relationships, and roles of terms, rooted in DDD and domain understanding.
πŸ”— Map to Bounded Contexts Classify terms by their context: core, supporting, generic subdomains.
🧩 Generate Glossary Files Output glossary artifacts in reusable formats: glossary.yaml, terms.json, markdown sections.
🧠 Provide Shared Context Feed consistent terminology to Domain Modeler, Architect, and Engineering agents.
πŸ”„ Detect Ambiguities Flag overlapping, conflicting, or unclear terms for review or clarification.
πŸ§ͺ Validate Term Usage Ensure defined terms are used consistently across user stories, APIs, and entity models.
πŸ’¬ Support Conversational Queries Answer clarification requests about term meaning, scope, and example usage.

🧭 Strategic Role in the Factory

flowchart LR
    VisionAgent[Vision Architect Agent] --> ULA[Ubiquitous Language Agent]
    ULA --> DomainModeler[Domain Modeler Agent]
    ULA --> BlueprintGen[Architecture Blueprint Generator]
    ULA --> DocsAgent[Documentation Agent]
    DomainModeler --> MicroserviceGen[Microservice Generator Agent]
Hold "Alt" / "Option" to enable pan & zoom

🧠 The ULA anchors the semantic model of the product by acting as a first-pass interpreter between business language and technical models.

It ensures the entire agentic ecosystem speaks the same language, reducing misalignment and improving generative output quality across every phase.


πŸ” Example Use Cases

Scenario ULA Action
βœ… New Product Vision Extracts glossary from business narrative
πŸ” Updated Domain Blueprint Re-analyzes and adds missing or evolved terms
πŸ’‘ Developer Query Explains term meaning and how it maps to aggregates or ports
πŸ” QA Verification Ensures all entity properties and messages use correct terms
πŸ“¦ Glossary Sync Pushes terms to Engineering Agents and Documentation layers

πŸ“₯ Inputs

The Ubiquitous Language Agent consumes structured and unstructured sources across multiple stages of the ConnectSoft AI Software Factory. These inputs form the semantic context from which domain terms are discovered and formalized.

Input Source Format Description
πŸ“ Product Vision Prompt Natural language (Markdown, plain text) High-level product descriptions, goals, and business context.
πŸ“¦ Feature Blueprints JSON, YAML Functional and non-functional feature specifications with user stories.
πŸ“„ DomainModel.yaml YAML Predefined aggregates, entities, and domain event structures.
🧠 Term Feedback Records JSON Previously rejected, refined, or overridden term definitions from human reviewers.
πŸ“š Industry Lexicon Plugins (optional) SK plugins, JSON Injected domain-specific terminology (e.g., Healthcare, Insurance, Education).
πŸ’¬ Conversation Logs Structured message history Captured Q\&A or clarification threads with users or agents.

πŸ“Œ All inputs are tagged with trace_id, source, and context_stage to ensure alignment and traceability throughout the lifecycle.


πŸ“€ Outputs

The ULA generates semantically structured and machine-consumable artifacts that feed the entire agent pipeline.

Output Artifact Format Purpose
πŸ“˜ glossary.yaml YAML Canonical glossary of terms, definitions, synonyms, contexts.
πŸ“„ terms.json JSON Normalized and structured term catalog with metadata (origin, confidence, usage count).
🧠 SharedMemory.TermMap In-memory structure Shared semantic memory injected into DomainModeler, Blueprint Agents, and API Designers.
πŸ“œ Glossary.md Markdown Human-readable glossary for documentation and onboarding.
πŸ“¬ TermEvents Event stream (SK, MCP, EventBus) TermCreated, TermUpdated, TermDeprecated events for downstream updates.
πŸ” UbiquitousLanguageContext Object Injected context for prompt chaining into other agents (Architect, QA, Engineer).

πŸ”„ Output Example: glossary.yaml

- term: Order
  definition: A customer request that includes one or more line items to be fulfilled by the system.
  type: AggregateRoot
  synonyms: [PurchaseRequest]
  boundedContext: Sales
  usageFrequency: High
  lastValidated: 2025-05-01

- term: LineItem
  definition: A single unit of order representing a specific product and quantity.
  type: Entity
  boundedContext: Sales

πŸ”Œ Data Flow Context

graph TD
  FeatureSpec[πŸ“¦ Feature Blueprint] --> ULA[🧠 Ubiquitous Language Agent]
  VisionPrompt[πŸ“ Product Vision] --> ULA
  DomainModel[πŸ“„ DomainModel.yaml] --> ULA
  ULA --> GlossaryYAML[πŸ“˜ glossary.yaml]
  ULA --> TermsJSON[πŸ“„ terms.json]
  ULA --> UbiquitousMemory[🧠 Shared Memory]
  ULA --> DomainModeler
  ULA --> DocsAgent
Hold "Alt" / "Option" to enable pan & zoom

πŸ“¦ Output Consumers

Agent / Component Consumes Output
Domain Modeler Agent glossary.yaml, SharedMemory.TermMap
Architecture Blueprint Generator terms.json, UbiquitousLanguageContext
Engineering Agents For naming ports, adapters, and DTOs
QA/Test Agents To verify term alignment in test plans
Documentation Agent Glossary.md for human documentation sites

πŸ“š Knowledge Base

The ULA is initialized with a multi-source knowledge base to ensure precise extraction and consistent usage of terms across contexts. This includes:

🧱 Built-In Semantic Models

Source Description
πŸ“˜ DDD Semantic Ontology Pre-trained mapping of Domain-Driven Design concepts (Aggregate, Entity, Bounded Context, etc.).
🧩 Software Factory Term Atlas A curated map of 5,000+ common terms used across SaaS domains, stored in vector DB.
🏷️ Contextual Pattern Rules NLP patterns and heuristics to identify meaningful nouns, verbs, value objects.
πŸ“– Industry Lexicons (optional) Domain-specific extensions (e.g., Medical, Insurance, Finance) loaded via SK Plugins or API.

These static resources form the ULA’s foundational reasoning layer and are used during both training and real-time generation.


🧬 Memory Architecture

ULA utilizes both short-term and long-term memory to ensure traceability, correction, and continuity across multi-cycle factory flows.

🧠 Short-Term Memory

Layer Purpose
πŸ”„ Prompt Context Holds input prompt(s), current glossary state, and last few validation rounds.
πŸ§ͺ Session Trace Stores trace_id, feature ID, and upstream agent references.
πŸ“ Token-Scoped Term Cache Keeps terms extracted in current execution window for deduplication.

Short-term memory is volatile and optimized for fast token-limited processing via Semantic Kernel.


🧠 Long-Term Memory (Persistent)

Store Description
πŸ—‚οΈ Vector DB (e.g., Azure Cognitive Search / Pinecone) Embedding-based semantic memory for glossary definitions, synonyms, and usage context.
πŸ“¦ File Storage (glossary.yaml, terms.json) Versioned outputs stored in Git-backed content repo or blob storage.
πŸ” MCP Memory Server (optional) External agent-accessible memory node for term sharing and lookup across agents.
πŸ“Š Telemetry Store Historical metrics about term creation, frequency, validation events.

🧠 Memory Retrieval Strategy

flowchart LR
    PromptInput[πŸ” Prompt Inputs] --> ContextCache[πŸ”„ Term Cache]
    VectorDB[πŸ—‚οΈ Vector DB] --> TermRecall[Term Retrieval Engine]
    TermRecall --> ContextCache
    ContextCache --> TermValidator
    TermValidator --> OutputArtifacts
Hold "Alt" / "Option" to enable pan & zoom

πŸ“Œ Example Term Recall Logic

Given the user prompt: β€œCustomers can create quotes and convert them into orders”

  • Extracts candidate terms: Customer, Quote, Order
  • Vector DB is queried:
    • Finds existing Order term β†’ reuses with confidence boost
    • Quote not found β†’ triggers definition generation
  • Term definitions are assembled and cross-validated via rules

πŸ”— Versioned Glossary Memory

The ULA assigns version_id and source_stage metadata to every term.

Field Example
term Quote
version_id glossary.v2.3.1
source_stage VisionPrompt + FeatureBlueprint
trace_id fea-9842-term-quote

🧠 This supports full-term traceability and enables glossary diffing, rollback, and auditing.


πŸ“Œ Summary

The ULA’s memory design ensures:

  • 🧠 Recall of known terms and prevention of duplicates
  • πŸͺ’ Semantic linking across aggregate roots, entities, and bounded contexts
  • πŸ” Continuity of definitions over multi-agent, multi-cycle flows
  • πŸ” Auditability and governance of glossary evolution

🧬 Process Flow

The ULA follows a deterministic, multi-stage pipeline to transform raw business prompts and specifications into a canonical, context-aware Ubiquitous Language Glossary.

This flow ensures repeatability, traceability, and semantic accuracy, integrating both LLM-based inference and rule-based postprocessing.


🧭 Agent Flow Diagram

flowchart TD
    A[πŸ“₯ Inputs: Prompts, Blueprints, DomainModel.yaml] --> B[🧠 Term Extraction Stage]
    B --> C[πŸ” Semantic Categorization]
    C --> D[πŸ“˜ Glossary Generation]
    D --> E[πŸ§ͺ Validation & Deduplication]
    E --> F[πŸ“€ Output Emission - YAML, JSON, Memory]
    F --> G[πŸ“¬ Event Dispatch - TermCreated/Updated]
Hold "Alt" / "Option" to enable pan & zoom

🧩 Step-by-Step Process

Step Description
1. Input Parsing Normalize raw prompts and structured inputs (feature blueprints, vision, models).
2. Term Extraction Apply NLP and SK skills to identify candidate terms and relationships.
3. Semantic Categorization Assign term roles: Aggregate, Entity, ValueObject, Process, Policy, Actor, ExternalSystem.
4. Contextual Enrichment Enrich terms using vector memory, domain patterns, and bounded context classification.
5. Glossary Synthesis Generate term entries in structured format (YAML + JSON + Markdown view).
6. Deduplication & Conflict Detection Detect existing definitions or similar terms, apply merge rules or escalate.
7. Validation Loop Check definition format, naming conventions, and referential integrity (e.g., used in DomainModel).
8. Output Emission Write glossary.yaml, terms.json, and update semantic kernel memory.
9. Event Dispatching Emit TermCreated, TermUpdated, TermRejected for reactive consumption by other agents.

🧠 Term Extraction Logic

Sample prompt: β€œA Customer can submit an Application containing multiple Animals to register at a Clinic.”

  • Identifies: Customer, Application, Animal, Clinic
  • Categorizes:
    • Customer β†’ Actor
    • Application β†’ Aggregate Root
    • Animal β†’ Entity
    • Clinic β†’ ExternalSystem
  • Stores definitions, roles, synonyms, and relationships

πŸ§ͺ Example Output Snippet

- term: Application
  definition: A registration request initiated by a Customer, containing one or more Animals, sent to a Clinic.
  role: AggregateRoot
  context: Registration
  synonyms: [PetApplication, RegistrationForm]
  trace_id: app-2025-05-04-001

πŸ” Looping Behavior

If the output does not pass validation or receives correction signals:

  • ❗ Triggers Term Re-generation
  • πŸ” Applies correction rules (e.g., clarify overlapping term, split compound)
  • πŸ”„ Re-runs from Glossary Synthesis β†’ Validation

πŸ§‘β€πŸ€β€πŸ§‘ Human Feedback Loop (Preview)

  • Manual reviewers (or Reviewer Agent) can:
    • Accept / reject terms
    • Suggest better phrasing
    • Force rename or redefine

🧠 This step integrates into Human Intervention Hooks


🧠 Observability Built-In

Each step emits:

  • ⏱ Duration
  • πŸ“ˆ Token cost
  • 🧾 Term count extracted
  • πŸ› Invalid definitions
  • πŸ“¬ Events emitted (by type)

βœ… Summary

The ULA’s process flow is:

  • πŸ” Repeatable
  • 🧠 Memory-integrated
  • πŸ§ͺ Validation-rich
  • πŸ“€ Multi-format aware
  • πŸ“¬ Event-emitting and composable

🧩 Semantic Kernel Skills & Functions

The ULA is built as a Semantic Kernel-based orchestration agent, with modular skills enabling term extraction, validation, glossary generation, and event-driven communication.

It uses a combination of custom C# skills, prompt-based semantic functions, and pluggable tools (via SK plugins or MCP servers).


πŸ”§ Core Semantic Kernel Skills

Skill Name Type Description
ExtractDomainTerms Prompt Function Uses prompt engineering to extract candidate domain terms from raw input.
ClassifyTermRole Semantic / Native Assigns roles like Aggregate, Entity, ValueObject, Actor, etc.
GenerateTermDefinition Semantic Creates structured definition with context, synonyms, and relationships.
SuggestBoundedContext Semantic Infers bounded context from term usage or feature alignment.
CheckTermConflicts Native (C#) Looks for naming collisions, duplicates, and similar definitions.
FormatGlossaryYaml Native Assembles YAML-compliant glossary artifact.
EmitTermEvents Native / EventBus Publishes lifecycle events (TermCreated, TermUpdated, TermRejected).
RetrieveSimilarTerms Vector Memory Queries term vector DB for existing definitions or overlap.
InjectGlossaryMemory SK Planner Feeds memory context to downstream agents (e.g., Domain Modeler).

🧬 Orchestration Flow (Internal Skill Chain)

flowchart TD
    A[ExtractDomainTerms] --> B[ClassifyTermRole]
    B --> C[GenerateTermDefinition]
    C --> D[RetrieveSimilarTerms]
    D --> E[CheckTermConflicts]
    E --> F[SuggestBoundedContext]
    F --> G[FormatGlossaryYaml]
    G --> H[EmitTermEvents]
Hold "Alt" / "Option" to enable pan & zoom

🧱 Modular SK Planner Functions

The ULA optionally supports planner-based chaining to adapt behavior based on:

  • Term complexity
  • Industry-specific lexicons
  • Conflict detection
  • Feedback loop status

βœ… Enables dynamic pipeline variation without code change.


πŸ”Œ Plugin Integrations (Optional)

Plugin Use
OpenAPI Plugin Can call 3rd-party glossaries or ontology APIs for industry-specific terms.
Web Plugin Searches domain-specific sources or Wikipedia for enrichment.
Document Plugin Parses PDFs or text files for term candidates.
Memory Plugin Loads and stores glossary memory from Azure Cognitive Search / Pinecone.
Graph Plugin (Future) To build term relationship graphs between aggregates and subdomains.

🧠 Function Configuration

Each skill has:

  • Retry strategy (max attempts, fallback mode)
  • Observability tags (trace_id, term_id, confidence score)
  • Toolchain signature (agent_id, skill_name, version, model_id)

πŸ§ͺ Example Semantic Function: GenerateTermDefinition

Prompt Template:

"Given the domain term: {{term}}, write a one-sentence definition suitable for inclusion in a DDD glossary.
Include synonyms and the term’s bounded context if available."

Input: term = "Quote"
Output: 
- definition: "A preliminary pricing request made by a customer before placing an order."
- synonyms: ["Estimate", "Pre-Order"]
- boundedContext: Sales

βœ… Summary

The ULA’s SK skillset ensures:

  • πŸ”§ Composability across pipelines
  • πŸ”„ Chained reasoning with planners
  • 🧠 Integration with memory & validation tools
  • πŸ“¦ Output in production-ready artifacts

🧠 Core Technologies

The ULA is implemented using a modular, AI-native, cloud-ready architecture, combining ConnectSoft platform standards with modern LLM orchestration tools.

Technology Role
🧠 Semantic Kernel (C#) Primary orchestration engine for skill chaining, memory access, and prompt templates
πŸ€– OpenAI / Azure OpenAI Foundation model provider for term extraction, definition synthesis, and categorization
πŸ” Azure Cognitive Search / Pinecone Vector memory backend for semantic glossary lookup and retrieval
🧬 LangChain Plugins / SK Connectors Access external ontologies, domain glossaries, and document stores
πŸ§‘β€πŸ’» .NET Core 8 Hosting environment for runtime agents and skill logic
πŸ“‚ Azure Blob Storage / GitHub Repo Persistent artifact storage (glossary.yaml, terms.json, Markdown views)
πŸ“‘ Event Bus (Azure Service Bus / Kafka) Emit TermCreated, TermUpdated, and sync events to downstream agents
🌐 MCP Servers (Model Context Protocol) Enable shared glossary memory and cross-agent glossary injection
πŸ“œ MkDocs (Material) Documentation generator for human-readable glossary views

πŸ”Œ Integration with ConnectSoft Stack

Component Integration Point
βœ… Vision Architect Agent Receives extracted terms from prompt analysis stage
βœ… Domain Modeler Agent Consumes canonical term list for building aggregates and entities
βœ… Blueprint Generator Agent Aligns DDD constructs and ports to glossary definitions
βœ… Microservice Generator Agent Uses terms for naming classes, folders, and services
βœ… Documentation Agent Renders Markdown glossary from glossary.yaml
βœ… QA/Testing Agents Validate semantic alignment between terms and test specs

πŸ” Security & Identity

Area Practice
API Access Token-based access to Azure OpenAI or OpenAI APIs
Artifact Access RBAC over Blob Storage or Git repositories
Event Publishing Authenticated publishing to secured queues or service bus topics
Plugin Wrappers SK plugins executed in sandboxed container context if needed

πŸ” Deployment Context

The ULA runs as:

  • 🧱 A microservice generated via ConnectSoft.MicroserviceTemplate with --UseSemanticKernel and --UseOpenAI enabled
  • 🌐 Exposes a REST API for external glossary queries (GET /glossary, POST /term)
  • πŸ”„ Acts as a headless agent when orchestrated by Vision or DomainModeler agents

βœ… Fully agent-compatible, versioned, traceable, and deployable with CI/CD pipelines


πŸ“Ά Optional Extensions

Extension Description
πŸ“š Ontology Plugin Access standardized vocabularies like FIBO, SNOMED, HL7, OWL-based taxonomies
πŸ“– Document Parser Load PDFs, Excel sheets, or HTML pages as prompt input
🌐 Web Search Plugin Fetch term definitions or synonyms dynamically from domain-specific sources
🧠 Graph Plugin (Upcoming) Builds term relationship graphs for visualization in architecture docs

πŸ“Œ Summary

The ULA is designed to operate as a cloud-native, AI-augmented, multi-agent service, tightly integrated with:

  • The ConnectSoft Agent Framework
  • SK/OpenAI capabilities
  • Cloud storage, memory, and event systems
  • Documentation and delivery pipelines

🧠 System Prompt (Bootstrap Instruction)

This is the foundational instruction injected during agent initialization. It defines the ULA's identity, expected behavior, and alignment to ConnectSoft’s Clean Architecture and DDD-first practices.

You are the Ubiquitous Language Agent (ULA) in the ConnectSoft AI Software Factory.

Your goal is to extract, define, and validate domain-specific terms from product descriptions, user stories, and domain models. These terms should reflect the Ubiquitous Language as defined in Domain-Driven Design (DDD) and must be contextually aligned with bounded contexts and aggregates.

For each term you extract, classify it as one of: Aggregate, Entity, ValueObject, DomainEvent, Actor, Policy, Process, ExternalSystem, or Concept.

Your definitions must be:
- Clear and concise (1–2 sentences)
- Use the same terminology as used in upstream prompts
- Provide synonyms if available
- Include the relevant bounded context
- Use markdown-safe formatting and YAML-serializable structure

Avoid generating overlapping terms, generic technical words, or vague labels. Ensure consistency across existing domain models and feature blueprints.

All outputs should be structured, testable, and traceable.

🧾 Input Prompt Template

This is the reusable semantic function prompt format used during skill execution (e.g., ExtractDomainTerms, GenerateTermDefinition, ClassifyTermRole).

πŸ“„ Template: Term Extraction

Given the following product or feature description:

{{input}}

Extract the list of domain terms that appear meaningful from a Domain-Driven Design (DDD) perspective.

For each term, return:
- Term name
- Type (Aggregate, Entity, etc.)
- The sentence or context it appeared in

Output in YAML list format.

πŸ“„ Template: Term Definition

Given the term "{{term}}" and its context: "{{context}}",

Write a one-sentence definition that is domain-relevant, specific, and aligned with Clean Architecture.

Also return:
- Synonyms (if any)
- Suggested bounded context
- Classification type

Output in this YAML format:
- term: {{term}}
  definition: "... "
  type: Aggregate | Entity | ...
  synonyms: [ ... ]
  boundedContext: ...

πŸ“„ Template: Glossary Generation (Full)

Using the following list of extracted terms:

{{terms}}

Generate a complete glossary in YAML format, where each term includes:
- definition
- type
- bounded context
- synonyms
- trace_id (you generate it as traceable UID)

πŸ“₯ Example Input

"A customer can create a quote that includes multiple line items and convert it into an order."

πŸ“€ Expected Output (Excerpt)

- term: Quote
  definition: A pricing proposal generated by a customer that outlines intended products or services.
  type: Aggregate
  boundedContext: Sales
  synonyms: [Estimate, Pre-Order]
  trace_id: term-20250504-01

βœ… Summary

ULA’s prompts are designed to:

  • Guide large language models with precision
  • Maintain YAML-safe, schema-aligned outputs
  • Embed DDD understanding and bounded context awareness
  • Support multi-cycle reuse and chaining across agents

πŸ“€ Output Expectations

ULA outputs are designed to be:

  • 🧱 Structurally consistent for machine agents
  • 🧠 Human-readable for business and product stakeholders
  • πŸ”— Traceable across factory execution flows
  • ♻️ Reusable across multiple agents and factory runs

Each output includes semantic data, classification metadata, and contextual traceability.


πŸ“˜ Primary Artifacts Produced

Artifact Format Description
glossary.yaml YAML Canonical DDD glossary file containing all discovered terms and their properties
terms.json JSON Normalized term records for use in web UIs, planners, and downstream APIs
Glossary.md Markdown Human-friendly glossary view, used by the Documentation Agent
UbiquitousLanguageContext Object In-memory structure injected into downstream agent executions
TermEvents Event Stream Used to notify Domain Modeler, Engineering, and Blueprint agents of glossary changes

πŸ“‚ Output Format: glossary.yaml

- term: Quote
  definition: A pricing proposal generated by a customer for a set of goods or services.
  type: Aggregate
  synonyms: [Estimate, Proposal]
  boundedContext: Sales
  trace_id: term-2025-05-04-Q001
  source: FeatureBlueprint:Registration
  confidenceScore: 0.96
  lastUpdated: 2025-05-04T14:33:00Z

- term: LineItem
  definition: An individual product entry within a Quote, specifying quantity and product.
  type: Entity
  boundedContext: Sales
  synonyms: []
  trace_id: term-2025-05-04-LI01
  confidenceScore: 0.91

🧩 Output Fields

Field Required Description
term βœ… The domain-specific label (e.g., Quote, Application, LineItem)
definition βœ… One-sentence description
type βœ… DDD role (Aggregate, Entity, ValueObject, Actor, etc.)
boundedContext βœ… Logical grouping of the term
synonyms ⬅️ Optional Alternative labels
trace_id βœ… Unique traceable identifier for linking outputs to factory flows
confidenceScore βœ… LLM-determined confidence (0–1)
source ⬅️ Optional Originating blueprint, prompt, or agent stage
lastUpdated βœ… UTC timestamp for version tracking

πŸ“„ terms.json Sample

[
  {
    "term": "Order",
    "definition": "A finalized customer request for fulfillment.",
    "type": "Aggregate",
    "boundedContext": "Sales",
    "trace_id": "term-2025-05-04-O001",
    "confidenceScore": 0.95
  }
]

πŸ“œ Markdown Rendering (Glossary.md)

### 🧾 Quote
- **Definition**: A pricing proposal generated by a customer for a set of goods or services.
- **Type**: Aggregate  
- **Bounded Context**: Sales  
- **Synonyms**: Estimate, Proposal  

---

### πŸ“„ LineItem
- **Definition**: An individual product entry within a Quote, specifying quantity and product.
- **Type**: Entity  
- **Bounded Context**: Sales

Generated automatically by the Documentation Agent from glossary.yaml.


πŸ” Event Emission: TermCreated, TermUpdated

Each term lifecycle emits an event (via Service Bus or Event Grid):

{
  "eventType": "TermCreated",
  "term": "Order",
  "boundedContext": "Sales",
  "source": "VisionAgent",
  "trace_id": "term-2025-05-04-O001",
  "timestamp": "2025-05-04T14:33:00Z"
}

Enables reactive term propagation to Domain Modeler and Engineering agents.


πŸ“¦ Output Consumers

Agent Usage
Domain Modeler Agent Builds aggregates/entities from terms
Blueprint Generator Agent Aligns ports and contexts
Engineering Agents Names DTOs, adapters, and handlers
Testing Agents Enforces term-aligned test coverage
Documentation Agent Renders glossary section for onboarding and product docs

βœ… Summary

ULA’s output is:

  • πŸ“ Structured (YAML, JSON, Markdown)
  • πŸ”— Traceable (trace_id, source, confidenceScore)
  • ♻️ Reusable across agents and documentation layers
  • πŸ”„ Emittable via events for pipeline continuity

βœ… Validation Process

To guarantee that the generated Ubiquitous Language:

  • 🧠 Aligns with Domain-Driven Design (DDD) principles
  • ❌ Avoids ambiguity, duplication, or inconsistency
  • πŸ”— Connects accurately to upstream input and downstream usage
  • πŸ“¦ Produces output that is consumable by other agents

πŸ§ͺ Multi-Layer Validation Pipeline

Validation is applied at three levels:

Layer What It Validates
1️⃣ Syntactic YAML/JSON formatting, required fields, naming conventions
2️⃣ Semantic DDD role correctness, context alignment, clarity of definitions
3️⃣ Contextual Reuse consistency, cross-term references, duplication across stages

πŸ” Step-by-Step Validation Flow

flowchart TD
    A[⬇️ Glossary Generation] --> B[πŸ“ Format Validator]
    B --> C[🧠 Semantic Consistency Validator]
    C --> D[πŸ” Term Deduplicator]
    D --> E[πŸ”— Cross-Agent Alignment Check]
    E --> F{βœ… All Pass?}
    F -- Yes --> G[πŸ“€ Output Emission]
    F -- No --> H[🚨 Correction Path Triggered]
Hold "Alt" / "Option" to enable pan & zoom

πŸ”Ž Validators Defined

1. πŸ“ Format Validator

  • Ensures:
    • YAML or JSON is parseable
    • Fields are not missing (term, definition, type, trace_id)
    • type is one of: Aggregate, Entity, ValueObject, DomainEvent, etc.

2. 🧠 Semantic Validator

  • Runs checks on:
    • Definitions being concise and domain-specific
    • Correct use of DDD concepts (e.g., don't assign Aggregate to Email)
    • Avoids circular definitions or tautologies

3. πŸ” Deduplication Engine

  • Checks against:
    • Existing glossary memory (vector similarity > 0.85)
    • Same term names in different contexts
    • Misspellings or case-sensitive variants

4. πŸ”— Alignment Validator

  • Confirms term presence in:
    • Feature blueprints
    • DomainModel.yaml
    • Past glossary versions

πŸ“‰ Example Invalid Entries

Issue Sample
❌ Missing definition - term: Customer
❌ Ambiguous type type: Object
❌ Duplicate with small variation LineItem vs Line Item
❌ Overly generic term Data or Info as a root-level term
❌ Undefined context boundedContext: ""

πŸ“€ Validation Metadata

Each term includes a validation status block:

validation:
  passed: false
  issues:
    - "Missing boundedContext"
    - "Definition is too generic"
  validatedAt: 2025-05-04T14:40:00Z

Only passed: true terms are emitted to final artifacts or injected into other agents.


🧠 Integration with Other Agents

Agent Validation Usage
Domain Modeler Agent Refuses to build aggregates from invalid terms
Docs Agent Skips glossary rendering of rejected entries
Reviewer Agent Highlights flagged terms for human approval

βœ… Summary

ULA’s validation ensures:

  • ⚠️ Bad terms are caught early
  • πŸ” Inconsistent or vague definitions are filtered
  • πŸ“Š Outputs meet Clean Architecture expectations
  • πŸ”— Terms integrate safely with DomainModeler, Engineering, QA

πŸ” Retry & Correction Flow

The retry and correction flow ensures:

  • ✨ Glossary completeness and clarity
  • 🧠 Semantic precision after validation failures
  • πŸ”„ Autonomous recovery without human dependency (unless escalated)
  • πŸ“ˆ High-quality inputs for downstream agents (DomainModeler, Engineering, QA)

πŸ” Retry Flow Overview

flowchart TD
    A[⬇️ Validation Fails] --> B[🧠 Retry Triggered]
    B --> C[πŸ“₯ Input Context Review]
    C --> D[🧠 Regenerate Term or Definition]
    D --> E[πŸ“„ Revalidate Glossary Block]
    E --> F{βœ… Passes Now?}
    F -- Yes --> G[πŸ“€ Emit Updated Artifact]
    F -- No --> H[πŸ§‘ Human Escalation (optional)]
Hold "Alt" / "Option" to enable pan & zoom

πŸ“¦ Triggers for Retry

Scenario Triggered Action
❌ Missing fields Auto-fill defaults or re-query LLM
❌ Conflict with similar term Re-define or merge candidate
❌ Weak/confusing definition Add prompt context and re-run generation
❌ Invalid type classification Reroute through ClassifyTermRole function
❌ Out-of-context term Reject or propose alias in more relevant context

πŸ”„ Retry Strategy

Component Strategy
πŸ” LLM Re-prompting Retry with enriched prompt (adds context, examples, constraints)
πŸ” Context Refinement Pull in surrounding blueprint text or historical glossary memory
πŸ”§ Fallback Rules Use prebuilt rules (e.g., default to Entity if uncertain)
🧠 Term Merge Handler Combine near-duplicates with confidence weighting
πŸ§‘ Reviewer Path (optional) Escalate to human-in-the-loop for final decision

πŸ“„ Enriched Retry Prompt Example

Retrying definition for the term: "Submission"

Previous output was vague or too generic. Here's more context:
- Appears in: "A clinic staff member can initiate a submission for review"
- Possible meaning: A formal request sent to an external system

Try again. Define clearly and classify it within a DDD bounded context.

πŸ“ Correction Metadata (Versioned Term Block)

- term: Submission
  definition: A formalized set of documents or forms submitted to an external agency for processing.
  type: DomainEvent
  boundedContext: Compliance
  trace_id: term-2025-05-04-SUB001
  corrections:
    - "Initial definition was too vague"
    - "Added context from blueprint: 'clinic staff review flow'"
  retries: 2
  validated: true

🧠 Intelligent Retry Control

The retry loop:

  • Caps attempts (maxAttempts: 3)
  • Logs retryReason and correctionStrategy
  • Emits telemetry for retry count, fail reason, and correction outcome
  • Escalates only when retry confidence is below threshold (e.g., < 0.7)

πŸ”” Human Escalation Path (If All Fails)

Action Tool
πŸ“ Add to term_review_queue.yaml Reviewer Agent or human approves
🚦 Flag via TermRejected event Consumed by monitoring dashboards
πŸ“¬ Alert via Teams/Slack plugin Optional integration for term moderators

βœ… Summary

ULA's retry/correction loop:

  • πŸ”„ Recovers gracefully from glossary failures
  • 🧠 Enhances definitions using semantic and contextual reasoning
  • πŸ§‘ Allows human curation only when needed
  • πŸ“Š Emits correction metadata for audit, observability, and QA use

🀝 Collaboration Interfaces

To enable semantic continuity and factory-wide interoperability, the ULA exposes clean, contract-based collaboration interfaces to all upstream and downstream agents that depend on consistent domain terminology.

These interfaces are:

  • 🧠 Memory-aware
  • πŸ”„ Event-driven
  • πŸ”Œ API-compatible
  • ♻️ Retryable and traceable

πŸ”„ Primary Collaboration Targets

Target Agent Interaction Role
🧠 Vision Architect Agent Receives raw product vision β†’ provides initial prompt inputs
🧩 Domain Modeler Agent Consumes canonical glossary β†’ builds aggregates, entities, events
πŸ“ Architecture Blueprint Agent Aligns glossary to ports, transport rules, and DDD contexts
🧰 Engineering Agents (Code Generators) Use glossary for naming conventions, DTOs, adapter interfaces
πŸ“œ Documentation Agent Renders glossary sections in Markdown and Docs UI
βœ… QA/Testing Agents Ensure usage of defined terms in test cases and acceptance criteria

🧬 Interface Types

Type Method Description
🧠 Shared Memory Injection SK Kernel Context Injects UbiquitousLanguageContext object into other agents' reasoning scope
πŸ“‘ Event Bus Signals Service Bus / Kafka Emits term lifecycle events (TermCreated, TermUpdated, TermRejected)
🌐 HTTP API REST / JSON Exposes glossary endpoints: GET /terms, GET /term/{name}, POST /feedback
πŸ” Prompt Context Injection Prompt Block Adds ## Known Terms section to other agents' prompt templates
πŸ”Œ MCP Server Memory API (optional) Plugin Adapter Shared semantic glossary node accessible by multiple agents in distributed setups

🧠 UbiquitousLanguageContext Format (Injected Memory Object)

{
  "glossary": [
    {
      "term": "Quote",
      "definition": "A pricing proposal generated by a customer.",
      "type": "Aggregate",
      "boundedContext": "Sales"
    }
  ],
  "sourceAgent": "ULA",
  "traceId": "glossary-2025-05-04"
}

Used by:

  • 🧩 Domain Modeler β†’ builds aggregates/entities
  • πŸ“ Architecture Blueprint Agent β†’ maps ports
  • 🧰 Engineering Agents β†’ names adapters/DTOs

πŸ“‘ Event Format (TermCreated)

{
  "eventType": "TermCreated",
  "term": "Quote",
  "trace_id": "term-2025-05-04-Q001",
  "agent": "ULA",
  "boundedContext": "Sales",
  "timestamp": "2025-05-04T15:02:00Z"
}

Emitted to glossary.events.topic for real-time term sync.


🌐 REST API Endpoints

Endpoint Purpose
GET /glossary Retrieve full glossary as JSON
GET /term/{name} Lookup specific term
POST /term-feedback Accept feedback or correction for a term
GET /terms/context/{boundedContext} Query terms by bounded context

🀝 Cross-Agent Prompt Injection Example

Injected into Domain Modeler:

## Known Terms

- Quote (Aggregate): A pricing proposal by a customer.
- LineItem (Entity): An individual product line in a Quote.

Use the above as canonical definitions when generating domain models.

🧠 Sample Collaboration Sequence

sequenceDiagram
    participant Vision as Vision Agent
    participant ULA as Ubiquitous Language Agent
    participant DomainModeler as Domain Modeler
    participant Blueprint as Blueprint Agent
    participant Docs as Documentation Agent

    Vision->>ULA: Submit product vision
    ULA->>DomainModeler: Inject UbiquitousLanguageContext
    ULA->>Blueprint: Emit glossary.yaml
    ULA->>Docs: Send Glossary.md
Hold "Alt" / "Option" to enable pan & zoom

βœ… Summary

ULA's collaboration interfaces:

  • πŸ”„ Enable agent-to-agent glossary continuity
  • 🧠 Allow semantic memory reuse
  • πŸ“‘ Power event-driven architecture
  • 🌐 Expose REST APIs for observability, debugging, and sync
  • πŸ“¦ Feed agent prompts and reasoning layers

πŸ“Š Observability Hooks

To ensure the ULA operates reliably and transparently at scale, all core behaviors are instrumented with:

  • πŸ“ˆ Metrics
  • 🧡 Tracing
  • πŸͺ΅ Logging
  • πŸ§ͺ Validation Reporting

These observability features enable:

  • 🚦 Agent health and uptime monitoring
  • πŸ” Prompt-output traceability
  • 🧠 Glossary quality reporting
  • πŸ§‘β€πŸ”§ Debugging of generation or validation failures
  • πŸ“Š Semantic glossary usage analytics

πŸ“ˆ Key Metrics (Prometheus / Azure Monitor)

Metric Name Type Description
ula_terms_generated_total Counter Number of terms created by ULA
ula_terms_validated_total Counter Number of terms that passed all validation
ula_retry_count Counter Total retries triggered for invalid terms
ula_invalid_term_ratio Gauge % of terms rejected per batch
ula_avg_glossary_size Gauge Average number of terms per output cycle
ula_vector_hits_total Counter Times vector memory retrieved an existing term
ula_trace_errors_total Counter Prompt/response chain failures

🧡 Distributed Tracing (OpenTelemetry)

Each ULA invocation is traceable via:

  • πŸ“Œ trace_id attached to:
    • Inputs (prompt, blueprint, upstream agent)
    • Output (term blocks, events)
  • πŸ“Ž Spans for:
    • Term extraction
    • Definition generation
    • Validation steps
    • Output rendering
  • πŸ“‘ Trace propagation across:
    • Vision Agent β†’ ULA β†’ DomainModeler
    • ULA β†’ Event Bus β†’ Engineering Agents

Traces are compatible with Azure Application Insights, Jaeger, and Grafana Tempo.


πŸͺ΅ Structured Logging (Serilog / OpenTelemetry Logs)

Log Type Fields
TermGeneration term, confidenceScore, modelId, source
ValidationFailure term, issues[], retryCount, trace_id
MemoryHit term, similarTerm, similarityScore
EventDispatch eventType, term, boundedContext, recipientAgent
CorrectionAction term, correctionType, retries, fallbackStrategy

All logs are emitted in JSON format and support ElasticSearch, Azure Log Analytics, or Seq backends.


πŸ“¬ Event Stream Monitoring

Each emitted event includes:

  • eventId, traceId, eventType, timestamp, agent, term
  • Can be tracked in:
    • Azure Event Grid Dashboard
    • Kafka Topics + Lag Monitoring
    • Grafana Alerting (failed terms, high retry count)

πŸ“Š Glossary Quality Dashboard

Recommended dashboard views:

  • πŸ“¦ Glossary Size per Product
  • βœ… Validation Pass/Fail Ratio
  • πŸ”„ Retry Frequencies
  • ⏱ Generation Time per Batch
  • πŸ“š Top Bounded Contexts by Term Count
  • 🧠 Most Frequent Terms (memory hits)

These can be visualized via Grafana, Power BI, or custom dashboards.


πŸ› οΈ Debug Mode (Developer Hook)

If triggered via header or API param:

GET /glossary?debug=true

Returns:

  • Prompt inputs
  • Intermediate reasoning (term selection, classification logs)
  • Validation report
  • Trace metadata
  • Retry/correction history

Useful for developers, reviewers, or auditor agents.


βœ… Summary

ULA is deeply observable, with:

  • πŸ“ˆ Real-time glossary generation and quality metrics
  • 🧡 Full traceability across promptβ†’termβ†’outputβ†’event
  • πŸͺ΅ Actionable structured logs and validation feedback
  • πŸ“‘ Event observability across agent network
  • πŸ“Š Dashboards for glossary health, retries, term counts

πŸ§‘β€πŸ’Ό Human Intervention Hooks

While ULA is designed for full autonomy, some situations require human guidance, especially when:

  • πŸ€– Ambiguity exceeds model confidence
  • ❌ Definitions conflict with domain reality
  • 🧠 Terminology carries strategic implications
  • πŸ§‘ Product Owners, Architects, or Domain Experts request oversight

ULA supports both proactive reviews (triggered by rules) and on-demand overrides (triggered by users).


πŸ”” Trigger Conditions for Human Review

Condition Description
❌ Validation Failure After Max Retries Term fails all retry/correction attempts
πŸ“‰ Low Confidence Score Model outputs score < threshold (default: 0.75)
⚠️ Semantic Ambiguity Conflicting synonyms, unclear role or bounded context
🧩 Human-Tagged Terms Terms marked requiresReview: true in upstream inputs
πŸ“œ Regulatory/Industry Keywords Sensitive domains (e.g., β€œclaim”, β€œtreatment”, β€œsubmission”) trigger review
🧠 Feedback Loop Input Term received negative or unclear feedback from previous agent or user

πŸ—‚οΈ Review Queue Artifact

Invalid or pending terms are written to a structured queue:

reviewQueue:
  - term: Claim
    reason: "Low model confidence + industry-regulated term"
    lastAttemptedDefinition: "A document submitted to request payment"
    trace_id: term-2025-05-04-CL001
    retries: 3
    requiresAttention: true
    suggestedAction: "Human confirmation or reword"

This can be:

  • πŸ“„ Written to term_review_queue.yaml
  • πŸ“¨ Sent as a message to a Reviewer Agent
  • πŸ“¬ Posted to Microsoft Teams / Slack (via integration plugin)

πŸ§‘β€πŸ’» Manual Review Actions

Action Result
βœ… Approve Term marked valid and emitted as usual
✍️ Edit Reviewer updates definition, synonyms, or type
🚫 Reject Term is excluded from glossary and event stream
πŸ”„ Resubmit Retriggers generation with human-supplied hint/context
πŸ“ File for Later Term deferred to another iteration or team

All manual actions are versioned and stored.


🧠 Reviewer UX Channels

Channel Description
πŸ“œ Review Queue UI Embedded in Docs UI or ConnectSoft Ops Portal
πŸ“¬ Email/Teams Plugin Term review digests or alerts sent to stakeholders
🧠 Reviewer Agent (Optional) AI-assisted review agent that summarizes, suggests, and applies changes
🧾 Markdown Summary Generated GlossaryReview.md section for manual inspection

πŸ“ Trace & Override Metadata

Every human-impacted term is annotated:

- term: Coverage
  definition: The extent of financial protection under a policy.
  correctedBy: human
  reviewer: a.romero@connectsoft.io
  reviewReason: "Ambiguous across BoundedContexts"
  validated: true
  trace_id: term-2025-05-04-COV01
  version: 3

🧠 Human Feedback Injection into SK Memory

All human corrections or confirmations are embedded into memory:

{
  "term": "Coverage",
  "approvedBy": "Alex Romero",
  "confidenceOverride": 1.0,
  "reviewNotes": "Clarified for Insurance context only"
}

This feedback improves future glossary generations and reduces recurrence of errors.


βœ… Summary

ULA supports a structured human-in-the-loop flow with:

  • 🚦 Review triggers based on validation, ambiguity, and model scores
  • πŸ“œ Structured queue artifact for consistent review
  • πŸ§‘ UI and agent channels for human moderation
  • 🧠 Memory updates based on human feedback
  • πŸ“Š Audit trail and traceability for every overridden term

πŸ—οΈ Placement in End-to-End Factory Flow


🎯 Strategic Role

The Ubiquitous Language Agent is a foundational pillar in the factory lifecycle. It acts as:

  • 🧠 The semantic translator from product vision to formal domain terms
  • 🧩 The linguistic source of truth for all downstream agents
  • πŸ”— The glue that binds business language to technical architecture

No aggregate, entity, port, or documentation should be named without ULA’s semantic validation.


🧭 High-Level Factory Flow with ULA

flowchart TD
    A[πŸ‘“ Vision Architect Agent] --> B[🧠 Ubiquitous Language Agent]
    B --> C[πŸ›οΈ Domain Modeler Agent]
    B --> D[πŸ“ Architecture Blueprint Agent]
    B --> E[πŸ“œ Documentation Agent]
    C --> F[🧰 Engineering Agent]
    D --> F
    F --> G[πŸš€ Deployment / Ops Agent]
Hold "Alt" / "Option" to enable pan & zoom

πŸ” Flow Description

Stage ULA Role
1. Vision Ingestion Receives high-level business prompts and feature specs
2. Glossary Generation Extracts DDD terms, definitions, bounded contexts
3. Glossary Injection Injects glossary into SK memory for DomainModeler and Blueprint agents
4. Event Emission Emits TermCreated, TermUpdated events to trigger downstream responses
5. Prompt Augmentation Adds ## Known Terms block into other agents’ prompts to ensure aligned vocabulary
6. Documentation Feed Sends glossary.yaml and Glossary.md to Docs Agent
7. Feedback Loop Accepts feedback, corrections, or redefinitions from humans or agents for refinement

🧬 Downstream Agent Impact

Agent How ULA Feeds It
πŸ›οΈ Domain Modeler Agent Receives terms with roles (e.g., Aggregate, Entity) to construct DDD models
πŸ“ Blueprint Generator Uses bounded contexts and term names for clean architecture layer naming
🧰 Engineering Agent Applies term names in DTOs, port contracts, folders, handlers
βœ… QA Agent Aligns acceptance criteria and test inputs with glossary-defined terms
πŸ“œ Documentation Agent Auto-generates glossary sections in documentation UI or MkDocs

🧠 Semantic Chain Enforcement

ULA enforces terminological traceability across:

  • πŸ“Œ Feature blueprints β†’
  • πŸ“˜ Glossary terms β†’
  • 🧱 Domain model elements β†’
  • 🧰 Code artifacts β†’
  • πŸ§ͺ Tests and validation β†’
  • πŸ“œ Documentation and user guides

🧠 Shared Memory Injection

Each collaborating agent receives:

{
  "glossary": [
    {
      "term": "Quote",
      "definition": "A pricing proposal by a customer.",
      "type": "Aggregate",
      "boundedContext": "Sales"
    }
  ],
  "trace_id": "glossary-2025-05-04",
  "sourceAgent": "ULA"
}

πŸ”„ Reactive Agent Flows (via Events)

  • A TermCreated β†’ Triggers DomainModelerAgent.RegenerateModel()
  • A TermUpdated β†’ Triggers DocsAgent.RefreshGlossarySection()
  • A TermRejected β†’ Blocks glossary injection into prompt context

🧠 Factory Flow Timeline (Simplified)

gantt
    title ULA Timeline Across Factory

    section Vision
    Vision Architect Agent    :done,    va1, 2025-05-04, 30m

    section Glossary Generation
    ULA Extraction & Definition :done, ula1, after va1, 20m
    ULA Validation + Retry      :done, ula2, after ula1, 15m

    section Downstream Injection
    Inject into DomainModeler   :done, ula3, after ula2, 2m
    Emit Term Events            :done, ula4, after ula3, 1m
Hold "Alt" / "Option" to enable pan & zoom

βœ… Summary

ULA is embedded in the semantic core of the factory:

  • 🧱 No term, model, or component exists without passing through it
  • 🧠 Guarantees alignment from vision β†’ code β†’ documentation
  • πŸ› οΈ Enables consistent, event-driven, memory-shared collaboration
  • 🧩 Propagates shared vocabulary to every domain-specific agent

πŸ“Š Mermaid Diagrams & Architecture Embedding


πŸ“ High-Level Agent Interaction Diagram

flowchart TD
    VISION[πŸ‘“ Vision Architect Agent] -->|Product Prompt| ULA[🧠 Ubiquitous Language Agent]

    ULA -->|Glossary YAML| DOMAIN[πŸ›οΈ Domain Modeler Agent]
    ULA -->|Known Terms Memory| BLUEPRINT[πŸ“ Blueprint Generator Agent]
    ULA -->|Glossary Markdown| DOCS[πŸ“œ Documentation Agent]
    ULA -->|Semantic Memory| ENG[🧰 Engineering Agent]
    ULA -->|Events| QA[βœ… QA/Testing Agent]
Hold "Alt" / "Option" to enable pan & zoom

ULA serves as a semantic nexus, distributing precise domain vocabulary to all factory components.


🧬 Internal Agent Skill Pipeline

graph TD
    Input[πŸ“ Prompt Input] --> Extract[πŸ” ExtractDomainTerms]
    Extract --> Classify[🏷️ ClassifyTermRole]
    Classify --> Define[🧠 GenerateTermDefinition]
    Define --> Validate[πŸ§ͺ RunValidators]
    Validate --> Format[πŸ“˜ FormatGlossaryYaml]
    Format --> Emit[πŸ“€ EmitTermEvents]
    Emit --> Memory[🧠 InjectIntoSKMemory]
Hold "Alt" / "Option" to enable pan & zoom

🧩 Data Flow Diagram

flowchart LR
    Prompt[πŸ“₯ Product Vision / Blueprint]
    MemoryDB[🧠 Vector DB / Cognitive Search]
    EventBus[πŸ“‘ Term Events Bus]
    GlossaryFile[πŸ“˜ glossary.yaml]
    DomainAgent[πŸ›οΈ Domain Modeler]

    Prompt --> ULA
    MemoryDB --> ULA
    ULA --> GlossaryFile
    ULA --> EventBus
    ULA --> DomainAgent
Hold "Alt" / "Option" to enable pan & zoom

🧠 Glossary Validation Flow

flowchart TD
    A[πŸ“„ Raw Term Block] --> B[πŸ“ Format Validator]
    B --> C[🧠 Semantic Validator]
    C --> D[πŸ” Deduplication]
    D --> E{βœ… Passed All?}
    E -- Yes --> F[πŸ“€ Emit Term]
    E -- No --> G[πŸ” Retry or ⏸ Human Review]
Hold "Alt" / "Option" to enable pan & zoom

πŸ“š Glossary Lifecycle Diagram

sequenceDiagram
    participant V as Vision Agent
    participant U as ULA
    participant D as Domain Modeler
    participant H as Human Reviewer
    participant Q as QA Agent

    V->>U: Submit product vision prompt
    U->>U: Extract + Define terms
    U->>U: Validate + Deduplicate
    alt Valid output
        U->>D: Inject glossary
        U->>Q: Emit TermCreated event
    else Needs review
        U->>H: Push to review queue
        H->>U: Submit correction
        U->>D: Reinject corrected glossary
    end
Hold "Alt" / "Option" to enable pan & zoom

πŸ“¦ ULA as Microservice

flowchart TD
    ULAAPI[🌐 ULA REST API]
    Events[πŸ“‘ Azure Service Bus]
    Blob[πŸ“‚ Azure Blob Storage]
    SK[🧠 Semantic Kernel Host]
    Vector[πŸ” Pinecone / Cognitive Search]

    ULAAPI --> SK
    SK --> Events
    SK --> Blob
    SK --> Vector
Hold "Alt" / "Option" to enable pan & zoom

ULA is deployable as a fully autonomous, SK-powered, event-emitting, memory-integrated microservice.


βœ… Summary

These diagrams:

  • πŸ“Š Embed ULA into the ConnectSoft architecture landscape
  • πŸ” Show lifecycle from prompt to glossary emission
  • 🧱 Visualize core flows, memory injection, retries, and API interfaces
  • πŸ“‘ Clarify ULA’s place in cross-agent workflows and microservice architecture