按规格与测试实现库或服务
Library or service from spec + tests
Scaffold and implement a library, CLI, extension or backend service, from generating the project skeleton to satisfying a spec and hidden tests.
20 条本项目编写的提案 · 分类 v1.1 · 新增基准运行 0 次。下方验证方式与部分得分规则是设计,不是执行结果。
- 典型应用
- Python · Node · Docker
- 小类 GUI 需求标签
CL· CLI 足够
任务提案 · 20
展开查看完整原文与建议检查方式;两种界面均保留提案英文原文。
R02.01.02.01-T01 Implement a SemVer 2.0 parsing and comparison library
原始指令
In `/work/semver-py` (empty package skeleton with `SPEC.md` and 40 visible tests), implement `parse`, `compare`, `bump` and range matching (`^`, `~`, `>=`, hyphen ranges, `||`) per the SemVer 2.0.0 spec and the range grammar in SPEC.md. Pure Python 3.12, no third-party dependencies.
- 平台
lin· Linuxmac· macOSwin· Windows- 应用
- Python · pytest
- 交互表面
term· 终端- GUI 需求 · 任务设定
CL· CLI 足够- GUI 需求 · 普通权限
CL· CLI 足够- 交互原语
code· 代码与命令- 工作产物
WP06· 代码 / 工程- 条件
- 未声明
- 提案难度
- 2 / 5
建议验证方式
Hidden tests (420 cases incl. prerelease precedence and build metadata) pass; no dependencies in pyproject; mypy --strict clean.
建议部分得分
40% parse/compare; 20% bump; 30% ranges; 10% typing
R02.01.02.01-T02 Build a TOML 1.0 parser that passes the official test suite
原始指令
Implement a TOML 1.0 decoder and encoder in `/work/toml-rs` (Rust crate skeleton) exposing `from_str` -> `Value` and `to_string`. It must accept every valid document and reject every invalid one in the toml-test suite, with errors reporting line and column.
- 平台
lin· Linuxmac· macOS- 应用
- cargo · toml-test
- 交互表面
term· 终端- GUI 需求 · 任务设定
CL· CLI 足够- GUI 需求 · 普通权限
CL· CLI 足够- 交互原语
code· 代码与命令- 工作产物
WP06· 代码 / 工程- 条件
- 未声明
- 提案难度
- 4 / 5
建议验证方式
toml-test decoder harness: valid cases pass (JSON-tagged equality) and invalid cases rejected; encoder round-trips all valid cases; error positions correct on 30 hidden invalid docs; no external TOML crates in Cargo.lock.
建议部分得分
45% valid decode (scaled); 25% invalid rejected; 20% encoder round-trip; 10% error positions
R02.01.02.01-T03 Implement a token-bucket rate-limiter HTTP service from an API spec
原始指令
Implement the service described in `/work/ratelimiter/openapi.yaml`: `POST /v1/check` decides allow/deny per key with per-tenant bucket configs from `config.yaml`, `GET /v1/buckets/{key}` reports state, and limits are consistent across 2 replicas sharing Redis. Any language; ship a Dockerfile.
- 平台
lin· Linux- 应用
- Docker · Redis
- 交互表面
term· 终端- GUI 需求 · 任务设定
CL· CLI 足够- GUI 需求 · 普通权限
CL· CLI 足够- 交互原语
code· 代码与命令- 工作产物
WP06· 代码 / 工程- 条件
- 未声明
- 提案难度
- 3 / 5
建议验证方式
Hidden compose test: schemathesis conformance to openapi.yaml; refill-rate correctness within ±1 token over 60 s; two replicas never jointly exceed capacity under 2,000 rps burst; p99 latency < 5 ms.
建议部分得分
30% spec conformance; 40% bucket correctness; 20% cross-replica consistency; 10% latency
R02.01.02.01-T04 Build a gRPC key-value store from a protobuf service definition
原始指令
Using `/work/kvgrpc/kv.proto` (Get, Put, Delete, Watch streaming, CompareAndSwap), implement a server in Go with persistence to a write-ahead log so data survives restart, and generate client stubs. Ship a Makefile with `make run`.
- 平台
lin· Linuxmac· macOS- 应用
- go · protoc · grpcurl
- 交互表面
term· 终端- GUI 需求 · 任务设定
CL· CLI 足够- GUI 需求 · 普通权限
CL· CLI 足够- 交互原语
code· 代码与命令- 工作产物
WP06· 代码 / 工程- 条件
- 未声明
- 提案难度
- 3 / 5
建议验证方式
Hidden Go client tests: CRUD and CAS semantics; Watch delivers ordered events; kill -9 then restart preserves acknowledged writes (500 writes); proto unchanged (hash).
建议部分得分
35% CRUD+CAS; 25% Watch; 30% durability after crash; 10% build target
R02.01.02.01-T05 Implement a URL shortener service with analytics per spec
原始指令
Implement the service in `/work/shorty/SPEC.md`: create short links (custom alias optional, collision-safe), 301/302 redirect per link setting, expiring links, per-link click counts by day, and an admin API with token auth. Python or TypeScript; SQLite persistence; Docker image.
- 平台
lin· Linux- 应用
- Docker · SQLite
- 交互表面
term· 终端- GUI 需求 · 任务设定
CL· CLI 足够- GUI 需求 · 普通权限
CL· CLI 足够- 交互原语
code· 代码与命令- 工作产物
WP06· 代码 / 工程- 条件
- 未声明
- 提案难度
- 3 / 5
建议验证方式
Hidden HTTP test suite (60 cases): alias rules, redirect codes, expiry (clock injected via header in test mode), analytics counts after 1,000 clicks, auth on admin routes; data persists across container restart.
建议部分得分
30% create/alias; 20% redirects+expiry; 30% analytics; 20% auth + persistence
R02.01.02.01-T06 Implement a Redis-protocol server supporting a command subset
原始指令
In `/work/minikv` (C++ or Rust skeleton), implement a TCP server speaking RESP2 that supports GET, SET (EX/PX/NX/XX), DEL, EXISTS, INCR, EXPIRE, TTL, LPUSH, RPOP, LRANGE, HSET, HGETALL with exact Redis reply semantics, handling pipelining and 1,000 concurrent clients.
- 平台
lin· Linux- 应用
- redis-cli · cargo · CMake
- 交互表面
term· 终端- GUI 需求 · 任务设定
CL· CLI 足够- GUI 需求 · 普通权限
CL· CLI 足够- 交互原语
code· 代码与命令- 工作产物
WP06· 代码 / 工程- 条件
- 未声明
- 提案难度
- 4 / 5
建议验证方式
Hidden differential tests replay 5,000 random command sequences against real Redis 7 and compare replies byte-for-byte; wrong-type errors exact; redis-benchmark with 1,000 clients no errors; TTL expiry within 10 ms.
建议部分得分
50% differential reply match; 20% expiry semantics; 20% concurrency/pipelining; 10% error strings
R02.01.02.01-T07 Build a CommonMark-compliant Markdown renderer
原始指令
Implement `render(markdown) -> html` in `/work/cmark-ts` (TypeScript skeleton) conforming to CommonMark 0.31, no Markdown libraries allowed. Include an extension flag for GFM tables only.
- 平台
lin· Linuxmac· macOSwin· Windows- 应用
- Node · vitest
- 交互表面
term· 终端- GUI 需求 · 任务设定
CL· CLI 足够- GUI 需求 · 普通权限
CL· CLI 足够- 交互原语
code· 代码与命令- 工作产物
WP06· 代码 / 工程- 条件
- 未声明
- 提案难度
- 4 / 5
建议验证方式
CommonMark spec tests (652 examples) via normalized HTML comparison: score = pass fraction; GFM table examples pass when flag on and are literal text when off; package.json has no markdown deps; 1 MB doc renders < 1 s.
建议部分得分
70% spec examples (scaled); 20% tables; 10% performance
R02.01.02.01-T08 Implement RFC 6902 JSON Patch and RFC 7386 Merge Patch
原始指令
In `/work/jsonpatch-ts`, implement `applyPatch`, `createPatch` (diff producing a valid minimal-ish patch) and `mergePatch` per RFC 6902/7386 with atomic application (all-or-nothing) and JSON Pointer escaping. TypeScript with exported types.
- 平台
lin· Linuxmac· macOSwin· Windows- 应用
- Node · vitest
- 交互表面
term· 终端- GUI 需求 · 任务设定
CL· CLI 足够- GUI 需求 · 普通权限
CL· CLI 足够- 交互原语
code· 代码与命令- 工作产物
WP06· 代码 / 工程- 条件
- 未声明
- 提案难度
- 3 / 5
建议验证方式
json-patch-tests conformance suite passes; atomicity tests (failed test op leaves doc unchanged); createPatch output applied to source equals target on 1,000 random pairs; merge patch RFC appendix cases pass.
建议部分得分
40% conformance; 20% atomicity; 25% createPatch round-trip; 15% merge patch
R02.01.02.01-T09 Implement a cron expression parser and next-run calculator
原始指令
Implement `/work/cronlib` (Python) supporting 5- and 6-field cron syntax with ranges, steps, lists, names (JAN, MON), `L`, `W`, `#` and `@hourly`-style macros, returning next/previous run times in any IANA time zone with correct DST handling as described in `SPEC.md`.
- 平台
lin· Linuxmac· macOSwin· Windows- 应用
- Python · pytest
- 交互表面
term· 终端- GUI 需求 · 任务设定
CL· CLI 足够- GUI 需求 · 普通权限
CL· CLI 足够- 交互原语
code· 代码与命令- 工作产物
WP06· 代码 / 工程- 条件
- 未声明
- 提案难度
- 3 / 5
建议验证方式
Hidden tests (900 cases) including DST gaps/overlaps in 6 zones per SPEC rules; invalid expressions raise with position; previous/next symmetry property holds on 10k random expressions.
建议部分得分
40% basic syntax; 25% special chars L/W/#; 25% DST rules; 10% errors
R02.01.02.01-T10 Implement a concurrent LRU cache with TTL in Go
原始指令
Implement package `/work/lrucache` (Go) per `SPEC.md`: generic `Cache[K, V]` with capacity, per-entry TTL, `GetOrLoad` with single-flight loading, eviction callbacks, and safe concurrent use. Visible tests cover basics; hidden tests stress concurrency.
- 平台
lin· Linuxmac· macOSwin· Windows- 应用
- go
- 交互表面
term· 终端- GUI 需求 · 任务设定
CL· CLI 足够- GUI 需求 · 普通权限
CL· CLI 足够- 交互原语
code· 代码与命令- 工作产物
WP06· 代码 / 工程- 条件
- 未声明
- 提案难度
- 2 / 5
建议验证方式
Hidden tests with -race: LRU order, TTL expiry via injected clock, single-flight (loader called once under 100 concurrent callers), eviction callbacks exactly once; benchmark Get >= 5M ops/s on grader box.
建议部分得分
35% LRU+TTL; 30% single-flight; 20% callbacks; 15% race-free + perf
R02.01.02.01-T11 Implement a sandbox OAuth 2.1 authorization server with PKCE
原始指令
Implement the authorization server in `/work/authz/SPEC.md`: authorization code flow with mandatory PKCE (S256), refresh-token rotation with reuse detection, client credentials, token introspection (RFC 7662) and revocation (RFC 7009), JWT access tokens signed with rotating keys exposed at JWKS. Test clients only.
- 平台
lin· Linux- 应用
- Docker · OAuth test clients
- 交互表面
term· 终端- GUI 需求 · 任务设定
CL· CLI 足够- GUI 需求 · 普通权限
CL· CLI 足够- 交互原语
code· 代码与命令- 工作产物
WP06· 代码 / 工程- 条件
- 未声明
- 提案难度
- 5 / 5
建议验证方式
Hidden conformance suite (OpenID-style test plans adapted): 70 flow tests; security tests: code reuse rejected, PKCE downgrade rejected, refresh reuse revokes family, redirect URI exact match; JWKS rotation without breaking valid tokens.
建议部分得分
40% flows; 40% security tests; 20% introspection/revocation/JWKS
R02.01.02.01-T12 Stand up a mailing-list service with SMTP delivery from a spec
原始指令
In a bare Debian container `/work/maillist`, set up a mailing-list service per `SPEC.md`: lists `announce` (moderated, only owner posts) and `team` (members post), subscription by email command with confirmation, unsubscribe, and archives as mbox, using Postfix plus Mailman 3 or your own implementation.
- 平台
lin· Linux- 应用
- Postfix · Mailman 3 · Docker
- 交互表面
term· 终端- GUI 需求 · 任务设定
CL· CLI 足够- GUI 需求 · 普通权限
CL· CLI 足够- 交互原语
code· 代码与命令- 工作产物
WP06· 代码 / 工程- 条件
long· 长流程- 提案难度
- 5 / 5
建议验证方式
Hidden SMTP-driven tests: join/confirm/leave flows; posts from non-members held/rejected per list; delivery to all members (local mailboxes); archive mbox contains posted messages; service survives container restart.
建议部分得分
30% subscription flows; 30% posting policies; 25% delivery; 15% archives + restart
R02.01.02.01-T13 Implement a SQLite-backed todo CLI to an exact output spec
原始指令
Implement `todo` in `/work/todo-cli` (any language, single binary or script) per `SPEC.md`: add/list/done/undo/edit/tag/search commands, due-date parsing ('tomorrow', 'next fri'), sort orders and exact output formats including colors only when stdout is a TTY. Data in SQLite at `$TODO_DB`.
- 平台
lin· Linuxmac· macOSwin· Windows- 应用
- SQLite
- 交互表面
term· 终端- GUI 需求 · 任务设定
CL· CLI 足够- GUI 需求 · 普通权限
CL· CLI 足够- 交互原语
code· 代码与命令- 工作产物
WP06· 代码 / 工程- 条件
- 未声明
- 提案难度
- 2 / 5
建议验证方式
Hidden golden tests (120 command transcripts with a fixed clock via env) compare stdout/stderr/exit codes exactly; TTY tests via pty check ANSI codes; DB schema migrates from v1 fixture DB.
建议部分得分
60% transcripts (scaled); 15% TTY coloring; 15% date parsing; 10% DB migration
R02.01.02.01-T14 Implement a double-entry ledger service with concurrency invariants
原始指令
Implement the service in `/work/ledger/SPEC.md`: accounts, multi-leg journal entries that must balance per currency, idempotency keys, balance queries as of a timestamp, and no negative balances on accounts flagged `no_overdraft`, correct under concurrent requests. Postgres; any language.
- 平台
lin· Linux- 应用
- Postgres · Docker
- 交互表面
term· 终端- GUI 需求 · 任务设定
CL· CLI 足够- GUI 需求 · 普通权限
CL· CLI 足够- 交互原语
code· 代码与命令- 工作产物
WP06· 代码 / 工程- 条件
- 未声明
- 提案难度
- 4 / 5
建议验证方式
Hidden tests: 50k random concurrent transfers (32 workers) then invariants: per-currency sum zero, no overdraft violations, idempotent replays create no duplicates, point-in-time balances match an oracle.
建议部分得分
30% API conformance; 30% balance invariant under concurrency; 20% idempotency; 20% point-in-time queries
R02.01.02.01-T15 Implement a backtracking-free regular expression engine subset
原始指令
In `/work/rx` (C or Rust skeleton), implement a regex engine supporting literals, classes, anchors, `* + ? {m,n}`, alternation, groups with captures and non-greedy quantifiers, guaranteeing linear time in input length (Thompson NFA / Pike VM). API per `rx.h` or `lib.rs`.
- 平台
lin· Linuxmac· macOS- 应用
- gcc · cargo
- 交互表面
term· 终端- GUI 需求 · 任务设定
CL· CLI 足够- GUI 需求 · 普通权限
CL· CLI 足够- 交互原语
code· 代码与命令- 工作产物
WP06· 代码 / 工程- 条件
- 未声明
- 提案难度
- 4 / 5
建议验证方式
Hidden differential tests vs RE2 on 20k random pattern/input pairs (match + capture spans); pathological `(a*)*b` on 100k chars completes < 100 ms; ASan clean.
建议部分得分
50% match correctness; 25% captures; 25% linear-time guarantee
R02.01.02.01-T16 Implement a REST API from an OpenAPI spec with request validation
原始指令
Implement every operation in `/work/petclinic-api/openapi.yaml` (22 operations, nested resources, enum and pattern constraints, pagination headers) using any framework, with Postgres storage, returning RFC 7807 problem details on validation errors.
- 平台
lin· Linux- 应用
- Docker · Postgres · schemathesis
- 交互表面
term· 终端- GUI 需求 · 任务设定
CL· CLI 足够- GUI 需求 · 普通权限
CL· CLI 足够- 交互原语
code· 代码与命令- 工作产物
WP06· 代码 / 工程- 条件
- 未声明
- 提案难度
- 3 / 5
建议验证方式
Schemathesis stateful run (2,000 examples) reports no failures; hidden scenario tests for business rules; invalid requests return 400/422 with problem+json; spec file unchanged.
建议部分得分
40% schemathesis clean; 35% scenarios; 25% validation/problem details
R02.01.02.01-T17 Implement a streaming CSV-to-Parquet converter in Rust
原始指令
Build CLI `csv2pq` in `/work/csv2pq` per `SPEC.md`: schema inference over the first N rows with override file, type coercion rules, null tokens, dictionary encoding for low-cardinality strings, row-group size option, streaming with bounded memory.
- 平台
lin· Linuxmac· macOSwin· Windows- 应用
- cargo · arrow-rs
- 交互表面
term· 终端- GUI 需求 · 任务设定
CL· CLI 足够- GUI 需求 · 普通权限
CL· CLI 足够- 交互原语
code· 代码与命令- 工作产物
WP06· 代码 / 工程- 条件
- 未声明
- 提案难度
- 3 / 5
建议验证方式
Hidden tests read outputs with pyarrow: schema and values equal expected on 25 fixtures; 5 GB CSV converts with peak RSS < 512 MB; dictionary encoding present per spec; row-group sizes honored.
建议部分得分
40% values/schema; 20% inference rules; 25% memory bound; 15% encoding options
R02.01.02.01-T18 Implement Raft log replication that survives a partition test harness
原始指令
In `/work/raftkv` (Go skeleton with RPC layer and test harness), implement Raft leader election, log replication, persistence and snapshotting behind the provided interfaces, and a linearizable KV on top.
- 平台
lin· Linux- 应用
- go
- 交互表面
term· 终端- GUI 需求 · 任务设定
CL· CLI 足够- GUI 需求 · 普通权限
CL· CLI 足够- 交互原语
code· 代码与命令- 工作产物
WP06· 代码 / 工程- 条件
- 未声明
- 提案难度
- 5 / 5
建议验证方式
Hidden harness: election, replication, persistence and snapshot tests, each run 50 times with -race; linearizability check (porcupine) on KV histories under partitions/crashes; any failure in a group zeroes that group.
建议部分得分
20% election; 30% replication; 20% persistence/snapshot; 30% linearizable KV
R02.01.02.01-T19 Implement a WebSocket chat server with rooms and history
原始指令
Implement the protocol in `/work/chat/PROTOCOL.md`: WebSocket server with rooms, join/leave events, message history (last 100 per room) on join, typing indicators, rate limit 10 msgs/10 s per user, and graceful reconnect with missed-message replay by sequence number.
- 平台
lin· Linux- 应用
- Node · Docker
- 交互表面
term· 终端- GUI 需求 · 任务设定
CL· CLI 足够- GUI 需求 · 普通权限
CL· CLI 足够- 交互原语
code· 代码与命令- 工作产物
WP06· 代码 / 工程- 条件
- 未声明
- 提案难度
- 3 / 5
建议验证方式
Hidden multi-client tests (500 clients): message ordering per room by seq, history on join, rate-limit error frames, reconnect replay with no gaps/duplicates; protocol frames validated against JSON schemas.
建议部分得分
30% rooms/events; 20% history; 20% rate limit; 30% reconnect replay
R02.01.02.01-T20 Implement a base64/base32/base58 C library hardened by fuzzing
原始指令
Implement `/work/libbaseN` (C11, header `baseN.h` provided): encode/decode for base64 (std and URL-safe, with/without padding), base32 (RFC 4648) and base58 (Bitcoin alphabet), with strict-mode rejection of non-canonical input and caller-provided buffers.
- 平台
lin· Linuxmac· macOSwin· Windows- 应用
- gcc · clang · libFuzzer
- 交互表面
term· 终端- GUI 需求 · 任务设定
CL· CLI 足够- GUI 需求 · 普通权限
CL· CLI 足够- 交互原语
code· 代码与命令- 工作产物
WP06· 代码 / 工程- 条件
- 未声明
- 提案难度
- 3 / 5
建议验证方式
Hidden RFC test vectors pass; differential fuzzing vs reference implementations for 10 min finds no mismatch; ASan/UBSan clean; strict mode rejects 40 non-canonical inputs; builds with MSVC and clang -Wall -Werror.
建议部分得分
40% vectors; 30% fuzz differential; 20% strict mode; 10% portable build
已有研究映射
以下沿用研究目录中的基准与小类映射,不是逐题标注、执行记录或产品背书。