Skip to content

Components

SearchBench is a small monorepo. Each top-level tree is a component with concrete files and Buck proof targets.

Overview

ComponentPathExample filesProof
SearchBench-Gosrc/searchbench-go/internal/app/round, internal/adapters/config/pkl, internal/adapters/bundle/fsbuck2 test //src/searchbench-go:check
Iterative Contextsrc/iterative-context/src/iterative_context/server.py, optimizable_backend.jsonbuck2 test //src/iterative-context:check_full
Configsconfigs/rounds/local-ic-vs-jcodemunch/round.pkl, schema/SearchBenchRound.pklbuck2 test //:check_full
Docssrc/docs/index.md, start-here.md, BUCKbuck2 test //src/docs:check

Component vs package: this page = repo projects; reference/package-boundaries.md = Go import layers inside the harness.


SearchBench-Go

Path: src/searchbench-go/

Owns: Game/Round/Match model; round execution; bundle writing; Pkl loading; CLI (searchbench).

Does not own: IC Python internals; visualization UI; live provider calls in CI gates.

AreaExample path
Round orchestrationinternal/app/round/
Pkl configinternal/adapters/config/pkl/
Bundlesinternal/adapters/bundle/fs/
Objectivesinternal/adapters/scoring/pkl/
Workspacesinternal/adapters/workspace/
Optimizer validationinternal/agents/optimizer/policy/
CLIcmd/searchbench/

Proves with: buck2 test //src/searchbench-go:check · Pkl regen: buck2 run //src/searchbench-go:pkl_go_types


Iterative Context

Path: src/iterative-context/ (submodule)

Owns: MCP server; code-search / lookahead; validate_policy; optimizable_backend.json.

Does not own: SearchBench scoring, bundle layout, public round schema.

AreaExample path
MCP serversrc/iterative_context/server.py
Policy validationsrc/iterative_context/validate_policy.py
Backend descriptoroptimizable_backend.json
Example policyconfigs/rounds/local-ic-vs-jcodemunch/policies/challenger_policy.py

Role: Primary challenger for code-localization; materialized into a candidate workspace before validate + launch.

Proves with: buck2 test //src/iterative-context:check · buck2 test //src/iterative-context:check_full


Visualization

Status: planned — not in this repo.

Expected role: Static bundle replay; incumbent vs challenger inspection. Consumes bundles only; does not own scoring.


Configs

Path: configs/

Owns: Schema and round manifests; objectives; checked-in example bundles.

AreaExample path
Round schemaschema/SearchBenchRound.pkl
Gameschema/games/code-localization.pkl
From-scratch roundrounds/local-ic-vs-jcodemunch/round.pkl
Continuation roundrounds/optimize-ic/round.pkl
Objectiverounds/local-ic-vs-jcodemunch/scoring/localization-objective.pkl
Example bundlerounds/local-ic-vs-jcodemunch/evidence/bundle/.../round-001/

Proves with: buck2 test //:check_full (includes harness + schema binding checks).


Docs

Path: src/docs/

Owns: Product spine, reference, research. Hosted: becker63.github.io/searchbench-go.

AreaExample path
Entryindex.md, start-here.md
Referencereference/pkl-rounds.md, reference/bundles.md
Buck targetsrc/docs/BUCK//src/docs:check

Proves with: buck2 test //src/docs:check · buck2 build //src/docs:site


Root gates (Nix / Buck)

Paths: flake.nix, BUCK, buck/, toolchains/

Owns: nix develop; git-hooks → buck2 test //:check (commit), buck2 test //:check_full (push).

See development.md.