Exercise 01: Classify Complexity¶
Objective¶
Classify 5 task descriptions into trivial/standard/complex tiers, documenting the signals and reasoning for each.
Required Reading
- Expert README -- "Complexity classification" section and decision flowchart
- Agent Registry -- Tier routing table
- Custom Agents | Cursor Docs -- How agent definitions and the
modelfield control which model runs per role - Rules | Cursor Docs -- How
.mdcrules likejg-tier-routing.mdcencode classification logic
Complexity classification is IDE-agnostic -- the same signals (file count, domain scope, security implications) apply whether you're routing in Cursor subagents or selecting models in Claude Code's sequential prompting. The tier routing table maps directly to model selection parameters.
Complexity classification is IDE-agnostic -- the same signals (file count, domain scope, security implications) apply whether you're routing in Cursor subagents or selecting models in Claude Code's sequential prompting. The tier routing table maps directly to model selection parameters.
Scenarios¶
- "Fix a typo in the README" -- 1 file, documentation only, no tests needed
- "Add a GET /users/:id endpoint with validation and tests" -- 3 files (route, validation, test), single domain, standard patterns
- "Implement WebSocket-based real-time chat with message persistence and rate limiting" -- 6+ files, new abstractions (WebSocket layer), concurrency, security
- "Rename the UserService class to AccountService across the codebase" -- multiple files but mechanical, no new logic
- "Add role-based access control (RBAC) with admin/user/guest roles and middleware" -- 4+ files, auth/authz domain, security-critical, new abstractions
Tasks¶
For each scenario, analyze and document: - file_count: Estimated number of files affected - domain_scope: "single" or "cross-domain" - signals: Factors that drove the classification (from the Expert README flowchart) - tier: "trivial", "standard", or "complex" - agents: Which tiered agents would handle this (from Agent Registry routing table)
Output¶
Write to docs/expert/tutorials/outputs/01-classifications.json:
Expected Output
[
{
"task": "Fix a typo in the README",
"file_count": 1,
"domain_scope": "single",
"signals": ["single file", "no tests", "documentation only"],
"tier": "trivial",
"agents": ["jg-worker-fast", "jg-reviewer-fast"]
}
]
Validation
python3 docs/expert/tutorials/verify.py --exercise 01
Checks: valid JSON, 5 objects, required fields, tier values valid, key classifications match expected tiers.
Answer
| Scenario | Tier | Key Signals |
|---|---|---|
| Fix typo in README | Trivial | 1 file, docs only, no tests |
| Add GET /users/:id endpoint | Standard | 3 files, single domain, standard CRUD |
| WebSocket real-time chat | Complex | 6+ files, new abstractions, concurrency, rate limiting |
| Rename UserService to AccountService | Trivial | Many files but mechanical, no new logic |
| Add RBAC with admin/user/guest roles | Complex | 4+ files, auth/authz, security-critical, new abstractions |
The rename (scenario 4) is trivial despite touching many files because it is purely mechanical with no new logic. The RBAC (scenario 5) is complex because auth/authz is security-critical with new middleware abstractions.