Skip to content

Architecture

Monorepo map: components.md. This page ties the round lifecycle to Go paths.

text
pure      model (Game, Round, Match, evidence, scores)
ports     shared contracts
app       round orchestration
agents    evaluator + optimizer (must not import app)
adapters  Pkl, bundles, pipelines, workspaces
surface   CLI
games     code-localization wiring
text
surface / app / adapters / agents  →  ports  →  pure

Round lifecycle → code

StagePath
Load Pkl manifestinternal/adapters/config/pkl/
Run roundinternal/app/round/
Match execution / reportsinternal/app/round/ (evaluator wiring)
Build evidenceinternal/pure/report, internal/pure/score
Run objectiveinternal/adapters/scoring/pkl/
Write bundleinternal/adapters/bundle/fs/
Candidate workspaceinternal/adapters/workspace/
Optimizer policy validationinternal/agents/optimizer/policy/
text
round.pkl → config/pkl → app/round → matches → evidence.pkl
  → scoring/pkl → objective.json → decision → bundle/fs
  → optional optimizer → candidate workspace → MCP

Example manifest: configs/rounds/local-ic-vs-jcodemunch/round.pklExample bundle: configs/rounds/local-ic-vs-jcodemunch/evidence/bundle/.../round-001/

IC optimizer path

candidate-workspaces.mdValidateProposalInWorkspace then MCP from the validated workspace only.

Buck2 (contributors)

GateTarget
Fast (commit)buck2 test //:check
Full (push)buck2 test //:check_full
Docsbuck2 test //src/docs:check

Not required for public local_path round runs.

Reference

TopicDoc
Import rulesreference/package-boundaries.md
Pkl roundsreference/pkl-rounds.md
Objectivesreference/pkl-objectives.md
Bundlesreference/bundles.md

Enforced by internal/architecture/imports_test.go.