feat: add benchmark task suite (task 0028)
All checks were successful
CI / test (pull_request) Successful in 51s
CI / test (push) Successful in 52s

Add the full 20-task scored suite and the capability-asymmetric bonus
definitions, plus the self-review capability probe that resolves the two
review tasks.

buildScoredSuite returns the shared-surface tasks weighted four read /
six single-mutation / six find-then-act / four multi-step, each a
natural-language intent parametrized against the seed and carrying a tier
and a scoring spec keyed on the single user. The two find-then-act review
tasks are approve/request-changes when the host permits self-review and
comment reviews otherwise; buildBonusTasks emits the approve/request-changes
operations as bonus entries in the fallback case, alongside the static
both-direction bonus definitions (gitea-axi's search/diff/checks/checkout/
issue-dependency edges, and the not-applicable repository/release/milestone
operations).

self-review.ts adds probeSelfReview and detectSelfReviewSupport, the live
boundary that determines self-review support once per sweep; it reuses the
now-exported non-throwing request helper from seed.ts.
This commit was merged in pull request #29.
This commit is contained in:
2026-07-16 09:51:22 -04:00
parent c6a972734e
commit e8310fb616
7 changed files with 1076 additions and 8 deletions

View File

@@ -48,8 +48,12 @@ export async function resolveBenchAccess(deps: CliDeps, loginName: string): Prom
return { apiUrl: login.url.replace(/\/+$/, ""), token };
}
/** One authenticated Gitea API round-trip; returns the raw response unchecked. */
async function request(
/**
* One authenticated Gitea API round-trip; returns the raw response unchecked.
* Exported so the self-review probe (self-review.ts) can inspect a non-2xx
* response — a host that forbids self-approval — without it being thrown.
*/
export async function request(
access: BenchAccess,
method: string,
path: string,