Skip to content

Commit 3442c0c

Browse files
2-meancursoragent
andcommitted
refactor: Gate 6 batch 7 drop legacy CLI and suite spectral spellings
Remove spectral_filtered_* from argparse choices and --spectral-filter-strength CLI aliases; stop parsing ours_spectral_filtered_* suite launch tokens. Keep config JSON aliases, aggregation runtime aliases, and reporting legacy tag pairing. Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent ff62dd5 commit 3442c0c

17 files changed

Lines changed: 18 additions & 62 deletions

MIGRATION.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,7 @@ During deprecation, old names remain available where documented:
2828
configs/general/...
2929
result_general_* (readers only; new runs no longer write mirrors)
3030
general_suite_* (readers only; new runs no longer write mirrors)
31-
spectral_filter_strength
32-
spectral_filtered_*
31+
spectral_filter_strength (JSON config key alias only; CLI uses --graph-filter-strength)
3332
```
3433

3534
Root `run_general_*` and `plot_general_*` / `merge_general_*` /

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -326,7 +326,7 @@ New code uses `vision`, `graphfl`, `graph_filtered_*`.
326326

327327
| Old name | Role |
328328
|---|---|
329-
| `spectral_filtered_*`, `spectral_filter_strength` | config/result compatibility alias |
329+
| `spectral_filter_strength` | JSON config key alias via `config_io` (CLI flag is `--graph-filter-strength`) |
330330
| `general_suite_*`, `result_general_*` | historical output filenames (readers only; new runs use vision names) |
331331

332332
Do not add new logic to compatibility paths.

docs/maintenance/cleanup-status.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,12 @@ disagree, rerun the relevant gate check and update this file from the result.
99

1010
| Field | Value |
1111
|---|---|
12-
| current_gate | Gate 4c complete on `main`; Gate 6 batch 6 in progress on `main` |
13-
| status | PR #2 merged; nightly 26288800411 green; Gate 6 batches 2–6 landed (`spectral_fl` shim removed); root `general_*` CLI facades and batch 7–8 remain |
12+
| current_gate | Gate 4c complete on `main`; Gate 6 batch 7 in progress on `main` |
13+
| status | PR #2 merged; nightly 26288800411 green; Gate 6 batches 2–7 landed; batch 8 (close status doc) and `general_*` CLI facades remain |
1414
| owner | codex |
1515
| started_at | 2026-05-21 |
1616
| last_verified | see `docs/maintenance/last_gate_check.json` |
17-
| next_step | Push batch 6 and confirm CI green; then batch 7 (legacy CLI choices / suite tokens); batch 8 close status + `removed-materials.md` |
17+
| next_step | Batch 8: mark `cleanup-status.md` closed, extend `removed-materials.md` tombstones; optional: remove root `general_*` CLI facades in a later batch if still listed in compatibility docs |
1818

1919
Only one Gate branch should be active at a time. In short: use a single Gate branch.
2020
If parallel work is
@@ -273,6 +273,8 @@ result-schema contracts.
273273
| 2026-05-22 | Gate 6 batch 5: `graphfl_lab/strategies/spectral/` mirrored `strategies/graphfl` with no in-repo Python imports; spectral math stays under `graph/operators` and `graphfl` modules. | Delete strategy import facades; use `graphfl_lab.strategies.graphfl` (or `spectral_fl.strategies.graphfl` via shim until batch 6). |
274274
| 2026-05-22 | Gate 6 batch 6 pre-check: active `spectral_fl` imports only in `tests/core/test_package_alias.py`, gate-check fixtures, `scripts/dev/*`, and `scripts/archive/` (archive skipped by gate 3b). `migrate_serialized_objects.py` reports 0 legacy byte markers. | Remove shim; tombstone in `docs/removed-materials.md`; update gate-check 3/4c and package tests; do not remove `general_*` CLI facades in same batch. |
275275
| 2026-05-22 | Deleting only `spectral_fl/__init__.py` left an on-disk `spectral_fl/__pycache__` tree; Python 3 still exposed a namespace package and gate-check 3 flagged the tracked path until the directory was removed. | Delete the full `spectral_fl/` directory (not only `__init__.py`); assert `ModuleNotFoundError` after clearing `sys.modules`. |
276+
| 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. |
277+
| 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. |
276278

277279
## Gate 4c Local Readiness
278280

@@ -283,7 +285,7 @@ present: scripts/dev/golden.py + tests/dev/test_golden.py + tests/golden/README.
283285
local pass: python scripts/dev/run.py gate-check 4c
284286
local pass: python scripts/dev/run.py gate-check 5d-prep
285287
Gate 6 entry: pragmatic policy (4c + merge CI green; optional 1 more green before first deletion)
286-
Gate 6 hard removal: batches 2–6 done; batches 7–8 remain — see docs/maintenance/gate-6-prep.md
288+
Gate 6 hard removal: batches 2–7 done; batch 8 (doc closure) remains — see docs/maintenance/gate-6-prep.md
287289
```
288290

289291
## Closure Policy

docs/maintenance/gate-6-prep.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ replace with the recommended check above unless you explicitly want a week-long
3737
4. [x] Remove `graphfl_lab/experiments/general/` and `graphfl_lab/experiments/suites/general/` import facades.
3838
5. [x] Remove `graphfl_lab/strategies/spectral/` wrappers (keep real spectral math names in operators).
3939
6. [x] Remove `spectral_fl` package shim last, after grep shows no remaining imports outside tests explicitly checking deprecation.
40-
7. Remove legacy CLI choices (`spectral_filtered_*` inputs) and old suite token spellings only after suite/history policy is frozen.
40+
7. [x] Remove legacy CLI choices (`spectral_filtered_*` inputs) and old suite token spellings only after suite/history policy is frozen.
4141
8. Update `docs/maintenance/cleanup-status.md` to `closed` and link from `docs/removed-materials.md`.
4242

4343
## Verify After Each Batch
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
2-
"gate": "3b",
2+
"gate": "5d-prep",
33
"pass": true,
44
"failed_checks": [],
5-
"verified_at": "2026-05-22T13:15:55.360258+00:00",
6-
"commit_sha": "8e90b0caacc052cfc1eea833fedf122723c38f41"
5+
"verified_at": "2026-05-22T13:20:40.596332+00:00",
6+
"commit_sha": "ff62dd5850d7320b1b192ec3be9b8b382b75b092"
77
}

graphfl_lab/cli/aggregation_targets.py

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,21 +8,16 @@
88
"graph_filtered_update",
99
"graph_filtered_ema_update",
1010
"graph_filtered_weight",
11-
# Compatibility aliases retained until Gate 6.
12-
"spectral_filtered_update",
13-
"spectral_filtered_ema_update",
14-
"spectral_filtered_weight",
1511
)
1612

1713
AGGREGATION_TARGET_HELP = (
1814
"AggregationOperator knob: object averaged with alpha_i to form the next global model. "
19-
"Prefer graph_filtered_update, graph_filtered_ema_update, or graph_filtered_weight. "
20-
"spectral_filtered_* spellings remain accepted compatibility aliases."
15+
"Use graph_filtered_update, graph_filtered_ema_update, or graph_filtered_weight."
2116
)
2217

2318
AGGREGATION_TARGET_SUITE_HELP = (
2419
"Default aggregation target forwarded to the underlying single-run command. "
25-
"Prefer graph_filtered_* spellings; spectral_filtered_* remains a compatibility alias."
20+
"Use graph_filtered_* spellings for filtered aggregation families."
2621
)
2722

2823
__all__ = [

graphfl_lab/cli/cora_experiment.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,6 @@ def parse_args():
179179
)
180180
p.add_argument(
181181
"--graph-filter-strength",
182-
"--spectral-filter-strength",
183182
dest="graph_filter_strength",
184183
type=float,
185184
default=1.0,

graphfl_lab/cli/vision_client_count_sweep.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,6 @@ def parse_args() -> argparse.Namespace:
5959
p.add_argument("--tau-source", type=str, default="h_spec")
6060
p.add_argument(
6161
"--graph-filter-strength",
62-
"--spectral-filter-strength",
6362
dest="graph_filter_strength",
6463
type=float,
6564
default=1.0,

graphfl_lab/cli/vision_experiment.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -367,7 +367,6 @@ def parse_args():
367367
)
368368
p.add_argument(
369369
"--graph-filter-strength",
370-
"--spectral-filter-strength",
371370
dest="graph_filter_strength",
372371
type=float,
373372
default=1.0,

graphfl_lab/cli/vision_stress_grid.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,6 @@ def parse_args() -> argparse.Namespace:
6565
p.add_argument("--tau-source", type=str, default="h_spec")
6666
p.add_argument(
6767
"--graph-filter-strength",
68-
"--spectral-filter-strength",
6968
dest="graph_filter_strength",
7069
type=float,
7170
default=1.0,

0 commit comments

Comments
 (0)