feat: add benchmark scaffold and result store (task 0022)
Lay the foundation the benchmark harness reads and writes: a bench/ directory (excluded from the published npm package), the immutable result-record shape, and an append-only per-cell sample store. - bench/result.ts: the ResultRecord shape — four token components, turns, duration, imputed cost, tagged pass/fail outcome, and the arm/task/tier/trial/timestamp tags. Arm and Tier are typed unions. - bench/store.ts: append-only sample store, one JSONL file per cell at <root>/<arm>/<taskId>.jsonl; deepening a cell only ever adds samples. - bench/README.md: harness working docs and benchmark vocabulary, kept out of the tool's domain glossary per the spec. - Dedicated bench test tier (vitest.bench.config.ts, npm run test:bench) kept out of the fast tier; tsconfig typechecks bench. - Packaging tier asserts bench/ never ships in the tarball.
This commit was merged in pull request #23.
This commit is contained in:
@@ -103,6 +103,10 @@ describe("npm distribution artifact", () => {
|
||||
expect(scripts?.postinstall).toBeUndefined();
|
||||
});
|
||||
|
||||
it("excludes the bench/ harness directory from the package", () => {
|
||||
expect(existsSync(join(extractDir, "package", "bench"))).toBe(false);
|
||||
});
|
||||
|
||||
it("declares complete metadata: unscoped name, description, repo, license, engines, ESM type", () => {
|
||||
const name = packedManifest.name as string;
|
||||
expect(name).toBe("gitea-axi");
|
||||
|
||||
Reference in New Issue
Block a user