Computer-Use Agent Taxonomy中文
R02.01.01.02 · TASK CLASS

Feature implementation & refactoring

Add a feature or refactor across modules without breaking behavior.

20 project-authored proposals · taxonomy v1.1 · 0 new benchmark runs. Verifiers and partial-credit rules below are designs, not executed results.

Typical applications
git · IDE · test runner
Class GUI-need label
CL · CLI-sufficient

Task proposals · 20

Expand to inspect the complete original wording and proposed checks. Original proposal text remains English in both interfaces.

R02.01.01.02-T01 Add a --json output mode to an existing Python CLI

Original instruction

Repo `/work/diskreport` (Python, Click). Add a `--json` flag to the `scan` and `top` commands that prints machine-readable output matching the schema in `docs/json_schema.json`, keeping the default human-readable output byte-identical. Update `--help` text.

Platforms
lin · Linux mac · macOS
Applications
Click · pytest
Interfaces
term · Terminal
GUI need · task setting
CL · CLI-sufficient
GUI need · ordinary access
CL · CLI-sufficient
Interaction primitives
code · Code & commands
Work product
WP06 · Code/engineering
Conditions
None declared
Proposed difficulty
2 / 5

Proposed verifier

Hidden tests run both commands on fixture trees: JSON validates against the schema and values match; default output byte-identical to golden files; --help mentions --json.

Proposed partial credit

50% JSON correct for both commands; 40% default output unchanged; 10% help text

R02.01.01.02-T02 Add cursor-based pagination to a FastAPI list endpoint

Original instruction

Service `/work/notes-api` (FastAPI, SQLAlchemy, Postgres in Docker). Replace offset pagination on `GET /notes` with opaque cursor pagination (`limit`, `cursor`, response `next_cursor`), stable under concurrent inserts, while keeping `?page=` working for one release with a `Deprecation` header.

Platforms
lin · Linux
Applications
FastAPI · pytest · Docker
Interfaces
term · Terminal
GUI need · task setting
CL · CLI-sufficient
GUI need · ordinary access
CL · CLI-sufficient
Interaction primitives
code · Code & commands
Work product
WP06 · Code/engineering
Conditions
None declared
Proposed difficulty
3 / 5

Proposed verifier

Hidden API tests: full traversal returns each note exactly once while inserts happen mid-iteration; tampered cursors return 400; legacy ?page= works and returns Deprecation header; OpenAPI schema lists new params.

Proposed partial credit

40% exactly-once traversal; 20% cursor validation; 25% legacy compatibility; 15% OpenAPI

R02.01.01.02-T03 Rename a public API with a deprecation shim and update all call sites

Original instruction

Library `/work/geoutil` (Python). Rename `calc_dist()` to `distance()` and module `geoutil.helpers` to `geoutil.geometry`. Old names must keep working for one release, emitting `DeprecationWarning` once per call site. Update every internal call site, the docs and the changelog.

Platforms
lin · Linux mac · macOS
Applications
pytest · git
Interfaces
term · Terminal
GUI need · task setting
CL · CLI-sufficient
GUI need · ordinary access
CL · CLI-sufficient
Interaction primitives
code · Code & commands
Work product
WP06 · Code/engineering
Conditions
None declared
Proposed difficulty
2 / 5

Proposed verifier

Hidden tests: new names work; old imports and calls work and warn (category and stacklevel pointing at caller); grep finds no internal use of old names; docs build (sphinx -W) passes; CHANGELOG has an entry.

Proposed partial credit

30% new API; 30% shims with correct warnings; 25% internal call sites; 15% docs/changelog

R02.01.01.02-T04 Thread context cancellation through a Go service's call chain

Original instruction

Repo `/work/fetcher` (Go). Requests can't be cancelled: handlers call `store.Get`, `cache.Fill` and `upstream.Fetch` without `context.Context`. Add context parameters through the chain so client disconnects cancel upstream calls within 50 ms, and update all callers and tests.

Platforms
lin · Linux
Applications
go · git
Interfaces
term · Terminal
GUI need · task setting
CL · CLI-sufficient
GUI need · ordinary access
CL · CLI-sufficient
Interaction primitives
code · Code & commands
Work product
WP06 · Code/engineering
Conditions
None declared
Proposed difficulty
4 / 5

Proposed verifier

Hidden test: client disconnect cancels the mock upstream within 50 ms (measured); no goroutine leaks (goleak); `go vet` and staticcheck clean; all existing tests updated and green.

Proposed partial credit

50% cancellation propagates within bound; 20% no leaks; 30% build/tests/lint green

R02.01.01.02-T05 Add a persisted dark-mode toggle to a React app and verify it in the browser

Original instruction

App `/work/dashboard-web` (React + Vite). Add a theme toggle in the header that switches light/dark using the existing CSS variables, respects `prefers-color-scheme` on first visit, persists the choice across reloads, and has no flash of the wrong theme on load. Check it visually in a browser.

Platforms
lin · Linux mac · macOS win · Windows
Applications
Vite · Chrome · Playwright
Interfaces
term · Terminal brow · Browser
GUI need · task setting
HY · Hybrid
GUI need · ordinary access
G2 · GUI-essential
Interaction primitives
code · Code & commands vis · Visual judgment click · Point & click
Work product
WP06 · Code/engineering
Conditions
None declared
Proposed difficulty
3 / 5

Proposed verifier

Hidden Playwright tests: toggle switches computed background colors; emulated dark preference on first load; choice persists after reload; first paint screenshot (video frame 0) already in the stored theme; existing unit tests green.

Proposed partial credit

30% toggle works; 20% system preference; 25% persistence; 25% no flash on load

R02.01.01.02-T06 Replace a payment-fee class hierarchy with a strategy pattern in Java

Original instruction

Maven project `/work/feecalc` (Java 21). Twelve subclasses of `FeeCalculator` override `compute()` with copy-pasted logic. Refactor to a single `FeeCalculator` using composable `FeeRule` strategies configured from `fees.yaml`, removing the subclasses, with behavior unchanged.

Platforms
lin · Linux win · Windows mac · macOS
Applications
Maven · JUnit
Interfaces
term · Terminal
GUI need · task setting
CL · CLI-sufficient
GUI need · ordinary access
CL · CLI-sufficient
Interaction primitives
code · Code & commands
Work product
WP06 · Code/engineering
Conditions
None declared
Proposed difficulty
4 / 5

Proposed verifier

Hidden golden test: 10,000 generated transactions produce identical fees before/after; no class extends FeeCalculator (ArchUnit rule); rules loaded from fees.yaml; mvn verify green.

Proposed partial credit

50% identical outputs; 30% hierarchy removed; 20% config-driven and build green

R02.01.01.02-T07 Make a Rust parser generic over any Read source

Original instruction

Crate `/work/logparse` (Rust) only parses `&str` loaded fully into memory. Make `Parser` generic over `R: BufRead` so multi-GB files stream with bounded memory, keep a convenience `from_str` constructor, and keep the public error type stable.

Platforms
lin · Linux mac · macOS
Applications
cargo
Interfaces
term · Terminal
GUI need · task setting
CL · CLI-sufficient
GUI need · ordinary access
CL · CLI-sufficient
Interaction primitives
code · Code & commands
Work product
WP06 · Code/engineering
Conditions
None declared
Proposed difficulty
4 / 5

Proposed verifier

Hidden tests: parse a 3 GB generated log with peak RSS < 64 MB; outputs identical to from_str on 50 fixtures; cargo semver-checks reports no breaking change except allowed additions; clippy -D warnings clean.

Proposed partial credit

40% streaming with memory bound; 30% identical outputs; 30% API compatibility + clippy

R02.01.01.02-T08 Add gettext internationalization with two locales to a Flask app

Original instruction

App `/work/booking-flask` has hard-coded English strings in templates and flash messages. Add Flask-Babel, extract all user-facing strings, provide complete Portuguese (pt_PT) and German (de) catalogs from `input/translations.csv`, and select locale from the `Accept-Language` header with a `?lang=` override.

Platforms
lin · Linux
Applications
Flask · Babel · pytest
Interfaces
term · Terminal
GUI need · task setting
CL · CLI-sufficient
GUI need · ordinary access
CL · CLI-sufficient
Interaction primitives
code · Code & commands
Work product
WP06 · Code/engineering
Conditions
None declared
Proposed difficulty
3 / 5

Proposed verifier

Hidden tests render 8 pages in each locale: no English leftovers outside an allowlist; strings equal translations.csv; plural forms correct for counts 0,1,2,5; locale negotiation and override work.

Proposed partial credit

40% strings extracted; 30% catalogs correct; 15% plurals; 15% negotiation

R02.01.01.02-T09 Add per-key rate limiting middleware to an Express API

Original instruction

Service `/work/express-api` (Node 20). Add a sliding-window rate limiter: 100 requests per minute per API key, 20 per minute for anonymous IPs, Redis-backed so it works across 3 instances, returning 429 with `Retry-After` and `RateLimit-*` headers. Health checks are exempt.

Platforms
lin · Linux
Applications
Node · Express · Redis
Interfaces
term · Terminal
GUI need · task setting
CL · CLI-sufficient
GUI need · ordinary access
CL · CLI-sufficient
Interaction primitives
code · Code & commands
Work product
WP06 · Code/engineering
Conditions
None declared
Proposed difficulty
3 / 5

Proposed verifier

Hidden docker-compose test with 3 instances behind a round-robin proxy: 101st keyed request in 60 s gets 429 across instances; headers correct; anonymous limit 20; /healthz unlimited; existing tests green.

Proposed partial credit

40% limits enforced across instances; 25% headers; 20% anonymous path; 15% exemption + suite

R02.01.01.02-T10 Convert a callback-based Node library to promises without breaking callers

Original instruction

Library `/work/fsqueue` (Node) exposes 14 callback-style functions. Convert internals to async/await and make every function return a Promise when no callback is passed, while still honoring callbacks (error-first, called exactly once) for backward compatibility.

Platforms
lin · Linux mac · macOS win · Windows
Applications
Node · mocha
Interfaces
term · Terminal
GUI need · task setting
CL · CLI-sufficient
GUI need · ordinary access
CL · CLI-sufficient
Interaction primitives
code · Code & commands
Work product
WP06 · Code/engineering
Conditions
None declared
Proposed difficulty
3 / 5

Proposed verifier

Hidden tests: both styles for all 14 functions; callbacks invoked exactly once, errors propagate; no unhandled rejections (process flag --unhandled-rejections=strict); legacy suite unchanged and green.

Proposed partial credit

40% promise API; 40% callback compatibility; 20% no unhandled rejections

R02.01.01.02-T11 Add move semantics and strong exception safety to a C++ container

Original instruction

Header-only library `/work/smallvec` (C++20). `SmallVec<T, N>` only supports copy. Add move constructor/assignment, `emplace_back`, and make `push_back` strongly exception-safe for types whose move may throw. Keep ABI-irrelevant API unchanged.

Platforms
lin · Linux mac · macOS win · Windows
Applications
CMake · clang · Catch2
Interfaces
term · Terminal
GUI need · task setting
CL · CLI-sufficient
GUI need · ordinary access
CL · CLI-sufficient
Interaction primitives
code · Code & commands
Work product
WP06 · Code/engineering
Conditions
None declared
Proposed difficulty
4 / 5

Proposed verifier

Hidden Catch2 tests: move-only types work; moved-from state valid; counting allocator shows no extra copies; throwing-move type leaves container unchanged on exception; ASan/UBSan clean on clang and MSVC builds.

Proposed partial credit

35% move ops; 20% emplace; 30% exception safety; 15% sanitizers/compilers

R02.01.01.02-T12 Add a filtered CSV export action to a Django admin

Original instruction

Project `/work/crm-django`. Add an admin action and a changelist button on `Contact` that exports the currently filtered queryset to CSV with the columns listed in `docs/export_spec.md`, streaming for large sets, respecting the user's `view_contact` permission, and with UTF-8 BOM for Excel.

Platforms
lin · Linux
Applications
Django · pytest
Interfaces
term · Terminal
GUI need · task setting
CL · CLI-sufficient
GUI need · ordinary access
CL · CLI-sufficient
Interaction primitives
code · Code & commands
Work product
WP06 · Code/engineering
Conditions
None declared
Proposed difficulty
3 / 5

Proposed verifier

Hidden tests: exported rows equal the filtered queryset (search + 2 list filters); column order/headers exact; BOM present; StreamingHttpResponse used; users without permission get 403.

Proposed partial credit

40% correct rows under filters; 25% columns; 20% permission; 15% streaming+BOM

R02.01.01.02-T13 Split a 3,000-line Python module into a package without breaking imports

Original instruction

Repo `/work/billing` has `billing/core.py` (3,000 lines). Split it into a `billing/core/` package with submodules per concern as outlined in `docs/split_plan.md`. Every name importable from `billing.core` today must remain importable, pickled objects must still unpickle, and no circular imports may appear.

Platforms
lin · Linux mac · macOS
Applications
pytest · git
Interfaces
term · Terminal
GUI need · task setting
CL · CLI-sufficient
GUI need · ordinary access
CL · CLI-sufficient
Interaction primitives
code · Code & commands
Work product
WP06 · Code/engineering
Conditions
None declared
Proposed difficulty
3 / 5

Proposed verifier

Hidden tests: all 214 previously public names importable from billing.core; fixture pickles load; `python -X importtime` shows no import cycles errors; submodules match plan; suite green.

Proposed partial credit

40% public names preserved; 20% pickles; 20% structure matches plan; 20% suite

R02.01.01.02-T14 Introduce a feature-flag system with per-tenant overrides

Original instruction

Service `/work/saas-core` (TypeScript, NestJS). Add a feature-flag module: flags defined in `flags.yaml` with defaults, per-tenant overrides stored in Postgres, a `@Flag('name')` guard for routes, and an admin endpoint to toggle overrides. Gate the existing `/reports/v2` route behind `reports_v2`.

Platforms
lin · Linux
Applications
NestJS · Jest · Postgres
Interfaces
term · Terminal
GUI need · task setting
CL · CLI-sufficient
GUI need · ordinary access
CL · CLI-sufficient
Interaction primitives
code · Code & commands
Work product
WP06 · Code/engineering
Conditions
None declared
Proposed difficulty
3 / 5

Proposed verifier

Hidden tests: default off returns 404 for /reports/v2; tenant override on returns 200 for that tenant only; admin endpoint requires admin role; override persists across restart; existing tests green.

Proposed partial credit

30% flag definitions; 30% per-tenant override; 25% guard on route; 15% admin endpoint

R02.01.01.02-T15 Implement undo/redo in a text editor's document model

Original instruction

Package `/work/textcore` (TypeScript) has a `Document` model with insert/delete/replace operations but no history. Implement undo/redo with operation coalescing (consecutive typing within 500 ms merges), selection restoration, and a max history of 1,000 entries, without changing existing operation semantics.

Platforms
lin · Linux mac · macOS win · Windows
Applications
Node · vitest
Interfaces
term · Terminal
GUI need · task setting
CL · CLI-sufficient
GUI need · ordinary access
CL · CLI-sufficient
Interaction primitives
code · Code & commands
Work product
WP06 · Code/engineering
Conditions
None declared
Proposed difficulty
4 / 5

Proposed verifier

Hidden property tests (fast-check): any operation sequence followed by full undo returns the initial doc; redo restores; coalescing rules exact; selection after undo equals pre-op selection; history bound enforced.

Proposed partial credit

40% undo/redo correctness; 25% coalescing; 20% selection; 15% bound

R02.01.01.02-T16 Add OpenTelemetry tracing across an HTTP service and its worker

Original instruction

Repo `/work/orders` (Python): a Flask API enqueues jobs to an RQ worker. Add OpenTelemetry tracing so one trace spans the HTTP request, the enqueue and the worker job (context propagated through job metadata), with span names and attributes from `docs/tracing.md`, exported via OTLP.

Platforms
lin · Linux
Applications
OpenTelemetry · Flask · RQ
Interfaces
term · Terminal
GUI need · task setting
CL · CLI-sufficient
GUI need · ordinary access
CL · CLI-sufficient
Interaction primitives
code · Code & commands
Work product
WP06 · Code/engineering
Conditions
None declared
Proposed difficulty
3 / 5

Proposed verifier

Hidden compose test with an OTLP collector: a POST /orders produces one trace id across api and worker spans; parent-child links correct; required attributes present; no spans when OTEL_SDK_DISABLED=true.

Proposed partial credit

30% API spans; 40% propagation to worker; 20% attributes; 10% disable switch

R02.01.01.02-T17 Remove global singletons so a service becomes testable in parallel

Original instruction

Repo `/work/inventory` (Python) uses module-level singletons for DB, cache and config, so tests cannot run in parallel. Refactor to explicit dependency injection via an `AppContext` passed through constructors/factories, keeping the CLI and HTTP entry points' behavior identical.

Platforms
lin · Linux
Applications
pytest · pytest-xdist
Interfaces
term · Terminal
GUI need · task setting
CL · CLI-sufficient
GUI need · ordinary access
CL · CLI-sufficient
Interaction primitives
code · Code & commands
Work product
WP06 · Code/engineering
Conditions
None declared
Proposed difficulty
5 / 5

Proposed verifier

Hidden checks: `pytest -n 8` passes 3 consecutive runs; AST check finds no module-level instances of the 3 singletons; CLI golden outputs and HTTP contract tests unchanged.

Proposed partial credit

35% parallel suite passes; 30% singletons removed; 35% behavior unchanged

R02.01.01.02-T18 Add an entry-point plugin system to a static site generator

Original instruction

Project `/work/pagesmith` (Python). Add a plugin system: plugins discovered via the `pagesmith.plugins` entry-point group, with hooks `on_config`, `on_page_markdown`, `on_post_build` in that order, plugin ordering from config, and errors reported with the plugin name. Port the built-in `toc` feature to a plugin.

Platforms
lin · Linux mac · macOS
Applications
pip · pytest
Interfaces
term · Terminal
GUI need · task setting
CL · CLI-sufficient
GUI need · ordinary access
CL · CLI-sufficient
Interaction primitives
code · Code & commands
Work product
WP06 · Code/engineering
Conditions
None declared
Proposed difficulty
4 / 5

Proposed verifier

Hidden tests install two sample plugin packages and check hook order, config-driven ordering and error messages; toc output identical to before; site build golden files unchanged.

Proposed partial credit

40% discovery + hooks; 20% ordering; 15% error reporting; 25% toc ported identically

R02.01.01.02-T19 Add offline editing with sync conflict resolution to a TypeScript notes app

Original instruction

App `/work/notes-pwa` (TypeScript, IndexedDB client, Node server). Add offline support: edits queue locally while offline and sync on reconnect; concurrent edits to the same note merge per-field with last-writer-wins by Lamport clock, and true conflicts on the body create a conflict copy, as specified in `docs/sync.md`.

Platforms
lin · Linux mac · macOS win · Windows
Applications
Node · Playwright · vitest
Interfaces
term · Terminal
GUI need · task setting
CL · CLI-sufficient
GUI need · ordinary access
CL · CLI-sufficient
Interaction primitives
code · Code & commands
Work product
WP06 · Code/engineering
Conditions
long · Long-horizon
Proposed difficulty
5 / 5

Proposed verifier

Hidden multi-client simulation (3 clients, random offline windows, 2,000 ops, 20 seeds): all replicas converge; per-field LWW and conflict copies match spec oracle; no lost edits.

Proposed partial credit

30% offline queue; 30% convergence; 25% merge rules; 15% conflict copies

R02.01.01.02-T20 Rename a core domain concept across code, API and database

Original instruction

Monorepo `/work/fleetapp` (Python backend, TS frontend, Postgres). Rename the concept `Customer` to `Account` everywhere: models, DB table and columns (with an Alembic migration that preserves data), API routes (old routes 308-redirect), TS types and UI strings. Keep foreign keys and indexes intact.

Platforms
lin · Linux
Applications
Alembic · pytest · tsc
Interfaces
term · Terminal
GUI need · task setting
CL · CLI-sufficient
GUI need · ordinary access
CL · CLI-sufficient
Interaction primitives
code · Code & commands
Work product
WP06 · Code/engineering
Conditions
long · Long-horizon
Proposed difficulty
5 / 5

Proposed verifier

Hidden checks: migration upgrade on a seeded DB keeps all rows and FKs, downgrade restores; old routes redirect; grep finds 'customer' only in migration/allowlist; backend and frontend suites and tsc green.

Proposed partial credit

30% migration preserves data; 20% API + redirects; 25% code renamed; 25% suites green

Mapped research references

Existing benchmark-to-class links from the research catalog. They are not record-level annotations, executions or product endorsements.

In this workflow family