Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 59 additions & 0 deletions evidence/design/reviews/sidebar.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
{
"$schema": "fleet.design-review.v1",
"version": 1,
"project": "codevetter",
"target": "desktop primary navigation sidebar",
"mode": "preserve",
"register": "product",
"context": {
"product": "PRODUCT.md",
"design": "DESIGN.md"
},
"direction": {
"references": [],
"probes": [],
"selected": "existing-design",
"approval": "not-required",
"before": "artifacts/design/trex-before-1440.png"
},
"evidence": {
"screenshots": [
{
"width": 390,
"path": "artifacts/design/sidebar-after-390.png"
},
{
"width": 768,
"path": "artifacts/design/sidebar-after-768.png"
},
{
"width": 1440,
"path": "artifacts/design/sidebar-after-1440.png"
}
],
"projectCheck": {
"command": "biome check touched files; tsc --noEmit; targeted Playwright visual-system and smoke tests; git diff --check",
"status": "pass"
},
"critique": {
"score": 33,
"maximum": 40
},
"audit": {
"score": 18,
"maximum": 20
},
"unresolved": {
"p0": 0,
"p1": 0
},
"detector": {
"posture": "advisory",
"findings": []
}
},
"ownerFeedback": {
"decision": "keep",
"note": "Owner confirmed the implemented sidebar is better and chose to stay with this direction."
}
}
59 changes: 59 additions & 0 deletions evidence/design/reviews/trex-change-and-preview-verification.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
{
"$schema": "fleet.design-review.v1",
"version": 1,
"project": "codevetter",
"target": "T-Rex change and preview verification",
"mode": "preserve",
"register": "product",
"context": {
"product": "PRODUCT.md",
"design": "DESIGN.md"
},
"direction": {
"references": [],
"probes": [],
"selected": "existing-design",
"approval": "not-required",
"before": "artifacts/design/trex-before-1440.png"
},
"evidence": {
"screenshots": [
{
"width": 390,
"path": "artifacts/design/trex-after-390.png"
},
{
"width": 768,
"path": "artifacts/design/trex-after-768.png"
},
{
"width": 1440,
"path": "artifacts/design/trex-after-1440.png"
}
],
"projectCheck": {
"command": "cd apps/desktop && pnpm exec tsc --noEmit",
"status": "pass"
},
"critique": {
"score": 37,
"maximum": 40
},
"audit": {
"score": 19,
"maximum": 20
},
"unresolved": {
"p0": 0,
"p1": 0
},
"detector": {
"posture": "advisory",
"findings": []
}
},
"ownerFeedback": {
"decision": "delegated",
"note": "Owner authorized the bounded preserve-lane implementation with 'go for it'; the incumbent CodeVetter workbench language remains authoritative."
}
}
Binary file added evidence/design/sidebar-after-1440.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added evidence/design/sidebar-after-390.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added evidence/design/sidebar-after-768.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
123 changes: 123 additions & 0 deletions evidence/design/structural-context-evaluation.html

Large diffs are not rendered by default.

Binary file added evidence/design/trex-after-1440.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added evidence/design/trex-after-390.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added evidence/design/trex-after-768.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added evidence/design/trex-before-1440.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added evidence/design/trex-result-1440.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added evidence/design/usage-telemetry-after-1440.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added evidence/design/usage-telemetry-after-390.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added evidence/design/usage-telemetry-after-768.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added evidence/design/usage-telemetry-before-1440.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
132 changes: 132 additions & 0 deletions evidence/performance/calorie-exercise-guidance-2026-08-10.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,132 @@
# Calorie exercise-guidance performance trial — 2026-08-10

This records a local proof run, not a customer-impact case study. The benchmark
used no production database, hosted endpoint, deployment, or paid model. The
publication ledger should label any later review URL as a synthetic stress
result unless representative product-scale evidence is added.

## Scope

- Project: `/Users/sarthak/Desktop/fleet/calorie`
- Starting revision: `4db2075170a27c5147ad88fe3622dd69760d90ec`
- Runtime: Node `v24.19.0` on Darwin arm64
- Exact flow: `exercise guidance performance scales across representative food histories`
- Benchmark: `src/lib/recommendations.performance.test.ts`
- Candidate: `calculateGymGuidance` in `src/lib/recommendations.ts`
- Inputs: 1,000, 10,000, and 35,000 food-history entries; 100 in-process
iterations per input
- Correctness oracle: the selected exercise window must belong to the most
recent eligible meal, independent of input order; future and expired meals do
not qualify

The benchmark is intentionally a scale/stress workload. A 35,000-entry local
history is useful for distinguishing algorithmic behavior, but this artifact
does not establish that typical users have that history size or that the
operation is currently a visible UX bottleneck.

## Why CodeVetter selected it

`runtime:plan-flow-campaign` discovered the timed Vitest flow without a manual
target hint. The independent source-profile passes inside a five-sample run
repeated `calculateGymGuidance` as the repository-owned CPU candidate. The
captured supported-scale cost after the change was approximately `0.17 ms/op`
at 35,000 entries.

The planner classified the candidate as actionable but used neutral frequency
and user-impact weights because Calorie has no project-owned priority manifest.
Therefore production frequency and customer impact remain unverified.

## Change

The baseline implementation cloned the history, filtered it, fully sorted the
eligible entries, mapped every entry into a window object, and then selected the
first still-open window. The candidate performs one pass and retains only the
most recent eligible open window.

The change preserves the baseline's stable-tie behavior: when two entries have
the same timestamp, the first input entry remains selected.

## Paired result

CodeVetter alternated baseline and candidate executions for ten measurement
pairs after one warmup per side. Both checkouts used the same exact workload
digest:

`ebf9f02b4b14632ea6f245be39693a196b5276ea42bc6cedd46000819e80c0ec`

| History entries | Baseline median | Candidate median | Change |
| ---: | ---: | ---: | ---: |
| 1,000 | 0.034 ms/op | 0.016 ms/op | -52.941% |
| 10,000 | 0.253 ms/op | 0.046 ms/op | -81.818% |
| 35,000 | 1.203 ms/op | 0.162 ms/op | -86.534% |

The endpoint scale exponent moved from `1.003` to `0.651`. CodeVetter returned:

- verdict: `confirmed`
- mechanically confirmed: `true`
- materially useful under the recorded benchmark policy: `true`
- shipping recommended at the ten-sample floor: `true`
- verifier limitations: none

Interpretation: the algorithmic improvement is strongly supported. The absolute
benefit is only about `1.041 ms/op` at the largest stress input, so this is not
yet evidence of customer-visible latency. A future UI must show absolute and
relative movement together.

## Correctness and repository checks

- Focused Vitest run: 2 files, 17 tests passed
- Full Calorie test run before the final iteration-count increase: 28 files,
120 tests passed
- TypeScript: `pnpm typecheck` passed
- Biome on the three touched files passed
- `git diff --check` passed

## CodeVetter improvements caused by this trial

The first paired Vitest attempt compared runner startup time and ignored the
benchmark's console `ms/op` series. That produced an inconclusive result even
though both sides emitted comparable domain metrics. CodeVetter now retains the
median console metrics from repeated paired Vitest measurements, matching the
existing Node-test and Node-script behavior. A regression test covers the
failure mode.

The later campaign run also exposed a source-coordinate mismatch: the raw V8
profile reported generated line 178 while bounded source inspection uniquely
anchored `calculateGymGuidance` to original TypeScript line 254. The campaign
planner now emits the source-anchored line and preserves the raw profiler line
as `reported_line`. This prevents an agent or UI from silently presenting the
generated coordinate as the original source location.

Relevant CodeVetter validation after both fixes: 34 focused runtime-performance
tests passed, including paired execution, Vitest metric retention, source-line
alignment, Node profiling, and Go benchmark coverage.

## Other candidate screening in this pass

| Project | Evidence found | Decision |
| --- | --- | --- |
| India Standards | Existing benchmark depends on a local DuckDB/data path and requires explicit arguments. | Not executed in the default local campaign; the workload needs a declared fixture boundary first. |
| Karte | Generic tests but no direct timing evidence; important paths are database/network-shaped. | No synthetic optimization forced. |
| SWE Interview Prep | Generic deterministic tests over small fixed catalogs, with no representative timed flow. | Kept as a correctness surface; no scale claim manufactured. |
| ChatGPT Memory Insights | Local export normalization and semantic-analysis code were inspected. The dominant semantic flow depends on model inference, while the only current performance test checks timer bookkeeping. | No candidate changed. A representative staged analysis fixture is needed before optimizing source. |

These negative decisions are part of the proof: discovery breadth is not the
same as evidence quality, and a campaign should be allowed to return “needs a
better workload.”

## UI implications earned by this evidence

Per application, the eventual surface should show:

1. flow inventory: tested, excluded, and missing-workload flows;
2. exact revision, workload identity, samples, and correctness gate;
3. observed absolute and relative measurements;
4. source-anchored candidate plus raw profiler coordinate when they differ;
5. confirmed, rejected, guardrail, or needs-better-workload status;
6. inferred product impact separately from measured runtime impact;
7. the concrete tool improvement or product patch produced by the trial.

This trial argues against building a generic profiler dashboard first. The
useful UI object is an evidence-backed application-flow review with explicit
coverage and missing-evidence states.
48 changes: 48 additions & 0 deletions evidence/performance/native-bridge-benchmark.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
{
"schema_version": "codevetter.native-bridge-benchmark/v1",
"measured_at": "2026-09-01T23:00:30Z",
"source": {
"base_sha": "b34ce70edbcfab8cd9463be87b7453de7e623ed3",
"state": "working tree includes the uncommitted native migration",
"platform": "arm64-apple-macosx27.0.0",
"rust": "rustc 1.98.0",
"swift": "Apple Swift 6.4",
"xcodebuildmcp": "2.7.0"
},
"payload_bytes": 40047,
"ffi_transfer": {
"iterations": 10000,
"minimum_us": 0.875,
"median_us": 1.083,
"p95_us": 1.208,
"average_us": 1.0816948999999492
},
"ffi_transfer_and_decode": {
"iterations": 1000,
"minimum_us": 90.917,
"median_us": 106.708,
"p95_us": 171.791,
"average_us": 116.45407299999995
},
"worker_round_trip": {
"iterations": 20,
"minimum_us": 76987.042,
"median_us": 82255.209,
"p95_us": 84643.667,
"average_us": 81877.04169999999
},
"artifact_bytes": {
"ffi_probe_dylib": 49888,
"release_worker_cli": 44109408,
"swift_benchmark": 133208
},
"semantic_parity": true,
"selected_boundary": "hybrid: in-process for bounded read-only projections; supervised worker for verification execution",
"limitations": [
"The FFI probe measures a deterministic read-only projection, not long-running verification.",
"Debug and release application integration overhead is not included.",
"Process startup is intentionally included in the worker round trip.",
"The probe dylib size is not a production core-library size forecast.",
"The pinned XcodeBuildMCP package is resolved through a benchmark-local npm cache so repeated runs do not depend on the user's shared npx cache."
]
}
64 changes: 64 additions & 0 deletions evidence/performance/native-current-package-footprint.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
{
"schema_version": "codevetter.native-package-footprint/v1",
"recorded_at": "2026-09-02T06:20:30Z",
"status": "qualified_with_bounded_claims",
"source": {
"base_sha": "b34ce70edbcfab8cd9463be87b7453de7e623ed3",
"branch": "feat/native-macos-evidence-workbench",
"working_tree": "includes the uncommitted native migration",
"platform": "darwin",
"architecture": "arm64",
"macos": "27.0"
},
"method": {
"measurement": "Read-only du -sk bundle measurement and stat executable measurement on exact local Release app bundles.",
"foreground_app_launches": 0,
"installed_application_touched": false
},
"applications": {
"native": {
"bundle_identifier": "com.codevetter.desktop.native-preview",
"version": "1.11.0",
"build": "11100",
"bundle_path": "artifacts/native-package/qualification-5r7JG4/CodeVetter.app",
"package_receipt": "artifacts/native-package/qualification-5r7JG4/qualification.json",
"bundle_kib": 62060,
"host_executable": "CodeVetterNative",
"host_executable_bytes": 5667872,
"host_executable_sha256": "95c81746c4ceac17b731867ab8f02c057875cc8ef9f098904ee7cfd689f56c8c"
},
"tauri": {
"bundle_identifier": "com.codevetter.desktop",
"version": "1.11.0",
"build": "1.11.0",
"bundle_path": "apps/desktop/src-tauri/target/release/bundle/macos/CodeVetter.app",
"bundle_kib": 165144,
"host_executable": "codevetter-desktop",
"host_executable_bytes": 74639312,
"host_executable_sha256": "6e010b2b1b759a892c8c34ae04a6a2ea243b9b6455ec290ba570e88508bdccff"
}
},
"metrics": {
"bundle_kib": {
"native": 62060,
"tauri": 165144,
"native_to_tauri_ratio": 0.376,
"native_reduction_percent": 62.421,
"classification": "improved"
},
"host_executable_bytes": {
"native": 5667872,
"tauri": 74639312,
"native_to_tauri_ratio": 0.076,
"native_reduction_percent": 92.406,
"classification": "improved"
}
},
"claim": "The exact current native Release candidate has a 62.4% smaller app bundle and a 92.4% smaller host executable than the retained Tauri Release bundle.",
"limitations": [
"This receipt measures package and host-executable footprint only.",
"It does not refresh startup, responsiveness, settled RSS, workload execution, scrolling, energy, or long-session behavior.",
"The existing native-tauri launch and settled-RSS comparison remains historical evidence for its recorded qualified build.",
"Refreshing launch or settled-RSS evidence requires foreground application automation and explicit owner approval."
]
}
Loading
Loading