Spaces:
Running on Zero
Running on Zero
| # FeatureLens v0.10 validation | |
| v0.10 does **not** change paraphrase robustness, layer trajectory, feature-set interventions, dose-response inference, cue × context, or the in-place focus implementation. Do not spend ZeroGPU quota rerunning those paths. | |
| The only new live behavior is the **association-to-causality synthesis** computed after the existing discovery + candidate-triage workflow. | |
| ## 1. Local release gate — no HF GPU | |
| From the repository root: | |
| ```bash | |
| python3 -m pytest -q && \ | |
| python3 -m compileall -q app.py featurelens experiments scripts && \ | |
| python3 -m ruff check app.py featurelens experiments tests scripts && \ | |
| python3 scripts/ui_smoke.py && \ | |
| python3 scripts/release_check.py | |
| ``` | |
| Expected high-level result: | |
| - all tests pass; | |
| - Ruff reports `All checks passed!`; | |
| - `FeatureLens UI launch smoke: PASS`; | |
| - release check ends with `release: v0.10.0`. | |
| Stop if any local gate fails. | |
| --- | |
| # HF acceptance — two GPU calls total | |
| Use the existing Workbench context: | |
| - **Workbench → Prompt:** `The derivative of x squared is` | |
| - **Workbench → Residual layer:** `14` | |
| - **Workbench → Prompt token index:** `-1` | |
| You do **not** need to click **Inspect sparse features** first. | |
| ## 2. GPU call 1 — causal-ready mathematics discovery | |
| Exact path: | |
| **Feature evidence → A. Concept-guided candidate discovery** | |
| Set exactly: | |
| - **Target concept:** `mathematics` | |
| - **Residual layer:** `14` | |
| - **Prompts per concept:** `4` | |
| - **Candidate features:** `12` | |
| - **Candidate ranking:** `Causal-ready at current token` | |
| Click: | |
| **Discover concept-associated candidates** | |
| Expected regression behavior from v0.9: | |
| - the summary should say `12/12` displayed candidates are active at the selected Workbench token; | |
| - **Candidate features to screen** should auto-populate with the first five returned feature IDs; | |
| - no additional UI/focus regression testing is required because that code was not changed in v0.10. | |
| For the current canonical prompt, the v0.9 result began with candidates `16369`, `5712`, `26112`, `25992`, `21670`. Exact floating-point values can vary slightly, but a major ordering change should be reported. | |
| ## 3. GPU call 2 — triage + association-to-causality synthesis | |
| Exact path: | |
| **Feature evidence → B. Batched causal candidate triage** | |
| Leave the five auto-populated candidates selected. | |
| Set: | |
| - **Screen target continuation:** `2x` | |
| Click: | |
| **Screen candidate ablations** | |
| The normal **Candidate ablation screen** should appear first. | |
| Immediately below it, without another GPU action, v0.10 should populate: | |
| ### `Association vs causal influence` | |
| with: | |
| 1. a descriptive summary; | |
| 2. **Discovery–causality alignment** table; | |
| 3. **Association evidence vs target effect** scatter plot. | |
| ### Required alignment-table columns | |
| - `Feature id` | |
| - `Discovery rank` | |
| - `Target-effect rank` | |
| - `Distribution-shift rank` | |
| - `Candidate score` | |
| - `Selectivity` | |
| - `Current token activation` | |
| - `|Δ mean log p/token|` | |
| - `Next-token JS` | |
| - `Discovery→target rank shift` | |
| ### Required summary behavior | |
| The summary must identify separately: | |
| - top discovery candidate; | |
| - strongest target-effect candidate; | |
| - strongest next-token distribution-shift candidate; | |
| - Spearman `ρ(candidate score, |target effect|)`; | |
| - Spearman `ρ(candidate score, next-token JS)`; | |
| - an explicit warning that the live correlations are descriptive because the screened set is small and triage has no random-control ensemble. | |
| For the exact v0.9 values you reported, the expected qualitative pattern is: | |
| - discovery rank #1: feature `16369`; | |
| - strongest target effect: feature `25992`; | |
| - strongest next-token JS shift: feature `16369`; | |
| - discovery score versus target-effect magnitude: strongly negative descriptive rank correlation; | |
| - discovery score versus JS: positive but weaker descriptive rank correlation. | |
| Do not require exact decimals as a pass condition. | |
| ### Rank-shift sanity check | |
| For the v0.9 ordering: | |
| - feature `25992`: discovery rank `4`, target-effect rank `1` → `Discovery→target rank shift = +3`; | |
| - feature `16369`: discovery rank `1`, target-effect rank `5` → rank shift `-4`. | |
| This is the most important v0.10 regression check because it demonstrates that concept-evidence rank and target-causal rank are not interchangeable. | |
| --- | |
| ## 4. What to send back | |
| Only send: | |
| 1. the v0.10 **Candidate ablation screen** if it changed materially from v0.9; | |
| 2. the new **Discovery–causality alignment** table; | |
| 3. the new association/causality summary with the two Spearman values; | |
| 4. optionally a screenshot of **Association evidence vs target effect** if the plot looks wrong. | |
| Do **not** rerun identity paraphrase, layer trajectory, 1/3/5 sweep, dose response, cue × context, or focus behavior for v0.10. Those implementations were not changed. | |
| --- | |
| # Final hardening later | |
| The broad adversarial/release suite remains deferred until the live feature set is frozen. After v0.10 acceptance, the next high-value step should be the real offline held-out benchmark rather than another round of unrelated live widgets. | |