Download README.md from will-taggart/AFFECTOR-ARC: direct link, hf CLI and curl.
- Browser
- Download file 5.15 kB
-
https://huggingface.co/will-taggart/AFFECTOR-ARC/resolve/main/README.md
- Command line
-
hf download hf://will-taggart/AFFECTOR-ARC/README.md
-
curl -L -o README.md https://huggingface.co/will-taggart/AFFECTOR-ARC/resolve/main/README.md
inference: false
language:
- en
tags:
- activation-steering
- research
- pytorch
- cuda
Technical paper: PDF 路 LaTeX source 路 Complete source ZIP 路 Markdown 路 Figures and source
AFFECTOR-ARC
CUDA emotional-shape rewriting for Qwen3.5-0.8B on Virginia Tech ARC. This repository includes the engine source, command-line controls, setup script, and Slurm smoke test. Model weights are downloaded separately at the pinned revision.
Rewrite a document
After setup, run inside a GPU allocation:
python run_arc.py --mode rewrite --text-file target.txt \
--geometry shape.json --style Restrained \
--strength 0.47 --budget 0.47 --inertia 0.2 \
--temperature 0 --top-p 0.95 --top-k 40 \
--output runs/rewrite.json
The geometry argument accepts an exported geometry or supported analysis JSON; omit it to use the default demonstration trajectory. Calibration is performed anew on CUDA. Output is saved incrementally to the JSON report and matching .txt file. Use a distinct output name for each run. This runner does not resume prior reports.
November 13 update: the engine is now bundled as a versioned source snapshot rather than fetched from an older GH commit. ENGINE_MANIFEST.json records source hashes.
- Minimal / Restrained / Balanced / Creative prompts, with Restrained as the default.
- Sentence-aware chunks of up to approximately 700 characters.
- Original-length aim; 125% character ceiling within each original paragraph, carrying unused allowance forward within that paragraph only.
- Sentence-boundary stopping begins at 85% of the input chunk length. A token safety allowance expands as needed, to at most 2,048 tokens.
- Repetition and time limits stop runaway generation. Complete, nonrepetitive sentences are retained; raw returned drafts remain in the report. If no usable sentence exists, the original chunk is retained and flagged.
- A failed chunk does not stop later chunks. Requested strength/budget/inertia are never silently reduced or retried at lower values.
Extreme values for strength, budget, and inertia may cause generation failures. The runner also displays this warning in red in an ANSI-compatible terminal.
Controls
| Control | Meaning / default |
|---|---|
--strength |
Scale of the activation displacement; 0.12 |
--budget |
Maximum displacement RMS relative to hidden-state RMS; 0.2 |
--inertia |
Previous displacement weight during generation; 0.2 |
--axis-top-k |
Number of emotional axes retained; 3 |
--axis-mass |
Cumulative emotional-axis magnitude retained; 1 |
--axis-temperature |
Emotional-axis magnitude exponent control; 1 |
--temperature |
Token sampling temperature; 0 (greedy) |
--top-p |
Token probability-mass cutoff; 0.95 |
--top-k |
Token candidate count; 40 |
--max-tokens |
Base token allowance; 512, expanded in rewrite mode |
--time-limit |
Per-generation time limit in seconds; 120 |
Activation controls use the imported geometry's settings unless explicitly overridden. Top-p and top-k are inactive at temperature 0; they do not control activation axes. Geometry coordinates are applied through hidden states, not inserted into the rewrite prompt. This CLI has no desktop fields or theme controls.
CUDA checks
python run_arc.py --mode smoke --text-file passage.txt --output runs/smoke.json
# or:
sbatch --account=YOUR_ALLOCATION smoke.sbatch
Smoke mode remains the default for compatibility. Without explicit overrides it retains the original rewrite instruction, 128-token allowance, 600-second time limit, and original decoding options. The new repetition guards and document caps apply only to opt-in rewrite mode. It checks zero-strength greedy text/token equivalence, nonzero injections, normal hook restoration, restored baseline text, and disabled parameter gradients. Smoke mode intentionally does not apply document-length salvage, so these equivalence checks compare raw generations.
Seven CPU policy tests and Python/shell syntax checks passed for this update. The updated CUDA path has not yet been run on an ARC GPU. A prior version was reported by the author to pass on tc-dgx005 on November 12, 2026; that does not validate this revision. Emotional effectiveness, semantic fidelity, and behavior at extreme settings are not guaranteed.
See technical report for a self-contained derivation of the steering mathematics, document workflow, controls, and validation limits. Engine licensing is preserved in ATLAS_LICENSE; Qwen weights retain their upstream license. No weights are redistributed here.