Skip to content

Commit 450e3a8

Browse files
2-meancursoragent
andcommitted
refactor: post-Gate-6 remove general_* facades and legacy artifact readers
Delete graphfl_lab/general_* and cli/general_* shims; discovery and suite helpers use vision_* names only (short suite_* aliases kept). Gitignore local pre-rename artifact globs under experiment output trees. Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent 4fa9736 commit 450e3a8

30 files changed

Lines changed: 59 additions & 228 deletions

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,10 @@ htmlcov/
2626
# Experiment outputs and generated analysis artifacts
2727
/experiments_current/
2828
/experiments/
29+
# Pre-rename artifact filenames (local trees only; current code uses vision_* names)
30+
**/result_general_*.json
31+
**/general_suite_summary.*
32+
**/general_suite_rows.json
2933
/outputs_current/
3034
/outputs/
3135
/runs/

MIGRATION.md

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -26,28 +26,27 @@ python run_experiment.py --track cora ...
2626
During deprecation, old names remain available where documented:
2727

2828
```text
29-
configs/general/...
30-
result_general_* (readers only; new runs no longer write mirrors)
31-
general_suite_* (readers only; new runs no longer write mirrors)
29+
configs/general/... (path alias to configs/vision in config loader)
3230
spectral_filter_strength (JSON config key alias only; CLI uses --graph-filter-strength)
3331
```
3432

35-
Root `run_general_*` and `plot_general_*` / `merge_general_*` /
36-
`deep_dive_general` script wrappers were removed in Gate 6 batch 3. Prefer
37-
`run_vision_*` and vision-named report/analysis scripts in new work.
33+
Gate 6 and post-Gate-6 cleanup removed `run_general_*`, `graphfl_lab/general_*`,
34+
`general_suite_*` / `result_general_*` code paths. Prefer `run_vision_*`,
35+
`result_vision_*`, and `vision_suite_*` in new work. Old artifact filenames
36+
under local experiment dirs are gitignored, not read by current code.
3837

3938
## Output Artifacts
4039

41-
New vision runs write canonical filenames only (Gate 6 batch 2). Readers still
42-
resolve legacy paths for older experiment directories:
40+
New vision runs write canonical filenames only (Gate 6 batch 2). Suite helpers
41+
also accept short `suite_*` artifact names when present:
4342

44-
| Canonical (new runs) | Legacy (read-only) |
43+
| Canonical (new runs) | Short legacy (read-only) |
4544
|---|---|
46-
| `result_vision_*.json` | `result_general_*.json` |
47-
| `vision_suite_summary.json` / `.csv` / `.md` | `general_suite_summary.*` |
48-
| `vision_suite_rows.json` | `general_suite_rows.json` |
45+
| `result_vision_*.json` | |
46+
| `vision_suite_summary.json` / `.csv` / `.md` | `suite_summary.*` |
47+
| `vision_suite_rows.json` | `suite_rows.json` |
4948

50-
Readers and suite helpers resolve either family, preferring canonical paths when
49+
Readers and suite helpers prefer canonical paths when
5150
both exist. See `graphfl_lab/experiments/suites/vision/artifacts.py` and
5251
`variant_helpers.resolve_result_path_for_variant`.
5352

@@ -69,8 +68,6 @@ scripts/analysis/deep_dive_vision.py
6968
scripts/analysis/merge_vision_fedavg_ours.py
7069
```
7170

72-
Legacy `*_general_*` script names remain as thin wrappers until Gate 6.
73-
7471
## Schema Fields
7572

7673
New results will eventually include:

README.md

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -308,7 +308,7 @@ python scripts/checks/prior_work_proxy_parity.py --summary experiments_current/p
308308

309309
## Reporting And Analysis
310310

311-
Canonical report commands (compatibility wrappers keep the `general_*` names):
311+
Canonical report commands:
312312

313313
```powershell
314314
python scripts/reports/plot_vision_convergence.py --suite-dir experiments_current/<suite_tag>
@@ -317,8 +317,9 @@ python scripts/analysis/deep_dive_vision.py --suite-dir ... --suite-tag ... --va
317317
python scripts/analysis/merge_vision_fedavg_ours.py --help
318318
```
319319

320-
Suite outputs prefer `vision_suite_*` and `result_vision_*` filenames. Readers also
321-
accept historical `general_suite_*` and `result_general_*` artifacts until Gate 6.
320+
Suite outputs use `vision_suite_*` and `result_vision_*` filenames. Short `suite_*`
321+
aliases are still read when present. Pre-rename `general_*` / `result_general_*`
322+
files in local experiment trees are gitignored and not loaded by current code.
322323

323324
## Compatibility
324325

@@ -327,9 +328,6 @@ New code uses `vision`, `graphfl`, `graph_filtered_*`.
327328
| Old name | Role |
328329
|---|---|
329330
| `spectral_filter_strength` | JSON config key alias via `config_io` (CLI flag is `--graph-filter-strength`) |
330-
| `general_suite_*`, `result_general_*` | historical output filenames (readers only; new runs use vision names) |
331-
332-
Do not add new logic to compatibility paths.
333331

334332
## Git Policy
335333

docs/maintenance/cleanup-status.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ truth for code; long-term removal notes and tombstones live in
1717
| started_at | 2026-05-21 |
1818
| closed_at | 2026-05-22 |
1919
| last_verified | `docs/maintenance/last_gate_check.json` (5d-prep pass after batch 7) |
20-
| next_step | none for Gate 6; optional post-Gate-6 debt: `graphfl_lab/general_*` CLI facades (see `removed-materials.md`) |
20+
| next_step | none Gate 6 + post-Gate-6 `general_*` facade removal complete (see `removed-materials.md`) |
2121

2222
Only one Gate branch should be active at a time. In short: use a single Gate branch.
2323
If parallel work is
@@ -279,6 +279,7 @@ result-schema contracts.
279279
| 2026-05-22 | Gate 6 batch 7 pre-check: no `configs/**` files use `ours_spectral_filtered_*` or `spectral_filtered_*`; reporting still pairs legacy result variant tags via `reporting.py` prefixes. | Remove CLI `choices`/dual flags and suite `parse_target_variant` spectral branch; keep `config_io` JSON key alias, lifecycle/strategy input aliases, and report readers. |
280280
| 2026-05-22 | Gate 6 batch 7: public CLI listed `spectral_filtered_*` choices and dual `--spectral-filter-strength`; suite parser accepted `ours_spectral_filtered_*` launch tokens. | Drop argparse choices/flags and suite launch tokens; keep runtime aggregation aliases and `reporting.py` legacy result-tag pairing for historical artifacts. |
281281
| 2026-05-22 | Gate 6 batch 8: hard-removal checklist in `gate-6-prep.md` steps 1–7 complete; batch 8 is documentation closure only. | Mark this file `closed`; record Gate 6 tombstones in `docs/removed-materials.md`; leave `general_*` CLI facades as documented post-Gate-6 debt. |
282+
| 2026-05-22 | Post-Gate-6: `graphfl_lab/general_*` facades and `result_general_*` / `general_suite_*` readers removed; no tracked configs used legacy suite tokens. | Prefer `vision_*` paths only; gitignore pre-rename artifact globs under local experiment trees. |
282283

283284
## Gate 4c Local Readiness
284285

docs/maintenance/last_gate_check.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22
"gate": "5d-prep",
33
"pass": true,
44
"failed_checks": [],
5-
"verified_at": "2026-05-22T13:25:49.091264+00:00",
6-
"commit_sha": "3442c0caf7e818d39bd2d6b5f36e68cc15f6df03"
5+
"verified_at": "2026-05-22T13:33:39.051204+00:00",
6+
"commit_sha": "4fa973671850982b5366b976c0599ac2976e4761"
77
}

docs/removed-materials.md

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,23 @@ Execution log (findings and decisions): [`docs/maintenance/cleanup-status.md`](m
2525
| CLI `spectral_filtered_*` argparse choices; `--spectral-filter-strength` flag | 7 | `graph_filtered_*` choices; `--graph-filter-strength`; JSON key alias `spectral_filter_strength` retained in `config_io` |
2626
| Suite launch tokens `ours_spectral_filtered_*` | 7 | `ours_graph_filtered_*`; legacy result tags still paired in `reporting.py` |
2727

28-
## Post-Gate-6 Compatibility Debt (intentional)
28+
## Post-Gate-6 Cleanup (2026-05-22)
29+
30+
| Removed surface | Replacement / policy |
31+
|---|---|
32+
| `graphfl_lab/general_*`, `graphfl_lab/cli/general_*` import/CLI facades | `graphfl_lab.data.vision`, `graphfl_lab.cli.vision_*`, `experiments.suites.vision` |
33+
| `general_suite_*` / `result_general_*` in artifact discovery | `vision_suite_*` / `result_vision_*` only; short `suite_*` aliases kept |
34+
| Code paths reading `general_suite_summary.csv` for stress-grid skip | `vision_suite_summary.csv` via `resolve_suite_artifact` |
35+
36+
Legacy experiment trees with old filenames stay **gitignored** (see root `.gitignore`).
37+
38+
## Remaining Compatibility Debt
2939

3040
| Surface | Status | Notes |
3141
|---|---|---|
32-
| `graphfl_lab/general_*`, `graphfl_lab/cli/general_*` | retained | thin CLI/import facades; not part of Gate 6 batch 2–7 |
33-
| `general_suite_*` / `result_general_*` artifact **readers** | retained | historical experiment directories |
3442
| Runtime `spectral_filtered_*` aggregation **input** aliases | retained | lifecycle/strategy accept legacy target strings |
3543
| `spectral_filter_strength` in traces / JSON config keys | retained | maps to `graph_filter_strength` |
44+
| `ours_spectral_filtered_*` in **reporting** result tags | retained | pairs historical run labels only; not suite launch tokens |
3645

3746
## Tombstones
3847

docs/structure.md

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -79,14 +79,6 @@ Keep these thin. Add new logic in scoped modules, then re-export only if compati
7979
```text
8080
graphfl_lab/aggregation.py
8181
graphfl_lab/client.py
82-
graphfl_lab/general_client.py
83-
graphfl_lab/general_data.py
84-
graphfl_lab/general_models.py
85-
graphfl_lab/general_suite_variants.py
86-
graphfl_lab/cli/general_experiment.py
87-
graphfl_lab/cli/general_suite.py
88-
graphfl_lab/cli/general_client_count_sweep.py
89-
graphfl_lab/cli/general_stress_grid.py
9082
graphfl_lab/model.py
9183
graphfl_lab/spectral_diagnostics.py
9284
graphfl_lab/strategy.py

graphfl_lab/cli/general_client_count_sweep.py

Lines changed: 0 additions & 12 deletions
This file was deleted.

graphfl_lab/cli/general_experiment.py

Lines changed: 0 additions & 12 deletions
This file was deleted.

graphfl_lab/cli/general_stress_grid.py

Lines changed: 0 additions & 12 deletions
This file was deleted.

0 commit comments

Comments
 (0)