Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
143 commits
Select commit Hold shift + click to select a range
208699f
feat(verify): define versioned runtime contracts
sarthakagrawal927 Jul 15, 2026
457ba97
feat(verify): validate local target configuration
sarthakagrawal927 Jul 15, 2026
17b5284
feat(verify): publish deterministic scenario selection
sarthakagrawal927 Jul 15, 2026
6f360b4
feat(verify): identify exact worktree changes
sarthakagrawal927 Jul 15, 2026
ca6cc0a
feat(verify): own private daemon ipc
sarthakagrawal927 Jul 15, 2026
e400561
feat(verify): supervise warm browser runtime
sarthakagrawal927 Jul 15, 2026
2e47c12
feat(verify): observe and redact browser regressions
sarthakagrawal927 Jul 15, 2026
27cb506
feat(verify): isolate deterministic browser scenarios
sarthakagrawal927 Jul 15, 2026
c66f5be
feat(verify): run a persistent local daemon
sarthakagrawal927 Jul 15, 2026
f1b7101
feat(verify): qualify target-owned browser state
sarthakagrawal927 Jul 15, 2026
539502b
spec(verify): define warm local verification
sarthakagrawal927 Jul 15, 2026
2e003b6
feat(graph): define structural parser foundation
sarthakagrawal927 Jul 15, 2026
77c0831
feat(graph): enforce repository extraction contracts
sarthakagrawal927 Jul 15, 2026
a372dfa
feat(graph): analyze canonical topology
sarthakagrawal927 Jul 15, 2026
937d506
feat(graph): resolve qualified cross-file links
sarthakagrawal927 Jul 15, 2026
a980a97
feat(graph): derive bounded source metrics
sarthakagrawal927 Jul 15, 2026
e497c35
feat(graph): qualify imported and legacy graphs
sarthakagrawal927 Jul 15, 2026
9eee56d
feat(graph): persist normalized structural snapshots
sarthakagrawal927 Jul 15, 2026
3a47f5c
feat(core): centralize secret redaction policy
sarthakagrawal927 Jul 15, 2026
a15a707
feat(graph): assemble extracted file contributions
sarthakagrawal927 Jul 15, 2026
c1b072a
feat(graph): extract syntax and metadata signals
sarthakagrawal927 Jul 15, 2026
a1ae749
feat(graph): orchestrate repository extraction
sarthakagrawal927 Jul 15, 2026
ed1b032
feat(graph): query bounded structural projections
sarthakagrawal927 Jul 15, 2026
655b369
feat(graph): traverse structural paths and impact
sarthakagrawal927 Jul 15, 2026
300aacd
feat(graph): expose canonical read service
sarthakagrawal927 Jul 15, 2026
a48ebac
feat(graph): expose native structural graph api
sarthakagrawal927 Jul 15, 2026
f2f948b
feat(graph): register native graph commands
sarthakagrawal927 Jul 15, 2026
ab89c04
feat(graph): type native graph ipc
sarthakagrawal927 Jul 15, 2026
e48cb84
feat(graph): add interactive structural workbench
sarthakagrawal927 Jul 15, 2026
83bd0c5
fix(unpack): synchronize section route state
sarthakagrawal927 Jul 15, 2026
fc76d19
test(graph): cover structural workbench
sarthakagrawal927 Jul 15, 2026
876d4bf
refactor(core): share backend services across transports
sarthakagrawal927 Jul 15, 2026
f6b3f04
refactor(history): reserve canonical graph module
sarthakagrawal927 Jul 15, 2026
a5f2822
feat(history): centralize git tag metadata
sarthakagrawal927 Jul 15, 2026
d50d58e
feat(history): migrate compressed temporal storage
sarthakagrawal927 Jul 15, 2026
1944f8f
feat(history): ingest bounded local evidence
sarthakagrawal927 Jul 15, 2026
5f951ac
feat(history): define temporal graph contracts
sarthakagrawal927 Jul 15, 2026
671817c
feat(history): catalog revisions and releases
sarthakagrawal927 Jul 15, 2026
80427e6
feat(history): persist compressed graph checkpoints
sarthakagrawal927 Jul 15, 2026
70b826a
feat(history): derive temporal deltas and lineage
sarthakagrawal927 Jul 15, 2026
530ffd1
feat(history): reconstruct structural state over time
sarthakagrawal927 Jul 15, 2026
4f84ab9
test(history): cover temporal graph reconstruction
sarthakagrawal927 Jul 15, 2026
dc90703
feat(history): query causal evidence chains
sarthakagrawal927 Jul 15, 2026
b730c1a
test(history): cover causal evidence queries
sarthakagrawal927 Jul 15, 2026
b824ea3
feat(history): unify temporal graph reads
sarthakagrawal927 Jul 15, 2026
3cc559e
test(history): cover unified temporal reads
sarthakagrawal927 Jul 15, 2026
d5a588f
feat(history): expose temporal graph service
sarthakagrawal927 Jul 15, 2026
adc0c38
feat(history): connect native temporal graph ipc
sarthakagrawal927 Jul 15, 2026
0f890ca
feat(history): derive timeline graph transitions
sarthakagrawal927 Jul 15, 2026
9f6f3e4
test(history): cover timeline graph transitions
sarthakagrawal927 Jul 15, 2026
ec15a96
feat(history): animate structural graph through time
sarthakagrawal927 Jul 15, 2026
39cae4e
test(history): verify responsive graph playback
sarthakagrawal927 Jul 15, 2026
5614732
style(verify): format scenario assertions
sarthakagrawal927 Jul 15, 2026
75ef0ab
feat(mcp): persist scoped local access
sarthakagrawal927 Jul 15, 2026
0723642
test(mcp): cover access and audit boundaries
sarthakagrawal927 Jul 15, 2026
5a5812f
feat(mcp): define bounded protocol primitives
sarthakagrawal927 Jul 15, 2026
1b6b39a
test(mcp): cover protocol safety primitives
sarthakagrawal927 Jul 15, 2026
8f8363a
feat(mcp): define strict protocol contracts
sarthakagrawal927 Jul 15, 2026
7934328
feat(mcp): serve scoped graph history over stdio
sarthakagrawal927 Jul 15, 2026
0b5aad7
test(mcp): cover lifecycle and read safety
sarthakagrawal927 Jul 15, 2026
cd8feb1
test(mcp): validate scoped sidecar arguments
sarthakagrawal927 Jul 15, 2026
4fa8baa
test(mcp): verify real stdio protocol boundary
sarthakagrawal927 Jul 15, 2026
9db6e2e
perf(mcp): keep settings io off async runtime
sarthakagrawal927 Jul 15, 2026
cb730ac
feat(settings): configure repository mcp access
sarthakagrawal927 Jul 15, 2026
032b380
test(settings): verify scoped mcp controls
sarthakagrawal927 Jul 15, 2026
2ce2f66
build(mcp): prepare sidecar atomically
sarthakagrawal927 Jul 15, 2026
95c0c24
ci(mcp): qualify and verify packaged sidecar
sarthakagrawal927 Jul 15, 2026
b1f87ce
build(rust): reduce test debug artifacts
sarthakagrawal927 Jul 15, 2026
e5f97fd
refactor(graph): generalize external graph imports
sarthakagrawal927 Jul 15, 2026
a8e61c1
perf(mcp): add realistic isolated fixture
sarthakagrawal927 Jul 15, 2026
e50b84c
docs(graph): remove external project references
sarthakagrawal927 Jul 15, 2026
bfaa679
refactor(rust): remove orphan helper code
sarthakagrawal927 Jul 15, 2026
7e29874
refactor(saas-maker): remove orphan write helpers
sarthakagrawal927 Jul 15, 2026
fca8588
refactor(history): remove superseded topology builder
sarthakagrawal927 Jul 15, 2026
df5a4cc
feat(review): include bounded temporal history
sarthakagrawal927 Jul 15, 2026
e945216
refactor(history): remove unused tauri front doors
sarthakagrawal927 Jul 15, 2026
68c0651
spec(mcp): define scoped history access
sarthakagrawal927 Jul 15, 2026
1c0df53
perf(mcp): benchmark populated protocol workloads
sarthakagrawal927 Jul 15, 2026
3111da7
perf(mcp): qualify stable warm memory
sarthakagrawal927 Jul 15, 2026
7206308
docs(perf): record mcp qualification
sarthakagrawal927 Jul 15, 2026
7a08b44
refactor(history): extract timeline controls
sarthakagrawal927 Jul 15, 2026
2db8486
docs(mcp): add local operator guide
sarthakagrawal927 Jul 15, 2026
13f46a6
feat(verify): invalidate runs on source changes
sarthakagrawal927 Jul 15, 2026
324e611
feat(verify): support exact git change modes
sarthakagrawal927 Jul 15, 2026
b491293
feat(verify): guard intelligence boundaries
sarthakagrawal927 Jul 15, 2026
d30ea1c
feat(verify): add exact visual baselines
sarthakagrawal927 Jul 15, 2026
b9c0e8f
feat(verify): integrate deterministic proof gates
sarthakagrawal927 Jul 15, 2026
089ebcf
feat(verify): complete invocation timing proof
sarthakagrawal927 Jul 15, 2026
1d2e24a
feat(verify): add bounded intelligence hints
sarthakagrawal927 Jul 15, 2026
3b265aa
spec(verify): plan scenario compilation
sarthakagrawal927 Jul 15, 2026
af14711
spec(verify): plan local differential proof
sarthakagrawal927 Jul 15, 2026
3eb3dd2
spec(verify): record deferred follow-ups
sarthakagrawal927 Jul 15, 2026
add82b3
feat(verify): bound artifact retention
sarthakagrawal927 Jul 15, 2026
8d5b9f5
feat(verify): persist immutable warm evidence
sarthakagrawal927 Jul 15, 2026
2177d92
docs(verify): add local operator guide
sarthakagrawal927 Jul 15, 2026
1b4a7d4
feat(verify): adapt warm review evidence
sarthakagrawal927 Jul 15, 2026
63b7bf7
perf(verify): qualify warm React scenarios
sarthakagrawal927 Jul 15, 2026
45e3266
feat(trex): add warm verification console
sarthakagrawal927 Jul 15, 2026
43a2ff5
perf(verify): qualify warm runtime stability
sarthakagrawal927 Jul 15, 2026
c4fab1e
feat(verify): extend warm verifier controls
sarthakagrawal927 Jul 15, 2026
3e7b3e7
feat(trex): bridge repository-owned verifier
sarthakagrawal927 Jul 15, 2026
fdf51c7
feat(review): qualify exact warm evidence
sarthakagrawal927 Jul 15, 2026
1975e45
fix(trex): cancel the owned warm run
sarthakagrawal927 Jul 15, 2026
e77a85d
test(review): prove exact warm evidence
sarthakagrawal927 Jul 15, 2026
c82d58b
test(verify): preserve legacy migration paths
sarthakagrawal927 Jul 15, 2026
4862992
docs(verify): reconcile qualified architecture
sarthakagrawal927 Jul 15, 2026
197f506
refactor(rust): clear history clippy debt
sarthakagrawal927 Jul 15, 2026
793f47f
refactor(rust): clear backend clippy debt
sarthakagrawal927 Jul 15, 2026
0a19bad
refactor(rust): enforce strict clippy
sarthakagrawal927 Jul 15, 2026
62d3b6d
refactor(verify): complete the lean integration gate
sarthakagrawal927 Jul 15, 2026
02f5e8f
test(browser): align activity workspace coverage
sarthakagrawal927 Jul 15, 2026
3466b0f
fix(build): reuse configured Cargo target
sarthakagrawal927 Jul 15, 2026
4d65ef6
chore(deps): patch high severity advisories
sarthakagrawal927 Jul 15, 2026
8dd1ce1
docs(verify): record release qualification
sarthakagrawal927 Jul 15, 2026
e6e15d3
spec(verify): sync canonical requirements
sarthakagrawal927 Jul 15, 2026
f410f74
spec(verify): archive qualified warm verifier
sarthakagrawal927 Jul 15, 2026
0fb9396
docs(mcp): close release qualification
sarthakagrawal927 Jul 15, 2026
5597fc8
spec(mcp): sync local history contract
sarthakagrawal927 Jul 15, 2026
2d34728
spec(mcp): archive qualified history surface
sarthakagrawal927 Jul 15, 2026
468ba0e
feat(archaeology): add deterministic rule extraction core
sarthakagrawal927 Jul 18, 2026
7c893ab
feat(archaeology): persist evidence lifecycle safely
sarthakagrawal927 Jul 18, 2026
d3ec4b4
feat(archaeology): index repository rules incrementally
sarthakagrawal927 Jul 18, 2026
a367a7a
feat(archaeology): expose cited rules for review
sarthakagrawal927 Jul 18, 2026
b06a1d8
feat(archaeology): add bounded optional synthesis
sarthakagrawal927 Jul 18, 2026
cedffcb
test(archaeology): qualify evidence-backed rule recovery
sarthakagrawal927 Jul 18, 2026
961b73b
feat(history): add release-aware graph time travel
sarthakagrawal927 Jul 18, 2026
6efa4bc
feat(mcp): expose bounded history and archaeology context
sarthakagrawal927 Jul 18, 2026
353ba42
feat(verify): compile specs into deterministic scenarios
sarthakagrawal927 Jul 18, 2026
f13f966
feat(verify): compare working tree against main locally
sarthakagrawal927 Jul 18, 2026
2dfa2fb
perf(verify): harden the warm local verification loop
sarthakagrawal927 Jul 18, 2026
7a42a85
feat: integrate local-first repository intelligence
sarthakagrawal927 Jul 18, 2026
d6074bf
Merge remote-tracking branch 'origin/main' into rebuild/series-202607…
sarthakagrawal927 Jul 18, 2026
d261f52
fix: stabilize merged verification contracts
sarthakagrawal927 Jul 18, 2026
5de0b2b
test: refresh local verification evidence
sarthakagrawal927 Jul 18, 2026
d301ccb
Merge remote-tracking branch 'origin/main' into rebuild/series-202607…
sarthakagrawal927 Jul 18, 2026
574cf62
spec: define deterministic review pipeline
sarthakagrawal927 Jul 18, 2026
0c34be5
perf(graph): bound candidate-scale graph and MCP costs
sarthakagrawal927 Jul 18, 2026
bb92256
docs: own the structural graph coverage contract
sarthakagrawal927 Jul 18, 2026
37c53dd
fix(ci): calibrate graph performance gates
sarthakagrawal927 Jul 18, 2026
ef43a39
fix(verify): harden Node 22 runtime deadlines
sarthakagrawal927 Jul 18, 2026
9c4d843
ci: avoid duplicate pull request builds
sarthakagrawal927 Jul 18, 2026
a10cfc5
ci: serialize singleton verification fixtures
sarthakagrawal927 Jul 18, 2026
1a9b8d3
ci: scope graph frame budgets to qualification
sarthakagrawal927 Jul 18, 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
  •  
  •  
  •  
47 changes: 47 additions & 0 deletions .codevetter/verify.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
version: 1
target:
command: [pnpm, --dir, apps/desktop, exec, vite, --host, 127.0.0.1, --port, "1420", --strictPort]
cwd: .
readinessUrl: http://127.0.0.1:1420/
baseUrl: http://127.0.0.1:1420
allowedEnv: []
hmrSettleMs: 150
shutdownGraceMs: 2000
scenarioModules:
- apps/desktop/verify/scenarios.mjs
authProfiles:
local-developer:
storageState: apps/desktop/tests/fixtures/warm-verification/auth/local-developer.json
capabilities:
- id: app-shell
paths:
- apps/desktop/src/App.tsx
- apps/desktop/src/main.tsx
- apps/desktop/src/components/sidebar.tsx
- apps/desktop/src/components/persistent-routes.tsx
scenarios: [shell-navigation]
mandatorySmoke: [shell-navigation]
sharedInfrastructure:
paths:
- apps/desktop/src/**
- apps/desktop/vite.config.ts
- apps/desktop/package.json
- package.json
- pnpm-lock.yaml
fallbackScenarios: [shell-navigation]
network:
firstPartyOrigins: [http://127.0.0.1:1420]
allowedFirstPartyRequests: [GET /**]
blockThirdParty: true
allowedThirdPartyOrigins: []
retention:
directory: .codevetter/verify-artifacts
maxRuns: 20
maxBytes: 104857600
maxAgeDays: 14
budgets:
parallelism: 4
actionMs: 3000
scenarioMs: 10000
batchMs: 30000
slowInteractionMs: 750
29 changes: 23 additions & 6 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
name: CI
on: [push, pull_request]
on:
push:
branches: [main]
pull_request:
jobs:
lint-and-typecheck:
runs-on: ubuntu-latest
Expand All @@ -19,6 +22,9 @@ jobs:
libayatana-appindicator3-dev \
librsvg2-dev \
libxdo-dev
- uses: Swatinem/rust-cache@v2
with:
workspaces: apps/desktop/src-tauri
- name: Install Dependencies
run: pnpm install --frozen-lockfile
- name: Lint
Expand All @@ -27,18 +33,29 @@ jobs:
- name: Type Check
working-directory: apps/desktop
run: pnpm exec tsc --noEmit
- name: Install focused browser
working-directory: apps/desktop
run: pnpm exec playwright install --with-deps chromium
- name: Unit Tests
working-directory: apps/desktop
run: pnpm run test:unit
- name: MCP sidecar build smoke
# Process-heavy differential fixtures model one singleton-owned daemon.
# Serial file execution avoids multiplying Git/browser processes beyond
# that production ownership boundary on constrained hosted runners.
run: |
pnpm exec node --import tsx --test --test-concurrency=1 "src/**/*.test.ts"
pnpm exec node --import tsx --test tests/qualification/warm-verification-live.test.ts
- name: Prepare MCP sidecar
working-directory: apps/desktop
run: pnpm run prepare:mcp-sidecar
- name: Desktop build
working-directory: apps/desktop
run: pnpm run build
- name: MCP protocol and safety tests
working-directory: apps/desktop
run: "cargo test --manifest-path src-tauri/Cargo.toml mcp::"
- name: MCP release-mode stdio lifecycle
run: |
cargo test --manifest-path src-tauri/Cargo.toml --lib mcp
cargo test --manifest-path src-tauri/Cargo.toml --bin codevetter-mcp
cargo test --manifest-path src-tauri/Cargo.toml --test mcp_stdio
- name: MCP and history browser tests
working-directory: apps/desktop
run: cargo test --release --manifest-path src-tauri/Cargo.toml --test mcp_stdio
run: pnpm exec playwright test tests/e2e/mcp-settings.spec.ts tests/e2e/repo-unpacked.spec.ts
17 changes: 16 additions & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,8 @@ jobs:

- name: Setup Rust
uses: dtolnay/rust-toolchain@stable
with:
targets: aarch64-apple-darwin

- name: Setup Bun
uses: oven-sh/setup-bun@v2
Expand All @@ -57,13 +59,23 @@ jobs:
working-directory: apps/desktop
run: pnpm exec playwright install chromium

- name: Qualify canonical graph performance
- name: Qualify canonical graph and MCP performance
working-directory: apps/desktop
env:
# Hosted runner timing is variable. Keep correctness/resource
# qualification here; absolute graph ceilings run on the named machine.
CV_GRAPH_BUDGET_MODE: report-only
run: |
pnpm qualify:graph
pnpm qualify:graph:browser
pnpm bench:mcp

- name: Prepare release MCP sidecar
working-directory: apps/desktop
env:
TAURI_ENV_TARGET_TRIPLE: aarch64-apple-darwin
run: pnpm run prepare:mcp-sidecar:release

- name: Build Tauri app
id: tauri
uses: tauri-apps/tauri-action@v0
Expand All @@ -89,6 +101,9 @@ jobs:
includeUpdaterJson: true
updaterJsonPreferNsis: false

- name: Verify MCP sidecar in app bundle
run: test -x apps/desktop/src-tauri/target/aarch64-apple-darwin/release/bundle/macos/CodeVetter.app/Contents/MacOS/codevetter-mcp

# tauri-action repackages the .app -> .tar.gz AFTER tauri build signed
# the original tarball, so the on-disk .sig is stale (or absent). Sign
# the final tarball ourselves with the same minisign key, then upload
Expand Down
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ target/
apps/desktop/src-tauri/target/
apps/desktop/src-tauri/binaries/codevetter-mcp-*
apps/desktop/src-tauri/sidecar/
apps/desktop/src-tauri/binaries/codevetter-mcp-*
apps/desktop/out/
apps/desktop/.next/

Expand Down Expand Up @@ -62,5 +63,12 @@ apps/desktop/coverage/
.fallow/
cache.bin

# Warm local verification artifacts (redacted but intentionally ephemeral)
.codevetter/verify-artifacts/

# Model-assisted scenario candidates remain private until explicit acceptance.
.codevetter/scenario-candidates/
.codevetter/private-notes/

# codex CLI project dir
.codex/
Loading
Loading