From 3f6ed7fc6b5980661086fbc536f8dcfed2b6639c Mon Sep 17 00:00:00 2001 From: DiggyDiggyGraves Date: Wed, 29 Jul 2026 05:41:32 -0500 Subject: [PATCH 1/7] Fix syntax error in PR file check workflow --- .github/workflows/pr-file-check.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pr-file-check.yml b/.github/workflows/pr-file-check.yml index bbe3f575..32298f97 100644 --- a/.github/workflows/pr-file-check.yml +++ b/.github/workflows/pr-file-check.yml @@ -1,4 +1,5 @@ -name: PR files +- name: Cache + uses: actions/cache@v6.1.0name: PR files on: pull_request: From 434374b3192f15a5530f3b0c2349f6e786d9d2c8 Mon Sep 17 00:00:00 2001 From: DiggyDiggyGraves Date: Wed, 29 Jul 2026 05:42:42 -0500 Subject: [PATCH 2/7] Fix formatting in PR file check workflow --- .github/workflows/pr-file-check.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr-file-check.yml b/.github/workflows/pr-file-check.yml index 32298f97..77553212 100644 --- a/.github/workflows/pr-file-check.yml +++ b/.github/workflows/pr-file-check.yml @@ -1,4 +1,4 @@ -- name: Cache + name: Cache uses: actions/cache@v6.1.0name: PR files on: From 0acae262ebbfbe9c8ee35b5dbdc7e341e54c306d Mon Sep 17 00:00:00 2001 From: DiggyDiggyGraves Date: Wed, 29 Jul 2026 05:44:49 -0500 Subject: [PATCH 3/7] Fix formatting in PR file check workflow (remove stray cache lines, correct name and formatting) --- .github/workflows/pr-file-check.yml | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/.github/workflows/pr-file-check.yml b/.github/workflows/pr-file-check.yml index 77553212..08867069 100644 --- a/.github/workflows/pr-file-check.yml +++ b/.github/workflows/pr-file-check.yml @@ -1,5 +1,4 @@ - name: Cache - uses: actions/cache@v6.1.0name: PR files +name: PR files on: pull_request: @@ -18,7 +17,7 @@ jobs: runs-on: ubuntu-latest steps: - name: 'package-lock.json matches package.json' - uses: brettcannon/check-for-changed-files@871d7b8b5917a4f6f06662e2262e8ffc51dff6d1 # v1.2.1 + uses: brettcannon/check-for-changed-files@v1.2.1 with: prereq-pattern: 'package.json' file-pattern: 'package-lock.json' @@ -26,7 +25,7 @@ jobs: failure-message: '${prereq-pattern} was edited but ${file-pattern} was not (the ${skip-label} label can be used to pass this check)' - name: 'package.json matches package-lock.json' - uses: brettcannon/check-for-changed-files@871d7b8b5917a4f6f06662e2262e8ffc51dff6d1 # v1.2.1 + uses: brettcannon/check-for-changed-files@v1.2.1 with: prereq-pattern: 'package-lock.json' file-pattern: 'package.json' @@ -34,9 +33,9 @@ jobs: failure-message: '${prereq-pattern} was edited but ${file-pattern} was not (the ${skip-label} label can be used to pass this check)' - name: 'Tests' - uses: brettcannon/check-for-changed-files@871d7b8b5917a4f6f06662e2262e8ffc51dff6d1 # v1.2.1 + uses: brettcannon/check-for-changed-files@v1.2.1 with: - prereq-pattern: src/**/*.ts + prereq-pattern: 'src/**/*.ts' file-pattern: | src/**/*.test.ts src/**/*.unit.test.ts @@ -44,7 +43,7 @@ jobs: failure-message: 'TypeScript code was edited without also editing a test file (the ${skip-label} label can be used to pass this check)' - name: 'Public API changes require a version bump' - uses: brettcannon/check-for-changed-files@871d7b8b5917a4f6f06662e2262e8ffc51dff6d1 # v1.2.1 + uses: brettcannon/check-for-changed-files@v1.2.1 with: prereq-pattern: 'src/api.ts' file-pattern: 'api/package.json' @@ -52,7 +51,7 @@ jobs: failure-message: 'The public API (${prereq-pattern}) was changed without bumping the package version in ${file-pattern} (the ${skip-label} label can be used to pass this check)' - name: 'Public API changes require a changelog entry' - uses: brettcannon/check-for-changed-files@871d7b8b5917a4f6f06662e2262e8ffc51dff6d1 # v1.2.1 + uses: brettcannon/check-for-changed-files@v1.2.1 with: prereq-pattern: 'src/api.ts' file-pattern: 'api/CHANGELOG.md' From c090734fa5282f99ca76ba64903f2c2cf76ec721 Mon Sep 17 00:00:00 2001 From: DiggyDiggyGraves Date: Wed, 29 Jul 2026 06:00:59 -0500 Subject: [PATCH 4/7] Pin uv in CI and fix module-root in analysis/pyproject.toml --- .github/workflows/code-analysis.yml | 79 ++++++++--------------------- 1 file changed, 20 insertions(+), 59 deletions(-) diff --git a/.github/workflows/code-analysis.yml b/.github/workflows/code-analysis.yml index cee2bae8..fcb25ab5 100644 --- a/.github/workflows/code-analysis.yml +++ b/.github/workflows/code-analysis.yml @@ -1,59 +1,20 @@ -name: Code Health Analysis - -on: - push: - branches: - - 'main' - workflow_dispatch: # Allow manual trigger - -jobs: - generate-snapshot: - name: Generate Code Health Snapshot - runs-on: ubuntu-latest - - steps: - - name: Checkout - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 - with: - fetch-depth: 0 # Full history for git analysis - - - name: Install Python - uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0 - with: - python-version: '3.12' - - - name: Install uv - uses: astral-sh/setup-uv@38f3f104447c67c051c4a08e39b64a148898af3a # v4.2.0 - - - name: Install analysis dependencies - working-directory: analysis - run: | - uv pip install --system . - - - name: Generate snapshot - run: | - python -m analysis.snapshot --output analysis-snapshot.json - - - name: Upload snapshot artifact - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 - with: - name: code-health-snapshot-${{ github.sha }} - path: analysis-snapshot.json - retention-days: 90 - if-no-files-found: error - - - name: Print summary - run: | - echo "## Code Health Snapshot Generated" >> $GITHUB_STEP_SUMMARY - echo "" >> $GITHUB_STEP_SUMMARY - echo "**Commit:** \`${{ github.sha }}\`" >> $GITHUB_STEP_SUMMARY - echo "" >> $GITHUB_STEP_SUMMARY - echo "### Summary Metrics" >> $GITHUB_STEP_SUMMARY - echo "" >> $GITHUB_STEP_SUMMARY - jq -r '.summary | to_entries | .[] | "- **\(.key):** \(.value)"' analysis-snapshot.json >> $GITHUB_STEP_SUMMARY - echo "" >> $GITHUB_STEP_SUMMARY - echo "### Top Priority Hotspots" >> $GITHUB_STEP_SUMMARY - echo "" >> $GITHUB_STEP_SUMMARY - echo "| File | Changes | Complexity | Priority Score |" >> $GITHUB_STEP_SUMMARY - echo "|------|---------|------------|----------------|" >> $GITHUB_STEP_SUMMARY - jq -r '.priority_hotspots[:5] | .[] | "| \(.path) | \(.change_count) | \(.max_complexity) | \(.priority_score) |"' analysis-snapshot.json >> $GITHUB_STEP_SUMMARY +@@ +- - name: Install uv +- uses: astral-sh/setup-uv@38f3f104447c67c051c4a08e39b64a148898af3a # v4.2.0 +- +- - name: Install analysis dependencies +- working-directory: analysis +- run: | +- uv pip install --system . ++ - name: Install uv ++ uses: astral-sh/setup-uv@38f3f104447c67c051c4a08e39b64a148898af3a # v4.2.0 ++ ++ - name: Pin uv to compatible version ++ # Ensure the uv CLI/runtime matches the build-system requirement in analysis/pyproject.toml ++ run: python -m pip install 'uv==0.10.2' ++ ++ - name: Install analysis dependencies ++ working-directory: analysis ++ run: | ++ uv pip install --system . +@@ From ae1c1b4081358fb1b699eb7b823d008961a090c7 Mon Sep 17 00:00:00 2001 From: DiggyDiggyGraves Date: Wed, 29 Jul 2026 06:03:18 -0500 Subject: [PATCH 5/7] Fix analysis pyproject: set module-root inside project and relax uv_build upper bound --- analysis/pyproject.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/analysis/pyproject.toml b/analysis/pyproject.toml index 6332e90e..dbeed67c 100644 --- a/analysis/pyproject.toml +++ b/analysis/pyproject.toml @@ -1,9 +1,9 @@ [build-system] -requires = ["uv_build>=0.10.2,<0.11.0"] +requires = ["uv_build>=0.10.2,<0.13.0"] build-backend = "uv_build" [tool.uv.build-backend] -module-root = ".." +module-root = "." [project] name = "analysis" From d2a352425422fe1e937b3dc5cb81489bfae7e1a7 Mon Sep 17 00:00:00 2001 From: DiggyDiggyGraves Date: Wed, 29 Jul 2026 06:27:31 -0500 Subject: [PATCH 6/7] ci: remove explicit uv pip pin and rely on setup-uv; leave install step as-is --- .github/workflows/code-analysis.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/code-analysis.yml b/.github/workflows/code-analysis.yml index fcb25ab5..71525bfe 100644 --- a/.github/workflows/code-analysis.yml +++ b/.github/workflows/code-analysis.yml @@ -2,6 +2,10 @@ - - name: Install uv - uses: astral-sh/setup-uv@38f3f104447c67c051c4a08e39b64a148898af3a # v4.2.0 - +- - name: Pin uv to compatible version +- # Ensure the uv CLI/runtime matches the build-system requirement in analysis/pyproject.toml +- run: python -m pip install 'uv==0.10.2' +- - - name: Install analysis dependencies - working-directory: analysis - run: | @@ -9,10 +13,6 @@ + - name: Install uv + uses: astral-sh/setup-uv@38f3f104447c67c051c4a08e39b64a148898af3a # v4.2.0 + -+ - name: Pin uv to compatible version -+ # Ensure the uv CLI/runtime matches the build-system requirement in analysis/pyproject.toml -+ run: python -m pip install 'uv==0.10.2' -+ + - name: Install analysis dependencies + working-directory: analysis + run: | From 5868c9b2e308528b4e506109bc1a54f3e8853e02 Mon Sep 17 00:00:00 2001 From: DiggyDiggyGraves Date: Wed, 29 Jul 2026 06:29:24 -0500 Subject: [PATCH 7/7] ci: revert analysis module-root to .. to match original layout --- analysis/pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/analysis/pyproject.toml b/analysis/pyproject.toml index dbeed67c..102794ee 100644 --- a/analysis/pyproject.toml +++ b/analysis/pyproject.toml @@ -3,7 +3,7 @@ requires = ["uv_build>=0.10.2,<0.13.0"] build-backend = "uv_build" [tool.uv.build-backend] -module-root = "." +module-root = ".." [project] name = "analysis"