Unified Classification System Architecture
Source body · recorded reasoning · 2026-01-18
On this page
ADR-009: Unified Classification System Architecture
Navigation
Home (internal reference; not included) | Architecture (internal reference; not included) | Rootweaver (internal reference; not included)
Status
Proposed
Date
2026-01-18
Context
Multiple classification needs exist across the platform:
- Existing:
workflow_orchestrator/ai_classifier.py- JIRA/GitLab event classification - Proposed: NaaS failure classification for CI/CD analysis
- Proposed: Release notes change categorization
- Proposed: Vault document routing for selective indexing
- Future: Confluence page type classification
Problem Symptoms
- Classification logic scattered across proposed projects
- No unified taxonomy for categories
- Inconsistent confidence thresholds
- No shared training/evaluation pipeline
Decision
Extend existing ai_classifier.py into a unified classification system with domain-specific pattern libraries.
Architecture
INPUT LAYER CLASSIFICATION ENGINE
┌─────────────────┐ ┌─────────────────────────────────┐
│ GitLab Webhooks │ │ Pattern Library Registry │
│ JIRA Events │──────────►│ ┌───────────┬───────────┐ │
│ Vault Files │ │ │ Delivery │ Release │ │
│ Confluence │ │ │ Patterns │ Patterns │ │
└─────────────────┘ │ └───────────┴───────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────┐│
│ │ AIClassifier (Extended) ││
│ │ • Rule-based matching ││
│ │ • LLM fallback ││
│ │ • Confidence scoring ││
│ └─────────────────────────────┘│
└─────────────────────────────────┘
│
OUTPUT LAYER ▼
┌─────────────────────────────────────────────────────────────────┐
│ Action Router (Confidence-Gated) │
│ HIGH (>0.85): Auto-execute │ MED (0.6-0.85): Queue+Review │
│ LOW (<0.6): Human-only │ UNKNOWN: Flag for training │
└─────────────────────────────────────────────────────────────────┘
Classification Domains
Delivery Domain (CI/CD Failures):
test_failure→ create_jira_buginfrastructure→ alert_oncallflaky_test→ flag_for_review
Release Domain (Change Categories):
feature→ persona tags: product, marketingbugfix→ persona tags: engineering, supportbreaking→ requires_review: true
Vault Routing Domain:
architecture→ index to: chromadb, confluencejournal→ index to: chromadb onlysensitive→ do not index, alert: security_review
Confidence Thresholds
| Confidence | Action | Example |
|---|---|---|
| > 0.85 | Auto-execute | Clear test failure → Create JIRA bug |
| 0.6 - 0.85 | Queue for review | Ambiguous change → Suggest category |
| < 0.6 | Human-only | Novel pattern → Manual classification |
Consequences
Positive
- Single classification engine: One codebase, multiple domains
- Consistent behavior: Same confidence thresholds and audit logging
- Extensible: Add new domains via YAML patterns
- Gradual rollout: Feature flags control automation level
Negative
- Central dependency: All domains depend on classifier availability
- Pattern maintenance: Multiple YAML files to maintain
Implementation Plan
- Create
configs/classification/directory structure - Define YAML schema for pattern libraries
- Extend
ai_classifier.pywith pattern loading - Implement delivery domain patterns
- Implement release domain patterns
- Implement vault routing patterns
References
- Atlassian Intelligence
- Internal:
workflow_orchestrator/ai_classifier.py(385 LOC) - Internal: ADR-006 (Domain Consolidation)
Canonical source: eng-intel-platform/docs/adr/009-classification-system.md
📖 Glossary (internal reference; not included)