Skip to content

Separate bcbench-core from the BC-Bench application - #905

Draft
Sun Haoran (haoranpb) with Copilot wants to merge 9 commits into
mainfrom
copilot/refactor-bc-bench-library
Draft

Sun Haoran (haoranpb) with Copilot wants to merge 9 commits into
mainfrom
copilot/refactor-bc-bench-library

Conversation

Copilot AI commented Sep 29, 2026 •

Copy link
Copy Markdown
Contributor

BC-Bench needs a distributable core that other repositories can consume without inheriting this repository’s categories, configuration, or integrations. This prototype makes that boundary visible while retaining the existing public evaluation flow.

  • Public library: library/ builds bcbench-core with typed execution contracts, result persistence, scoring operations, and run provenance.

  • Repository application: app/ owns the CLI, categories, agent profiles, prompts, and integrations. Dataset and CI assets remain repository-owned.

  • Consumer examples: A synthetic consumer runs from an installed wheel; app/code_review_consumer.py shows the real code-review pipeline composing core operations without registering its category in the library:

    CodeReviewPipeline().execute(context, agent_runner)
    results = load_results([result_path], CodeReviewResult)

The existing CLI remains the supported workflow. The code-review example still requires the repository’s evaluation checkout, agent CLI, and judge.



class AgentRunner[ContextT, OutputT](Protocol):
def __call__(self, context: ContextT, /) -> OutputT: ...


class EvaluationPipeline[EntryT, OutputT, ResultT: EvaluationResult](Protocol):
def evaluate(self, context: EvaluationContext[EntryT], agent: AgentRunner[EvaluationContext[EntryT], OutputT]) -> ResultT: ...

class Scorer[ResultT: EvaluationResult](Protocol):
@property
def scorer_id(self) -> str: ...
@property
def scorer_id(self) -> str: ...

def __call__(self, result: ResultT) -> float: ...
Copilot AI changed the title Prototype public bcbench-core and repository-owned code-review consumer Separate bcbench-core from the BC-Bench application Sep 29, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants