diff --git a/services/refusal-probe/darkscarlett-regen-spec.md b/services/refusal-probe/darkscarlett-regen-spec.md index ff06be8..07e8ea9 100644 --- a/services/refusal-probe/darkscarlett-regen-spec.md +++ b/services/refusal-probe/darkscarlett-regen-spec.md @@ -1,9 +1,31 @@ # Dark-Scarlett regeneration spec — the 8 dropped axes -**Status: QUEUED, gated on the operator.** Running this means taking Fable-Fusion -down on the `char-rp-reasoning` seat (GPU1 is zero-sum), and that seat is under -active evaluation. No deadline — the DS weights are not scheduled for reuse -(103 GB at `ana-ml2:/tank/aimodels/darkscarlett-nvfp4-work/`, /tank at 50%). +**Status: RETIRED — NOT RUN, and not to be run. Unqueued 2026-08-17.** +brokkr-smithy-dev withdrew the request on the operator's call +(msg `01M088G7NQ5G42ES30YPJV4Y3V`); do **not** spend a GPU1 window on it when +Fable-Fusion clears the `char-rp-reasoning` seat. Two reasons, the second fatal: + +1. **Low value-of-information.** The only thing the operational/meta half would + have informed is the classifier over-fire — a property of the *scorer*, not of + DS. Our `ictrl-pair-unwrapped` / `ictrl-pair-wrapped` pair isolates that + cleanly, where DS's cross-class delta only *bounded* it. The clean instrument + strictly dominates the reason the run was asked for. +2. **DS v2 is releasing soon** (operator). A k=5 refusal baseline on v1 baselines + a version about to be superseded, which kills the "complete the retired seat's + record" rationale outright. + +This file stays banked as the record of what the run *would* have been — the axes, +the per-class grading asymmetry, and the run parameters below are all still +correct, and none of it needs deleting. A DS-**v2** refusal characterization, if +ever wanted, is a fresh purpose-scoped ask against the new weights, not this job. +For the seat-swap safety-regression question, the right first measurement is +Fable-Fusion live, not a DS baseline. + +*(Historical: the run was gated on the operator because GPU1 is zero-sum and the +seat was under active Fable-Fusion evaluation. There was no deadline — the DS +weights are 103 GB at `ana-ml2:/tank/aimodels/darkscarlett-nvfp4-work/`, /tank at +50%, nothing queued to reuse them. That gate is what let this be killed before it +cost a window.)* ## Why this exists @@ -88,32 +110,26 @@ verbatim rather than porting the axes into ours. - `MAP_REASONING=1` if DS serves as a reasoning model, so the think-trace does not truncate the visible answer into a false refusal (DS is the thinking seat → set it) -## The probe is staged — take it, don't ask +## The probe was staged, then pulled — it is GONE -brokkr staged his probe verbatim so no run-time round-trip is needed -(msg `01M082P4YPJTDJCF33BEHNYW0M`, 2026-08-17): +brokkr briefly staged his probe verbatim at +`/mnt/smithy/brokkr-battery-baselines/exchange-to-infra-ops-2026-08-16/refusal-map-probe.py` +(sha256 `8204d38f…`, presence verified from nh3-dev 2026-08-17), then **removed it +when the request was withdrawn** — its only reason to be on the share was this +run. Absence confirmed from nh3-dev the same day. Do not follow that path; it is +recorded only so a future reader who finds it referenced elsewhere knows why it 404s. -``` -/mnt/smithy/brokkr-battery-baselines/exchange-to-infra-ops-2026-08-16/refusal-map-probe.py -sha256 8204d38f54fb42458014e57f4a78590d0c3e600e7079f8896a56a68fd92c93f6 -``` +Noted for the record because it would have shaped the artifact: the probe had no +per-axis selection flag and ran **all 16 axes** regardless of `MAP_LIGHT`, so this +run would have produced a 16-axis file, not the 8 dropped ones. -Presence + full sha **verified from nh3-dev 2026-08-17**; matches the prefix he -quoted and, per him, repo HEAD. +## Execution checklist — SUPERSEDED, do not run -**It runs all 16 axes, not the 8.** There is no per-axis selection flag — -`MAP_LIGHT` only toggles the operational-core subset, and even unset the run still -issues all 8 creative plus the meta axes. So expect a 16-axis artifact, not an -8-axis one. brokkr's call, and ours: leave it. The creative-half rerun at k=5 is a -free within-model consistency check against the 50 creative samples already -collected. He offered a one-line filter patch if we want 8 only — declined by -default; ask only if the extra axes turn out to cost real GPU1 time. +Retained only as the record of the intended procedure. See the retirement note at +the top before touching any of it. -## Execution checklist - -1. Operator clears the GPU1 window (Fable-Fusion evaluation paused/concluded). -2. `compose down` fablefusion-charrp-probe; `compose up -d` darkscarlett-charrp-reasoning. -3. Run the staged `refusal-map-probe.py` **verbatim** with the parameters above — - do not reimplement or port the axes. -4. Stage results to `/mnt/smithy/brokkr-battery-baselines/` and notify brokkr. -5. Restore the seat per the operator's decision on the RP-seat direction. +1. ~~Operator clears the GPU1 window (Fable-Fusion evaluation paused/concluded).~~ +2. ~~`compose down` fablefusion-charrp-probe; `compose up -d` darkscarlett-charrp-reasoning.~~ +3. ~~Run brokkr's `refusal-map-probe.py` **verbatim** with the parameters above.~~ +4. ~~Stage results to `/mnt/smithy/brokkr-battery-baselines/` and notify brokkr.~~ +5. ~~Restore the seat per the operator's decision on the RP-seat direction.~~