Skip to content

feat(megarepo): guard worktree archive/reap against in-use worktrees#820

Draft
schickling-assistant wants to merge 1 commit into
mainfrom
schickling-assistant/2026-06-20-2026-06-20-guard-worktree-inuse
Draft

feat(megarepo): guard worktree archive/reap against in-use worktrees#820
schickling-assistant wants to merge 1 commit into
mainfrom
schickling-assistant/2026-06-20-2026-06-20-guard-worktree-inuse

Conversation

@schickling-assistant

Copy link
Copy Markdown
Collaborator

Problem

mr store gc's cold-reclaim path decides a worktree is "cold" purely from
absence in the workspace liveness manifests (store-liveness.ts /
classifyStoreWorktreePolicy). It never checks whether a live OS process is
currently working inside the worktree
.

This is not theoretical — it caused a real incident. A background store-reclaim
renamed an actively-used worktree into .archive/ while a coding-agent session
had its shell cwd inside it. On Linux a directory rename is transparent to a
process already in that directory: its cwd silently followed the inode into
.archive/, and the subsequent git bookkeeping (detach HEAD + free branch, then
a re-apply checkout) stripped the worktree out from under the live session.
git started reporting "not a git repository" mid-task and untracked work was
orphaned in the archive.

Even current main (with the lossless + grace cold GC from #780) has this gap:
the under-lock veto re-check only re-runs the manifest liveness test. A
freshly-created or repinned-but-unregistered worktree can be absent from every
manifest while a session is actively in it.

Goal

Before any destructive archive/reap, additionally refuse if a live process has
the worktree (or a descendant) as its cwd or open file handle. "Cold" must mean
no process is in it, not just absent from a manifest. Conservative direction
throughout: in doubt → keep.

Decisions

  • Orthogonal veto, not a replacement. The new check is ANDed with the
    existing manifest liveness veto (keep if EITHER protects the worktree). The
    two reasons stay distinguishable: manifest protection keeps as before; the
    process check keeps with a new reason: process-in-use and a dedicated
    megarepo/store/gc/inuse-veto span carrying the holding pid/path (the
    attribution the incident lacked).
  • Pure/IO seam, mirroring store-gc-observations.ts. classifyInUse
    (pure, unit-tested) takes the already-read { pid, path } list plus an
    explicit excludePids set and returns the first matching holder. The
    effectful readWorktreeInUse does the /proc scan and computes the exclude
    set. Keeping excludePids a parameter (not baked into the reader) is what
    lets the classifier be unit-tested AND lets the integration test observe a
    spawned holder.
  • Self/descendant exclusion via PPid walk. The gc process (and any git
    child it spawns with a cwd inside the worktree) must never self-veto. From
    each in-worktree match we climb its PPid chain; if we reach the gc pid it is
    excluded. Walking up from the rare matches is cheaper than materializing the
    whole process tree.
  • Path boundary. candidate === wt || candidate.startsWith(wt + '/') with
    both sides slash-normalized, so a sibling like <wt>.archive-old never
    matches by raw string prefix.
  • Non-Linux → keep (see Concerns). No /procunknown ⇒ the caller
    treats it as in-use and keeps.

Verification

Scoped to the changed package (avoided a full-repo check:all to stay light on
shared build/CI capacity).

  • dt ts:check (workspace tsc --build): green.
  • dt test:megarepo (full package suite): green (exit 0).
  • Targeted re-run of the touched/related suites:
    • store-inuse.unit.test.ts: 10 passed
    • store-inuse.integration.test.ts: 2 passed (spawns a real holder process
      with cwd inside a temp worktree, asserts in-use; a sibling .archive-old
      dir reads free; post-kill reads free; and the gc-self-veto case reads free)
    • store-archive.integration.test.ts: 8 passed
    • store-gc-observations.unit.test.ts: 12 passed
    • cli/store.integration.test.ts: 21 passed
  • oxlint + oxfmt --check on all changed files: clean (0/0).

Complexity

One new lib module with a clean pure/IO split and three small call-site veto
blocks reusing the existing lock + outcome plumbing. No new dependencies (uses
@effect/platform FileSystem.readLink/readDirectory, already used by
store-liveness.ts). The new module is justified: the probe is distinct,
testable logic that does not belong inside the gc orchestration.

Concerns

  • macOS (no /proc) behavior change. On a host without /proc the probe
    returns unknown, which the caller treats as in-use, so mr store gc
    archives/reaps nothing there. This is a deliberate conservative choice
    (keep > delete), but it is a real behavior change for non-Linux gc, not a
    silent no-op. A best-effort lsof fallback could restore macOS gc later if
    wanted (see Follow-ups). The incident class lives on the Linux hosts.
  • --dry-run does not reflect the in-use veto. Dry-run short-circuits the
    decision before the lock/probe, so a preview may show archived for a
    worktree a real run would keep. The real run is the safe one; the preview is
    advisory.
  • Open-fd scanning is implemented but defaulted off; cwd is the load-bearing
    signal that matches the incident.

Follow-ups

  • Optional lsof-based fallback so macOS mr store gc keeps functioning
    instead of degrading to keep-everything.
  • Broader fleet attribution/audit work (kernel-level command audit) is tracked
    separately and out of scope here.

References

Fixes the worktree-archival incident (RCA captured locally). Related: #780
(lossless + grace cold GC), which this hardens.

Posted on behalf of @schickling
field value
agent_name 🥉 cl1-bronze
agent_session_id ddfcde53-424d-4e20-9b32-3374c0698f0c
agent_tool Claude Code
agent_tool_version 2.1.179
agent_runtime Claude Code 2.1.179
agent_model claude-opus-4-8
runtime_profile /nix/store/wbb5q5n2gbk751hcyr5ndp0zrmar602x-coding-agent-runtime-profile/share/coding-agents/profile.json
skills_manifest /nix/store/3i12shfqx3wqzq2di3jy1m7f8fn4prmm-agent-skills-corpus/share/agent-skills/manifest.json
worktree effect-utils/schickling-assistant/2026-06-20-2026-06-20-guard-worktree-inuse
machine dev3
tooling_profile dotfiles@unknown-dirty

The store cold-GC liveness signal only checks whether a worktree is
referenced by some workspace manifest; it never checked whether a live
OS process is currently working inside it. A background `mr store gc`
could therefore rename an actively-used worktree into `.archive/` (its
cwd silently following the inode) and strip it out from under a live
coding-agent session — the dev3 2026-06-20 incident.

Add `src/lib/store-inuse.ts`: a Linux `/proc`-based in-use probe with a
pure `classifyInUse` seam (unit-tested) and an effectful reader that
scans each pid's cwd (and optionally open fds), excludes the gc process
and its descendants via a PPid walk, and degrades to "unknown ⇒ keep"
on hosts without `/proc`. Wire it as an orthogonal veto into all three
destructive sites (archiveWorktree, archiveRefMismatchWorktree,
reapArchive) under the existing withWorktreeLock re-check; an in-use
worktree is kept with reason `process-in-use` and a
`megarepo/store/gc/inuse-veto` span recording the holding pid/path.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@schickling-assistant schickling-assistant added origin:agent Filed or primarily produced by an AI agent · Set: AI agent or manual type:bug Something broken or a regression · Set: manual area:megarepo megarepo CLI and conventions · Set: manual labels Jun 20, 2026
@github-actions

Copy link
Copy Markdown

Storybook Previews

No storybooks were deployed.

github-actions Bot added a commit that referenced this pull request Jun 20, 2026
github-actions Bot added a commit that referenced this pull request Jun 20, 2026
@github-actions

Copy link
Copy Markdown

CI Measurements

partial - advisory gate - readiness partial (17/26 enabled observations gateable) - commit 879d367 - protocol devenv-perf-warm-median-v2

No regressions. Comparable movement is below the semantic impact threshold; neutral rows are collapsed below.

Measurement change vs baseline chart

SVG source

nix / closures / packages

What changed? Group Probe Baseline -> current Raw change Impact Confidence
unchanged nix / closures / packages Nix sources closure size 0 B -> 0 B +0 B / n/a n/a unknown, baseline n=18, current n=1
unchanged nix / closures / packages Nix sources closure size 0 B -> 0 B +0 B / n/a n/a unknown, baseline n=18, current n=1
unchanged nix / closures / packages Nix sources closure size 0 B -> 0 B +0 B / n/a n/a unknown, baseline n=18, current n=1
unchanged nix / closures / packages Node / pnpm closure size 0 B -> 0 B +0 B / n/a n/a unknown, baseline n=18, current n=1
unchanged nix / closures / packages Node / pnpm closure size 0 B -> 0 B +0 B / n/a n/a unknown, baseline n=18, current n=1
unchanged nix / closures / packages Node / pnpm closure size 0 B -> 0 B +0 B / n/a n/a unknown, baseline n=18, current n=1
unchanged nix / closures / packages Rust closure size 0 B -> 0 B +0 B / n/a n/a unknown, baseline n=18, current n=1
unchanged nix / closures / packages Rust closure size 0 B -> 0 B +0 B / n/a n/a unknown, baseline n=18, current n=1
unchanged nix / closures / packages Rust closure size 0 B -> 0 B +0 B / n/a n/a unknown, baseline n=18, current n=1
Unchanged / 0-impact measurements (17)

These rows had compatible baseline data, but their semantic impact rounded to 0.00x because the movement was below the configured budget, below the noise floor, or inside the robust noise band.

devenv / devenv cli

Group Probe Baseline -> current Raw change Impact Gate Evidence Why hidden
devenv / devenv cli devenv processes --help 0.016 s -> 0.016 s +0 s / 0% 0.00x yes paired n=9, 25-75% delta 0 s..0 s Too small to matter
devenv / devenv cli devenv tasks list 0.037 s -> 0.037 s +0 s / 0% 0.00x yes paired n=9, 25-75% delta -0.001 s..0.001 s Too small to matter

devenv / devenv shell

Group Probe Baseline -> current Raw change Impact Gate Evidence Why hidden
devenv / devenv shell Warm shell eval 7.756 s -> 7.747 s -0.009 s / -0.1% 0.00x yes paired n=5, 25-75% delta -0.04 s..-0.002 s Too small to matter

devenv / genie

Group Probe Baseline -> current Raw change Impact Gate Evidence Why hidden
devenv / genie Genie run task 1.13 s -> 1.109 s -0.021 s / -1.9% 0.00x yes paired n=5, 25-75% delta -0.036 s..0 s Too small to matter
devenv / genie Genie check direct 12.001 s -> 11.983 s -0.018 s / -0.1% 0.00x yes paired n=5, 25-75% delta -0.031 s..-0.001 s Too small to matter

devenv / quality gates

Group Probe Baseline -> current Raw change Impact Gate Evidence Why hidden
devenv / quality gates Forced check:quick 10.539 s -> 10.594 s +0.055 s / 0.5% 0.00x yes paired n=3, 25-75% delta 0.033 s..0.071 s Too small to matter
devenv / quality gates Warm cached check:quick 2.932 s -> 2.926 s -0.006 s / -0.2% 0.00x yes paired n=5, 25-75% delta -0.034 s..-0.006 s Too small to matter

devenv / workspace setup

Group Probe Baseline -> current Raw change Impact Gate Evidence Why hidden
devenv / workspace setup pnpm install task 0.616 s -> 0.604 s -0.012 s / -1.9% 0.00x yes paired n=5, 25-75% delta -0.021 s..-0.012 s Too small to matter

nix / closures / packages

Group Probe Baseline -> current Raw change Impact Gate Evidence Why hidden
nix / closures / packages Total closure size 144.4 MiB -> 144.5 MiB +180 KiB / 0.1% 0.00x yes noise_floor, baseline n=18, current n=1 Too small to matter
nix / closures / packages Total serialized NAR size 144.4 MiB -> 144.5 MiB +180 KiB / 0.1% 0.00x yes within_budget, baseline n=18, current n=1 Slightly higher, ok
nix / closures / packages Total closure size 535.8 MiB -> 535.9 MiB +64 KiB / 0% 0.00x yes noise_floor, baseline n=18, current n=1 Too small to matter
nix / closures / packages Total serialized NAR size 535.8 MiB -> 535.9 MiB +64 KiB / 0% 0.00x yes within_budget, baseline n=18, current n=1 Slightly higher, ok
nix / closures / packages Total closure size 156.3 MiB -> 156.3 MiB +4.9 KiB / 0% 0.00x yes noise_floor, baseline n=18, current n=1 Too small to matter
nix / closures / packages Total serialized NAR size 156.3 MiB -> 156.3 MiB +4.9 KiB / 0% 0.00x yes within_budget, baseline n=18, current n=1 Slightly higher, ok
nix / closures / packages Total closure path count 79 count -> 79 count +0 count / 0% 0.00x yes noise_floor, baseline n=18, current n=1 Too small to matter
nix / closures / packages Total closure path count 5 count -> 5 count +0 count / 0% 0.00x yes noise_floor, baseline n=18, current n=1 Too small to matter
nix / closures / packages Total closure path count 8 count -> 8 count +0 count / 0% 0.00x yes noise_floor, baseline n=18, current n=1 Too small to matter
Diagnostic / ungated measurements (7)

source / effect-utils

Group Probe Current Baseline Impact Gate Reason Evidence
source / effect-utils Genie runtime lines 20566 lines 19809 lines diagnostic disabled Diagnostic only diagnostic, baseline n=18, current n=68
source / effect-utils Genie CI workflow helpers lines 7457 lines 7352 lines diagnostic disabled Diagnostic only diagnostic, baseline n=18, current n=9
source / effect-utils Nix workspace tools lines 3694 lines 3632 lines diagnostic disabled Diagnostic only diagnostic, baseline n=18, current n=14
source / effect-utils Genie runtime files 68 count 66 count diagnostic disabled Diagnostic only diagnostic, baseline n=18, current n=68
source / effect-utils Genie CI workflow helpers files 9 count 9 count diagnostic disabled Diagnostic only diagnostic, baseline n=18, current n=9
source / effect-utils Nix workspace tools files 14 count 14 count diagnostic disabled Diagnostic only diagnostic, baseline n=18, current n=14

devenv / devenv shell

Group Probe Current Baseline Impact Gate Reason Evidence
devenv / devenv shell Shell eval with OTEL trace 113.009 s n/a n/a missing_baseline No baseline yet missing_baseline, baseline n=0, current n=1
All measurements
Status Gate Target Observation Dimensions Baseline Current Delta Ratio Impact
pass yes Megarepo package Total closure size bucket=total 144.4 MiB 144.5 MiB +180 KiB 0.1% 0.00x
pass yes Megarepo package Total serialized NAR size bucket=total
sizeKind=nar
144.4 MiB 144.5 MiB +180 KiB 0.1% 0.00x
pass yes Genie package Total closure size bucket=total 535.8 MiB 535.9 MiB +64 KiB 0% 0.00x
pass yes Genie package Total serialized NAR size bucket=total
sizeKind=nar
535.8 MiB 535.9 MiB +64 KiB 0% 0.00x
pass yes oxlint npm package Total closure size bucket=total 156.3 MiB 156.3 MiB +4.9 KiB 0% 0.00x
pass yes oxlint npm package Total serialized NAR size bucket=total
sizeKind=nar
156.3 MiB 156.3 MiB +4.9 KiB 0% 0.00x
pass disabled effect-utils repository Genie runtime lines scope=genie_runtime 19809 lines 20566 lines +757 lines 3.8% diagnostic
pass disabled effect-utils repository Genie CI workflow helpers lines scope=genie_ci_workflow 7352 lines 7457 lines +105 lines 1.4% diagnostic
pass disabled effect-utils repository Nix workspace tools lines scope=nix_workspace_tools 3632 lines 3694 lines +62 lines 1.7% diagnostic
pass disabled effect-utils repository Genie runtime files scope=genie_runtime 66 count 68 count +2 count 3% diagnostic
pass yes Dev shell Forced check:quick aggregation=median
devenvRev=2cf62a010000b70f15c78a72761fad7c9e6fb47a
measuredSampleCount=3
measurementProtocol=devenv-perf-warm-median-v2
otelServiceName=devenv-perf-ci
pairedOrderProtocol=balanced-seeded-alternating-v1
pairedOrderSeed=27874163796-1-6caf1b2b457d4831314c5c59551ac102e2dff5f2
pairedSampleCount=3
phase=warm
probe=task_check_quick_forced
probeLabel=Forced check:quick
sampleCount=6
status=0
taskCacheMode=refresh
warmupCount=0
workload=forced-task-cache
10.539 s 10.594 s +0.055 s 0.5% 0.00x
pass yes Dev shell Genie run task aggregation=median
devenvRev=2cf62a010000b70f15c78a72761fad7c9e6fb47a
measuredSampleCount=5
measurementProtocol=devenv-perf-warm-median-v2
otelServiceName=devenv-perf-ci
pairedOrderProtocol=balanced-seeded-alternating-v1
pairedOrderSeed=27874163796-1-6caf1b2b457d4831314c5c59551ac102e2dff5f2
pairedSampleCount=5
phase=warm
probe=task_genie_run
probeLabel=Genie run task
sampleCount=11
status=0
warmupCount=1
1.13 s 1.109 s -0.021 s -1.9% 0.00x
pass yes Dev shell Genie check direct aggregation=median
devenvRev=2cf62a010000b70f15c78a72761fad7c9e6fb47a
measuredSampleCount=5
measurementProtocol=devenv-perf-warm-median-v2
otelServiceName=devenv-perf-ci
pairedOrderProtocol=balanced-seeded-alternating-v1
pairedOrderSeed=27874163796-1-6caf1b2b457d4831314c5c59551ac102e2dff5f2
pairedSampleCount=5
phase=warm
probe=genie_check_direct
probeLabel=Genie check direct
sampleCount=11
status=0
warmupCount=1
12.001 s 11.983 s -0.018 s -0.1% 0.00x
pass yes Dev shell pnpm install task aggregation=median
devenvRev=2cf62a010000b70f15c78a72761fad7c9e6fb47a
measuredSampleCount=5
measurementProtocol=devenv-perf-warm-median-v2
otelServiceName=devenv-perf-ci
pairedOrderProtocol=balanced-seeded-alternating-v1
pairedOrderSeed=27874163796-1-6caf1b2b457d4831314c5c59551ac102e2dff5f2
pairedSampleCount=5
phase=warm
probe=task_pnpm_install
probeLabel=pnpm install task
sampleCount=11
status=0
warmupCount=1
0.616 s 0.604 s -0.012 s -1.9% 0.00x
pass yes Dev shell Warm shell eval aggregation=median
devenvRev=2cf62a010000b70f15c78a72761fad7c9e6fb47a
measuredSampleCount=5
measurementProtocol=devenv-perf-warm-median-v2
otelServiceName=devenv-perf-ci
pairedOrderProtocol=balanced-seeded-alternating-v1
pairedOrderSeed=27874163796-1-6caf1b2b457d4831314c5c59551ac102e2dff5f2
pairedSampleCount=5
phase=warm
probe=shell_eval_warm
probeLabel=Warm shell eval
sampleCount=11
status=0
warmupCount=1
7.756 s 7.747 s -0.009 s -0.1% 0.00x
pass yes Dev shell Warm cached check:quick aggregation=median
devenvRev=2cf62a010000b70f15c78a72761fad7c9e6fb47a
measuredSampleCount=5
measurementProtocol=devenv-perf-warm-median-v2
otelServiceName=devenv-perf-ci
pairedOrderProtocol=balanced-seeded-alternating-v1
pairedOrderSeed=27874163796-1-6caf1b2b457d4831314c5c59551ac102e2dff5f2
pairedSampleCount=5
phase=warm
probe=task_check_quick_warm
probeLabel=Warm cached check:quick
sampleCount=11
status=0
taskCacheMode=warm
warmupCount=1
workload=cached-no-op
2.932 s 2.926 s -0.006 s -0.2% 0.00x
pass yes Dev shell devenv processes --help aggregation=median
devenvRev=2cf62a010000b70f15c78a72761fad7c9e6fb47a
measuredSampleCount=9
measurementProtocol=devenv-perf-warm-median-v2
otelServiceName=devenv-perf-ci
pairedOrderProtocol=balanced-seeded-alternating-v1
pairedOrderSeed=27874163796-1-6caf1b2b457d4831314c5c59551ac102e2dff5f2
pairedSampleCount=9
phase=warm
probe=processes_help
probeLabel=devenv processes --help
sampleCount=19
status=0
warmupCount=1
0.016 s 0.016 s +0 s 0% 0.00x
pass yes Dev shell devenv tasks list aggregation=median
devenvRev=2cf62a010000b70f15c78a72761fad7c9e6fb47a
measuredSampleCount=9
measurementProtocol=devenv-perf-warm-median-v2
otelServiceName=devenv-perf-ci
pairedOrderProtocol=balanced-seeded-alternating-v1
pairedOrderSeed=27874163796-1-6caf1b2b457d4831314c5c59551ac102e2dff5f2
pairedSampleCount=9
phase=warm
probe=tasks_list
probeLabel=devenv tasks list
sampleCount=19
status=0
warmupCount=1
0.037 s 0.037 s +0 s 0% 0.00x
pass disabled effect-utils repository Genie CI workflow helpers files scope=genie_ci_workflow 9 count 9 count +0 count 0% diagnostic
unknown missing_baseline Genie package Nix sources closure size bucket=nix-sources 0 B 0 B +0 B n/a n/a
unknown missing_baseline Megarepo package Nix sources closure size bucket=nix-sources 0 B 0 B +0 B n/a n/a
unknown missing_baseline oxlint npm package Nix sources closure size bucket=nix-sources 0 B 0 B +0 B n/a n/a
pass disabled effect-utils repository Nix workspace tools files scope=nix_workspace_tools 14 count 14 count +0 count 0% diagnostic
unknown missing_baseline Genie package Node / pnpm closure size bucket=node 0 B 0 B +0 B n/a n/a
unknown missing_baseline Megarepo package Node / pnpm closure size bucket=node 0 B 0 B +0 B n/a n/a
unknown missing_baseline oxlint npm package Node / pnpm closure size bucket=node 0 B 0 B +0 B n/a n/a
unknown missing_baseline Genie package Rust closure size bucket=rust 0 B 0 B +0 B n/a n/a
unknown missing_baseline Megarepo package Rust closure size bucket=rust 0 B 0 B +0 B n/a n/a
unknown missing_baseline oxlint npm package Rust closure size bucket=rust 0 B 0 B +0 B n/a n/a
pass yes Genie package Total closure path count bucket=total 79 count 79 count +0 count 0% 0.00x
pass yes Megarepo package Total closure path count bucket=total 5 count 5 count +0 count 0% 0.00x
pass yes oxlint npm package Total closure path count bucket=total 8 count 8 count +0 count 0% 0.00x
missing_baseline missing_baseline Dev shell Shell eval with OTEL trace aggregation=median
devenvRev=2cf62a010000b70f15c78a72761fad7c9e6fb47a
measuredSampleCount=1
measurementProtocol=devenv-perf-warm-median-v2
otelServiceName=devenv-perf-ci
pairedOrderProtocol=balanced-seeded-alternating-v1
pairedOrderSeed=27874163796-1-6caf1b2b457d4831314c5c59551ac102e2dff5f2
pairedSampleCount=1
phase=warm
probe=shell_eval_traced
probeLabel=Shell eval with OTEL trace
sampleCount=2
status=0
warmupCount=0
n/a 113.009 s n/a n/a n/a
Source-of-truth JSON
{
  "schemaVersion": 1,
  "title": "CI Measurements",
  "status": "partial",
  "gate": "advisory",
  "readiness": "partial (17/26 enabled observations gateable)",
  "commit": {
    "shortSha": "879d367",
    "sha": "879d3672740f83e4a811969a79706c057fccc9ea"
  },
  "run": {
    "id": "27874163796",
    "attempt": "1",
    "url": "https://github.com/overengineeringstudio/effect-utils/actions/runs/27874163796"
  },
  "baseline": null,
  "protocol": "devenv-perf-warm-median-v2",
  "chart": {
    "meaning": "semantic-impact",
    "zeroImpactMeaning": "no actionable PR impact after budgets, noise floor, and robust evidence checks",
    "svg": "https://raw.githubusercontent.com/overengineeringstudio/effect-utils/ci-measurement-assets/ci-measurements/pr-820/879d3672740f83e4a811969a79706c057fccc9ea/run-27874163796-attempt-1/ci-measurements.svg",
    "lightPng": "https://raw.githubusercontent.com/overengineeringstudio/effect-utils/ci-measurement-assets/ci-measurements/pr-820/879d3672740f83e4a811969a79706c057fccc9ea/run-27874163796-attempt-1/ci-measurements.png",
    "darkPng": "https://raw.githubusercontent.com/overengineeringstudio/effect-utils/ci-measurement-assets/ci-measurements/pr-820/879d3672740f83e4a811969a79706c057fccc9ea/run-27874163796-attempt-1/ci-measurements-dark.png"
  },
  "measurements": [
    {
      "id": "nix.closure.nar_size",
      "label": "Total closure size",
      "group": "nix / closures / packages",
      "path": [
        "nix",
        "closures",
        "packages",
        "megarepo",
        "total",
        "closure-size",
        "nix closure"
      ],
      "groupPath": [
        "nix",
        "closures",
        "packages"
      ],
      "status": "pass",
      "direction": "unchanged",
      "gateable": true,
      "gateReason": "eligible",
      "confidence": "noise_floor",
      "comparisonMode": "budget",
      "unit": "bytes",
      "baseline": 151364760,
      "current": 151549080,
      "delta": 184320,
      "ratio": 1.0012177206900734,
      "semanticImpactScore": 0,
      "semanticImpactKind": "neutral",
      "baselineSources": 18,
      "currentSamples": 1,
      "pairedSamples": 0,
      "evidenceDeltaLower": -10301440,
      "evidenceDeltaUpper": 10670080,
      "pairedEvidenceQuantile": 0.25,
      "dimensions": {
        "bucket": "total"
      }
    },
    {
      "id": "nix.closure.serialized_nar_size",
      "label": "Total serialized NAR size",
      "group": "nix / closures / packages",
      "path": [
        "nix",
        "closures",
        "packages",
        "megarepo",
        "total",
        "serialized-nar-size",
        "nix closure diagnostics"
      ],
      "groupPath": [
        "nix",
        "closures",
        "packages"
      ],
      "status": "pass",
      "direction": "regressed",
      "gateable": true,
      "gateReason": "eligible",
      "confidence": "within_budget",
      "comparisonMode": "diagnostic",
      "unit": "bytes",
      "baseline": 151364760,
      "current": 151549080,
      "delta": 184320,
      "ratio": 1.0012177206900734,
      "semanticImpactScore": 0,
      "semanticImpactKind": "neutral",
      "baselineSources": 18,
      "currentSamples": 1,
      "pairedSamples": 0,
      "evidenceDeltaLower": -14952156,
      "evidenceDeltaUpper": 15320796,
      "pairedEvidenceQuantile": 0.25,
      "dimensions": {
        "bucket": "total",
        "sizeKind": "nar"
      }
    },
    {
      "id": "nix.closure.nar_size",
      "label": "Total closure size",
      "group": "nix / closures / packages",
      "path": [
        "nix",
        "closures",
        "packages",
        "genie",
        "total",
        "closure-size",
        "nix closure"
      ],
      "groupPath": [
        "nix",
        "closures",
        "packages"
      ],
      "status": "pass",
      "direction": "unchanged",
      "gateable": true,
      "gateReason": "eligible",
      "confidence": "noise_floor",
      "comparisonMode": "budget",
      "unit": "bytes",
      "baseline": 561873128,
      "current": 561938664,
      "delta": 65536,
      "ratio": 1.0001166384308737,
      "semanticImpactScore": 0,
      "semanticImpactKind": "neutral",
      "baselineSources": 18,
      "currentSamples": 1,
      "pairedSamples": 0,
      "evidenceDeltaLower": -11171926.56,
      "evidenceDeltaUpper": 11302998.56,
      "pairedEvidenceQuantile": 0.25,
      "dimensions": {
        "bucket": "total"
      }
    },
    {
      "id": "nix.closure.serialized_nar_size",
      "label": "Total serialized NAR size",
      "group": "nix / closures / packages",
      "path": [
        "nix",
        "closures",
        "packages",
        "genie",
        "total",
        "serialized-nar-size",
        "nix closure diagnostics"
      ],
      "groupPath": [
        "nix",
        "closures",
        "packages"
      ],
      "status": "pass",
      "direction": "regressed",
      "gateable": true,
      "gateReason": "eligible",
      "confidence": "within_budget",
      "comparisonMode": "diagnostic",
      "unit": "bytes",
      "baseline": 561873128,
      "current": 561938664,
      "delta": 65536,
      "ratio": 1.0001166384308737,
      "semanticImpactScore": 0,
      "semanticImpactKind": "neutral",
      "baselineSources": 18,
      "currentSamples": 1,
      "pairedSamples": 0,
      "evidenceDeltaLower": -56121776.800000004,
      "evidenceDeltaUpper": 56252848.800000004,
      "pairedEvidenceQuantile": 0.25,
      "dimensions": {
        "bucket": "total",
        "sizeKind": "nar"
      }
    },
    {
      "id": "nix.closure.nar_size",
      "label": "Total closure size",
      "group": "nix / closures / packages",
      "path": [
        "nix",
        "closures",
        "packages",
        "oxlint-npm",
        "total",
        "closure-size",
        "nix closure"
      ],
      "groupPath": [
        "nix",
        "closures",
        "packages"
      ],
      "status": "pass",
      "direction": "unchanged",
      "gateable": true,
      "gateReason": "eligible",
      "confidence": "noise_floor",
      "comparisonMode": "budget",
      "unit": "bytes",
      "baseline": 163879208,
      "current": 163884240,
      "delta": 5032,
      "ratio": 1.0000307055425848,
      "semanticImpactScore": 0,
      "semanticImpactKind": "neutral",
      "baselineSources": 18,
      "currentSamples": 1,
      "pairedSamples": 0,
      "evidenceDeltaLower": -10480728,
      "evidenceDeltaUpper": 10490792,
      "pairedEvidenceQuantile": 0.25,
      "dimensions": {
        "bucket": "total"
      }
    },
    {
      "id": "nix.closure.serialized_nar_size",
      "label": "Total serialized NAR size",
      "group": "nix / closures / packages",
      "path": [
        "nix",
        "closures",
        "packages",
        "oxlint-npm",
        "total",
        "serialized-nar-size",
        "nix closure diagnostics"
      ],
      "groupPath": [
        "nix",
        "closures",
        "packages"
      ],
      "status": "pass",
      "direction": "regressed",
      "gateable": true,
      "gateReason": "eligible",
      "confidence": "within_budget",
      "comparisonMode": "diagnostic",
      "unit": "bytes",
      "baseline": 163879208,
      "current": 163884240,
      "delta": 5032,
      "ratio": 1.0000307055425848,
      "semanticImpactScore": 0,
      "semanticImpactKind": "neutral",
      "baselineSources": 18,
      "currentSamples": 1,
      "pairedSamples": 0,
      "evidenceDeltaLower": -16382888.8,
      "evidenceDeltaUpper": 16392952.8,
      "pairedEvidenceQuantile": 0.25,
      "dimensions": {
        "bucket": "total",
        "sizeKind": "nar"
      }
    },
    {
      "id": "source.lines",
      "label": "Genie runtime lines",
      "group": "source / effect-utils",
      "path": [
        "source",
        "effect-utils",
        "packages",
        "genie",
        "source / genie"
      ],
      "groupPath": [
        "source",
        "effect-utils"
      ],
      "status": "pass",
      "direction": "regressed",
      "gateable": false,
      "gateReason": "disabled",
      "confidence": "diagnostic",
      "comparisonMode": "budget",
      "unit": "lines",
      "baseline": 19809,
      "current": 20566,
      "delta": 757,
      "ratio": 1.0382149527992326,
      "semanticImpactScore": null,
      "semanticImpactKind": "diagnostic",
      "baselineSources": 18,
      "currentSamples": 68,
      "pairedSamples": 0,
      "evidenceDeltaLower": -1223.9,
      "evidenceDeltaUpper": 2737.9,
      "pairedEvidenceQuantile": 0.25,
      "dimensions": {
        "scope": "genie_runtime"
      }
    },
    {
      "id": "source.lines",
      "label": "Genie CI workflow helpers lines",
      "group": "source / effect-utils",
      "path": [
        "source",
        "effect-utils",
        "genie",
        "ci-workflow",
        "source / ci"
      ],
      "groupPath": [
        "source",
        "effect-utils"
      ],
      "status": "pass",
      "direction": "regressed",
      "gateable": false,
      "gateReason": "disabled",
      "confidence": "diagnostic",
      "comparisonMode": "budget",
      "unit": "lines",
      "baseline": 7352,
      "current": 7457,
      "delta": 105,
      "ratio": 1.0142818280739934,
      "semanticImpactScore": null,
      "semanticImpactKind": "diagnostic",
      "baselineSources": 18,
      "currentSamples": 9,
      "pairedSamples": 0,
      "evidenceDeltaLower": -630.2,
      "evidenceDeltaUpper": 840.2,
      "pairedEvidenceQuantile": 0.25,
      "dimensions": {
        "scope": "genie_ci_workflow"
      }
    },
    {
      "id": "source.lines",
      "label": "Nix workspace tools lines",
      "group": "source / effect-utils",
      "path": [
        "source",
        "effect-utils",
        "nix",
        "workspace-tools",
        "source / nix"
      ],
      "groupPath": [
        "source",
        "effect-utils"
      ],
      "status": "pass",
      "direction": "regressed",
      "gateable": false,
      "gateReason": "disabled",
      "confidence": "diagnostic",
      "comparisonMode": "budget",
      "unit": "lines",
      "baseline": 3632,
      "current": 3694,
      "delta": 62,
      "ratio": 1.0170704845814977,
      "semanticImpactScore": null,
      "semanticImpactKind": "diagnostic",
      "baselineSources": 18,
      "currentSamples": 14,
      "pairedSamples": 0,
      "evidenceDeltaLower": -301.20000000000005,
      "evidenceDeltaUpper": 425.20000000000005,
      "pairedEvidenceQuantile": 0.25,
      "dimensions": {
        "scope": "nix_workspace_tools"
      }
    },
    {
      "id": "source.files",
      "label": "Genie runtime files",
      "group": "source / effect-utils",
      "path": [
        "source",
        "effect-utils",
        "packages",
        "genie",
        "source / genie"
      ],
      "groupPath": [
        "source",
        "effect-utils"
      ],
      "status": "pass",
      "direction": "regressed",
      "gateable": false,
      "gateReason": "disabled",
      "confidence": "diagnostic",
      "comparisonMode": "budget",
      "unit": "count",
      "baseline": 66,
      "current": 68,
      "delta": 2,
      "ratio": 1.0303030303030303,
      "semanticImpactScore": null,
      "semanticImpactKind": "diagnostic",
      "baselineSources": 18,
      "currentSamples": 68,
      "pairedSamples": 0,
      "evidenceDeltaLower": -4.6000000000000005,
      "evidenceDeltaUpper": 8.600000000000001,
      "pairedEvidenceQuantile": 0.25,
      "dimensions": {
        "scope": "genie_runtime"
      }
    },
    {
      "id": "task_check_quick_forced",
      "label": "Forced check:quick",
      "group": "devenv / quality gates",
      "path": [
        "devenv",
        "quality gates",
        "check:quick"
      ],
      "groupPath": [
        "devenv",
        "quality gates"
      ],
      "status": "pass",
      "direction": "unchanged",
      "gateable": true,
      "gateReason": "eligible",
      "confidence": "noise_floor",
      "comparisonMode": "paired",
      "unit": "seconds",
      "baseline": 10.539,
      "current": 10.594,
      "delta": 0.054999999999999716,
      "ratio": 1.0052187114526994,
      "semanticImpactScore": 0,
      "semanticImpactKind": "neutral",
      "baselineSources": 3,
      "currentSamples": 3,
      "pairedSamples": 3,
      "evidenceDeltaLower": 0.033,
      "evidenceDeltaUpper": 0.071,
      "pairedEvidenceQuantile": 0.25,
      "dimensions": {
        "workload": "forced-task-cache",
        "taskCacheMode": "refresh",
        "probe": "task_check_quick_forced",
        "probeLabel": "Forced check:quick",
        "status": 0,
        "sampleCount": 6,
        "warmupCount": 0,
        "measuredSampleCount": 3,
        "pairedSampleCount": 3,
        "pairedOrderProtocol": "balanced-seeded-alternating-v1",
        "pairedOrderSeed": "27874163796-1-6caf1b2b457d4831314c5c59551ac102e2dff5f2",
        "measurementProtocol": "devenv-perf-warm-median-v2",
        "aggregation": "median",
        "phase": "warm",
        "devenvRev": "2cf62a010000b70f15c78a72761fad7c9e6fb47a",
        "otelServiceName": "devenv-perf-ci"
      }
    },
    {
      "id": "task_genie_run",
      "label": "Genie run task",
      "group": "devenv / genie",
      "path": [
        "devenv",
        "genie"
      ],
      "groupPath": [
        "devenv",
        "genie"
      ],
      "status": "pass",
      "direction": "unchanged",
      "gateable": true,
      "gateReason": "eligible",
      "confidence": "noise_floor",
      "comparisonMode": "paired",
      "unit": "seconds",
      "baseline": 1.13,
      "current": 1.109,
      "delta": -0.020999999999999908,
      "ratio": 0.9814159292035399,
      "semanticImpactScore": 0,
      "semanticImpactKind": "neutral",
      "baselineSources": 5,
      "currentSamples": 5,
      "pairedSamples": 5,
      "evidenceDeltaLower": -0.036,
      "evidenceDeltaUpper": 0,
      "pairedEvidenceQuantile": 0.25,
      "dimensions": {
        "probe": "task_genie_run",
        "probeLabel": "Genie run task",
        "status": 0,
        "sampleCount": 11,
        "warmupCount": 1,
        "measuredSampleCount": 5,
        "pairedSampleCount": 5,
        "pairedOrderProtocol": "balanced-seeded-alternating-v1",
        "pairedOrderSeed": "27874163796-1-6caf1b2b457d4831314c5c59551ac102e2dff5f2",
        "measurementProtocol": "devenv-perf-warm-median-v2",
        "aggregation": "median",
        "phase": "warm",
        "devenvRev": "2cf62a010000b70f15c78a72761fad7c9e6fb47a",
        "otelServiceName": "devenv-perf-ci"
      }
    },
    {
      "id": "genie_check_direct",
      "label": "Genie check direct",
      "group": "devenv / genie",
      "path": [
        "devenv",
        "genie"
      ],
      "groupPath": [
        "devenv",
        "genie"
      ],
      "status": "pass",
      "direction": "unchanged",
      "gateable": true,
      "gateReason": "eligible",
      "confidence": "noise_floor",
      "comparisonMode": "paired",
      "unit": "seconds",
      "baseline": 12.001,
      "current": 11.983,
      "delta": -0.017999999999998906,
      "ratio": 0.9985001249895843,
      "semanticImpactScore": 0,
      "semanticImpactKind": "neutral",
      "baselineSources": 5,
      "currentSamples": 5,
      "pairedSamples": 5,
      "evidenceDeltaLower": -0.031,
      "evidenceDeltaUpper": -0.001,
      "pairedEvidenceQuantile": 0.25,
      "dimensions": {
        "probe": "genie_check_direct",
        "probeLabel": "Genie check direct",
        "status": 0,
        "sampleCount": 11,
        "warmupCount": 1,
        "measuredSampleCount": 5,
        "pairedSampleCount": 5,
        "pairedOrderProtocol": "balanced-seeded-alternating-v1",
        "pairedOrderSeed": "27874163796-1-6caf1b2b457d4831314c5c59551ac102e2dff5f2",
        "measurementProtocol": "devenv-perf-warm-median-v2",
        "aggregation": "median",
        "phase": "warm",
        "devenvRev": "2cf62a010000b70f15c78a72761fad7c9e6fb47a",
        "otelServiceName": "devenv-perf-ci"
      }
    },
    {
      "id": "task_pnpm_install",
      "label": "pnpm install task",
      "group": "devenv / workspace setup",
      "path": [
        "devenv",
        "workspace setup"
      ],
      "groupPath": [
        "devenv",
        "workspace setup"
      ],
      "status": "pass",
      "direction": "unchanged",
      "gateable": true,
      "gateReason": "eligible",
      "confidence": "noise_floor",
      "comparisonMode": "paired",
      "unit": "seconds",
      "baseline": 0.616,
      "current": 0.604,
      "delta": -0.01200000000000001,
      "ratio": 0.9805194805194805,
      "semanticImpactScore": 0,
      "semanticImpactKind": "neutral",
      "baselineSources": 5,
      "currentSamples": 5,
      "pairedSamples": 5,
      "evidenceDeltaLower": -0.021,
      "evidenceDeltaUpper": -0.012,
      "pairedEvidenceQuantile": 0.25,
      "dimensions": {
        "probe": "task_pnpm_install",
        "probeLabel": "pnpm install task",
        "status": 0,
        "sampleCount": 11,
        "warmupCount": 1,
        "measuredSampleCount": 5,
        "pairedSampleCount": 5,
        "pairedOrderProtocol": "balanced-seeded-alternating-v1",
        "pairedOrderSeed": "27874163796-1-6caf1b2b457d4831314c5c59551ac102e2dff5f2",
        "measurementProtocol": "devenv-perf-warm-median-v2",
        "aggregation": "median",
        "phase": "warm",
        "devenvRev": "2cf62a010000b70f15c78a72761fad7c9e6fb47a",
        "otelServiceName": "devenv-perf-ci"
      }
    },
    {
      "id": "shell_eval_warm",
      "label": "Warm shell eval",
      "group": "devenv / devenv shell",
      "path": [
        "devenv",
        "devenv shell"
      ],
      "groupPath": [
        "devenv",
        "devenv shell"
      ],
      "status": "pass",
      "direction": "unchanged",
      "gateable": true,
      "gateReason": "eligible",
      "confidence": "noise_floor",
      "comparisonMode": "paired",
      "unit": "seconds",
      "baseline": 7.756,
      "current": 7.747,
      "delta": -0.009000000000000341,
      "ratio": 0.9988396080453842,
      "semanticImpactScore": 0,
      "semanticImpactKind": "neutral",
      "baselineSources": 5,
      "currentSamples": 5,
      "pairedSamples": 5,
      "evidenceDeltaLower": -0.04,
      "evidenceDeltaUpper": -0.002,
      "pairedEvidenceQuantile": 0.25,
      "dimensions": {
        "probe": "shell_eval_warm",
        "probeLabel": "Warm shell eval",
        "status": 0,
        "sampleCount": 11,
        "warmupCount": 1,
        "measuredSampleCount": 5,
        "pairedSampleCount": 5,
        "pairedOrderProtocol": "balanced-seeded-alternating-v1",
        "pairedOrderSeed": "27874163796-1-6caf1b2b457d4831314c5c59551ac102e2dff5f2",
        "measurementProtocol": "devenv-perf-warm-median-v2",
        "aggregation": "median",
        "phase": "warm",
        "devenvRev": "2cf62a010000b70f15c78a72761fad7c9e6fb47a",
        "otelServiceName": "devenv-perf-ci"
      }
    },
    {
      "id": "task_check_quick_warm",
      "label": "Warm cached check:quick",
      "group": "devenv / quality gates",
      "path": [
        "devenv",
        "quality gates",
        "check:quick"
      ],
      "groupPath": [
        "devenv",
        "quality gates"
      ],
      "status": "pass",
      "direction": "unchanged",
      "gateable": true,
      "gateReason": "eligible",
      "confidence": "noise_floor",
      "comparisonMode": "paired",
      "unit": "seconds",
      "baseline": 2.932,
      "current": 2.926,
      "delta": -0.005999999999999783,
      "ratio": 0.9979536152796726,
      "semanticImpactScore": 0,
      "semanticImpactKind": "neutral",
      "baselineSources": 5,
      "currentSamples": 5,
      "pairedSamples": 5,
      "evidenceDeltaLower": -0.034,
      "evidenceDeltaUpper": -0.006,
      "pairedEvidenceQuantile": 0.25,
      "dimensions": {
        "workload": "cached-no-op",
        "taskCacheMode": "warm",
        "probe": "task_check_quick_warm",
        "probeLabel": "Warm cached check:quick",
        "status": 0,
        "sampleCount": 11,
        "warmupCount": 1,
        "measuredSampleCount": 5,
        "pairedSampleCount": 5,
        "pairedOrderProtocol": "balanced-seeded-alternating-v1",
        "pairedOrderSeed": "27874163796-1-6caf1b2b457d4831314c5c59551ac102e2dff5f2",
        "measurementProtocol": "devenv-perf-warm-median-v2",
        "aggregation": "median",
        "phase": "warm",
        "devenvRev": "2cf62a010000b70f15c78a72761fad7c9e6fb47a",
        "otelServiceName": "devenv-perf-ci"
      }
    },
    {
      "id": "processes_help",
      "label": "devenv processes --help",
      "group": "devenv / devenv cli",
      "path": [
        "devenv",
        "devenv cli"
      ],
      "groupPath": [
        "devenv",
        "devenv cli"
      ],
      "status": "pass",
      "direction": "unchanged",
      "gateable": true,
      "gateReason": "eligible",
      "confidence": "noise_floor",
      "comparisonMode": "paired",
      "unit": "seconds",
      "baseline": 0.016,
      "current": 0.016,
      "delta": 0,
      "ratio": 1,
      "semanticImpactScore": 0,
      "semanticImpactKind": "neutral",
      "baselineSources": 9,
      "currentSamples": 9,
      "pairedSamples": 9,
      "evidenceDeltaLower": 0,
      "evidenceDeltaUpper": 0,
      "pairedEvidenceQuantile": 0.25,
      "dimensions": {
        "probe": "processes_help",
        "probeLabel": "devenv processes --help",
        "status": 0,
        "sampleCount": 19,
        "warmupCount": 1,
        "measuredSampleCount": 9,
        "pairedSampleCount": 9,
        "pairedOrderProtocol": "balanced-seeded-alternating-v1",
        "pairedOrderSeed": "27874163796-1-6caf1b2b457d4831314c5c59551ac102e2dff5f2",
        "measurementProtocol": "devenv-perf-warm-median-v2",
        "aggregation": "median",
        "phase": "warm",
        "devenvRev": "2cf62a010000b70f15c78a72761fad7c9e6fb47a",
        "otelServiceName": "devenv-perf-ci"
      }
    },
    {
      "id": "tasks_list",
      "label": "devenv tasks list",
      "group": "devenv / devenv cli",
      "path": [
        "devenv",
        "devenv cli"
      ],
      "groupPath": [
        "devenv",
        "devenv cli"
      ],
      "status": "pass",
      "direction": "unchanged",
      "gateable": true,
      "gateReason": "eligible",
      "confidence": "noise_floor",
      "comparisonMode": "paired",
      "unit": "seconds",
      "baseline": 0.037,
      "current": 0.037,
      "delta": 0,
      "ratio": 1,
      "semanticImpactScore": 0,
      "semanticImpactKind": "neutral",
      "baselineSources": 9,
      "currentSamples": 9,
      "pairedSamples": 9,
      "evidenceDeltaLower": -0.001,
      "evidenceDeltaUpper": 0.001,
      "pairedEvidenceQuantile": 0.25,
      "dimensions": {
        "probe": "tasks_list",
        "probeLabel": "devenv tasks list",
        "status": 0,
        "sampleCount": 19,
        "warmupCount": 1,
        "measuredSampleCount": 9,
        "pairedSampleCount": 9,
        "pairedOrderProtocol": "balanced-seeded-alternating-v1",
        "pairedOrderSeed": "27874163796-1-6caf1b2b457d4831314c5c59551ac102e2dff5f2",
        "measurementProtocol": "devenv-perf-warm-median-v2",
        "aggregation": "median",
        "phase": "warm",
        "devenvRev": "2cf62a010000b70f15c78a72761fad7c9e6fb47a",
        "otelServiceName": "devenv-perf-ci"
      }
    },
    {
      "id": "source.files",
      "label": "Genie CI workflow helpers files",
      "group": "source / effect-utils",
      "path": [
        "source",
        "effect-utils",
        "genie",
        "ci-workflow",
        "source / ci"
      ],
      "groupPath": [
        "source",
        "effect-utils"
      ],
      "status": "pass",
      "direction": "unchanged",
      "gateable": false,
      "gateReason": "disabled",
      "confidence": "diagnostic",
      "comparisonMode": "budget",
      "unit": "count",
      "baseline": 9,
      "current": 9,
      "delta": 0,
      "ratio": 1,
      "semanticImpactScore": null,
      "semanticImpactKind": "diagnostic",
      "baselineSources": 18,
      "currentSamples": 9,
      "pairedSamples": 0,
      "evidenceDeltaLower": -1,
      "evidenceDeltaUpper": 1,
      "pairedEvidenceQuantile": 0.25,
      "dimensions": {
        "scope": "genie_ci_workflow"
      }
    },
    {
      "id": "nix.closure.bucket.nar_size",
      "label": "Nix sources closure size",
      "group": "nix / closures / packages",
      "path": [
        "nix",
        "closures",
        "packages",
        "genie",
        "buckets",
        "nix-sources",
        "nix closure buckets"
      ],
      "groupPath": [
        "nix",
        "closures",
        "packages"
      ],
      "status": "unknown",
      "direction": "unknown",
      "gateable": false,
      "gateReason": "missing_baseline",
      "confidence": "unknown",
      "comparisonMode": "budget",
      "unit": "bytes",
      "baseline": 0,
      "current": 0,
      "delta": 0,
      "ratio": null,
      "semanticImpactScore": null,
      "semanticImpactKind": "unknown",
      "baselineSources": 18,
      "currentSamples": 1,
      "pairedSamples": 0,
      "evidenceDeltaLower": -10485760,
      "evidenceDeltaUpper": 10485760,
      "pairedEvidenceQuantile": 0.25,
      "dimensions": {
        "bucket": "nix-sources"
      }
    },
    {
      "id": "nix.closure.bucket.nar_size",
      "label": "Nix sources closure size",
      "group": "nix / closures / packages",
      "path": [
        "nix",
        "closures",
        "packages",
        "megarepo",
        "buckets",
        "nix-sources",
        "nix closure buckets"
      ],
      "groupPath": [
        "nix",
        "closures",
        "packages"
      ],
      "status": "unknown",
      "direction": "unknown",
      "gateable": false,
      "gateReason": "missing_baseline",
      "confidence": "unknown",
      "comparisonMode": "budget",
      "unit": "bytes",
      "baseline": 0,
      "current": 0,
      "delta": 0,
      "ratio": null,
      "semanticImpactScore": null,
      "semanticImpactKind": "unknown",
      "baselineSources": 18,
      "currentSamples": 1,
      "pairedSamples": 0,
      "evidenceDeltaLower": -10485760,
      "evidenceDeltaUpper": 10485760,
      "pairedEvidenceQuantile": 0.25,
      "dimensions": {
        "bucket": "nix-sources"
      }
    },
    {
      "id": "nix.closure.bucket.nar_size",
      "label": "Nix sources closure size",
      "group": "nix / closures / packages",
      "path": [
        "nix",
        "closures",
        "packages",
        "oxlint-npm",
        "buckets",
        "nix-sources",
        "nix closure buckets"
      ],
      "groupPath": [
        "nix",
        "closures",
        "packages"
      ],
      "status": "unknown",
      "direction": "unknown",
      "gateable": false,
      "gateReason": "missing_baseline",
      "confidence": "unknown",
      "comparisonMode": "budget",
      "unit": "bytes",
      "baseline": 0,
      "current": 0,
      "delta": 0,
      "ratio": null,
      "semanticImpactScore": null,
      "semanticImpactKind": "unknown",
      "baselineSources": 18,
      "currentSamples": 1,
      "pairedSamples": 0,
      "evidenceDeltaLower": -10485760,
      "evidenceDeltaUpper": 10485760,
      "pairedEvidenceQuantile": 0.25,
      "dimensions": {
        "bucket": "nix-sources"
      }
    },
    {
      "id": "source.files",
      "label": "Nix workspace tools files",
      "group": "source / effect-utils",
      "path": [
        "source",
        "effect-utils",
        "nix",
        "workspace-tools",
        "source / nix"
      ],
      "groupPath": [
        "source",
        "effect-utils"
      ],
      "status": "pass",
      "direction": "unchanged",
      "gateable": false,
      "gateReason": "disabled",
      "confidence": "diagnostic",
      "comparisonMode": "budget",
      "unit": "count",
      "baseline": 14,
      "current": 14,
      "delta": 0,
      "ratio": 1,
      "semanticImpactScore": null,
      "semanticImpactKind": "diagnostic",
      "baselineSources": 18,
      "currentSamples": 14,
      "pairedSamples": 0,
      "evidenceDeltaLower": -1.4000000000000001,
      "evidenceDeltaUpper": 1.4000000000000001,
      "pairedEvidenceQuantile": 0.25,
      "dimensions": {
        "scope": "nix_workspace_tools"
      }
    },
    {
      "id": "nix.closure.bucket.nar_size",
      "label": "Node / pnpm closure size",
      "group": "nix / closures / packages",
      "path": [
        "nix",
        "closures",
        "packages",
        "genie",
        "buckets",
        "node",
        "nix closure buckets"
      ],
      "groupPath": [
        "nix",
        "closures",
        "packages"
      ],
      "status": "unknown",
      "direction": "unknown",
      "gateable": false,
      "gateReason": "missing_baseline",
      "confidence": "unknown",
      "comparisonMode": "budget",
      "unit": "bytes",
      "baseline": 0,
      "current": 0,
      "delta": 0,
      "ratio": null,
      "semanticImpactScore": null,
      "semanticImpactKind": "unknown",
      "baselineSources": 18,
      "currentSamples": 1,
      "pairedSamples": 0,
      "evidenceDeltaLower": -10485760,
      "evidenceDeltaUpper": 10485760,
      "pairedEvidenceQuantile": 0.25,
      "dimensions": {
        "bucket": "node"
      }
    },
    {
      "id": "nix.closure.bucket.nar_size",
      "label": "Node / pnpm closure size",
      "group": "nix / closures / packages",
      "path": [
        "nix",
        "closures",
        "packages",
        "megarepo",
        "buckets",
        "node",
        "nix closure buckets"
      ],
      "groupPath": [
        "nix",
        "closures",
        "packages"
      ],
      "status": "unknown",
      "direction": "unknown",
      "gateable": false,
      "gateReason": "missing_baseline",
      "confidence": "unknown",
      "comparisonMode": "budget",
      "unit": "bytes",
      "baseline": 0,
      "current": 0,
      "delta": 0,
      "ratio": null,
      "semanticImpactScore": null,
      "semanticImpactKind": "unknown",
      "baselineSources": 18,
      "currentSamples": 1,
      "pairedSamples": 0,
      "evidenceDeltaLower": -10485760,
      "evidenceDeltaUpper": 10485760,
      "pairedEvidenceQuantile": 0.25,
      "dimensions": {
        "bucket": "node"
      }
    },
    {
      "id": "nix.closure.bucket.nar_size",
      "label": "Node / pnpm closure size",
      "group": "nix / closures / packages",
      "path": [
        "nix",
        "closures",
        "packages",
        "oxlint-npm",
        "buckets",
        "node",
        "nix closure buckets"
      ],
      "groupPath": [
        "nix",
        "closures",
        "packages"
      ],
      "status": "unknown",
      "direction": "unknown",
      "gateable": false,
      "gateReason": "missing_baseline",
      "confidence": "unknown",
      "comparisonMode": "budget",
      "unit": "bytes",
      "baseline": 0,
      "current": 0,
      "delta": 0,
      "ratio": null,
      "semanticImpactScore": null,
      "semanticImpactKind": "unknown",
      "baselineSources": 18,
      "currentSamples": 1,
      "pairedSamples": 0,
      "evidenceDeltaLower": -10485760,
      "evidenceDeltaUpper": 10485760,
      "pairedEvidenceQuantile": 0.25,
      "dimensions": {
        "bucket": "node"
      }
    },
    {
      "id": "nix.closure.bucket.nar_size",
      "label": "Rust closure size",
      "group": "nix / closures / packages",
      "path": [
        "nix",
        "closures",
        "packages",
        "genie",
        "buckets",
        "rust",
        "nix closure buckets"
      ],
      "groupPath": [
        "nix",
        "closures",
        "packages"
      ],
      "status": "unknown",
      "direction": "unknown",
      "gateable": false,
      "gateReason": "missing_baseline",
      "confidence": "unknown",
      "comparisonMode": "budget",
      "unit": "bytes",
      "baseline": 0,
      "current": 0,
      "delta": 0,
      "ratio": null,
      "semanticImpactScore": null,
      "semanticImpactKind": "unknown",
      "baselineSources": 18,
      "currentSamples": 1,
      "pairedSamples": 0,
      "evidenceDeltaLower": -10485760,
      "evidenceDeltaUpper": 10485760,
      "pairedEvidenceQuantile": 0.25,
      "dimensions": {
        "bucket": "rust"
      }
    },
    {
      "id": "nix.closure.bucket.nar_size",
      "label": "Rust closure size",
      "group": "nix / closures / packages",
      "path": [
        "nix",
        "closures",
        "packages",
        "megarepo",
        "buckets",
        "rust",
        "nix closure buckets"
      ],
      "groupPath": [
        "nix",
        "closures",
        "packages"
      ],
      "status": "unknown",
      "direction": "unknown",
      "gateable": false,
      "gateReason": "missing_baseline",
      "confidence": "unknown",
      "comparisonMode": "budget",
      "unit": "bytes",
      "baseline": 0,
      "current": 0,
      "delta": 0,
      "ratio": null,
      "semanticImpactScore": null,
      "semanticImpactKind": "unknown",
      "baselineSources": 18,
      "currentSamples": 1,
      "pairedSamples": 0,
      "evidenceDeltaLower": -10485760,
      "evidenceDeltaUpper": 10485760,
      "pairedEvidenceQuantile": 0.25,
      "dimensions": {
        "bucket": "rust"
      }
    },
    {
      "id": "nix.closure.bucket.nar_size",
      "label": "Rust closure size",
      "group": "nix / closures / packages",
      "path": [
        "nix",
        "closures",
        "packages",
        "oxlint-npm",
        "buckets",
        "rust",
        "nix closure buckets"
      ],
      "groupPath": [
        "nix",
        "closures",
        "packages"
      ],
      "status": "unknown",
      "direction": "unknown",
      "gateable": false,
      "gateReason": "missing_baseline",
      "confidence": "unknown",
      "comparisonMode": "budget",
      "unit": "bytes",
      "baseline": 0,
      "current": 0,
      "delta": 0,
      "ratio": null,
      "semanticImpactScore": null,
      "semanticImpactKind": "unknown",
      "baselineSources": 18,
      "currentSamples": 1,
      "pairedSamples": 0,
      "evidenceDeltaLower": -10485760,
      "evidenceDeltaUpper": 10485760,
      "pairedEvidenceQuantile": 0.25,
      "dimensions": {
        "bucket": "rust"
      }
    },
    {
      "id": "nix.closure.path_count",
      "label": "Total closure path count",
      "group": "nix / closures / packages",
      "path": [
        "nix",
        "closures",
        "packages",
        "genie",
        "total",
        "path-count",
        "nix closure"
      ],
      "groupPath": [
        "nix",
        "closures",
        "packages"
      ],
      "status": "pass",
      "direction": "unchanged",
      "gateable": true,
      "gateReason": "eligible",
      "confidence": "noise_floor",
      "comparisonMode": "budget",
      "unit": "count",
      "baseline": 79,
      "current": 79,
      "delta": 0,
      "ratio": 1,
      "semanticImpactScore": 0,
      "semanticImpactKind": "neutral",
      "baselineSources": 18,
      "currentSamples": 1,
      "pairedSamples": 0,
      "evidenceDeltaLower": -10,
      "evidenceDeltaUpper": 10,
      "pairedEvidenceQuantile": 0.25,
      "dimensions": {
        "bucket": "total"
      }
    },
    {
      "id": "nix.closure.path_count",
      "label": "Total closure path count",
      "group": "nix / closures / packages",
      "path": [
        "nix",
        "closures",
        "packages",
        "megarepo",
        "total",
        "path-count",
        "nix closure"
      ],
      "groupPath": [
        "nix",
        "closures",
        "packages"
      ],
      "status": "pass",
      "direction": "unchanged",
      "gateable": true,
      "gateReason": "eligible",
      "confidence": "noise_floor",
      "comparisonMode": "budget",
      "unit": "count",
      "baseline": 5,
      "current": 5,
      "delta": 0,
      "ratio": 1,
      "semanticImpactScore": 0,
      "semanticImpactKind": "neutral",
      "baselineSources": 18,
      "currentSamples": 1,
      "pairedSamples": 0,
      "evidenceDeltaLower": -10,
      "evidenceDeltaUpper": 10,
      "pairedEvidenceQuantile": 0.25,
      "dimensions": {
        "bucket": "total"
      }
    },
    {
      "id": "nix.closure.path_count",
      "label": "Total closure path count",
      "group": "nix / closures / packages",
      "path": [
        "nix",
        "closures",
        "packages",
        "oxlint-npm",
        "total",
        "path-count",
        "nix closure"
      ],
      "groupPath": [
        "nix",
        "closures",
        "packages"
      ],
      "status": "pass",
      "direction": "unchanged",
      "gateable": true,
      "gateReason": "eligible",
      "confidence": "noise_floor",
      "comparisonMode": "budget",
      "unit": "count",
      "baseline": 8,
      "current": 8,
      "delta": 0,
      "ratio": 1,
      "semanticImpactScore": 0,
      "semanticImpactKind": "neutral",
      "baselineSources": 18,
      "currentSamples": 1,
      "pairedSamples": 0,
      "evidenceDeltaLower": -10,
      "evidenceDeltaUpper": 10,
      "pairedEvidenceQuantile": 0.25,
      "dimensions": {
        "bucket": "total"
      }
    },
    {
      "id": "shell_eval_traced",
      "label": "Shell eval with OTEL trace",
      "group": "devenv / devenv shell",
      "path": [
        "devenv",
        "devenv shell"
      ],
      "groupPath": [
        "devenv",
        "devenv shell"
      ],
      "status": "missing_baseline",
      "direction": "unknown",
      "gateable": false,
      "gateReason": "missing_baseline",
      "confidence": "missing_baseline",
      "comparisonMode": "historical",
      "unit": "seconds",
      "baseline": null,
      "current": 113.009,
      "delta": null,
      "ratio": null,
      "semanticImpactScore": null,
      "semanticImpactKind": null,
      "baselineSources": 0,
      "currentSamples": 1,
      "pairedSamples": null,
      "evidenceDeltaLower": null,
      "evidenceDeltaUpper": null,
      "pairedEvidenceQuantile": null,
      "dimensions": {
        "probe": "shell_eval_traced",
        "probeLabel": "Shell eval with OTEL trace",
        "status": 0,
        "sampleCount": 2,
        "warmupCount": 0,
        "measuredSampleCount": 1,
        "pairedSampleCount": 1,
        "pairedOrderProtocol": "balanced-seeded-alternating-v1",
        "pairedOrderSeed": "27874163796-1-6caf1b2b457d4831314c5c59551ac102e2dff5f2",
        "measurementProtocol": "devenv-perf-warm-median-v2",
        "aggregation": "median",
        "phase": "warm",
        "devenvRev": "2cf62a010000b70f15c78a72761fad7c9e6fb47a",
        "otelServiceName": "devenv-perf-ci"
      }
    }
  ]
}

github-actions Bot added a commit that referenced this pull request Jun 20, 2026
@schickling

Copy link
Copy Markdown
Collaborator

Note: we should make sure this also works reliably on macOS without any gotchas

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:megarepo megarepo CLI and conventions · Set: manual origin:agent Filed or primarily produced by an AI agent · Set: AI agent or manual type:bug Something broken or a regression · Set: manual

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants