Explain System Tradeoffs
Reverse-engineer distributed system tradeoffs from code, configuration, deployment
manifests, and architecture artifacts. Produce an evidence-based report that explains
what the system prioritizes, what it sacrifices, where choices appear deliberate versus
accidental, and what risks or misalignments deserve attention.
Every distributed system encodes its design tradeoffs in artifacts hiding in plain
sight — configuration files, schema definitions, deployment manifests, timeout values,
retry policies, and code patterns. This skill reads those artifacts like an
architectural blueprint.
Evidence Tiers
When evaluating evidence, use three tiers to weigh confidence:
- Tier A (hard commitments): User-facing API/SLA language; explicit consistency or
transaction guarantees; quorum/replication rules; schema invariants; wire-protocol
requirements.
- Tier B (mechanism evidence): Concrete mechanisms that enforce the property —
consensus protocols, leases, retry state machines, outbox tables, circuit breaker
configs, compaction strategies, GC flags.
- Tier C (operational signatures): Dashboards, alerts, runbooks, incident
postmortems, sampling configs, SLO definitions that reveal what engineers actually
protect and what they sacrifice.
When indicators disagree, prefer artifacts closest to runtime behaviour (Tier C and B)
over architecture documentation that may be stale (Tier A language in old design docs).
Subcommands
Request a full analysis or focus on a single tradeoff axis:
| Command Pattern |
Axis |
Reference |
explain-system-tradeoffs |
All six axes |
All references |
explain-system-consistency-tradeoffs |
Consistency & Availability |
references/consistency.md |
explain-system-latency-tradeoffs |
Latency & Throughput |
references/latency.md |
explain-system-data-tradeoffs |
Data Distribution |
references/data-distribution.md |
explain-system-transaction-tradeoffs |
Transaction Boundaries & Coordination |
references/transactions.md |
explain-system-resilience-tradeoffs |
Resilience & Failure Isolation |
references/resilience.md |
explain-system-operations-tradeoffs |
Observability, Security & Cost |
references/operations.md |
When no subcommand is specified, default to analyzing all six axes.
When a tradeoff axis is mentioned by name or concept (even without the command prefix),
match it to the appropriate subcommand.
Workflow
Single-Axis Mode
When a single axis is requested (e.g., explain-system-consistency-tradeoffs),
execute the analysis directly in the main agent:
- Identify the target code, configuration, or architecture to analyze.
- Read the reference file for the requested axis.
- Scan the codebase for indicators described in the reference.
- Build an evidence ledger and report findings (see Report Format below).
Full Analysis Mode (Parallel Subagents)
When all six axes are requested (explain-system-tradeoffs), use parallel
subagents to analyze each axis concurrently. This is faster and produces
better results because each subagent can focus deeply on one axis.
CRITICAL — How parallel execution works: The Task tool runs subagents in
parallel ONLY when multiple Task tool calls appear in the SAME response message.
If you emit them across separate messages, they run sequentially. You MUST
include all six Task tool calls in a single response to get concurrency.
Step 1. Identify Target System
Determine what code, configuration, or architecture to analyze:
- When files or a directory are provided, use those.
- When a service, module, or system is referenced by name, locate it.
- When ambiguous, ask which files, directories, or services to scan.
Resolve the target to a concrete set of paths before launching subagents.
This MUST be done before Step 2 — subagents get their own isolated context
window and cannot see the conversation history or resolve ambiguous targets.
Step 2. Launch Six Parallel Subagents
Emit exactly six Task tool calls in a single response message. This is
what triggers concurrent execution. Do NOT emit them one at a time.
Technical requirements for each Task call:
subagent_type: "general-purpose"
description: Short label (e.g., "Analyze consistency tradeoffs")
prompt: A fully self-contained prompt (see template below). Each
subagent gets its own 200k context window and cannot see the main
conversation, so the prompt must include everything it needs.
Each subagent prompt must include:
- The concrete target paths to analyze (resolved in Step 1).
- The absolute path to its reference file to read first.
- The evidence tier definitions (Tier A/B/C — copy them into the prompt).
- The per-axis report format (copy it into the prompt).
- An instruction to return structured findings only — no summary, no
cross-axis commentary (the main agent handles synthesis).
The six subagents and their reference files:
| Subagent |
Reference to read |
Focus |
| Consistency & Availability |
references/consistency.md |
CAP/PACELC position, replication, quorum, cache freshness, conflict resolution |
| Latency & Throughput |
references/latency.md |
GC tuning, thread pools, batching, deadlines, hedging, storage engines, rate limiting |
| Data Distribution |
references/data-distribution.md |
Shard keys, partition strategies, replication topology, data sovereignty |
| Transaction Boundaries |
references/transactions.md |
Monolith vs microservices, sagas, outbox, schema evolution, API contracts, dependencies |
| Resilience & Failure Isolation |
references/resilience.md |
Circuit breakers, retries, bulkheads, chaos engineering, progressive delivery, service mesh |
| Observability, Security & Cost |
references/operations.md |
Tracing, SLOs, mTLS, audit trails, compliance, cost/reliability topology |
Subagent prompt template (adapt the axis name, reference path, and focus
for each of the six — but keep the structure identical):
Analyze the distributed system tradeoffs for the CONSISTENCY & AVAILABILITY axis
in the codebase at: <TARGET_PATHS>
STEP 1: Read the reference file at:
<ABSOLUTE_PATH_TO_SKILL_DIR>/references/consistency.md
STEP 2: Scan the target codebase for indicators described in the reference.
Search configuration files, code patterns, deployment manifests, and schema
definitions. Use Glob, Grep, and Read tools to find evidence.
STEP 3: For each piece of evidence found, classify it:
- What: The specific artifact (file path, config key, code pattern)
- Tier: A (hard commitment — SLA language, quorum rules, schema invariants),
B (mechanism evidence — protocols, configs, GC flags, compaction),
or C (operational signature — dashboards, alerts, SLOs, runbooks)
- Reveals: Which end of the tradeoff spectrum the system leans toward
- Deliberate vs Default: Whether intentional (asymmetric config, tuned values)
or accidental (framework defaults, copy-pasted settings)
STEP 4: Produce your findings in EXACTLY this format:
## Consistency & Availability
**Position:** [Where the system sits on the consistency/availability spectrum]
**Confidence:** HIGH | MEDIUM | LOW
### Evidence
[Numbered list of evidence items with Tier, File, and Detail for each]
### Assessment
[1-2 paragraphs on the tradeoff position and whether it appears deliberate]
### Risks & Recommendations
[Any risks found, each with: Severity (HIGH/MEDIUM/LOW), Location, Issue,
Recommendation. If no risks found, state "No significant risks identified."]
IMPORTANT: Return ONLY the per-axis report above. Do NOT produce a cross-axis
summary or tradeoff profile — the main agent handles cross-axis synthesis.
Step 3. Wait for All Subagents
CRITICAL — Do NOT continue analysis while subagents are running. After
launching the six subagents, your ONLY job is to wait for their results. Do NOT:
- Scan the codebase yourself for any axis
- Produce per-axis reports yourself
- "Continue" the analysis if some subagents finish before others
- Fill idle time by doing the subagents' work
The subagents are doing the analysis. You are the synthesizer. Wait for all six
to return before proceeding to Step 4.
If a subagent fails or returns an error, note the failure and proceed with the
remaining results. Do NOT redo the failed subagent's work yourself — report that
the axis could not be analyzed and suggest re-running it as a single-axis command.
Step 4. Synthesize Results
After all six subagents return their results, the main agent:
- Collects the six per-axis reports from the subagent results.
- Presents them sequentially to the user.
- Produces the cross-axis synthesis (see Summary section in Report Format).
This is the main agent's unique contribution — it identifies tensions and
interactions between axes that no individual subagent can see.
Identifying the Target
Look across the four planes where distributed system tradeoffs surface:
- Interface and behavioural contracts: API docs, SLA language, consistency claims.
- Configuration surfaces: Replication factors, quorum sizes, timeout defaults,
retry budgets, sampling rates, consistency levels.
- State and background work: Repair queues, outbox tables, dead-letter queues,
retry schedules, leases, epochs.
- Operational tooling and telemetry: Tracing, context propagation, error budgets,
SLO definitions, dashboards, alerts.
Evidence Ledger
For each tradeoff axis, collect concrete evidence from the codebase using the indicators
in the reference files. For each piece of evidence, note:
- What: The specific artifact (file, config key, code pattern, API contract).
- Tier: A, B, or C.
- Reveals: Which end of the tradeoff spectrum the system leans toward.
- Deliberate vs Default: Whether the choice appears intentional (asymmetric config,
tuned values, documented rationale) or accidental (framework defaults, copy-pasted
settings, uniform config across all dimensions).
Report Format
Per Tradeoff Axis
## [AXIS NAME]
**Position:** Where the system sits on this tradeoff spectrum.
**Confidence:** HIGH | MEDIUM | LOW (based on evidence tier and consistency)
### Evidence
1. **[Artifact]** — [What it reveals]
Tier: A/B/C | File: `path/to/file`, lines ~XX-YY
Detail: Specific explanation of what this artifact tells us.
### Assessment
[1-2 paragraphs explaining the tradeoff position, whether it appears deliberate,
and how it interacts with other axes.]
Risks & Recommendations
After presenting each axis, flag issues using this structure:
**Risk — Severity: HIGH | MEDIUM | LOW**
Location: `filename` or `service/module`, lines ~XX-YY
Issue: What appears accidental, misaligned, or risky about this tradeoff position.
Recommendation: Concrete change to align the configuration with the system's
stated or inferred goals.
Severity guidelines:
- HIGH: Configuration contradicts the system's apparent goals, creates production
risk, or indicates a misunderstood default that could cause data loss or outages.
- MEDIUM: Suboptimal configuration that will cause problems at scale or under
failure conditions. Often a default that should have been tuned.
- LOW: Minor misalignment or missing hardening. Worth noting for maturity but
not urgent.
Summary (Main Agent Only — Full Analysis Mode)
After all axes, the main agent produces a cross-axis synthesis:
- Tradeoff Profile: A compact summary of the system's position on each axis
(e.g., "AP-leaning with tunable consistency, throughput-optimized, shard-first
with rack-aware replication").
- Maturity Signals: Whether the system shows deliberate asymmetry (different
configs per table/service/endpoint) or uniform defaults. Deliberate asymmetry
is the hallmark of genuine tradeoff-making.
- Risk count table:
| Axis | HIGH | MEDIUM | LOW |
- Top 3 priorities: Which risks to address first and why.
- Cross-axis tensions: Where tradeoff choices on one axis conflict with choices
on another (e.g., AP consistency with synchronous saga coordination).
Deep Dive Mode (Optional)
When the user asks to "explain this tradeoff further", "what should we change", or
"how do we fix this", provide:
- Detailed analysis of the specific tradeoff or risk.
- Concrete configuration changes, code modifications, or architecture proposals.
- Impact assessment: what improves and what gets worse with each recommendation.
- Alternative approaches if the tradeoff could be resolved differently.
Pragmatism Guidelines
Tradeoffs are decisions, not violations. Apply judgment:
- Defaults are not always wrong. A system using framework defaults may be
correctly sized for its current scale. Flag defaults as "untuned" rather than
"wrong" and recommend review, not immediate change.
- Scale matters. A single-service CRUD app doesn't need the same distributed
systems rigor as a platform serving millions of requests. Calibrate severity
to the system's actual scale and requirements.
- Tradeoffs interact. Consistency choices affect latency. Resilience patterns
affect throughput. Data distribution affects transaction boundaries. Flag
interactions and tensions, don't analyze axes in isolation.
- Some "misalignments" are intentional. A system that is AP overall but uses
strong consistency for payment transactions is making a deliberate per-endpoint
choice, not a mistake. Look for per-operation configuration knobs as evidence
of intentional mixed strategies.
- Evidence beats assumptions. If you can't find concrete artifacts for an axis,
say "insufficient evidence" rather than guessing. Missing configuration is itself
a finding (the tradeoff was not explicitly considered).
- Prefer insight over exhaustiveness. Five well-evidenced tradeoff findings
beat twenty speculative ones.
Example Interactions
Single axis (direct analysis)
User: explain-system-consistency-tradeoffs (with a codebase directory)
Claude:
- Reads
references/consistency.md
- Scans the codebase for consistency/availability indicators (replication config,
quorum settings, cache TTLs, schema compatibility modes, sync_commit flags)
- Builds an evidence ledger with tiers
- Reports the system's consistency/availability position with evidence
- Flags any risks (e.g., default replication factor, missing quorum config)
- Provides recommendations
Full analysis (parallel subagents)
User: explain-system-tradeoffs (with a full system)
Claude:
- Resolves the target paths from the user's input
- Launches six subagents in parallel (one per axis), each reading its
reference file and scanning the codebase independently
- Collects the six per-axis reports as subagents complete
- Presents the per-axis findings to the user
- Produces the cross-axis synthesis: tradeoff profile, maturity signals,
risk count table, top 3 priorities, and cross-axis tensions
1---2name: explain-system-tradeoffs3description: This skill should be used when the user asks to "explain system tradeoffs", "analyze architecture tradeoffs", "what tradeoffs does this system make", "reverse-engineer design decisions", "audit distributed system design", or "explain the design choices in this codebase". Also triggers when the user mentions a tradeoff axis by name (e.g., "consistency vs availability", "latency vs throughput", "CAP theorem", "PACELC", "sharding tradeoffs", "resilience patterns", "data distribution strategy"). Supports analyzing all six axes at once or focusing on a single axis.4---56# Explain System Tradeoffs78Reverse-engineer distributed system tradeoffs from code, configuration, deployment9manifests, and architecture artifacts. Produce an evidence-based report that explains10what the system prioritizes, what it sacrifices, where choices appear deliberate versus11accidental, and what risks or misalignments deserve attention.1213Every distributed system encodes its design tradeoffs in artifacts hiding in plain14sight — configuration files, schema definitions, deployment manifests, timeout values,15retry policies, and code patterns. This skill reads those artifacts like an16architectural blueprint.1718## Evidence Tiers1920When evaluating evidence, use three tiers to weigh confidence:2122- **Tier A (hard commitments):** User-facing API/SLA language; explicit consistency or23 transaction guarantees; quorum/replication rules; schema invariants; wire-protocol24 requirements.25- **Tier B (mechanism evidence):** Concrete mechanisms that enforce the property —26 consensus protocols, leases, retry state machines, outbox tables, circuit breaker27 configs, compaction strategies, GC flags.28- **Tier C (operational signatures):** Dashboards, alerts, runbooks, incident29 postmortems, sampling configs, SLO definitions that reveal what engineers actually30 protect and what they sacrifice.3132When indicators disagree, prefer artifacts closest to runtime behaviour (Tier C and B)33over architecture documentation that may be stale (Tier A language in old design docs).3435## Subcommands3637Request a full analysis or focus on a single tradeoff axis:3839| Command Pattern | Axis | Reference |40|----------------|------|-----------|41| `explain-system-tradeoffs` | All six axes | All references |42| `explain-system-consistency-tradeoffs` | Consistency & Availability | `references/consistency.md` |43| `explain-system-latency-tradeoffs` | Latency & Throughput | `references/latency.md` |44| `explain-system-data-tradeoffs` | Data Distribution | `references/data-distribution.md` |45| `explain-system-transaction-tradeoffs` | Transaction Boundaries & Coordination | `references/transactions.md` |46| `explain-system-resilience-tradeoffs` | Resilience & Failure Isolation | `references/resilience.md` |47| `explain-system-operations-tradeoffs` | Observability, Security & Cost | `references/operations.md` |4849When no subcommand is specified, default to analyzing all six axes.50When a tradeoff axis is mentioned by name or concept (even without the command prefix),51match it to the appropriate subcommand.5253## Workflow5455### Single-Axis Mode5657When a single axis is requested (e.g., `explain-system-consistency-tradeoffs`),58execute the analysis directly in the main agent:59601. **Identify the target** code, configuration, or architecture to analyze.612. **Read the reference file** for the requested axis.623. **Scan the codebase** for indicators described in the reference.634. **Build an evidence ledger** and report findings (see Report Format below).6465### Full Analysis Mode (Parallel Subagents)6667When all six axes are requested (`explain-system-tradeoffs`), use **parallel68subagents** to analyze each axis concurrently. This is faster and produces69better results because each subagent can focus deeply on one axis.7071**CRITICAL — How parallel execution works:** The Task tool runs subagents in72parallel ONLY when multiple Task tool calls appear in the SAME response message.73If you emit them across separate messages, they run sequentially. You MUST74include all six Task tool calls in a single response to get concurrency.7576#### Step 1. Identify Target System7778Determine what code, configuration, or architecture to analyze:79- When files or a directory are provided, use those.80- When a service, module, or system is referenced by name, locate it.81- When ambiguous, ask which files, directories, or services to scan.8283Resolve the target to a concrete set of paths before launching subagents.84This MUST be done before Step 2 — subagents get their own isolated context85window and cannot see the conversation history or resolve ambiguous targets.8687#### Step 2. Launch Six Parallel Subagents8889Emit **exactly six Task tool calls in a single response message**. This is90what triggers concurrent execution. Do NOT emit them one at a time.9192Technical requirements for each Task call:93- `subagent_type`: `"general-purpose"`94- `description`: Short label (e.g., `"Analyze consistency tradeoffs"`)95- `prompt`: A **fully self-contained** prompt (see template below). Each96 subagent gets its own 200k context window and cannot see the main97 conversation, so the prompt must include everything it needs.9899Each subagent prompt must include:1001. The **concrete target paths** to analyze (resolved in Step 1).1012. The **absolute path to its reference file** to read first.1023. The **evidence tier definitions** (Tier A/B/C — copy them into the prompt).1034. The **per-axis report format** (copy it into the prompt).1045. An instruction to **return structured findings only** — no summary, no105 cross-axis commentary (the main agent handles synthesis).106107The six subagents and their reference files:108109| Subagent | Reference to read | Focus |110|----------|------------------|-------|111| Consistency & Availability | `references/consistency.md` | CAP/PACELC position, replication, quorum, cache freshness, conflict resolution |112| Latency & Throughput | `references/latency.md` | GC tuning, thread pools, batching, deadlines, hedging, storage engines, rate limiting |113| Data Distribution | `references/data-distribution.md` | Shard keys, partition strategies, replication topology, data sovereignty |114| Transaction Boundaries | `references/transactions.md` | Monolith vs microservices, sagas, outbox, schema evolution, API contracts, dependencies |115| Resilience & Failure Isolation | `references/resilience.md` | Circuit breakers, retries, bulkheads, chaos engineering, progressive delivery, service mesh |116| Observability, Security & Cost | `references/operations.md` | Tracing, SLOs, mTLS, audit trails, compliance, cost/reliability topology |117118**Subagent prompt template** (adapt the axis name, reference path, and focus119for each of the six — but keep the structure identical):120121```122Analyze the distributed system tradeoffs for the CONSISTENCY & AVAILABILITY axis123in the codebase at: <TARGET_PATHS>124125STEP 1: Read the reference file at:126<ABSOLUTE_PATH_TO_SKILL_DIR>/references/consistency.md127128STEP 2: Scan the target codebase for indicators described in the reference.129Search configuration files, code patterns, deployment manifests, and schema130definitions. Use Glob, Grep, and Read tools to find evidence.131132STEP 3: For each piece of evidence found, classify it:133- What: The specific artifact (file path, config key, code pattern)134- Tier: A (hard commitment — SLA language, quorum rules, schema invariants),135 B (mechanism evidence — protocols, configs, GC flags, compaction),136 or C (operational signature — dashboards, alerts, SLOs, runbooks)137- Reveals: Which end of the tradeoff spectrum the system leans toward138- Deliberate vs Default: Whether intentional (asymmetric config, tuned values)139 or accidental (framework defaults, copy-pasted settings)140141STEP 4: Produce your findings in EXACTLY this format:142143## Consistency & Availability144145**Position:** [Where the system sits on the consistency/availability spectrum]146**Confidence:** HIGH | MEDIUM | LOW147148### Evidence149[Numbered list of evidence items with Tier, File, and Detail for each]150151### Assessment152[1-2 paragraphs on the tradeoff position and whether it appears deliberate]153154### Risks & Recommendations155[Any risks found, each with: Severity (HIGH/MEDIUM/LOW), Location, Issue,156Recommendation. If no risks found, state "No significant risks identified."]157158IMPORTANT: Return ONLY the per-axis report above. Do NOT produce a cross-axis159summary or tradeoff profile — the main agent handles cross-axis synthesis.160```161162#### Step 3. Wait for All Subagents163164**CRITICAL — Do NOT continue analysis while subagents are running.** After165launching the six subagents, your ONLY job is to wait for their results. Do NOT:166- Scan the codebase yourself for any axis167- Produce per-axis reports yourself168- "Continue" the analysis if some subagents finish before others169- Fill idle time by doing the subagents' work170171The subagents are doing the analysis. You are the synthesizer. Wait for all six172to return before proceeding to Step 4.173174If a subagent fails or returns an error, note the failure and proceed with the175remaining results. Do NOT redo the failed subagent's work yourself — report that176the axis could not be analyzed and suggest re-running it as a single-axis command.177178#### Step 4. Synthesize Results179180After all six subagents return their results, the main agent:1811821. **Collects** the six per-axis reports from the subagent results.1832. **Presents** them sequentially to the user.1843. **Produces the cross-axis synthesis** (see Summary section in Report Format).185 This is the main agent's unique contribution — it identifies tensions and186 interactions between axes that no individual subagent can see.187188### Identifying the Target189190Look across the **four planes** where distributed system tradeoffs surface:191- **Interface and behavioural contracts:** API docs, SLA language, consistency claims.192- **Configuration surfaces:** Replication factors, quorum sizes, timeout defaults,193 retry budgets, sampling rates, consistency levels.194- **State and background work:** Repair queues, outbox tables, dead-letter queues,195 retry schedules, leases, epochs.196- **Operational tooling and telemetry:** Tracing, context propagation, error budgets,197 SLO definitions, dashboards, alerts.198199### Evidence Ledger200201For each tradeoff axis, collect concrete evidence from the codebase using the indicators202in the reference files. For each piece of evidence, note:203- **What:** The specific artifact (file, config key, code pattern, API contract).204- **Tier:** A, B, or C.205- **Reveals:** Which end of the tradeoff spectrum the system leans toward.206- **Deliberate vs Default:** Whether the choice appears intentional (asymmetric config,207 tuned values, documented rationale) or accidental (framework defaults, copy-pasted208 settings, uniform config across all dimensions).209210## Report Format211212### Per Tradeoff Axis213214```215## [AXIS NAME]216217**Position:** Where the system sits on this tradeoff spectrum.218**Confidence:** HIGH | MEDIUM | LOW (based on evidence tier and consistency)219220### Evidence2212221. **[Artifact]** — [What it reveals]223 Tier: A/B/C | File: `path/to/file`, lines ~XX-YY224 Detail: Specific explanation of what this artifact tells us.225226### Assessment227228[1-2 paragraphs explaining the tradeoff position, whether it appears deliberate,229and how it interacts with other axes.]230```231232### Risks & Recommendations233234After presenting each axis, flag issues using this structure:235236```237**Risk — Severity: HIGH | MEDIUM | LOW**238Location: `filename` or `service/module`, lines ~XX-YY239Issue: What appears accidental, misaligned, or risky about this tradeoff position.240Recommendation: Concrete change to align the configuration with the system's241stated or inferred goals.242```243244Severity guidelines:245- **HIGH**: Configuration contradicts the system's apparent goals, creates production246 risk, or indicates a misunderstood default that could cause data loss or outages.247- **MEDIUM**: Suboptimal configuration that will cause problems at scale or under248 failure conditions. Often a default that should have been tuned.249- **LOW**: Minor misalignment or missing hardening. Worth noting for maturity but250 not urgent.251252### Summary (Main Agent Only — Full Analysis Mode)253254After all axes, the main agent produces a cross-axis synthesis:255- **Tradeoff Profile:** A compact summary of the system's position on each axis256 (e.g., "AP-leaning with tunable consistency, throughput-optimized, shard-first257 with rack-aware replication").258- **Maturity Signals:** Whether the system shows deliberate asymmetry (different259 configs per table/service/endpoint) or uniform defaults. Deliberate asymmetry260 is the hallmark of genuine tradeoff-making.261- **Risk count table:** `| Axis | HIGH | MEDIUM | LOW |`262- **Top 3 priorities:** Which risks to address first and why.263- **Cross-axis tensions:** Where tradeoff choices on one axis conflict with choices264 on another (e.g., AP consistency with synchronous saga coordination).265266## Deep Dive Mode (Optional)267268When the user asks to "explain this tradeoff further", "what should we change", or269"how do we fix this", provide:270- Detailed analysis of the specific tradeoff or risk.271- Concrete configuration changes, code modifications, or architecture proposals.272- Impact assessment: what improves and what gets worse with each recommendation.273- Alternative approaches if the tradeoff could be resolved differently.274275## Pragmatism Guidelines276277Tradeoffs are decisions, not violations. Apply judgment:278279- **Defaults are not always wrong.** A system using framework defaults may be280 correctly sized for its current scale. Flag defaults as "untuned" rather than281 "wrong" and recommend review, not immediate change.282- **Scale matters.** A single-service CRUD app doesn't need the same distributed283 systems rigor as a platform serving millions of requests. Calibrate severity284 to the system's actual scale and requirements.285- **Tradeoffs interact.** Consistency choices affect latency. Resilience patterns286 affect throughput. Data distribution affects transaction boundaries. Flag287 interactions and tensions, don't analyze axes in isolation.288- **Some "misalignments" are intentional.** A system that is AP overall but uses289 strong consistency for payment transactions is making a deliberate per-endpoint290 choice, not a mistake. Look for per-operation configuration knobs as evidence291 of intentional mixed strategies.292- **Evidence beats assumptions.** If you can't find concrete artifacts for an axis,293 say "insufficient evidence" rather than guessing. Missing configuration is itself294 a finding (the tradeoff was not explicitly considered).295- **Prefer insight over exhaustiveness.** Five well-evidenced tradeoff findings296 beat twenty speculative ones.297298## Example Interactions299300### Single axis (direct analysis)301302**User**: `explain-system-consistency-tradeoffs` (with a codebase directory)303304**Claude**:3051. Reads `references/consistency.md`3062. Scans the codebase for consistency/availability indicators (replication config,307 quorum settings, cache TTLs, schema compatibility modes, sync_commit flags)3083. Builds an evidence ledger with tiers3094. Reports the system's consistency/availability position with evidence3105. Flags any risks (e.g., default replication factor, missing quorum config)3116. Provides recommendations312313### Full analysis (parallel subagents)314315**User**: `explain-system-tradeoffs` (with a full system)316317**Claude**:3181. Resolves the target paths from the user's input3192. Launches **six subagents in parallel** (one per axis), each reading its320 reference file and scanning the codebase independently3213. Collects the six per-axis reports as subagents complete3224. Presents the per-axis findings to the user3235. Produces the **cross-axis synthesis**: tradeoff profile, maturity signals,324 risk count table, top 3 priorities, and cross-axis tensions