Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
9c0916f
chore(quality): repair the knip gate and drop unused dependencies
sarthakagrawal927 Aug 30, 2026
f50bd72
chore(repo): untrack orphaned tool output and tidy gitignore
sarthakagrawal927 Aug 30, 2026
3de2b49
refactor(benchmarks): fold the public corpus into one benchmarks/ root
sarthakagrawal927 Aug 30, 2026
5bd3427
refactor(evidence): consolidate committed evidence into one evidence/…
sarthakagrawal927 Aug 30, 2026
e960e64
docs: correct repo-structure and Blume paths to match reality
sarthakagrawal927 Aug 30, 2026
d9f2b36
chore(security): catch pk_ project keys in the pre-push secret scan
sarthakagrawal927 Aug 30, 2026
164e20b
docs(knowledge): record the third-party tooling evaluations
sarthakagrawal927 Aug 30, 2026
bf5f1b7
docs(knowledge): record sandboxed-execution and static-analysis evalu…
sarthakagrawal927 Aug 30, 2026
e974309
docs: correct the nav claim in agents.md to the 6 shipped tabs
sarthakagrawal927 Aug 30, 2026
225480e
refactor: remove shared AI gateway preset
sarthakagrawal927 Aug 30, 2026
8552029
chore: harden repository verification tooling
sarthakagrawal927 Aug 30, 2026
0d041e4
feat: add bounded external collector receipts
sarthakagrawal927 Aug 30, 2026
b34ce70
feat: integrate external evidence producers and MCP tooling
sarthakagrawal927 Aug 31, 2026
b0a06b8
feat: add native macOS evidence workbench
sarthakagrawal927 Sep 2, 2026
a6dca92
ci: enable isolated native qualification dispatch
sarthakagrawal927 Sep 2, 2026
3f7f1c2
fix: accept pnpm native check delimiter
sarthakagrawal927 Sep 2, 2026
f5c855b
ci: preserve native qualification logs
sarthakagrawal927 Sep 2, 2026
9404e83
test: use semantic settings selection
sarthakagrawal927 Sep 2, 2026
f72236a
perf: bound initial evidence rendering
sarthakagrawal927 Sep 2, 2026
ae27e87
test: verify rubrics destination content
sarthakagrawal927 Sep 2, 2026
fcd48a0
fix: make settings rows fully clickable
sarthakagrawal927 Sep 2, 2026
824a9e8
perf: increase performance evidence headroom
sarthakagrawal927 Sep 2, 2026
37b3940
docs: record hosted native qualification
sarthakagrawal927 Sep 2, 2026
366d40b
perf: stabilize performance evidence rendering
sarthakagrawal927 Sep 2, 2026
b687a0e
test: measure native p95 by nearest rank
sarthakagrawal927 Sep 2, 2026
a555ee2
ci: reserve native performance scheduling
sarthakagrawal927 Sep 2, 2026
5386f10
ci: qualify protected native production candidate
sarthakagrawal927 Sep 2, 2026
19bc58e
chore: declare hosted macOS system tools
sarthakagrawal927 Sep 2, 2026
3db12cb
chore: patch transitive selector parser
sarthakagrawal927 Sep 2, 2026
1911100
refactor: share native qualification utilities
sarthakagrawal927 Sep 2, 2026
2e0e5b3
feat: add independent cross review
sarthakagrawal927 Sep 2, 2026
f812ba1
fix: bind cross review policy and units
sarthakagrawal927 Sep 2, 2026
2afdfb1
docs: record cross-review provider smoke
sarthakagrawal927 Sep 2, 2026
a0ac645
test: benchmark independent cross review
sarthakagrawal927 Sep 2, 2026
cb8f533
refactor: simplify benchmark option parsing
sarthakagrawal927 Sep 2, 2026
0179859
fix: discover benchmark cases from corpus
sarthakagrawal927 Sep 2, 2026
7bbf301
test: qualify cross review on public corpus
sarthakagrawal927 Sep 2, 2026
38db196
merge: reconcile native workbench with main
sarthakagrawal927 Sep 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  

This file was deleted.

This file was deleted.

This file was deleted.

98 changes: 0 additions & 98 deletions .claude/settings.local.json

This file was deleted.

5 changes: 5 additions & 0 deletions .github/actionlint.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Actionlint 1.7.12 predates GitHub's official Xcode 27 preview image label.
# Treat it as declared until the pinned validator includes the hosted label.
self-hosted-runner:
labels:
- xcode-27
4 changes: 4 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@ updates:
directory: /
schedule:
interval: weekly
# Let ecosystem fixes settle before routine version PRs. Dependabot
# security updates are explicitly not delayed by this setting.
cooldown:
default-days: 7
groups:
ccusage-runtime:
patterns:
Expand Down
24 changes: 15 additions & 9 deletions .github/workflows/auto-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,21 +18,24 @@ on:
- "apps/desktop/src-tauri/tauri.conf.json"
workflow_dispatch:

permissions:
contents: write
actions: write
permissions: {}

concurrency:
group: auto-release-${{ github.ref }}
cancel-in-progress: false

jobs:
publish:
name: Publish release and dispatch build
runs-on: ubuntu-latest
permissions:
contents: write # Create the versioned GitHub release.
actions: write # Dispatch the separate signed-build workflow.
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6
with:
fetch-depth: 0
persist-credentials: false

- name: Read version from tauri.conf.json
id: ver
Expand All @@ -50,12 +53,13 @@ jobs:
id: check
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
RELEASE_TAG: ${{ steps.ver.outputs.tag }}
run: |
set -euo pipefail
if gh release view "${{ steps.ver.outputs.tag }}" \
if gh release view "$RELEASE_TAG" \
--repo "$GITHUB_REPOSITORY" >/dev/null 2>&1; then
echo "exists=true" >> "$GITHUB_OUTPUT"
echo "Release ${{ steps.ver.outputs.tag }} already exists — skipping."
echo "Release $RELEASE_TAG already exists — skipping."
else
echo "exists=false" >> "$GITHUB_OUTPUT"
fi
Expand All @@ -64,21 +68,23 @@ jobs:
if: steps.check.outputs.exists != 'true'
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
RELEASE_TAG: ${{ steps.ver.outputs.tag }}
run: |
set -euo pipefail
gh release create "${{ steps.ver.outputs.tag }}" \
gh release create "$RELEASE_TAG" \
--repo "$GITHUB_REPOSITORY" \
--target "$GITHUB_SHA" \
--title "CodeVetter ${{ steps.ver.outputs.tag }}" \
--title "CodeVetter $RELEASE_TAG" \
--generate-notes

- name: Dispatch release build workflow
if: steps.check.outputs.exists != 'true'
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
RELEASE_TAG: ${{ steps.ver.outputs.tag }}
run: |
set -euo pipefail
gh workflow run release.yml \
--repo "$GITHUB_REPOSITORY" \
--ref main \
-f tag="${{ steps.ver.outputs.tag }}"
-f tag="$RELEASE_TAG"
62 changes: 55 additions & 7 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,64 @@
branches: [main]
pull_request:
workflow_dispatch:
inputs:
native_qualification:
description: "Run isolated native macOS qualification"
required: true
default: false
type: boolean
native_interaction:
description: "Include XCUITest on the isolated hosted desktop"
required: true
default: false
type: boolean
native_production_qualification:
description: "Run protected signing, notarization, and migration qualification"
required: true
default: false
type: boolean
permissions: {}

concurrency:
group: ci-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
native-qualification:
name: Native macOS qualification
if: >-
github.event_name == 'pull_request' ||
(github.event_name == 'workflow_dispatch' && inputs.native_qualification)
uses: ./.github/workflows/native-qualification.yml
with:
run_interaction: ${{ github.event_name == 'pull_request' || inputs.native_interaction }}
permissions:
contents: read

native-production-qualification:
name: Native macOS production-candidate qualification
if: github.event_name == 'workflow_dispatch' && inputs.native_production_qualification
uses: ./.github/workflows/native-production-qualification.yml
secrets: inherit
permissions:
contents: read

lint-and-typecheck:
name: Lint, test, and build
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6
with:
fetch-depth: 2
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v6
persist-credentials: false
- uses: pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1 # v4
- uses: actions/setup-node@249970729cb0ef3589644e2896645e5dc5ba9c38 # v6
with:
node-version: '22'
cache: 'pnpm'
- uses: dtolnay/rust-toolchain@stable
- uses: dtolnay/rust-toolchain@4360b52568e2003a75bf9bc1d59f33a8e3fc893c # stable
- name: Install Tauri Linux dependencies
run: |
sudo apt-get update
Expand All @@ -25,7 +70,7 @@
libayatana-appindicator3-dev \
librsvg2-dev \
libxdo-dev
- uses: Swatinem/rust-cache@v2
- uses: Swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 # v2
with:
workspaces: apps/desktop/src-tauri
- name: Install Dependencies
Expand All @@ -35,7 +80,9 @@
run: pnpm run lint
- name: Fetch code-health base
if: github.event_name != 'workflow_dispatch'
run: git fetch --depth=1 origin ${{ github.event.pull_request.base.sha || github.event.before || 'HEAD^' }}
env:
CODE_HEALTH_BASE: ${{ github.event.pull_request.base.sha || github.event.before || 'HEAD^' }}
run: git fetch --depth=1 origin "$CODE_HEALTH_BASE"
- name: Code health
env:
CODE_HEALTH_BASE: ${{ github.event.pull_request.base.sha || github.event.before || 'HEAD^' }}
Expand Down Expand Up @@ -83,7 +130,8 @@
run: |
pnpm run test:ccusage-sidecar
pnpm run prepare:ccusage-sidecar
src-tauri/binaries/ccusage-$(rustc -vV | sed -n 's/^host: //p') --version
CCUSAGE_TARGET="$(rustc -vV | sed -n 's/^host: //p')"
"src-tauri/binaries/ccusage-$CCUSAGE_TARGET" --version
- name: Qualify CLI artifact
working-directory: apps/desktop
run: |
Expand Down
21 changes: 13 additions & 8 deletions .github/workflows/deploy-landing.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,26 +7,31 @@ name: Deploy Landing Page
# apps/landing-page-astro/.
on:
workflow_dispatch:
permissions:
contents: read
deployments: write

permissions: {}

concurrency:
group: deploy-landing-${{ github.ref }}
cancel-in-progress: true

jobs:
deploy:
name: Build and deploy landing page
runs-on: ubuntu-latest
timeout-minutes: 20
permissions:
contents: read
deployments: write # Record the Cloudflare Pages deployment.
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6
with:
persist-credentials: false

- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v6
- uses: pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1 # v4
- uses: actions/setup-node@249970729cb0ef3589644e2896645e5dc5ba9c38 # v6
with:
node-version: "22"
cache: pnpm
package-manager-cache: false

- name: Install dependencies
run: pnpm install --frozen-lockfile
Expand Down Expand Up @@ -58,7 +63,7 @@ jobs:

- name: Deploy to Cloudflare Pages
if: steps.cloudflare.outputs.deploy_enabled == 'true'
uses: cloudflare/wrangler-action@v3
uses: cloudflare/wrangler-action@9acf94ace14e7dc412b076f2c5c20b8ce93c79cd # v3
with:
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
Expand Down
Loading
Loading