Skip to content

feat: Create a fully working example for clarity#11

Merged
MgnMtn merged 11 commits into
mainfrom
4-bigger-example
Jul 10, 2026
Merged

feat: Create a fully working example for clarity#11
MgnMtn merged 11 commits into
mainfrom
4-bigger-example

Conversation

@MgnMtn

@MgnMtn MgnMtn commented Jul 10, 2026

Copy link
Copy Markdown
Member

Pull Request also address:

Resolves #1
Resolves #8
Resolves #10

@MgnMtn
MgnMtn requested a review from Copilot July 10, 2026 11:19
@MgnMtn MgnMtn self-assigned this Jul 10, 2026
@MgnMtn MgnMtn added the enhancement New feature or request label Jul 10, 2026
@MgnMtn MgnMtn linked an issue Jul 10, 2026 that may be closed by this pull request
2 tasks

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR makes multiplex easier to understand and run end-to-end by (1) validating/reading only the prompt keys needed for the selected mutation approach, (2) fixing and testing the Maven execution backend, and (3) bundling a self-contained runnable example project/config with accompanying documentation.

Changes:

  • Add multiplex/prompts.py (resolve_prompts) and switch __main__.py to validate only the selected approach’s required system_prompts keys (addresses issue #1 / PR #10).
  • Rework multiplex/execute/maven.py to follow the same evaluation flow as defects4j.py, plus add unit tests for the Maven backend (addresses issue #8).
  • Add a bundled Maven example project + config and update docs/README to point users at uv run multiplex ./examples/config.yml.

Reviewed changes

Copilot reviewed 20 out of 21 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
tests/test_prompts.py Adds tests asserting prompt resolution only requires the selected approach’s keys and fails fast with actionable errors.
tests/execute/test_maven.py Adds unit tests covering Maven backend execution mapping and mutant loop behavior (summary writing, baseline failure, skip non-compilable).
tests/execute/conftest.py Adds runtime-style import setup for execution backend tests by prepending multiplex/ to sys.path.
README.md Fixes token_env_var example key and documents how to run the bundled example.
multiplex/prompts.py Introduces approach→prompt-key mapping and resolve_prompts validation/selection logic.
multiplex/execute/maven.py Rewrites Maven backend to baseline first, classify mutants, and write mutant_summary.csv.
multiplex/main.py Uses resolve_prompts early and simplifies approach dispatch using the validated approach variable.
examples/README.md Documents the bundled end-to-end example workflow, prerequisites, and outputs.
examples/project/example/src/test/java/com/example/ClassifierTest.java Adds JUnit tests for the example project to enable mutation killing/survival demonstration.
examples/project/example/src/main/java/com/example/Classifier.java Adds a small example class/method as the mutation target.
examples/project/example/pom.xml Adds a minimal Maven project definition (Java 17 + JUnit 5).
examples/config.yml Adds a runnable example configuration and includes prompt blocks (only selected approach required).
docs/MODULE_REFERENCE.md Documents the new prompts.py module and updates Maven backend reference.
docs/EXTENDING.md Updates approach-extension instructions to use APPROACH_PROMPT_KEYS / resolve_prompts.
docs/DEVELOPMENT.md Adds example-run docs and updates known-issues notes reflecting fixed prompt handling and Maven backend.
docs/CONFIG.md Updates config semantics to “per-approach required prompts” and clarifies failure modes.
docs/ARCHITECTURE.md Updates the Maven backend description to reflect the now-functional behavior and example usage.
CLAUDE.md Updates repository conventions/docs to match the new prompt resolution flow and bundled example.
AGENTS.md Updates the agent guidance to reflect new prompt resolution and example run.
.gitignore Ignores run artifacts like output/ and *.orig backups created during runs.
.github/copilot-instructions.md Adds repository-specific Copilot guidance matching the updated conventions and example.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread multiplex/execute/maven.py Outdated
Comment thread README.md
@MgnMtn
MgnMtn merged commit 8a0c405 into main Jul 10, 2026
6 checks passed
@MgnMtn
MgnMtn deleted the 4-bigger-example branch July 10, 2026 13:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix: Maven Execution Module fix: example fix: only require necessary prompt sets for run

2 participants