Quality Requirements

Quality Goals

Priority Quality Goal Motivation Relevante Szenarien Unterstützende ADRs

1

Context Efficiency

Minimize token consumption in parent LLM conversations through help system, URL references, and self-contained agent logic

S1

ADR-001, ADR-002, ADR-004, ADR-008

2

Ease of Installation

Developers should install via pip or docker run without complex setup

S2

ADR-006

3

Privacy & Security

No diagram data sent to remote servers without explicit user consent

S4

ADR-003, ADR-006

4

Autonomy

Agent iterates independently without requiring parent LLM intervention

S1

ADR-002, ADR-007

5

Extensibility

Support for all Kroki diagram types and easy LLM provider switching

Future scenario (TBD)

ADR-005

Quality Scenarios

Scenario 1: Context Efficiency

Related Quality Goals: 1 (Context Efficiency), 4 (Autonomy)

Aspect Description

Scenario

Architect asks LLM to generate C4 diagram in claude.ai

Environment

Claude with computer use enabled, existing conversation with 50k tokens

Stimulus

User: "Create a C4 context diagram for our API gateway"

Response

Claude calls diag-agent create --help, then executes command

Measure

Total context consumed < 2k tokens (help text + command + file path response)

Target

95% of diagram requests use < 3k tokens in parent conversation

Scenario 2: Installation Time

Related Quality Goals: 2 (Ease of Installation)

Aspect Description

Scenario

Developer installs diag-agent for first time

Environment

Fresh Ubuntu system, Python 3.10 installed, internet available

Stimulus (v0.1.0)

Developer runs: git clone && cd diag-agent && uv pip install . && uv run diag-agent create "test"

Stimulus (future PyPI)

Developer runs: uvx diag-agent create "test" (no installation needed)

Response

Interactive setup guides through configuration, downloads Kroki if needed

Measure

< 5 minutes from first command to generated diagram (current: git clone + install) < 2 minutes with uvx (future: when published to PyPI)

Target

90% of users generate first diagram within 5 minutes

Scenario 3: Syntax Error Recovery

Related Quality Goals: 1 (Context Efficiency)

Aspect Description

Scenario

LLM generates PlantUML with syntax error

Environment

Agent with Claude Sonnet 4, local Kroki available

Stimulus

Invalid PlantUML: participent User (typo)

Response

Agent detects error, feeds back to LLM, receives corrected version

Measure

95% of common syntax errors fixed within 2 iterations

Target

< 10 seconds per iteration

Scenario 4: Privacy Compliance

Related Quality Goals: 3 (Privacy & Security)

Aspect Description

Scenario

User generates diagram containing internal API details

Environment

Default configuration, no remote services configured

Stimulus

diag-agent create "Internal microservices architecture"

Response

All processing happens locally (LLM API + local Kroki)

Measure

Zero diagram data sent to kroki.io without explicit consent

Target

100% compliance with default settings

Quality Tree

quality tree