Framework facts on the spans overview + meta.framework - #176
Merged
Conversation
- query spans overview rows now carry a compact addons.react (version + build), so a bulk consumer reads framework identity without opening each span. The full per-span facts (commit counts, server phases) stay on query span. - Recordings stamp meta.framework (off|auto) across all lanes (browser, node-cpu, node-alloc), so a deliberate --framework off is distinguishable from an auto run that detected no framework (both carry no Span.addons). The query alloc and query cpu --by package JSON containers were verified empirically as already aligned (both an object with a byPackage[] member), so no alloc change was needed.
jantimon
force-pushed
the
fix/bench-polish
branch
from
July 30, 2026 07:26
6bd4518 to
6df1f3f
Compare
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Three field-verified polish items from the 1.1.0 bench dogfood.
1. React detection facts on the
query spansoverviewspan.addons.reactwas drill-only. Bulk consumers readingquery spanscould not see framework facts, the same gapframeFloorrecently graduated out of. Overview rows now carry a compactaddons.react(version+build) on bothSpanEntryandSpanCountsEntry; the run entry synthesized from aCpuModel.breakdown(default/node/firefox) threads the stored run span's facts through. Kept minimal on purpose:commitCountand the node-lane server phases stay in thequery spandrill. A React fact with no version/build (node phases only) leaves the overview addon-free rather than fabricating a field. Human side: one subtleReact (addon): v… · buildline under the overview, andquery spannamesframework offin its header when the mode explains an absent React block.2. alloc-vs-cpu JSON container, settled empirically
Recorded a node cpu + alloc pair under the gate lock and diffed the actual top-level JSON of
--by package --format json:query cpu-> object, keys:profile, jsSelfMs, activeMs, totalMs, sampleCount, sampleIntervalUs, system, breakdown, byPackage, byFile, hot, dropped, hintsquery alloc-> object, keys:profile, totalBytes, sampleCount, sampling, byPackage, byFile, hot, dropped, hintsBoth are an object with a
byPackage[]member — already aligned. The bench's "alloc returns a bare array" does not reproduce. No code change.3.
meta.frameworkA
--framework offrecording and a no-React-signalautorecording were indistinguishable (both carry noSpan.addons). Recordings now stampmeta.framework("off" | "auto") on every lane — browser (buildMeta), node-cpu, and node-alloc. Additive-optional, display-only (no gate branches on it), so optional per the gate-field policy. The "byte-identical under--framework off" note inaddon.ts/registry.ts/CLAUDE.mdis reworded: no addon facts enter the recording (theSpan.addonsslot stays absent), whilemeta.frameworkrecords the mode as core provenance.Verification
Full gates green under the gate lock: build, lint, format:check, knip, unit (690, +4 new for the overview addon lift), measurement (6), e2e (51). Self-review: structured hostile two-pass (a subagent spawn tool was unavailable, so
/review-intern-subcould not launch a fresh reviewer).