feat(marquette): add test-run evidence model and canonical fingerprints#3189
Conversation
Adds the strict Rust model for release-bound test-run evidence records (#3147 schema), rejecting unknown properties at every level, plus canonical serialization that sorts recorded executions and the SHA-256 fingerprint that deployment gates admit as test-run:<sha256>. The test-run JSON schema is embedded alongside the application-contract schema for CLI and tooling consumers.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (5)
📜 Recent review details⏰ Context from checks skipped due to timeout. (21)
🧰 Additional context used📓 Path-based instructions (1)crates/**⚙️ CodeRabbit configuration file
Files:
🔇 Additional comments (6)
📝 WalkthroughWalkthroughThe crate adds a structured test-run evidence model, deterministic JSON canonicalization and SHA-256 fingerprinting, public crate-root exports, an embedded JSON schema, and tests for serialization, defaults, unknown-field rejection, schema metadata, and fingerprint behavior. ChangesTest-run evidence
Estimated code review effort: 4 (Complex) | ~45 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
vize
@vizejs/fresco
@vizejs/musea-mcp-server
oxlint-plugin-vize
@vizejs/rspack-plugin
@vizejs/unplugin
@vizejs/vite-plugin
@vizejs/vite-plugin-musea
@vizejs/musea-nuxt
@vizejs/nuxt
@vizeui/core
commit: |
PR BenchmarkBase:
Regression budget failures:
Raw run timesCompile SFC
Lint
Format
Type check (1T)
Type check (max)
|
Detailed Test ReportCommit: Area Summary
Test InventoryTotal tracked cases: 9422 across 1456 files.
Files
Comment truncated at 64000 characters. Open the workflow run for the full job log. |
Tool BenchmarkMeasured: 2026-07-21T08:57:32.443Z
Fairness notes:
Commands: gh workflow run tool-benchmark.yml --ref <branch> -f file_count=3000 -f check_file_count=500 -f vite_file_count=1000 -f nuxt_file_count=250 -f large_blocks=300 -f runs=3 -f warmups=1 -f commit_results=true
node bench/generate.mjs 3000
node bench/compare-tools.mjs --input bench/__in__ --vize-bin target/release/vize --runs 3 --warmups 1 --check-file-count 500 --vite-file-count 1000 --nuxt-file-count 250 --large-blocks 300 --runner-label "blacksmith-32vcpu-ubuntu-2404" --out tool-benchmark-summary.md --json tool-benchmark-results.json --doc performance-blacksmith.mdVariant details and raw run timesSFC compile
Large SFC compile
Large SFC type check
Lint
Format
Type check
Vite build (end-to-end)
Nuxt SPA build (end-to-end)
|
Summary
First implementation step for #3146, building on the schema landed in #3147.
vize.test-run.evidencerecords: every object rejects unknown properties, field names and enum spellings match the schema exactly, andformatVersiondefaults to 1 with the default documented.test_run_fingerprintreturns the lowercase SHA-256 admitted later astest-run:<sha256>.TEST_RUN_EVIDENCE_JSON_SCHEMAembeds the schema next to the application-contract schema, with a format-tracking test.Validation rules, admission, CLI, shared fixtures, and the TypeScript side follow in separate small PRs per the issue's delivery contract.
Part of #3146
Need help on this PR? Tag
/codesmithwith what you need. Autofix is enabled.Summary by CodeRabbit
New Features
Tests