New scripts under scripts/baselines/:
- run_if_ocsvm_cross.py - 20-d canonical flow features (path A)
- run_if_ocsvm_cross_packets.py - raw 576-d packet sequence (path B)
- run_shafir_nf_cross.py - single-NF on 5-d SHAFIR5 subset or 20-d
- *_all.sh - 3 sources x 3 targets x 3 seeds sweepers
New aggregator scripts/aggregate/baselines_cross_3x3_table.py builds a
Markdown 3x3 matrix per method from per-cell NPZ outputs.
RESULTS.md gains a "Shallow-baseline 3x3 cross matrices" subsection
pointing at the new artifact directories.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Mixed_CFM was loading AdaLNBlock / SinusoidalTimeEmb / _sinkhorn_coupling
and flow-feature helpers from Unified_CFM via importlib spec hacks. Pulled
those symbols into Mixed_CFM/_layers.py (model primitives) and inlined
the flow-feature loader helpers into Mixed_CFM/data.py, then deleted
Unified_CFM/ entirely along with three dead aggregate shell scripts whose
referenced eval entry point (artifacts/verify_2026_04_24/) was already gone.
Verified: historic janus_iscxtor2016_seed42 checkpoint re-evaluated under
the absorbed code reproduces all 10 phase1 AUROC scores to 6 decimals;
same-seed retrain converges to within +/-0.001 on terminal_norm (residual
drift is CUDA non-determinism in MultiheadAttention + Sinkhorn argmax,
not the absorption).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
scripts/figures/ contains the per-dataset figure generators used to render
the JANUS mechanism figures (reverse-flow trajectory PCA, t=0.5 velocity
field view with sparse benign overlay, score-distribution histograms with
within-class fraction weighting). Outputs go to
artifacts/janus_mechanism_figures_<date>/ (gitignored under artifacts/).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Replaces stale phase25_* checkpoint paths with the current janus_<ds>_seed<S>
layout under route_comparison/, adds CICIoT2023 to PCAP_GLOBS / WITHIN_DIRS,
and removes the per-dataset n_atk caps so within-dataset eval uses the same
sample budget as JANUS phase1.
Adds cython (3.2.4) — required by Kitsune's KitNET cluster compile path.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>