|
| 1 | +--- |
| 2 | +id: dso-1tgy |
| 3 | +status: closed |
| 4 | +deps: [dso-mwxz] |
| 5 | +links: [] |
| 6 | +created: 2026-03-21T21:15:48Z |
| 7 | +type: task |
| 8 | +priority: 1 |
| 9 | +assignee: Joe Oakhart |
| 10 | +parent: w21-1as4 |
| 11 | +--- |
| 12 | +# Create plugins/dso/agents/complexity-evaluator.md agent definition |
| 13 | + |
| 14 | +Create the plugins/dso/agents/ directory (if not present) and the complexity-evaluator.md agent definition file. |
| 15 | + |
| 16 | +TDD Requirement: Task dso-mwxz (RED test) must FAIL before this task executes. After this task, re-run the test to confirm GREEN. |
| 17 | + |
| 18 | +The agent definition file must have: |
| 19 | + |
| 20 | +## YAML Frontmatter (lines 1-N ending with ---) |
| 21 | +- name: complexity-evaluator |
| 22 | +- model: haiku |
| 23 | +- tools: [Bash, Read, Glob, Grep] |
| 24 | +- (optional) description: one-line summary |
| 25 | + |
| 26 | +## Markdown Body |
| 27 | +- Full 5-dimension rubric from plugins/dso/skills/shared/prompts/complexity-evaluator.md (Dimensions 1-5: Files, Layers, Interfaces, scope_certainty, Confidence) — copy the rubric thresholds and classification rules |
| 28 | +- Tier schema selector mechanism: document that callers pass tier_schema=TRIVIAL (outputs: TRIVIAL/MODERATE/COMPLEX) or tier_schema=SIMPLE (outputs: SIMPLE/MODERATE/COMPLEX) as a task argument to select tier vocabulary |
| 29 | +- Epic-only qualitative override dimensions: multiple personas, UI+backend, new DB migration, foundation/enhancement candidate, external integration — clearly marked 'Applicable when evaluating epics only' |
| 30 | +- Done-definition check and single-concern check, marked 'Applicable when evaluating epics only' |
| 31 | +- Classification rules and promotion rules |
| 32 | +- Output schema (matching fields: classification, confidence, files_estimated, layers_touched, interfaces_affected, scope_certainty, reasoning + epic-only fields: qualitative_overrides, missing_done_definitions, single_concern) |
| 33 | +- Procedure: Step 1 Load Context, Step 2 Find Files, Step 3 Apply Rubric, Step 4 Output |
| 34 | + |
| 35 | +## Must NOT contain |
| 36 | +- Context-specific routing tables (e.g., 'sprint MODERATE->COMPLEX', 'debug-everything de-escalate', brainstorm routing table) — these stay in each caller's SKILL.md |
| 37 | + |
| 38 | +File placement: /Users/joeoakhart/digital-service-orchestra-worktrees/worktree-20260321-124341/plugins/dso/agents/complexity-evaluator.md |
| 39 | + |
| 40 | + |
| 41 | +## ACCEPTANCE CRITERIA |
| 42 | + |
| 43 | +- [ ] plugins/dso/agents/complexity-evaluator.md exists |
| 44 | + Verify: test -f $(git rev-parse --show-toplevel)/plugins/dso/agents/complexity-evaluator.md |
| 45 | +- [ ] YAML frontmatter contains name: complexity-evaluator |
| 46 | + Verify: grep -q 'name: complexity-evaluator' $(git rev-parse --show-toplevel)/plugins/dso/agents/complexity-evaluator.md |
| 47 | +- [ ] YAML frontmatter contains model: haiku |
| 48 | + Verify: grep -q 'model: haiku' $(git rev-parse --show-toplevel)/plugins/dso/agents/complexity-evaluator.md |
| 49 | +- [ ] Agent body contains 5-dimension rubric content |
| 50 | + Verify: grep -q 'Dimension' $(git rev-parse --show-toplevel)/plugins/dso/agents/complexity-evaluator.md |
| 51 | +- [ ] Agent body contains tier_schema mechanism |
| 52 | + Verify: grep -q 'tier_schema' $(git rev-parse --show-toplevel)/plugins/dso/agents/complexity-evaluator.md |
| 53 | +- [ ] Agent body does NOT contain context-specific routing table |
| 54 | + Verify: ! grep -q 'sprint story evaluator\|debug-everything\|de-escalate' $(git rev-parse --show-toplevel)/plugins/dso/agents/complexity-evaluator.md |
| 55 | +- [ ] Agent body contains epic-only qualitative overrides |
| 56 | + Verify: grep -qi 'epic' $(git rev-parse --show-toplevel)/plugins/dso/agents/complexity-evaluator.md && grep -q 'multiple personas\|UI.*backend\|foundation' $(git rev-parse --show-toplevel)/plugins/dso/agents/complexity-evaluator.md |
| 57 | +- [ ] RED test (dso-mwxz) now passes GREEN |
| 58 | + Verify: cd $(git rev-parse --show-toplevel) && python -m pytest tests/skills/test_complexity_evaluator_agent.py -x --tb=short -q && echo PASS |
| 59 | +- [ ] bash tests/run-all.sh passes (exit 0) |
| 60 | + Verify: cd $(git rev-parse --show-toplevel) && bash tests/run-all.sh |
| 61 | + |
| 62 | +## Notes |
| 63 | + |
| 64 | +**2026-03-21T22:24:11Z** |
| 65 | + |
| 66 | +CHECKPOINT 1/6: Task context loaded ✓ |
| 67 | + |
| 68 | +**2026-03-21T22:24:14Z** |
| 69 | + |
| 70 | +CHECKPOINT 2/6: Code patterns understood ✓ |
| 71 | + |
| 72 | +**2026-03-21T22:24:54Z** |
| 73 | + |
| 74 | +CHECKPOINT 3/6: Tests written ✓ (xfail markers removed) |
| 75 | + |
| 76 | +**2026-03-21T22:26:06Z** |
| 77 | + |
| 78 | +CHECKPOINT 4/6: Implementation complete ✓ |
| 79 | + |
| 80 | +**2026-03-21T22:28:11Z** |
| 81 | + |
| 82 | +CHECKPOINT 5/6: Tests passing GREEN ✓ — 9/9 complexity evaluator tests pass, 462 total passed, 0 failures |
| 83 | + |
| 84 | +**2026-03-21T22:28:16Z** |
| 85 | + |
| 86 | +CHECKPOINT 6/6: Done ✓ — All 7 AC checks pass. Created plugins/dso/agents/complexity-evaluator.md. Removed xfail from 8 tests in tests/skills/test_complexity_evaluator_agent.py. |
| 87 | + |
| 88 | +**2026-03-21T22:32:04Z** |
| 89 | + |
| 90 | +CHECKPOINT 6/6: Done ✓ — Files: plugins/dso/agents/complexity-evaluator.md. Tests: 9 passed. Batch 2. |
0 commit comments