Skip to content

Ticket Masala v3.1+ - Future Roadmap

Version: 3.1, 3.2, 4.0
Date: December 2025
Status: Planning


Overview

This document covers improvements planned for v3.1 and beyond. These build on the v3.0 MVP foundation and include higher-effort features.

[!NOTE] Complete v3.0 MVP before starting these items.


v3.1 - Configuration & Observability

1.1 Scriban Templates for Ingestion

Problem: Ingestion mappings require code changes.

Solution: IngestionTemplateService with Scriban templates from appsettings.json.

Status: Implemented

// appsettings.json
"IngestionTemplates": {
  "landscaping": {
    "Title": "{{ source.subject | string.truncate 100 }}",
    "Description": "{{ source.body }}",
    "DomainId": "Gardening"
  }
}

Effort: Medium (2-3 sprints) | Priority: High


1.2 Configuration Hot Reload

Problem: Config changes require restart.

Solution: FileSystemWatcher with 500ms debounce.

Status: Implemented in DomainConfigurationService.cs

Effort: Low (1 sprint) | Priority: Medium


1.3 Schema Validation for CustomFieldsJson

Problem: No validation for dynamic JSON fields.

Solution: CustomFieldValidationService validates types, required fields, min/max, and select options.

Status: Already Implemented

Effort: Medium (2 sprints) | Priority: Medium


1.4 Prometheus Metrics Export

Problem: No visibility into GERDA performance.

Solution: Simple /metrics endpoint with uptime, memory, GC stats.

Status: Implemented in Program.cs

Effort: Low (1 sprint) | Priority: Medium


1.5 Health Check Dashboard

Problem: No visual overview of system health.

Solution: /health endpoint with JSON response format.

Status: Implemented in Program.cs

Effort: Low (0.5 sprint) | Priority: Medium


v3.2 - AI & Plugin System

2.1 Explainability API

Problem: Users don't understand GERDA recommendations.

Solution: Return contributing factors with each recommendation.

{
  "recommendation": { "recommendedAgent": "john.doe" },
  "explanation": {
    "factors": [
      { "name": "Category Match", "weight": 0.35 },
      { "name": "Workload Balance", "weight": 0.25 }
    ]
  }
}

Effort: High (3-4 sprints) | Priority: High


2.2 Feedback Loop for Learning

Problem: GERDA can't learn from user corrections.

Solution: Track acceptance/rejection of recommendations.

Effort: High (4+ sprints) | Priority: Medium


2.3 Plugin Architecture

Problem: Adding strategies requires code changes.

Solution: Runtime plugin loading from /plugins folder.

public interface IMasalaPlugin
{
    string Name { get; }
    void RegisterServices(IServiceCollection services);
}

Effort: Medium (2-3 sprints) | Priority: Medium


2.4 Config Versioning UI

Problem: No way to view/rollback config changes.

Solution: Admin UI for configuration history.

Effort: Medium (2 sprints) | Priority: Low


2.5 Alerting Webhooks

Problem: Critical issues go unnoticed.

Solution: Webhook-based alerting for operational events.

Effort: Medium (1-2 sprints) | Priority: Low


v4.0 - Enterprise Features

4.1 Event Sourcing (Optional)

[!CAUTION] Very high effort. Only implement if audit requirements exceed what Structured Logging provides.

Problem: Need complete audit trail and replay capability.

Solution: Event store for core aggregates.

Effort: Very High (6+ sprints) | Priority: Future


4.2 NLP Summarization (Local LLM)

[!CAUTION] Requires proof that GERDA has resource headroom. LLMs introduce unpredictable CPU/RAM usage.

Problem: Long ticket descriptions slow triage.

Solution: Local Phi-3/Llama for summarization.

Effort: High (3-4 sprints) | Priority: Future


Priority Matrix

Item Version Effort Priority
Scriban Templates v3.1 Medium High
Explainability API v3.2 High High
Config Hot Reload v3.1 Low Medium
Schema Validation v3.1 Medium Medium
Prometheus Metrics v3.1 Low Medium
Health Dashboard v3.1 Low Medium
Feedback Loop v3.2 High Medium
Plugin Architecture v3.2 Medium Medium
Config Versioning v3.2 Medium Low
Alerting Webhooks v3.2 Medium Low
Event Sourcing v4.0 Very High Future
NLP Summarization v4.0 High Future

See v3.0 MVP Roadmap for immediate priorities.