Skip to content

Commit 661e44e

Browse files
committed
revise dataset pipeline step descriptions
1 parent efd2985 commit 661e44e

1 file changed

Lines changed: 17 additions & 17 deletions

File tree

src/components/sections/DatasetPipelineViz.svelte

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
file: "datasmith/runners/scrape_repos.py",
4141
fileUrl: `${DATASMITH}/src/datasmith/runners/scrape_repos.py`,
4242
summary:
43-
"For each (owner, repo) candidate — sourced from a CommonSQL query against the GitHub Public Dataset that filters for asv.conf.json presence — fetch metadata via the GitHub REST API and upsert a row into the repositories table with stars, language, topics, and description."
43+
"Find repositories that are (1) ASV compatible (contain asv.conf.json), (2) are somewhat popular (have >100 stars), and (3) have mergable PRs. This is done using a CommonSQL BigQuery script or the GitHub Search API."
4444
},
4545
{
4646
phase: 1,
@@ -50,7 +50,7 @@
5050
file: "datasmith/runners/scrape_commits.py",
5151
fileUrl: `${DATASMITH}/src/datasmith/runners/scrape_commits.py`,
5252
summary:
53-
"For each candidate repository, paginate every merged pull request via the GitHub REST API within an optional date window. For each PR, fetch the diff and file changes, run symbolic_compliance() to mark is_performance_commit_symbolic, and upsert into the pull_requests table."
53+
"For each candidate repository, paginate every merged pull request via the GitHub REST API within an optional date window. Only keep the PRs with a valid diff, that touches core code files, and that has a non-empty title and description that will fit within a reasonably sized LLM's context window."
5454
},
5555
{
5656
phase: 1,
@@ -60,7 +60,7 @@
6060
file: "datasmith/filters.py",
6161
fileUrl: `${DATASMITH}/src/datasmith/filters.py`,
6262
summary:
63-
"A cheap pre-LLM gate: drop PRs only when the title contains a clearly negative keyword (docs, typo, lint, version) and no positive cue. Ambiguous titles are kept; the LLM classifier decides next. Recall-first by design — false positives die at the speedup gate."
63+
"A cheap pre-LLM gate: drop PRs only when the title contains a clearly negative keyword (docs, typo, lint, version) and no positive cue. Ambiguous titles are kept; the LLM classifier decides next. Our priority is on higher recall in these stages."
6464
},
6565
{
6666
phase: 2,
@@ -70,7 +70,7 @@
7070
file: "datasmith/runners/classify_prs.py",
7171
fileUrl: `${DATASMITH}/src/datasmith/runners/classify_prs.py`,
7272
summary:
73-
"Two LLM passes over the PR's title, diff, linked issues, and review comments: a classifier first decides binary YES/NO; if YES, a judge picks one of 13 optimization categories and a difficulty (Easy / Medium / Hard)."
73+
"Two LLM passes over the PR's title, diff, linked issues, and review comments: a classifier first decides binary YES/NO; if YES, a judge picks one of 13 optimization categories and a difficulty (Easy / Medium / Hard). Prompt is tuned to admit ambiguous cases as well."
7474
},
7575
{
7676
phase: 3,
@@ -80,7 +80,7 @@
8080
file: "datasmith/runners/resolve_packages.py",
8181
fileUrl: `${DATASMITH}/src/datasmith/runners/resolve_packages.py`,
8282
summary:
83-
"For each classified PR, analyze_commit() detects the package's pyproject.toml/setup.py/setup.cfg, infers the Python version, and pins a full transitive dependency closure with uv. Sets can_install=True/False on the packages table. PRs with can_install=False are skipped downstream."
83+
"For each classified PR, we detect the package's pyproject.toml/setup.py/setup.cfg, infer the Python version, and pin a full transitive dependency closure with uv. PRs which cannot be resolved are skipped downstream."
8484
},
8585
{
8686
phase: 3,
@@ -90,7 +90,7 @@
9090
file: "datasmith/docker/verifiers.py",
9191
fileUrl: `${DATASMITH}/src/datasmith/docker/verifiers.py`,
9292
summary:
93-
"Three CLI checks decide whether a container is good: `python -c 'import {package}'`, `asv profile`, and `pytest`. If any fail, the container is dropped. Every downstream attempt (try_similar, agent_loop) is judged by this same verifier."
93+
"Three CLI checks decide whether a container is good: `python -c 'import {package}'`, `asv run`, and `pytest`. If any fail, the container is dropped. Every downstream attempt (try_similar, agent_loop) is judged by this same verifier."
9494
},
9595
{
9696
phase: 3,
@@ -100,7 +100,7 @@
100100
file: "datasmith/agents/synthesizer.py",
101101
fileUrl: `${DATASMITH}/src/datasmith/agents/synthesizer.py`,
102102
summary:
103-
"Look up successful build scripts from the same repo, sorted by absolute chronological distance from this PR — closest in either direction first. Fall through one-by-one until a script passes the verifier."
103+
"Not all PRs need a unique build script. For a new PR, we look up successful build scripts from the same repo, sorted by absolute chronological distance. The build scripts fall through one-by-one until a script passes the verifier."
104104
},
105105
{
106106
phase: 3,
@@ -110,7 +110,7 @@
110110
file: "datasmith/agents/synthesizer.py",
111111
fileUrl: `${DATASMITH}/src/datasmith/agents/synthesizer.py`,
112112
summary:
113-
"When the cascade fails, LLM_GENERATE hands the build to a swappable installed agent (Claude / Codex / Gemini / Qwen) running in a sandboxed container. The agent reads the repo, edits docker_build_pkg.sh, and re-runs the verifier loop until the smoke checks pass or max_attempts (default 2) is exhausted."
113+
"If the cascade fails, LLM_GENERATE hands the build to a swappable installed agent (Claude / Codex / Gemini / QwenCode) running in a sandboxed container. The agent reads the repo, edits docker_build_pkg.sh, and re-runs the verifier loop until the verifier passes or max_attempts (default 2) is exhausted. We don't notice any verifier hacking (so far)."
114114
},
115115
{
116116
phase: 4,
@@ -120,7 +120,7 @@
120120
file: "datasmith/runners/harbor_healthcheck.py",
121121
fileUrl: `${DATASMITH}/src/datasmith/runners/harbor_healthcheck.py`,
122122
summary:
123-
"The local orchestrator ships each verified container to a clean AWS EC2 c5ad.large box, where the oracle agent applies the human expert's patch and ASV times base vs. patched code. Per-trial speedups stream back into harbor_runs."
123+
"The local orchestrator ships each verified container to a clean AWS EC2 instance (for reproducibility and hardware invariance), where the oracle agent applies the human expert's patch and ASV times base vs. patched code. Per-trial speedups stream back to us. PRs with a statistically significant improvement over the baseline are kept."
124124
},
125125
{
126126
phase: 4,
@@ -158,13 +158,13 @@
158158
// plus a tail for the final slide-in animation and a hold for reading.
159159
const BEAT_MS = 500;
160160
const ANIM_TAIL_MS = 625;
161-
const HOLD_MS = 1875;
161+
const HOLD_MS = 3875;
162162
// stepBeat thresholds at which each step is "fully revealed".
163163
$: revealBeats = [
164164
REPO_LINES.length, // ① find_repos
165165
8, // ② scrape_prs
166166
SAMPLE_PRS.length, // ③ attribute_filter
167-
30, // ④ classify (3 sub-stages × ~10 beats each, ~4s per stage)
167+
30, // ④ classify (3 sub-stages x ~10 beats each, ~4s per stage)
168168
RESOLVE_LINES.length, // ⑤ resolve_packages
169169
16, // ⑥ verify_build (smoke 2 + asv 10 + pytest 4 = 1:5:2 ratio)
170170
9, // ⑦ try_similar (interleaved try → verdict cascade, 2 beats each)
@@ -446,16 +446,16 @@
446446
]
447447
},
448448
{
449-
cap: "asv profile",
450-
cmd: "asv profile -b 'groupby_agg'",
449+
cap: "asv run",
450+
cmd: "asv run",
451451
startBeat: 2,
452452
endBeat: 12,
453453
elapsedSec: 12.3,
454454
showSpinner: true,
455455
lines: [
456-
{ atBeat: 3, p: "·", body: "Profiling groupby_agg…" },
456+
{ atBeat: 3, p: "·", body: "Running groupby_agg…" },
457457
{ atBeat: 11, p: "·", body: "cumulative 12.3s / 4 rounds" },
458-
{ atBeat: 12, p: "·", body: "profile passed", ok: true }
458+
{ atBeat: 12, p: "·", body: "run passed", ok: true }
459459
]
460460
},
461461
{
@@ -1223,7 +1223,7 @@
12231223
<div class="verified-row" class:on={s10Beat >= 1}>
12241224
<span class="verified-badge">✓ task verified</span>
12251225
<span class="verified-sub"
1226-
>cleared the 1.05× speedup gate</span
1226+
>U test confirms improvement</span
12271227
>
12281228
</div>
12291229
<div class="targets">
@@ -1321,7 +1321,7 @@
13211321
<button
13221322
class="speed"
13231323
class:active={speed === s}
1324-
on:click={() => setSpeed(s)}>{s}×</button
1324+
on:click={() => setSpeed(s)}>{s}x</button
13251325
>
13261326
{/each}
13271327
</div>

0 commit comments

Comments
 (0)