From 7bbcb6720f0195e0e3b88be349e03eb34a72842f Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 7 Apr 2026 10:33:29 +0000 Subject: [PATCH 1/6] Initial plan From 48e53c2b1b63044b6e055fd9743f08aa3e7de9cf Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 7 Apr 2026 10:40:26 +0000 Subject: [PATCH 2/6] Add Muter mutation testing harness and PR GitHub Action Agent-Logs-Url: https://github.com/craigjbass/clearancekit/sessions/4ab352b7-692b-4616-9f67-250889cfbe3e Co-authored-by: craigjbass <1889973+craigjbass@users.noreply.github.com> --- .github/workflows/pr-mutation.yml | 31 +++++++++++++++++++++++++++++++ muter.conf.yml | 9 +++++++++ 2 files changed, 40 insertions(+) create mode 100644 .github/workflows/pr-mutation.yml create mode 100644 muter.conf.yml diff --git a/.github/workflows/pr-mutation.yml b/.github/workflows/pr-mutation.yml new file mode 100644 index 0000000..95b6be9 --- /dev/null +++ b/.github/workflows/pr-mutation.yml @@ -0,0 +1,31 @@ +name: PR Mutation Test + +on: + pull_request: + branches: + - main + +permissions: + contents: read + +jobs: + mutation: + runs-on: macos-26 + + steps: + - name: Checkout + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + + - name: Install Muter + run: brew install muter-mutation-testing/formulae/muter + + - name: Run mutation tests + run: muter run --output-json muter-report.json + + - name: Upload mutation test report + if: always() + uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0 + with: + name: muter-report + path: muter-report.json + if-no-files-found: warn diff --git a/muter.conf.yml b/muter.conf.yml new file mode 100644 index 0000000..d3bacb1 --- /dev/null +++ b/muter.conf.yml @@ -0,0 +1,9 @@ +buildSystem: + kind: xcode + projectPath: clearancekit.xcodeproj + scheme: clearancekitTests + destination: "platform=macOS" +filesToExclude: + - clearancekit + - opfilter + - Tests From 927d8938b0fa5bcd3627bcf533063295323f366c Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 7 Apr 2026 10:47:21 +0000 Subject: [PATCH 3/6] Include opfilter/ in mutation scope; only exclude clearancekit/ and Tests/ Agent-Logs-Url: https://github.com/craigjbass/clearancekit/sessions/e6902cdb-73b7-4038-af8a-5206ca2d6edb Co-authored-by: craigjbass <1889973+craigjbass@users.noreply.github.com> --- muter.conf.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/muter.conf.yml b/muter.conf.yml index d3bacb1..8e4fb9b 100644 --- a/muter.conf.yml +++ b/muter.conf.yml @@ -5,5 +5,4 @@ buildSystem: destination: "platform=macOS" filesToExclude: - clearancekit - - opfilter - Tests From 5ce14c09a4d7d1a0575a5a91d7d7c25f03bad140 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 7 Apr 2026 11:48:10 +0000 Subject: [PATCH 4/6] Fix muter run flag: use --format json instead of unknown --output-json Agent-Logs-Url: https://github.com/craigjbass/clearancekit/sessions/527273e7-4601-4e7a-a5e3-a9c7b286e0de Co-authored-by: craigjbass <1889973+craigjbass@users.noreply.github.com> --- .github/workflows/pr-mutation.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pr-mutation.yml b/.github/workflows/pr-mutation.yml index 95b6be9..a4f034b 100644 --- a/.github/workflows/pr-mutation.yml +++ b/.github/workflows/pr-mutation.yml @@ -20,12 +20,12 @@ jobs: run: brew install muter-mutation-testing/formulae/muter - name: Run mutation tests - run: muter run --output-json muter-report.json + run: muter run --format json - name: Upload mutation test report if: always() uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0 with: name: muter-report - path: muter-report.json + path: muterReport.json if-no-files-found: warn From 0958cf46c9505ead5f9dcb35f5a542e568a44558 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 7 Apr 2026 12:31:33 +0000 Subject: [PATCH 5/6] Fix muter.conf.yml: use correct executable/arguments/exclude schema Agent-Logs-Url: https://github.com/craigjbass/clearancekit/sessions/ac896333-0379-4e85-83e6-d4de8b0b0379 Co-authored-by: craigjbass <1889973+craigjbass@users.noreply.github.com> --- muter.conf.yml | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/muter.conf.yml b/muter.conf.yml index 8e4fb9b..dca5e40 100644 --- a/muter.conf.yml +++ b/muter.conf.yml @@ -1,8 +1,11 @@ -buildSystem: - kind: xcode - projectPath: clearancekit.xcodeproj - scheme: clearancekitTests - destination: "platform=macOS" -filesToExclude: +executable: /usr/bin/xcodebuild +arguments: + - -project + - clearancekit.xcodeproj + - -scheme + - clearancekitTests + - -destination + - platform=macOS + - test +exclude: - clearancekit - - Tests From 99548c8a7785470f663911be7c14b906eb2e14b9 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 7 Apr 2026 12:42:44 +0000 Subject: [PATCH 6/6] Add --skip-coverage to muter run to avoid segfault in coverage analysis step Agent-Logs-Url: https://github.com/craigjbass/clearancekit/sessions/a892a4e8-736f-4feb-925d-6c1275dba4b6 Co-authored-by: craigjbass <1889973+craigjbass@users.noreply.github.com> --- .github/workflows/pr-mutation.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr-mutation.yml b/.github/workflows/pr-mutation.yml index a4f034b..0f9200d 100644 --- a/.github/workflows/pr-mutation.yml +++ b/.github/workflows/pr-mutation.yml @@ -20,7 +20,7 @@ jobs: run: brew install muter-mutation-testing/formulae/muter - name: Run mutation tests - run: muter run --format json + run: muter run --skip-coverage --format json - name: Upload mutation test report if: always()