Skip to content

Commit 6c65037

Browse files
sjarmakclaude
andcommitted
chore: update all ccb_build references to ccb_feature/ccb_refactor after suite split
Replace hardcoded ccb_build suite name with ccb_feature + ccb_refactor across 18 scripts and 2 doc files. Legacy ccb_build entries retained in DIR_PREFIX_TO_SUITE dicts for historical run parsing. Deprecate configs/build_2config.sh with redirect message. Regenerate daytona task registry (298 tasks, 20 suites). Add auto-export of official results to promote_run.py workflow. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 6a77819 commit 6c65037

20 files changed

+3673
-2818
lines changed

configs/build_2config.sh

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
#!/bin/bash
2-
set -e
3-
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
4-
SDLC_SUITE="ccb_build" SDLC_SUITE_LABEL="Build (Implementation & Refactoring)" \
5-
exec "$SCRIPT_DIR/sdlc_suite_2config.sh" "$@"
2+
# DEPRECATED: ccb_build was split into ccb_feature + ccb_refactor on 2026-02-28.
3+
# Use configs/feature_2config.sh or configs/refactor_2config.sh instead.
4+
echo "ERROR: ccb_build no longer exists. It was split into ccb_feature and ccb_refactor."
5+
echo " Use: configs/feature_2config.sh (20 feature implementation tasks)"
6+
echo " Use: configs/refactor_2config.sh (20 cross-file refactoring tasks)"
7+
exit 1

docs/DAYTONA.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -75,9 +75,9 @@ python3 scripts/daytona_runner.py --task cgen-deps-install-001 --dry-run
7575
python3 scripts/daytona_runner.py --task cgen-deps-install-001
7676

7777
# 4. Run a full suite
78-
python3 scripts/daytona_runner.py --suite ccb_build --parallel 4
78+
python3 scripts/daytona_runner.py --suite ccb_feature --parallel 4
7979

80-
# 5. Run all 283 tasks
80+
# 5. Run all 294 tasks
8181
python3 scripts/daytona_runner.py --all --parallel 8
8282
```
8383

@@ -109,7 +109,7 @@ The runner supports several ways to select which tasks to run:
109109
--tasks cgen-deps-install-001,flipt-dep-refactor-001
110110

111111
# Full suite (only Daytona-ready tasks)
112-
--suite ccb_build
112+
--suite ccb_feature
113113

114114
# All ready tasks across all suites
115115
--all
@@ -124,7 +124,7 @@ Browse available tasks:
124124
python3 scripts/daytona_runner.py --list-suites
125125

126126
# List tasks in a suite
127-
python3 scripts/daytona_runner.py --list-tasks --suite ccb_build
127+
python3 scripts/daytona_runner.py --list-tasks --suite ccb_feature
128128

129129
# List all tasks
130130
python3 scripts/daytona_runner.py --list-tasks
@@ -213,7 +213,7 @@ With `--parallel N`, steps 1-9 run concurrently across N sandboxes using a threa
213213

214214
## Task Readiness
215215

216-
All 283 tasks across 19 suites are Daytona-ready. Base images are sourced from:
216+
All 294 tasks across 20 suites are Daytona-ready. Base images are sourced from:
217217

218218
- **Standard public images** (197 tasks): `python:*`, `golang:*`, `gcc:*`, `ubuntu:*`, etc. from Docker Hub
219219
- **Pre-built repo images** (70 tasks): `ghcr.io/sourcegraph/ccb-repo-*` on GitHub Container Registry

docs/OFFICIAL_RESULTS_BROWSER.md

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,29 @@ Suite-level views and top-level summaries are deduplicated to one canonical row
1818
per `suite + config + task_name` (latest by task `started_at`). Full historical
1919
rows are preserved in `data/official_results.json` as `all_tasks`.
2020

21-
For SDLC suites (`ccb_build`, `ccb_debug`, `ccb_design`, `ccb_document`,
21+
For SDLC suites (`ccb_feature`, `ccb_refactor`, `ccb_debug`, `ccb_design`, `ccb_document`,
2222
`ccb_fix`, `ccb_secure`, `ccb_test`, `ccb_understand`), legacy config labels
2323
are normalized during export:
2424
- `baseline` -> `baseline-local-direct`
2525
- `mcp` -> `mcp-remote-direct`
2626

27+
For MCP-unique suites (`ccb_mcp_*`), legacy config labels are normalized to
28+
artifact-mode configs:
29+
- `baseline` -> `baseline-local-artifact`
30+
- `mcp` -> `mcp-remote-artifact`
31+
2732
## Usage
2833

34+
If you promote runs with:
35+
36+
```bash
37+
python3 scripts/promote_run.py --execute <staging_run_name>
38+
```
39+
40+
`docs/official_results` is refreshed automatically after successful promotion
41+
and MANIFEST regeneration. Use `--no-export-official-results` to skip that
42+
step when needed.
43+
2944
```bash
3045
python3 scripts/export_official_results.py \
3146
--runs-dir ./runs/official/ \

scripts/aggregate_status.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,15 +54,19 @@
5454
DIR_PREFIX_TO_SUITE = {
5555
# SDLC phase suite prefixes (new naming: {phase}_{model}_{timestamp})
5656
# Also accept ccb_{phase}_ prefix from run_selected_tasks.sh --benchmark runs.
57-
"ccb_build_": "ccb_build",
57+
"ccb_feature_": "ccb_feature",
58+
"ccb_refactor_": "ccb_refactor",
59+
"ccb_build_": "ccb_build", # legacy run dirs
5860
"ccb_debug_": "ccb_debug",
5961
"ccb_design_": "ccb_design",
6062
"ccb_document_": "ccb_document",
6163
"ccb_fix_": "ccb_fix",
6264
"ccb_secure_": "ccb_secure",
6365
"ccb_test_": "ccb_test",
6466
"ccb_understand_": "ccb_understand",
65-
"build_": "ccb_build",
67+
"feature_": "ccb_feature",
68+
"refactor_": "ccb_refactor",
69+
"build_": "ccb_build", # legacy run dirs
6670
"debug_": "ccb_debug",
6771
"design_": "ccb_design",
6872
"document_": "ccb_document",

scripts/audit_unpinned_repos.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
# images, go.googlesource.com URLs, ~1 parent-commit notation, etc.)
2222
MANUAL_OVERRIDES: dict[str, dict[str, tuple[str, str]]] = {
2323
# crossrepo base image — commits from instance_to_mirror.json
24-
"ccb_build/python-http-class-naming-refac-001": {
24+
"ccb_refactor/python-http-class-naming-refac-001": {
2525
"github.com/django/django": ("674eda1c03a3187905f48afee0f15226aa62fdf3", "crossrepo base image"),
2626
"github.com/pallets/flask": ("798e006f435887adceb6aab9b57cde8e20276793", "crossrepo base image"),
2727
"github.com/psf/requests": ("421b8733cf17e4dee8be237e7412b095772c2323", "crossrepo base image"),

scripts/ccb_metrics/discovery.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,8 @@
5959
"ccb_mcp_org",
6060
"ccb_mcp_platform",
6161
# SDLC suites
62-
"ccb_build",
62+
"ccb_feature",
63+
"ccb_refactor",
6364
"ccb_debug",
6465
"ccb_design",
6566
"ccb_document",

scripts/ccb_metrics/ground_truth.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -505,7 +505,7 @@ def _files_from_checklist_refs(file_references: list) -> list[str]:
505505
def _gt_sdlc(task_dir: Path) -> Optional[TaskGroundTruth]:
506506
"""Unified ground truth extractor for SDLC phase suites.
507507
508-
Handles multiple GT schemas found in ccb_build/debug/design/document/
508+
Handles multiple GT schemas found in ccb_feature/ccb_refactor/debug/design/document/
509509
fix/secure/test/understand. Priority order:
510510
511511
1. tests/ground_truth.json (multiple schemas)
@@ -1090,7 +1090,8 @@ def _gt_from_instruction(task_dir: Path) -> Optional[TaskGroundTruth]:
10901090
"ccb_tac": _gt_tac,
10911091
"ccb_largerepo": _gt_largerepo,
10921092
# SDLC phase suites (unified extractor)
1093-
"ccb_build": _gt_sdlc,
1093+
"ccb_feature": _gt_sdlc,
1094+
"ccb_refactor": _gt_sdlc,
10941095
"ccb_debug": _gt_sdlc,
10951096
"ccb_design": _gt_sdlc,
10961097
"ccb_document": _gt_sdlc,

scripts/ccb_metrics/judge/oracle.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
# ---------------------------------------------------------------------------
3434

3535
_NL_SUITES = {"ccb_document", "ccb_understand", "ccb_design"}
36-
_CODE_SUITES = {"ccb_fix", "ccb_build", "ccb_swebenchpro", "ccb_pytorch"}
36+
_CODE_SUITES = {"ccb_fix", "ccb_feature", "ccb_refactor", "ccb_swebenchpro", "ccb_pytorch"}
3737
_CODE_REVIEW_SUITES = {"ccb_test", "ccb_secure"}
3838

3939

@@ -566,7 +566,7 @@ def _discover_from_dir(
566566
if files:
567567
return OracleBundle(context_files=files, confidence="high")
568568

569-
# Code tasks with 'files' schema (ccb_build/ccb_fix/ccb_design)
569+
# Code tasks with 'files' schema (ccb_feature/ccb_refactor/ccb_fix/ccb_design)
570570
if isinstance(data, dict) and "files" in data:
571571
files = [f for f in data.get("files", []) if isinstance(f, str)]
572572
if files:

scripts/compute_bootstrap_cis.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727

2828
# SDLC suites (170 tasks across 8 suites)
2929
SDLC_SUITES = [
30-
"ccb_build", "ccb_debug", "ccb_design", "ccb_document",
30+
"ccb_feature", "ccb_refactor", "ccb_debug", "ccb_design", "ccb_document",
3131
"ccb_fix", "ccb_secure", "ccb_test", "ccb_understand",
3232
]
3333

scripts/customize_mcp_skeletons.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,13 @@
3333
# Map adapted task IDs to their parent SDLC task paths (for copying direct verifiers)
3434
PARENT_TASK_MAP = {
3535
113: "ccb_debug/grafana-table-panel-regression-001",
36-
114: "ccb_build/kafka-batch-accumulator-refac-001",
36+
114: "ccb_refactor/kafka-batch-accumulator-refac-001",
3737
115: "ccb_secure/django-cross-team-boundary-001",
3838
116: "ccb_design/k8s-typemeta-dep-chain-001",
39-
117: "ccb_build/k8s-score-normalizer-refac-001",
39+
117: "ccb_refactor/k8s-score-normalizer-refac-001",
4040
118: "ccb_secure/django-repo-scoped-access-001",
41-
119: "ccb_build/flink-pricing-window-feat-001",
42-
120: "ccb_build/strata-fx-european-refac-001",
41+
119: "ccb_feature/flink-pricing-window-feat-001",
42+
120: "ccb_refactor/strata-fx-european-refac-001",
4343
}
4444

4545
# Repo set definitions: sg_repos (for artifact_only/MCP search), clone_repos (for sg_only manifest)

0 commit comments

Comments
 (0)