docs(benchmarks): refresh post-#699 baseline and update the Claude git rules - #754
Conversation
…t rules Keep the 2a59fd1 table as the pre-#699 before, record the after numbers from that PR, and stop telling agents that decode allocation is off zero. Stub the Claude git-workflow rule to CONTRIBUTING.md instead of a third dialect that still says master. Co-authored-by: Tyler Kron <tylerkron@gmail.com>
PR Summary by QodoRefresh post-#699 benchmarks and centralize git workflow guidance
AI Description
Diagram
High-Level Assessment
Files changed (3)
|
Code Review by Qodo
1.
|
…enchmark claims The git-workflow rule is loaded into every Claude Code session here and was mostly right. Keep its guardrails, drop the master/generic-recipe bits, and state what the repo actually does: merge-queue-gated squash-only main, branch from origin/main, conventional-commit titles, PR descriptions that lead with the problem, no git stash across worktrees. StreamDecodeBenchmarks: the ~1.38 KB baseline is DataSample plus SampleReceivedEventArgs, not the event args alone. README: the after table is #699's own run, not verifiably the same machine as the table above it. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
/agentic_review |
|
Code review by qodo was updated up to the latest commit 9a61dd1 |
|
Reviewed (Claude): partial - the benchmark refresh is right and its numbers are #699's real measurements (now labelled as copied, not re-run); the Claude workflow rules were mostly correct live guardrails, so they're updated to the actual merge-queue/squash/conventional-commit process instead of being cut to a two-line stub. Qodo-clean on 9a61dd1, CI green — ready for review. |
…leset README.md is packed as the nuget.org PackageReadmeFile, where relative links 404, so the new CONTRIBUTING/SECURITY links are absolute GitHub URLs. In CONTRIBUTING: replying to a review thread does not clear the conversation-resolution gate, only resolving it does; the squash commit is the PR title plus (#N) with only Co-authored-by trailers in the body; and the agent rule files (#735, #754, now landed) already defer here, so say that instead of asking them to stop restating the process. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
What was wrong
2a59fd1run as the current baseline, and ended with the protobuf first-sample outlier "filed as perf(sdcard): the protobuf log parser spends 1.6ms and 6.7MB before its first sample, while CSV and JSON take 2us #697 rather than fixed here". perf(sdcard): stop the protobuf log parser decoding a whole 64 KB buffer before its first sample #699 fixed perf(sdcard): the protobuf log parser spends 1.6ms and 6.7MB before its first sample, while CSV and JSON take 2us #697 weeks ago.StreamDecodeBenchmarks' remarks said a regression would show as allocation "climbing off zero", but the baseline in the same README is already ~1.38 KB per frame..claude/rules/git-workflow.md(loaded into every Claude Code session in this repo) still saidmain/master, used genericgit add .recipes, and said nothing about howmainis actually gated or how commits are titled.How it was fixed
2a59fd1table is labelled before perf(sdcard): stop the protobuf log parser decoding a whole 64 KB buffer before its first sample #699, and the "filed, not fixed" section is replaced by perf(sdcard): stop the protobuf log parser decoding a whole 64 KB buffer before its first sample #699's before/after figures (protobuf time-to-first-sample 1.6 ms / 6.7 MB → 9.4 µs / 263 KB). These numbers are copied from perf(sdcard): stop the protobuf log parser decoding a whole 64 KB buffer before its first sample #699's PR description, not re-measured here, and the text now says so.DataSampleplus theSampleReceivedEventArgsraised for the subscriber.mainguardrail and now state what the repo actually does: merge-queue-gated, squash-onlymain; branch from a freshorigin/main; conventional-committype(scope): summarytitles; PR descriptions that lead with the problem; nogit stash(the stash stack is shared across worktrees). Themastermentions and generic recipes are gone.Docs and comments only; no production code.