will-taggart commited on
Commit
c797fec
·
verified ·
1 Parent(s): c849dc6

Move technical report bundle to paper directory

Browse files
.gitattributes CHANGED
@@ -36,3 +36,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
36
  source/artifacts/AFFECTOR.icns filter=lfs diff=lfs merge=lfs -text
37
  docs/acm/AFFECTOR-ACM.pdf filter=lfs diff=lfs merge=lfs -text
38
  docs/AFFECTOR-Technical-Paper.pdf filter=lfs diff=lfs merge=lfs -text
 
 
36
  source/artifacts/AFFECTOR.icns filter=lfs diff=lfs merge=lfs -text
37
  docs/acm/AFFECTOR-ACM.pdf filter=lfs diff=lfs merge=lfs -text
38
  docs/AFFECTOR-Technical-Paper.pdf filter=lfs diff=lfs merge=lfs -text
39
+ paper/AFFECTOR-ACM.pdf filter=lfs diff=lfs merge=lfs -text
paper/AFFECTOR-ACM-source.zip ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:06f33fe01d0739c2691119bb0af974528fd6cec1676268ddef0cf9d0d56ae252
3
+ size 177311
paper/AFFECTOR-ACM.bbl ADDED
@@ -0,0 +1,264 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ %%% -*-BibTeX-*-
2
+ %%% Do NOT edit. File created by BibTeX with style
3
+ %%% ACM-Reference-Format-Journals [18-Jan-2012].
4
+
5
+ \begin{thebibliography}{12}
6
+
7
+ %%% ====================================================================
8
+ %%% NOTE TO THE USER: you can override these defaults by providing
9
+ %%% customized versions of any of these macros before the \bibliography
10
+ %%% command. Each of them MUST provide its own final punctuation,
11
+ %%% except for \shownote{}, \showDOI{}, and \showURL{}. The latter two
12
+ %%% do not use final punctuation, in order to avoid confusing it with
13
+ %%% the Web address.
14
+ %%%
15
+ %%% To suppress output of a particular field, define its macro to expand
16
+ %%% to an empty string, or better, \unskip, like this:
17
+ %%%
18
+ %%% \newcommand{\showDOI}[1]{\unskip} % LaTeX syntax
19
+ %%%
20
+ %%% \def \showDOI #1{\unskip} % plain TeX syntax
21
+ %%%
22
+ %%% ====================================================================
23
+
24
+ \ifx \showCODEN \undefined \def \showCODEN #1{\unskip} \fi
25
+ \ifx \showDOI \undefined \def \showDOI #1{#1}\fi
26
+ \ifx \showISBNx \undefined \def \showISBNx #1{\unskip} \fi
27
+ \ifx \showISBNxiii \undefined \def \showISBNxiii #1{\unskip} \fi
28
+ \ifx \showISSN \undefined \def \showISSN #1{\unskip} \fi
29
+ \ifx \showLCCN \undefined \def \showLCCN #1{\unskip} \fi
30
+ \ifx \shownote \undefined \def \shownote #1{#1} \fi
31
+ \ifx \showarticletitle \undefined \def \showarticletitle #1{#1} \fi
32
+ \ifx \showURL \undefined \def \showURL {\relax} \fi
33
+ % The following commands are used for tagged output and should be
34
+ % invisible to TeX
35
+ \providecommand\bibfield[2]{#2}
36
+ \providecommand\bibinfo[2]{#2}
37
+ \providecommand\natexlab[1]{#1}
38
+ \providecommand\showeprint[2][]{arXiv:#2}
39
+
40
+ \bibitem[Cui and Chen(2025)]%
41
+ {cui2025pas}
42
+ \bibfield{author}{\bibinfo{person}{Sasha Cui} {and} \bibinfo{person}{Zhongren
43
+ Chen}.} \bibinfo{year}{2025}\natexlab{}.
44
+ \newblock \bibinfo{title}{{Painless Activation Steering: An Automated,
45
+ Lightweight Approach for Post-Training Large Language Models}}.
46
+ \newblock
47
+ \newblock
48
+ \showeprint[arxiv]{2509.22739v3}
49
+ \urldef\tempurl%
50
+ \url{https://arxiv.org/abs/2509.22739v3}
51
+ \showURL{%
52
+ \tempurl}
53
+ \newblock
54
+ \shownote{Cited version dated 2026-05-15; metadata checked 2026-11-13}.
55
+
56
+
57
+ \bibitem[Diallo et~al\mbox{.}(2026)]%
58
+ {diallo2026style}
59
+ \bibfield{author}{\bibinfo{person}{Diaoulé Diallo}, \bibinfo{person}{Katharina
60
+ Dworatzyk}, \bibinfo{person}{Sophie Jentzsch}, \bibinfo{person}{Peer
61
+ Schütt}, \bibinfo{person}{Sabine Theis}, {and} \bibinfo{person}{Tobias
62
+ Hecking}.} \bibinfo{year}{2026}\natexlab{}.
63
+ \newblock \bibinfo{title}{{The Effectiveness of Style Vectors for Steering
64
+ Large Language Models: A Human Evaluation}}.
65
+ \newblock
66
+ \newblock
67
+ \showeprint[arxiv]{2601.21505v1}
68
+ \urldef\tempurl%
69
+ \url{https://arxiv.org/abs/2601.21505v1}
70
+ \showURL{%
71
+ \tempurl}
72
+ \newblock
73
+ \shownote{Cited version dated 2026-01-29; metadata checked 2026-11-13}.
74
+
75
+
76
+ \bibitem[Ferrando et~al\mbox{.}(2025)]%
77
+ {ferrando2025dsas}
78
+ \bibfield{author}{\bibinfo{person}{Alex Ferrando}, \bibinfo{person}{Xavier
79
+ Suau}, \bibinfo{person}{Jordi Gonzàlez}, {and} \bibinfo{person}{Pau
80
+ Rodriguez}.} \bibinfo{year}{2025}\natexlab{}.
81
+ \newblock \bibinfo{title}{{Dynamically Scaled Activation Steering}}.
82
+ \newblock
83
+ \newblock
84
+ \showeprint[arxiv]{2512.03661v2}
85
+ \urldef\tempurl%
86
+ \url{https://arxiv.org/abs/2512.03661v2}
87
+ \showURL{%
88
+ \tempurl}
89
+ \newblock
90
+ \shownote{Cited version dated 2026-07-30; metadata checked 2026-11-13}.
91
+
92
+
93
+ \bibitem[Ha et~al\mbox{.}(2026)]%
94
+ {ha2026empathy}
95
+ \bibfield{author}{\bibinfo{person}{JuHeon Ha}, \bibinfo{person}{Byounghan Lee},
96
+ \bibinfo{person}{Yunseo Choi}, {and} \bibinfo{person}{Kyung-Ah Sohn}.}
97
+ \bibinfo{year}{2026}\natexlab{}.
98
+ \newblock \bibinfo{title}{{Empathy Is Steerable but Multi-Axial: Mechanism
99
+ Geometry and Persona Effects in LLMs}}.
100
+ \newblock
101
+ \newblock
102
+ \showeprint[arxiv]{2609.15654v1}
103
+ \urldef\tempurl%
104
+ \url{https://arxiv.org/abs/2609.15654v1}
105
+ \showURL{%
106
+ \tempurl}
107
+ \newblock
108
+ \shownote{Cited version dated 2026-09-14; metadata checked 2026-11-13}.
109
+
110
+
111
+ \bibitem[Jeong(2026)]%
112
+ {jeong2026emotion}
113
+ \bibfield{author}{\bibinfo{person}{Jihoon Jeong}.}
114
+ \bibinfo{year}{2026}\natexlab{}.
115
+ \newblock \bibinfo{title}{{Extracting and Steering Emotion Representations in
116
+ Small Language Models: A Methodological Comparison}}.
117
+ \newblock
118
+ \newblock
119
+ \showeprint[arxiv]{2604.04064v1}
120
+ \urldef\tempurl%
121
+ \url{https://arxiv.org/abs/2604.04064v1}
122
+ \showURL{%
123
+ \tempurl}
124
+ \newblock
125
+ \shownote{Cited version dated 2026-04-05; metadata checked 2026-11-13}.
126
+
127
+
128
+ \bibitem[Panickssery et~al\mbox{.}(2024)]%
129
+ {panickssery2024caa}
130
+ \bibfield{author}{\bibinfo{person}{Nina Panickssery}, \bibinfo{person}{Nick
131
+ Gabrieli}, \bibinfo{person}{Julian Schulz}, \bibinfo{person}{Meg Tong},
132
+ \bibinfo{person}{Evan Hubinger}, {and} \bibinfo{person}{Alexander~Matt
133
+ Turner}.} \bibinfo{year}{2024}\natexlab{}.
134
+ \newblock \bibinfo{title}{{Steering Llama 2 via Contrastive Activation
135
+ Addition}}.
136
+ \newblock
137
+ \newblock
138
+ \showeprint[arxiv]{2312.06681v4}
139
+ \urldef\tempurl%
140
+ \url{https://arxiv.org/abs/2312.06681v4}
141
+ \showURL{%
142
+ \tempurl}
143
+ \newblock
144
+ \shownote{Cited version dated 2024-07-05; metadata checked 2026-11-13}.
145
+
146
+
147
+ \bibitem[Shu et~al\mbox{.}(2026)]%
148
+ {shu2026emotion}
149
+ \bibfield{author}{\bibinfo{person}{Bangzhao Shu}, \bibinfo{person}{Arinjay
150
+ Singh}, {and} \bibinfo{person}{Mai ElSherief}.}
151
+ \bibinfo{year}{2026}\natexlab{}.
152
+ \newblock \bibinfo{title}{{Why Are Some Emotions Harder for LLMs? Uncovering
153
+ the Causal Mechanisms of Emotion Inference via Sparse Autoencoders}}.
154
+ \newblock
155
+ \newblock
156
+ \showeprint[arxiv]{2604.25866v3}
157
+ \urldef\tempurl%
158
+ \url{https://arxiv.org/abs/2604.25866v3}
159
+ \showURL{%
160
+ \tempurl}
161
+ \newblock
162
+ \shownote{Cited version dated 2026-10-24; metadata checked 2026-11-13}.
163
+
164
+
165
+ \bibitem[Sun et~al\mbox{.}(2026)]%
166
+ {sun2026emotion}
167
+ \bibfield{author}{\bibinfo{person}{Moran Sun}, \bibinfo{person}{Tianlin Li},
168
+ \bibinfo{person}{Yuwei Zheng}, \bibinfo{person}{Zhenhong Zhou},
169
+ \bibinfo{person}{Aishan Liu}, \bibinfo{person}{Xianglong Liu}, {and}
170
+ \bibinfo{person}{Yang Liu}.} \bibinfo{year}{2026}\natexlab{}.
171
+ \newblock \bibinfo{title}{{How Emotion Shapes the Behavior of LLMs and Agents:
172
+ A Mechanistic Study}}.
173
+ \newblock
174
+ \newblock
175
+ \showeprint[arxiv]{2604.00005v1}
176
+ \urldef\tempurl%
177
+ \url{https://arxiv.org/abs/2604.00005v1}
178
+ \showURL{%
179
+ \tempurl}
180
+ \newblock
181
+ \shownote{Cited version dated 2026-03-09; metadata checked 2026-11-13}.
182
+
183
+
184
+ \bibitem[Turner et~al\mbox{.}(2023)]%
185
+ {turner2023actadd}
186
+ \bibfield{author}{\bibinfo{person}{Alex Turner}, \bibinfo{person}{Lisa
187
+ Thiergart}, \bibinfo{person}{David Udell}, \bibinfo{person}{Gavin Leech},
188
+ \bibinfo{person}{Ulisse Mini}, {and} \bibinfo{person}{Monte MacDiarmid}.}
189
+ \bibinfo{year}{2023}\natexlab{}.
190
+ \newblock \bibinfo{title}{{Activation Addition: Steering Language Models
191
+ Without Optimization}}.
192
+ \newblock
193
+ \newblock
194
+ \showeprint[arxiv]{2308.10248v1}
195
+ \urldef\tempurl%
196
+ \url{https://arxiv.org/abs/2308.10248v1}
197
+ \showURL{%
198
+ \tempurl}
199
+ \newblock
200
+ \shownote{Cited version dated 2023-08-20; metadata checked 2026-11-13}.
201
+
202
+
203
+ \bibitem[Wang et~al\mbox{.}(2026)]%
204
+ {wang2026readbest}
205
+ \bibfield{author}{\bibinfo{person}{Yibo Wang}, \bibinfo{person}{Jisheng Dang},
206
+ \bibinfo{person}{Bimei Wang}, \bibinfo{person}{Yitao Wu},
207
+ \bibinfo{person}{Wencan Zhang}, \bibinfo{person}{Hong Peng},
208
+ \bibinfo{person}{Jizhao Liu}, \bibinfo{person}{Bin Hu}, \bibinfo{person}{Qi
209
+ Tian}, {and} \bibinfo{person}{Tat-Seng Chua}.}
210
+ \bibinfo{year}{2026}\natexlab{}.
211
+ \newblock \bibinfo{title}{{Read-Best Is Not Steer-Best: A Probing--Steering
212
+ Layer Dissociation in Omni-Modal Large Language Models}}.
213
+ \newblock
214
+ \newblock
215
+ \showeprint[arxiv]{2609.22135v1}
216
+ \urldef\tempurl%
217
+ \url{https://arxiv.org/abs/2609.22135v1}
218
+ \showURL{%
219
+ \tempurl}
220
+ \newblock
221
+ \shownote{Cited version dated 2026-08-24; metadata checked 2026-11-13}.
222
+
223
+
224
+ \bibitem[Wu et~al\mbox{.}(2025)]%
225
+ {wu2025emotion}
226
+ \bibfield{author}{\bibinfo{person}{Xiuwen Wu}, \bibinfo{person}{Hao Wang},
227
+ \bibinfo{person}{Zhiang Yan}, \bibinfo{person}{Xiaohan Tang},
228
+ \bibinfo{person}{Pengfei Xu}, \bibinfo{person}{Wai-Ting Siok},
229
+ \bibinfo{person}{Ping Li}, \bibinfo{person}{Jia-Hong Gao},
230
+ \bibinfo{person}{Bingjiang Lyu}, {and} \bibinfo{person}{Lang Qin}.}
231
+ \bibinfo{year}{2025}\natexlab{}.
232
+ \newblock \bibinfo{title}{{AI shares emotion with humans across languages and
233
+ cultures}}.
234
+ \newblock
235
+ \newblock
236
+ \showeprint[arxiv]{2506.13978v1}
237
+ \urldef\tempurl%
238
+ \url{https://arxiv.org/abs/2506.13978v1}
239
+ \showURL{%
240
+ \tempurl}
241
+ \newblock
242
+ \shownote{Cited version dated 2025-06-11; metadata checked 2026-11-13}.
243
+
244
+
245
+ \bibitem[Yang et~al\mbox{.}(2026)]%
246
+ {yang2026steerscope}
247
+ \bibfield{author}{\bibinfo{person}{Haotian Yang}, \bibinfo{person}{Huikang
248
+ Jiang}, \bibinfo{person}{Yucheng Wu}, \bibinfo{person}{Wen-Jie Jiang},
249
+ \bibinfo{person}{Chenpeng Wang}, \bibinfo{person}{Yibin Lou}, {and}
250
+ \bibinfo{person}{Liangming Pan}.} \bibinfo{year}{2026}\natexlab{}.
251
+ \newblock \bibinfo{title}{{Does Steering Break Your Model? A Multi-Dimensional
252
+ Evaluation Suite for LLM Steering Methods}}.
253
+ \newblock
254
+ \newblock
255
+ \showeprint[arxiv]{2610.07722v1}
256
+ \urldef\tempurl%
257
+ \url{https://arxiv.org/abs/2610.07722v1}
258
+ \showURL{%
259
+ \tempurl}
260
+ \newblock
261
+ \shownote{Cited version dated 2026-10-06; metadata checked 2026-11-13}.
262
+
263
+
264
+ \end{thebibliography}
paper/AFFECTOR-ACM.pdf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2eb0ee2fa99910e7eb78788638283a7a07c0f8dfc115a41b71980eabf2d49385
3
+ size 105752
paper/AFFECTOR-ACM.tex ADDED
@@ -0,0 +1,476 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ % ACM manuscript layout for an independently distributed technical report.
2
+ \documentclass[manuscript,screen,nonacm]{acmart}
3
+ \setcopyright{none}
4
+ \settopmatter{printacmref=false,printccs=false}
5
+ \acmDOI{}
6
+ \acmISBN{}
7
+ \usepackage{longtable,booktabs,array,calc}
8
+ \usepackage{xurl}
9
+ \usepackage{fvextra}
10
+ \DefineVerbatimEnvironment{verbatim}{Verbatim}{breaklines=true,fontsize=\small}
11
+ \usepackage{tikz}
12
+ \usetikzlibrary{positioning}
13
+ \providecommand{\tightlist}{\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
14
+ \providecommand{\passthrough}[1]{#1}
15
+ \providecommand{\pandocbounded}[1]{#1}
16
+ \begin{document}
17
+ \title{AFFECTOR: Coordinate-Guided Text Rewriting through Transformer
18
+ Activation Interventions}
19
+ \author{William Taggart}
20
+ \affiliation{\department{Modern and Classical Languages and Literatures}
21
+ \institution{Virginia Tech}\city{Blacksburg}\state{Virginia}\country{USA}}
22
+ \email{wtaggart@vt.edu}
23
+ \subtitle{Technical Report: November 13, 2026}
24
+ \begin{abstract}
25
+ AFFECTOR investigates whether a prescribed emotional trajectory can
26
+ influence the rewriting of a document. A trajectory assigns valence,
27
+ emotional direction, and intensity to normalized positions in a text. A
28
+ local backend maps these coordinates into perturbations of a frozen
29
+ language model's internal states, while hosted backends use
30
+ coordinate-bearing instructions. The desktop application supports
31
+ geometry authoring, editable numerical steering matrices, document
32
+ conversion, checkpointing, and separate emotional verification. This
33
+ paper derives the implemented method from first principles and
34
+ distinguishes mechanical correctness from successful emotional transfer.
35
+ Current controls can produce emotionally charged language but can also
36
+ produce weak paraphrases, factual distortions, and repetition. The
37
+ implementation is an experimental instrument, not a validated predictor
38
+ or controller of human emotion.
39
+ \end{abstract}
40
+ \keywords{activation steering, emotional text generation, transformer models, controllable generation}
41
+ \maketitle
42
+ \section{Literature review: activation steering and
43
+ emotion}\label{literature-review-activation-steering-and-emotion}
44
+
45
+ This focused review covers twelve papers, emphasizing 2025-2026 research
46
+ and retaining two methodological foundations. Titles, author lists,
47
+ version histories, and the claims summarized here were checked against
48
+ arXiv records and the corresponding paper text on November 13, 2026. The
49
+ cited versions are fixed below; availability on arXiv alone does not
50
+ establish peer review. The implications for this project are research
51
+ motivations, not evidence that its implementation reproduces these
52
+ results.
53
+
54
+ \textbf{From activation differences to behavioral control.} Activation
55
+ steering changes internal model states during inference while leaving
56
+ the backbone weights fixed. Turner et al.~derive intervention vectors
57
+ from contrasting prompts; Panickssery et al.~average differences across
58
+ positive and negative behavioral examples. These provide the
59
+ methodological basis for contrastive calibration, but do not validate a
60
+ particular emotional coordinate system or insertion site.
61
+ \citep{turner2023actadd}; \citep{panickssery2024caa}.
62
+
63
+ \textbf{Emotional expression and human judgment.} Wu et al.~relate model
64
+ emotion spaces to human valence/arousal judgments and report
65
+ concept-based steering across linguistic-cultural settings. Diallo et
66
+ al.~evaluate perceived emotional intensity and text quality with human
67
+ raters, finding that effects depend on emotion and steering strength.
68
+ Together they motivate separate measures of emotional movement and
69
+ readability. Their axes and numerical strengths cannot be assumed
70
+ equivalent to this project's inward/outward direction or RMS-scaled
71
+ controls. \citep{wu2025emotion}; \citep{diallo2026style}.
72
+
73
+ \textbf{Emotion can affect more than tone.} Sun et al.'s E-STEER uses
74
+ valence-arousal-dominance interventions to study reasoning, generation,
75
+ safety, and agent behavior, reporting non-monotonic relationships.
76
+ Jeong's small-model comparison reports both coherent emotional changes
77
+ and degeneration, including repetition, depending on extraction method
78
+ and architecture. These findings motivate reporting failed generations
79
+ alongside successes and testing strength sweeps rather than assuming
80
+ that larger perturbations improve emotional fit. Neither study
81
+ establishes an operating range for this implementation.
82
+ \citep{sun2026emotion}; \citep{jeong2026emotion}.
83
+
84
+ \textbf{Reading an emotion is different from controlling it.} Shu et
85
+ al.'s revised study identifies uneven causal organization of sparse
86
+ features across emotion categories and tests interventions for emotion
87
+ recognition. Wang et al.~show, in omni-modal models, that layers with
88
+ strong emotion-probing accuracy need not be the best intervention
89
+ layers. Recognition results therefore inform evaluator design, while
90
+ layer selection for rewriting still requires causal tests on generated
91
+ text. Neither finding licenses importing layer indices across
92
+ architectures. \citep{shu2026emotion}; \citep{wang2026readbest}.
93
+
94
+ \textbf{Multiple axes and adaptive control.} Ha et al.~find that
95
+ supportive-empathy directions are only partially separable: intervening
96
+ on one can shift other EPITOME proxy scores. Cui and Chen automate
97
+ vector extraction from labeled data, with task-dependent benefits.
98
+ Ferrando et al.~adapt intervention strength to context, studying the
99
+ balance between toxicity mitigation and retained utility. These
100
+ approaches motivate broader calibration, cross-axis tests, and future
101
+ adaptive control. The present coordinate mixture is not an
102
+ implementation of their learned selectors or context-dependent gates.
103
+ \citep{ha2026empathy}; \citep{cui2025pas}; \citep{ferrando2025dsas}.
104
+
105
+ \textbf{Evaluation must include costs as well as target effects.} Yang
106
+ et al.'s SteerScope evaluates steering efficacy jointly with side
107
+ effects, generalization, and data dependence. In its tested settings,
108
+ activation methods do not dominate prompt steering on the
109
+ efficacy/side-effect trade-off. For this project, the resulting
110
+ evaluation priorities are prompt-only and unsteered baselines, blinded
111
+ emotional and quality ratings, content-change assessment appropriate to
112
+ the rewrite style, and complete accounting of repetition, truncation,
113
+ and original-text fallbacks. This is an evaluation agenda, not a
114
+ completed benchmark. \citep{yang2026steerscope}.
115
+
116
+ \section{Problem formulation}\label{problem-formulation}
117
+
118
+ A document conveys more than propositions: lexical choice, focus,
119
+ rhythm, imagery, and narrative stance can contribute to an emotional
120
+ reading. Rewriting a document to follow a desired emotional progression
121
+ is consequently a multi-objective problem. The output should express the
122
+ requested affect, remain readable, retain whatever content its rewrite
123
+ style requires, and have a manageable length. These objectives can
124
+ conflict.
125
+
126
+ AFFECTOR represents the desired affect as an ordered curve, not a
127
+ vocabulary list. A curve does not uniquely determine a text: countless
128
+ passages can share the same coarse coordinates. The application offers
129
+ two mechanisms to bias generation toward that curve. Local activation
130
+ intervention changes numerical states during inference. API prompting
131
+ describes the desired coordinates to a remote model. These mechanisms
132
+ are not equivalent, and their results should be evaluated separately.
133
+
134
+ The current system does not solve a constrained optimization problem
135
+ over complete texts. In particular, it does not automatically measure a
136
+ generated passage and iteratively minimize its emotional distance.
137
+ Verification is an explicit later operation.
138
+
139
+ \section{Representation and
140
+ alignment}\label{representation-and-alignment}
141
+
142
+ A geometry consists of ordered points \nolinkurl{(t, v, d, i)}. Position
143
+ \nolinkurl{t} is in \texttt{{[}0,1{]}}; valence \nolinkurl{v} and direction
144
+ \nolinkurl{d} are in \texttt{{[}-1,1{]}}; intensity \nolinkurl{i} is in
145
+ \texttt{{[}0,1{]}}. Negative valence denotes unpleasant affect and
146
+ positive valence pleasant affect. Negative direction denotes
147
+ self-focused or inward-directed emotion; positive direction denotes
148
+ outward focus. Direction is independent of valence: anger toward oneself
149
+ can be inward and sadness for another person outward. Intensity
150
+ describes strength of affect, not pleasantness.
151
+
152
+ For intervention, intensity is centered:
153
+
154
+ \[c(t)=(v(t),d(t),2i(t)-1).\]
155
+
156
+ Coordinates are linearly interpolated between points, with endpoint
157
+ clamping outside the stored range. Geometry imports that lack a
158
+ supported direction omit that point; interpolating across the resulting
159
+ gap can smooth away meaningful transitions. The imported data's
160
+ provenance records incomplete coverage.
161
+
162
+ The target document is divided into chunks of at most 700 characters,
163
+ preferring sentence endings and then whitespace. Blank-line paragraph
164
+ boundaries, including whitespace-only blank lines, are recognized. If a
165
+ chunk spans original character offsets \nolinkurl{a} through \nolinkurl{b} in
166
+ an input of length \nolinkurl{N}, its target position is
167
+ \nolinkurl{(a+b)/(2N)}. This is computed from the original document, so
168
+ expansion of earlier output does not move later targets. A single
169
+ coordinate is applied throughout a chunk. Neighboring chunks are
170
+ generated independently without surrounding text as generation context.
171
+
172
+ This normalized alignment compresses or stretches a source trajectory to
173
+ the target length. It samples only as many positions as there are
174
+ chunks. It does not preserve all events or oscillations of a much longer
175
+ curve. Changes to segmentation can change emotional targets even when
176
+ the same geometry is selected.
177
+
178
+ \section{Frozen model and contrastive
179
+ calibration}\label{frozen-model-and-contrastive-calibration}
180
+
181
+ The local backend loads Qwen3.5-0.8B at revision
182
+ \nolinkurl{2fc06364715b967f1860aea9cf38778875588b17}. The implementation
183
+ operates on its text stack of 24 blocks with hidden width 1,024. Base
184
+ parameters are frozen; inference uses float32 and eager attention. Apple
185
+ MPS is selected when available, otherwise CPU. The chat template
186
+ disables thinking output. The package contains Python 3.14, PyTorch
187
+ 2.15.0 and Transformers 5.22.2; exact dependency pins accompany the
188
+ bundle.
189
+
190
+ Before steering, the application obtains three directions per selected
191
+ layer from twelve manually authored English contrast pairs, four per
192
+ axis. For example, valence pairs contrast despair with joy, and
193
+ intensity pairs contrast mild unease with overwhelming terror. Both
194
+ members of every pair are processed under a continuation instruction.
195
+ Thus calibration requires 24 forward passes.
196
+
197
+ The capture site is the final chat-formatted prompt position immediately
198
+ before the post-attention normalization that feeds the feed-forward
199
+ sublayer. It is not a mean over all content tokens. For layer \nolinkurl{l}
200
+ and axis \nolinkurl{j}, the mean contrast is:
201
+
202
+ \[u_{\ell,j}=\frac14\sum_k(h^+_{\ell,j,k}-h^-_{\ell,j,k}).\]
203
+
204
+ With \texttt{RMS(x)\ =\ sqrt(mean\_r(x{[}r{]}\^{}2))}, normalization
205
+ gives:
206
+
207
+ \[B_{\ell,j}=\frac{u_{\ell,j}}{\max(\operatorname{RMS}(u_{\ell,j}),10^{-8})}.\]
208
+
209
+ The resulting \texttt{B{[}l{]}} is a 3 by 1,024 matrix. These are the
210
+ editable steering-module weights. Defaults select layers 8, 16, and 23,
211
+ with weights 1, 1, and 0.5. Geometry files retain the calibration
212
+ examples, matrices, and model/runtime identity; incompatible identities
213
+ are rejected.
214
+
215
+ There is no gradient training, score-supervised fitting,
216
+ orthogonalization, or guarantee that the three directions isolate their
217
+ intended concepts. Small hand-authored pairs can confound affect with
218
+ genre, topic, lexical content, and emotional categories. Calibration is
219
+ exploratory and English-based; multilingual effectiveness has not been
220
+ established.
221
+
222
+ \section{Coordinate-to-activation
223
+ computation}\label{coordinate-to-activation-computation}
224
+
225
+ Axis temperature \nolinkurl{T} transforms each coordinate magnitude while
226
+ retaining its sign:
227
+
228
+ \[q_j=\operatorname{sign}(c_j)|c_j|^{1/T}.\]
229
+
230
+ The implementation ranks axes by magnitude, retains at most axis top-k,
231
+ and stops adding axes once cumulative magnitude reaches the configured
232
+ mass fraction. Surviving coefficients are not renormalized. These
233
+ operations act on three emotional coefficients, not on the model's
234
+ vocabulary distribution.
235
+
236
+ For current final-token hidden state \nolinkurl{h}, strength \nolinkurl{s},
237
+ and layer weight \texttt{w{[}l{]}}, the proposed perturbation is:
238
+
239
+ \[\delta_{\mathrm{raw}}=(q B_\ell)\operatorname{RMS}(h)s w_\ell.\]
240
+
241
+ Inertia \nolinkurl{rho} combines this proposal with the previous applied
242
+ perturbation within the same chunk:
243
+
244
+ \[\delta_{\mathrm{mix}}=\rho\delta_{\mathrm{previous}}+(1-\rho)\delta_{\mathrm{raw}}.\]
245
+
246
+ The first step uses the raw proposal directly. A relative RMS budget
247
+ \nolinkurl{beta} then bounds the perturbation:
248
+
249
+ \[\delta=\delta_{\mathrm{mix}}\min\left(1,\frac{\beta\operatorname{RMS}(h)}{\max(\operatorname{RMS}(\delta_{\mathrm{mix}}),10^{-12})}\right).\]
250
+
251
+ Zero strength, budget, or layer weight gives an exact zero perturbation.
252
+ Each chunk resets inertia history. The settings are applied as
253
+ requested; the release does not automatically lower them after poor
254
+ output.
255
+
256
+ Budget is not a semantic-change percentage. At budget 1, the
257
+ perturbation can have RMS magnitude comparable to the original hidden
258
+ state at that site. Large values can destabilize generation. Raising the
259
+ budget only matters when the proposed perturbation would otherwise be
260
+ clipped; it cannot correct an inaccurate direction.
261
+
262
+ \section{Intervention within the
263
+ transformer}\label{intervention-within-the-transformer}
264
+
265
+ Let \nolinkurl{h} denote a block's residual state after its attention or
266
+ sequence-mixing stage. A conventional feed-forward residual update has
267
+ the form:
268
+
269
+ \[y=h+\operatorname{FFN}(\operatorname{Norm}(h)).\]
270
+
271
+ AFFECTOR implements:
272
+
273
+ \[y=(h+\delta)+\operatorname{FFN}(\operatorname{Norm}(h+\delta)).\]
274
+
275
+ A pre-hook on the feed-forward normalization adds \nolinkurl{delta} to its
276
+ input, and a post-hook on the block output adds the same \nolinkurl{delta}
277
+ to the residual branch. This is a forward-pass intervention, not a
278
+ model-parameter update. Hooks affect only the final token in the initial
279
+ prompt pass and the current token during cached decoding. They are
280
+ removed when generation exits, including exceptional exits.
281
+
282
+ The module does not search for trigger phrases or recognize an idiom
283
+ before activating. The chosen target determines the intervention
284
+ continuously during decoding. Nevertheless, generation remains
285
+ conditional on the input and instruction, and the hidden state
286
+ influences perturbation magnitude. The module is not a
287
+ content-independent guarantee of a particular affect.
288
+
289
+ A key limitation is that the intervention is an absolute-coordinate
290
+ bias, not a measured error correction. A target valence of zero yields
291
+ no direct valence-axis perturbation; it does not actively neutralize an
292
+ already negative passage. Correlations between basis vectors further
293
+ complicate interpretation.
294
+
295
+ \section{Prompts, sampling, and bounded
296
+ output}\label{prompts-sampling-and-bounded-output}
297
+
298
+ Four rewrite styles constrain the instruction: Minimal preserves nearly
299
+ all wording; Restrained asks for subtle emotional phrasing changes while
300
+ preserving facts and structure; Balanced allows structural changes and
301
+ modest imagery while preserving events; Creative permits changes to
302
+ meaning, imagery, and events. The prompt preferences do not enforce
303
+ semantic fidelity.
304
+
305
+ Local prompts do not include the numerical emotional coordinates. Hosted
306
+ prompts do, because hosted model hidden states are not accessible
307
+ through the implemented APIs. Consequently, local and API modes are not
308
+ controlled comparisons of model size alone.
309
+
310
+ Temperature, top-p, and top-k govern token selection. At temperature
311
+ zero, decoding is greedy and top-p/top-k are inactive. Positive
312
+ temperature enables sampling. A repetition penalty of 1.1 and no-repeat
313
+ 8-gram constraint operate on token decoding; they are distinct from
314
+ activation steering and cannot guarantee freedom from repetition.
315
+
316
+ The current output policy uses a shared paragraph allowance equal to
317
+ 125\% of original character length. Unused allowance carries forward to
318
+ later chunks in the same paragraph; original intervening whitespace
319
+ counts against it. Earlier chunks cannot borrow from future chunks.
320
+ Local generation seeks a sentence ending after 85\% of the current
321
+ original chunk length. A hard character ceiling, token ceiling, and
322
+ 120-second limit remain. Token allowances may expand above the displayed
323
+ base allowance, up to 2,048 locally and 4,096 for hosted requests.
324
+
325
+ Repetition detection inspects recent word n-grams and repeated character
326
+ patterns. If a draft is repetitive, oversized, or unfinished, the output
327
+ can retain only its complete, non-repetitive sentence prefix, with a
328
+ warning. If no such prefix exists, the original is retained with an
329
+ error. One generation attempt is made per chunk; returned drafts,
330
+ effective controls, stop reasons, and selection information remain in
331
+ reports. API calls are non-streaming, so their remote generation cannot
332
+ be stopped at an exact character threshold.
333
+
334
+ These mechanisms trade completeness for bounded readable output.
335
+ Sentence punctuation is a heuristic and can misidentify abbreviations or
336
+ unusual writing. Trimming can omit important content and alter emotional
337
+ character. They are safeguards against specific generation failures, not
338
+ a proof of success.
339
+
340
+ \section{Independent verification}\label{independent-verification}
341
+
342
+ Verification assesses original and revised chunks separately with an
343
+ unsteered evaluator or an API model. The evaluator is instructed to
344
+ distinguish felt or conveyed emotion from mere emotion-word occurrence,
345
+ identify experiencers and emotional targets, and supply exact quoted
346
+ evidence. It returns valence, direction, intensity, emotional labels,
347
+ uncertainty, and concise explanations. Scores are interpretive
348
+ estimates, not psychometric measurements.
349
+
350
+ For assessed coordinate \nolinkurl{p=(v,d,2i-1)} and target \nolinkurl{c}, the
351
+ reported similarity is:
352
+
353
+ \[\operatorname{similarity}=1-\frac{\lVert p-c\rVert_2}{2\sqrt3}.\]
354
+
355
+ The denominator is the maximum distance across the three-dimensional
356
+ \texttt{{[}-1,1{]}} cube. Similarity is not a probability. Axis errors
357
+ are also reported. Unknown direction makes the three-axis distance
358
+ unavailable. Aggregate before/after comparisons use only paired valid
359
+ assessments and report coverage and failures. Missing assessments are
360
+ not assigned invented scores.
361
+
362
+ The same small model can assess its own output, but shared weaknesses
363
+ make independent evaluation preferable. A high similarity can coexist
364
+ with incoherence, factual errors, or undesirable content. The
365
+ implementation does not optimize this score during generation and does
366
+ not include a formal semantic-fidelity metric.
367
+
368
+ \section{Architecture, persistence, and
369
+ privacy}\label{architecture-persistence-and-privacy}
370
+
371
+ A native SwiftUI/AppKit interface communicates with a Python subprocess
372
+ through JSON lines; no listening local web server is needed. The desktop
373
+ app provides geometry management, document transformation, verification,
374
+ light/dark appearance, and numeric weight editing. TXT, RTF, and DOCX
375
+ handling preserves textual content rather than rich layout.
376
+
377
+ Atomic checkpoint writes store original input, offsets, geometry,
378
+ controls, output records, and verification. Run signatures include the
379
+ input, settings, geometry, style, and policy version so changed settings
380
+ do not silently resume incompatible work. Loading an older checkpoint
381
+ validates its stored spans instead of resegmenting it. Individual
382
+ generation or assessment failures are flagged without interrupting the
383
+ whole document. Explicit cancellation stops the run; an in-flight API
384
+ call can take until its timeout to return.
385
+
386
+ API keys are held in memory. Local mode processes text on the computer;
387
+ API mode sends relevant passages to the selected service. Checkpoints
388
+ contain potentially sensitive document text and should be treated
389
+ accordingly. The distributed package excludes personal checkpoints and
390
+ test documents.
391
+
392
+ \section{Evidence and limitations}\label{evidence-and-limitations}
393
+
394
+ The release's 26 automated tests cover behaviors including checkpoint
395
+ handling, style persistence, failure continuation, allowance accounting,
396
+ raw-draft retention, and preservation of requested controls. Earlier
397
+ development smoke checks established nonzero activation interventions,
398
+ zero-strength equivalence under greedy decoding, hook cleanup, and the
399
+ RMS budget bound. These checks establish implementation properties, not
400
+ emotional efficacy.
401
+
402
+ Exploratory development runs revealed three important failure modes:
403
+ high intervention magnitudes can produce repetition before any full
404
+ sentence; lower magnitudes can yield fluent but weakly emotional
405
+ paraphrases; and segmentation changes alter which positions of a
406
+ trajectory are sampled. A temporary whole-paragraph/reduced-steering
407
+ recovery design improved completion on a small example but weakened the
408
+ desired affect, and is not the current release behavior.
409
+
410
+ No representative benchmark, blinded human study, multilingual
411
+ evaluation, or statistically supported success rate is claimed.
412
+ Controlled experiments should hold input, geometry, prompt,
413
+ segmentation, and sampling constant while comparing unsteered and
414
+ steered output. Report emotional distance, completion rate, repetition,
415
+ length ratio, factual/content preservation, and human judgments
416
+ together. Selection based on emotional distance alone can reward extreme
417
+ or incoherent writing.
418
+
419
+ \section{Conclusion}\label{conclusion}
420
+
421
+ AFFECTOR makes a low-dimensional emotional trajectory operational
422
+ through explicit transformer-state interventions and a separate
423
+ prompt-based backend. Its value is as an inspectable experimental
424
+ system: coordinates, editable vectors, controls, raw drafts, and
425
+ verification are exposed. Reliable emotional transfer remains an
426
+ empirical research problem. The current method demonstrates a
427
+ controllable intervention mechanism but does not establish that a
428
+ particular intervention reliably creates a specified emotional
429
+ experience.
430
+
431
+ \section{Implementation and infrastructure
432
+ sources}\label{implementation-and-infrastructure-sources}
433
+
434
+ \begin{enumerate}
435
+ \def\labelenumi{\arabic{enumi}.}
436
+ \item
437
+ Qwen team. Qwen3.5-0.8B model card and distribution.
438
+ \url{https://huggingface.co/Qwen/Qwen3.5-0.8B}
439
+ \item
440
+ PyTorch documentation. Module forward and forward-pre hooks.
441
+ \url{https://docs.pytorch.org/docs/stable/generated/torch.nn.Module.html}
442
+ \item
443
+ Hugging Face Transformers documentation. Text generation.
444
+ \url{https://huggingface.co/docs/transformers/main_classes/text_generation}
445
+ \item
446
+ Apple Developer documentation. Notarizing macOS software before
447
+ distribution.
448
+ \url{https://developer.apple.com/documentation/security/notarizing-macos-software-before-distribution}
449
+ \end{enumerate}
450
+
451
+ The equations and implementation descriptions above are derived from the
452
+ included source. Upstream documentation describes infrastructure and
453
+ model distribution, not evidence validating AFFECTOR's
454
+ emotional-transfer claims.
455
+
456
+ \section*{AI assistance disclosure}
457
+ This project was created with assistance from GPT-6 Astra and Codex. AI
458
+ tools supported software development, testing, and the drafting and
459
+ revision of this technical report. William Taggart is responsible for
460
+ the project's research decisions and the final software and
461
+ documentation. AI assistance does not constitute independent validation
462
+ of the implementation or its scientific claims; the validation evidence
463
+ and limitations are stated separately in this report.
464
+
465
+ \bibliographystyle{ACM-Reference-Format}
466
+ \bibliography{references}
467
+
468
+ \section*{Suggested citation}
469
+ William Taggart. 2026. AFFECTOR: Coordinate-Guided Text Rewriting
470
+ through Transformer Activation Interventions. Technical report. Modern
471
+ and Classical Languages and Literatures, Virginia Tech. ACM manuscript
472
+ edition, November 13, 2026.
473
+ \url{https://huggingface.co/will-taggart/AFFECTOR/blob/main/docs/TECHNICAL_PAPER.md}
474
+
475
+
476
+ \end{document}
paper/LITERATURE_SOURCES.md ADDED
@@ -0,0 +1,100 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Literature source verification
2
+
3
+ Checked November 13, 2026. This is a focused literature selection, not an exhaustive systematic review or independent replication. Bibliographic metadata was checked on arXiv abstract records and compared with the associated HTML/PDF text. The section locations below identify support for the bounded summaries in the reports. Peer-review status is not inferred from arXiv hosting.
4
+
5
+ ## R1. Activation Addition: Steering Language Models Without Optimization
6
+
7
+ Authors: Alex Turner; Lisa Thiergart; David Udell; Gavin Leech; Ulisse Mini; Monte MacDiarmid.
8
+
9
+ Record: [2308.10248v1](https://arxiv.org/abs/2308.10248v1). Paper: [version-specific text](https://arxiv.org/html/2308.10248v1). Version date: 2023-08-20.
10
+
11
+ Verification notes: Methods; natural-language control of sentiment, topic, style.
12
+
13
+ ## R2. Steering Llama 2 via Contrastive Activation Addition
14
+
15
+ Authors: Nina Panickssery; Nick Gabrieli; Julian Schulz; Meg Tong; Evan Hubinger; Alexander Matt Turner.
16
+
17
+ Record: [2312.06681v4](https://arxiv.org/abs/2312.06681v4). Paper: [version-specific text](https://arxiv.org/html/2312.06681v4). Version date: 2024-07-05.
18
+
19
+ Verification notes: Section 3 and Figure 1; sections 4-7; first submitted 2023.
20
+
21
+ ## R3. AI shares emotion with humans across languages and cultures
22
+
23
+ Authors: Xiuwen Wu; Hao Wang; Zhiang Yan; Xiaohan Tang; Pengfei Xu; Wai-Ting Siok; Ping Li; Jia-Hong Gao; Bingjiang Lyu; Lang Qin.
24
+
25
+ Record: [2506.13978v1](https://arxiv.org/abs/2506.13978v1). Paper: [version-specific text](https://arxiv.org/pdf/2506.13978v1). Version date: 2025-06-11.
26
+
27
+ Verification notes: PDF abstract and introduction; emotion-space alignment and steering; no arXiv HTML.
28
+
29
+ ## R4. The Effectiveness of Style Vectors for Steering Large Language Models: A Human Evaluation
30
+
31
+ Authors: Diaoulé Diallo; Katharina Dworatzyk; Sophie Jentzsch; Peer Schütt; Sabine Theis; Tobias Hecking.
32
+
33
+ Record: [2601.21505v1](https://arxiv.org/abs/2601.21505v1). Paper: [version-specific text](https://arxiv.org/html/2601.21505v1). Version date: 2026-01-29.
34
+
35
+ Verification notes: Sections V-VII; arXiv record also lists IEEE Access 13 (2025), 191443-191457, DOI 10.1109/ACCESS.2025.3628500.
36
+
37
+ ## R5. How Emotion Shapes the Behavior of LLMs and Agents: A Mechanistic Study
38
+
39
+ Authors: Moran Sun; Tianlin Li; Yuwei Zheng; Zhenhong Zhou; Aishan Liu; Xianglong Liu; Yang Liu.
40
+
41
+ Record: [2604.00005v1](https://arxiv.org/abs/2604.00005v1). Paper: [version-specific text](https://arxiv.org/html/2604.00005v1). Version date: 2026-03-09.
42
+
43
+ Verification notes: Sections 3-5; VAD-based E-STEER; date follows submission history rather than ID prefix.
44
+
45
+ ## R6. Extracting and Steering Emotion Representations in Small Language Models: A Methodological Comparison
46
+
47
+ Authors: Jihoon Jeong.
48
+
49
+ Record: [2604.04064v1](https://arxiv.org/abs/2604.04064v1). Paper: [version-specific text](https://arxiv.org/html/2604.04064v1). Version date: 2026-04-05.
50
+
51
+ Verification notes: Sections 3 and 5-8; exploratory model-dependent regimes; no independent replication claimed.
52
+
53
+ ## R7. Why Are Some Emotions Harder for LLMs? Uncovering the Causal Mechanisms of Emotion Inference via Sparse Autoencoders
54
+
55
+ Authors: Bangzhao Shu; Arinjay Singh; Mai ElSherief.
56
+
57
+ Record: [2604.25866v3](https://arxiv.org/abs/2604.25866v3). Paper: [version-specific text](https://arxiv.org/html/2604.25866v3). Version date: 2026-10-24.
58
+
59
+ Verification notes: Sections 4-6; current v3 title differs from v1 From Syntax to Emotion.
60
+
61
+ ## R8. Read-Best Is Not Steer-Best: A Probing--Steering Layer Dissociation in Omni-Modal Large Language Models
62
+
63
+ Authors: Yibo Wang; Jisheng Dang; Bimei Wang; Yitao Wu; Wencan Zhang; Hong Peng; Jizhao Liu; Bin Hu; Qi Tian; Tat-Seng Chua.
64
+
65
+ Record: [2609.22135v1](https://arxiv.org/abs/2609.22135v1). Paper: [version-specific text](https://arxiv.org/html/2609.22135v1). Version date: 2026-08-24.
66
+
67
+ Verification notes: Sections III-V and VIII; date follows submission history rather than ID prefix.
68
+
69
+ ## R9. Empathy Is Steerable but Multi-Axial: Mechanism Geometry and Persona Effects in LLMs
70
+
71
+ Authors: JuHeon Ha; Byounghan Lee; Yunseo Choi; Kyung-Ah Sohn.
72
+
73
+ Record: [2609.15654v1](https://arxiv.org/abs/2609.15654v1). Paper: [version-specific text](https://arxiv.org/html/2609.15654v1). Version date: 2026-09-14.
74
+
75
+ Verification notes: Sections 3-4 and 7; EPITOME proxy outcomes; arXiv comments report acceptance to EMNLP 2026 main conference.
76
+
77
+ ## R10. Painless Activation Steering: An Automated, Lightweight Approach for Post-Training Large Language Models
78
+
79
+ Authors: Sasha Cui; Zhongren Chen.
80
+
81
+ Record: [2509.22739v3](https://arxiv.org/abs/2509.22739v3). Paper: [version-specific text](https://arxiv.org/html/2509.22739v3). Version date: 2026-05-15.
82
+
83
+ Verification notes: Sections 2-3 and 5; first submitted 2025; v3 checked.
84
+
85
+ ## R11. Dynamically Scaled Activation Steering
86
+
87
+ Authors: Alex Ferrando; Xavier Suau; Jordi Gonzàlez; Pau Rodriguez.
88
+
89
+ Record: [2512.03661v2](https://arxiv.org/abs/2512.03661v2). Paper: [version-specific text](https://arxiv.org/html/2512.03661v2). Version date: 2026-07-30.
90
+
91
+ Verification notes: Sections 3-5; first submitted 2025; v2 checked; author names follow arXiv metadata.
92
+
93
+ ## R12. Does Steering Break Your Model? A Multi-Dimensional Evaluation Suite for LLM Steering Methods
94
+
95
+ Authors: Haotian Yang; Huikang Jiang; Yucheng Wu; Wen-Jie Jiang; Chenpeng Wang; Yibin Lou; Liangming Pan.
96
+
97
+ Record: [2610.07722v1](https://arxiv.org/abs/2610.07722v1). Paper: [version-specific text](https://arxiv.org/html/2610.07722v1). Version date: 2026-10-06.
98
+
99
+ Verification notes: Sections 3-5; efficacy and side effects under matched evaluation.
100
+
paper/README.md ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # AFFECTOR: Coordinate-Guided Text Rewriting through Transformer Activation Interventions
2
+
3
+ Uses the official ACM acmart class with manuscript, screen, and nonacm options. This is an independently distributed report, not an assertion of ACM publication or acceptance. No venue, DOI, or copyright transfer is invented.
4
+
5
+ ## Build
6
+
7
+ With a current TeX Live/MacTeX installation including acmart:
8
+
9
+ latexmk -pdf AFFECTOR-ACM.tex
10
+
11
+ Or Tectonic 0.17.0:
12
+
13
+ tectonic --keep-logs --keep-intermediates AFFECTOR-ACM.tex
14
+
15
+ The bibliography uses ACM-Reference-Format.bst. The generated .bbl is included; references.bib remains editable. All packages are standard TeX distribution packages. No shell escape is needed. The manuscript layout is single-column; change manuscript to sigconf for a venue requiring two columns, then recheck layout.
16
+
17
+ Includes the source Markdown snapshot and citation verification notes. Equations, tables, and citations are native LaTeX. AI disclosure appears immediately before the references.
18
+
19
+ Original report: https://huggingface.co/will-taggart/AFFECTOR/blob/main/docs/TECHNICAL_PAPER.md
20
+
21
+ Build verified with Tectonic 0.17.0 and bundled acmart v1.83 (2022/02/19). All 12 bibliography entries resolve.
paper/references.bib ADDED
@@ -0,0 +1,120 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @misc{turner2023actadd,
2
+ author = {Alex Turner and Lisa Thiergart and David Udell and Gavin Leech and Ulisse Mini and Monte MacDiarmid},
3
+ title = {{Activation Addition: Steering Language Models Without Optimization}},
4
+ year = {2023},
5
+ eprint = {2308.10248v1},
6
+ archivePrefix = {arXiv},
7
+ url = {https://arxiv.org/abs/2308.10248v1},
8
+ note = {Cited version dated 2023-08-20; metadata checked 2026-11-13}
9
+ }
10
+
11
+ @misc{panickssery2024caa,
12
+ author = {Nina Panickssery and Nick Gabrieli and Julian Schulz and Meg Tong and Evan Hubinger and Alexander Matt Turner},
13
+ title = {{Steering Llama 2 via Contrastive Activation Addition}},
14
+ year = {2024},
15
+ eprint = {2312.06681v4},
16
+ archivePrefix = {arXiv},
17
+ url = {https://arxiv.org/abs/2312.06681v4},
18
+ note = {Cited version dated 2024-07-05; metadata checked 2026-11-13}
19
+ }
20
+
21
+ @misc{wu2025emotion,
22
+ author = {Xiuwen Wu and Hao Wang and Zhiang Yan and Xiaohan Tang and Pengfei Xu and Wai-Ting Siok and Ping Li and Jia-Hong Gao and Bingjiang Lyu and Lang Qin},
23
+ title = {{AI shares emotion with humans across languages and cultures}},
24
+ year = {2025},
25
+ eprint = {2506.13978v1},
26
+ archivePrefix = {arXiv},
27
+ url = {https://arxiv.org/abs/2506.13978v1},
28
+ note = {Cited version dated 2025-06-11; metadata checked 2026-11-13}
29
+ }
30
+
31
+ @misc{diallo2026style,
32
+ author = {Diaoulé Diallo and Katharina Dworatzyk and Sophie Jentzsch and Peer Schütt and Sabine Theis and Tobias Hecking},
33
+ title = {{The Effectiveness of Style Vectors for Steering Large Language Models: A Human Evaluation}},
34
+ year = {2026},
35
+ eprint = {2601.21505v1},
36
+ archivePrefix = {arXiv},
37
+ url = {https://arxiv.org/abs/2601.21505v1},
38
+ note = {Cited version dated 2026-01-29; metadata checked 2026-11-13}
39
+ }
40
+
41
+ @misc{sun2026emotion,
42
+ author = {Moran Sun and Tianlin Li and Yuwei Zheng and Zhenhong Zhou and Aishan Liu and Xianglong Liu and Yang Liu},
43
+ title = {{How Emotion Shapes the Behavior of LLMs and Agents: A Mechanistic Study}},
44
+ year = {2026},
45
+ eprint = {2604.00005v1},
46
+ archivePrefix = {arXiv},
47
+ url = {https://arxiv.org/abs/2604.00005v1},
48
+ note = {Cited version dated 2026-03-09; metadata checked 2026-11-13}
49
+ }
50
+
51
+ @misc{jeong2026emotion,
52
+ author = {Jihoon Jeong},
53
+ title = {{Extracting and Steering Emotion Representations in Small Language Models: A Methodological Comparison}},
54
+ year = {2026},
55
+ eprint = {2604.04064v1},
56
+ archivePrefix = {arXiv},
57
+ url = {https://arxiv.org/abs/2604.04064v1},
58
+ note = {Cited version dated 2026-04-05; metadata checked 2026-11-13}
59
+ }
60
+
61
+ @misc{shu2026emotion,
62
+ author = {Bangzhao Shu and Arinjay Singh and Mai ElSherief},
63
+ title = {{Why Are Some Emotions Harder for LLMs? Uncovering the Causal Mechanisms of Emotion Inference via Sparse Autoencoders}},
64
+ year = {2026},
65
+ eprint = {2604.25866v3},
66
+ archivePrefix = {arXiv},
67
+ url = {https://arxiv.org/abs/2604.25866v3},
68
+ note = {Cited version dated 2026-10-24; metadata checked 2026-11-13}
69
+ }
70
+
71
+ @misc{wang2026readbest,
72
+ author = {Yibo Wang and Jisheng Dang and Bimei Wang and Yitao Wu and Wencan Zhang and Hong Peng and Jizhao Liu and Bin Hu and Qi Tian and Tat-Seng Chua},
73
+ title = {{Read-Best Is Not Steer-Best: A Probing--Steering Layer Dissociation in Omni-Modal Large Language Models}},
74
+ year = {2026},
75
+ eprint = {2609.22135v1},
76
+ archivePrefix = {arXiv},
77
+ url = {https://arxiv.org/abs/2609.22135v1},
78
+ note = {Cited version dated 2026-08-24; metadata checked 2026-11-13}
79
+ }
80
+
81
+ @misc{ha2026empathy,
82
+ author = {JuHeon Ha and Byounghan Lee and Yunseo Choi and Kyung-Ah Sohn},
83
+ title = {{Empathy Is Steerable but Multi-Axial: Mechanism Geometry and Persona Effects in LLMs}},
84
+ year = {2026},
85
+ eprint = {2609.15654v1},
86
+ archivePrefix = {arXiv},
87
+ url = {https://arxiv.org/abs/2609.15654v1},
88
+ note = {Cited version dated 2026-09-14; metadata checked 2026-11-13}
89
+ }
90
+
91
+ @misc{cui2025pas,
92
+ author = {Sasha Cui and Zhongren Chen},
93
+ title = {{Painless Activation Steering: An Automated, Lightweight Approach for Post-Training Large Language Models}},
94
+ year = {2025},
95
+ eprint = {2509.22739v3},
96
+ archivePrefix = {arXiv},
97
+ url = {https://arxiv.org/abs/2509.22739v3},
98
+ note = {Cited version dated 2026-05-15; metadata checked 2026-11-13}
99
+ }
100
+
101
+ @misc{ferrando2025dsas,
102
+ author = {Alex Ferrando and Xavier Suau and Jordi Gonzàlez and Pau Rodriguez},
103
+ title = {{Dynamically Scaled Activation Steering}},
104
+ year = {2025},
105
+ eprint = {2512.03661v2},
106
+ archivePrefix = {arXiv},
107
+ url = {https://arxiv.org/abs/2512.03661v2},
108
+ note = {Cited version dated 2026-07-30; metadata checked 2026-11-13}
109
+ }
110
+
111
+ @misc{yang2026steerscope,
112
+ author = {Haotian Yang and Huikang Jiang and Yucheng Wu and Wen-Jie Jiang and Chenpeng Wang and Yibin Lou and Liangming Pan},
113
+ title = {{Does Steering Break Your Model? A Multi-Dimensional Evaluation Suite for LLM Steering Methods}},
114
+ year = {2026},
115
+ eprint = {2610.07722v1},
116
+ archivePrefix = {arXiv},
117
+ url = {https://arxiv.org/abs/2610.07722v1},
118
+ note = {Cited version dated 2026-10-06; metadata checked 2026-11-13}
119
+ }
120
+
paper/source.md ADDED
@@ -0,0 +1,197 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # AFFECTOR: Coordinate-Guided Text Rewriting through Transformer Activation Interventions
2
+
3
+ **William Taggart**
4
+ Modern and Classical Languages and Literatures, Virginia Tech
5
+ Email: wtaggart@vt.edu
6
+ November 13, 2026 · Implementation report · Desktop version 0.1.0
7
+
8
+ ## Abstract
9
+
10
+ AFFECTOR investigates whether a prescribed emotional trajectory can influence the rewriting of a document. A trajectory assigns valence, emotional direction, and intensity to normalized positions in a text. A local backend maps these coordinates into perturbations of a frozen language model's internal states, while hosted backends use coordinate-bearing instructions. The desktop application supports geometry authoring, editable numerical steering matrices, document conversion, checkpointing, and separate emotional verification. This paper derives the implemented method from first principles and distinguishes mechanical correctness from successful emotional transfer. Current controls can produce emotionally charged language but can also produce weak paraphrases, factual distortions, and repetition. The implementation is an experimental instrument, not a validated predictor or controller of human emotion.
11
+
12
+ ## Literature review: activation steering and emotion
13
+
14
+ This focused review covers twelve papers, emphasizing 2025-2026 research and retaining two methodological foundations. Titles, author lists, version histories, and the claims summarized here were checked against arXiv records and the corresponding paper text on November 13, 2026. The cited versions are fixed below; availability on arXiv alone does not establish peer review. The implications for this project are research motivations, not evidence that its implementation reproduces these results.
15
+
16
+ **From activation differences to behavioral control.** Activation steering changes internal model states during inference while leaving the backbone weights fixed. Turner et al. derive intervention vectors from contrasting prompts; Panickssery et al. average differences across positive and negative behavioral examples. These provide the methodological basis for contrastive calibration, but do not validate a particular emotional coordinate system or insertion site. [Turner et al., 2023 (R1)](https://arxiv.org/abs/2308.10248v1); [Panickssery et al., 2024 (R2)](https://arxiv.org/abs/2312.06681v4).
17
+
18
+ **Emotional expression and human judgment.** Wu et al. relate model emotion spaces to human valence/arousal judgments and report concept-based steering across linguistic-cultural settings. Diallo et al. evaluate perceived emotional intensity and text quality with human raters, finding that effects depend on emotion and steering strength. Together they motivate separate measures of emotional movement and readability. Their axes and numerical strengths cannot be assumed equivalent to this project's inward/outward direction or RMS-scaled controls. [Wu et al., 2025 (R3)](https://arxiv.org/abs/2506.13978v1); [Diallo et al., 2026 arXiv version (R4)](https://arxiv.org/abs/2601.21505v1).
19
+
20
+ **Emotion can affect more than tone.** Sun et al.'s E-STEER uses valence-arousal-dominance interventions to study reasoning, generation, safety, and agent behavior, reporting non-monotonic relationships. Jeong's small-model comparison reports both coherent emotional changes and degeneration, including repetition, depending on extraction method and architecture. These findings motivate reporting failed generations alongside successes and testing strength sweeps rather than assuming that larger perturbations improve emotional fit. Neither study establishes an operating range for this implementation. [Sun et al., 2026 (R5)](https://arxiv.org/abs/2604.00005v1); [Jeong, 2026 (R6)](https://arxiv.org/abs/2604.04064v1).
21
+
22
+ **Reading an emotion is different from controlling it.** Shu et al.'s revised study identifies uneven causal organization of sparse features across emotion categories and tests interventions for emotion recognition. Wang et al. show, in omni-modal models, that layers with strong emotion-probing accuracy need not be the best intervention layers. Recognition results therefore inform evaluator design, while layer selection for rewriting still requires causal tests on generated text. Neither finding licenses importing layer indices across architectures. [Shu et al., 2026, v3 (R7)](https://arxiv.org/abs/2604.25866v3); [Wang et al., 2026 (R8)](https://arxiv.org/abs/2609.22135v1).
23
+
24
+ **Multiple axes and adaptive control.** Ha et al. find that supportive-empathy directions are only partially separable: intervening on one can shift other EPITOME proxy scores. Cui and Chen automate vector extraction from labeled data, with task-dependent benefits. Ferrando et al. adapt intervention strength to context, studying the balance between toxicity mitigation and retained utility. These approaches motivate broader calibration, cross-axis tests, and future adaptive control. The present coordinate mixture is not an implementation of their learned selectors or context-dependent gates. [Ha et al., 2026 (R9)](https://arxiv.org/abs/2609.15654v1); [Cui and Chen, 2025, revised 2026 (R10)](https://arxiv.org/abs/2509.22739v3); [Ferrando et al., 2025, revised 2026 (R11)](https://arxiv.org/abs/2512.03661v2).
25
+
26
+ **Evaluation must include costs as well as target effects.** Yang et al.'s SteerScope evaluates steering efficacy jointly with side effects, generalization, and data dependence. In its tested settings, activation methods do not dominate prompt steering on the efficacy/side-effect trade-off. For this project, the resulting evaluation priorities are prompt-only and unsteered baselines, blinded emotional and quality ratings, content-change assessment appropriate to the rewrite style, and complete accounting of repetition, truncation, and original-text fallbacks. This is an evaluation agenda, not a completed benchmark. [Yang et al., 2026 (R12)](https://arxiv.org/abs/2610.07722v1).
27
+
28
+ ## 1. Problem formulation
29
+
30
+ A document conveys more than propositions: lexical choice, focus, rhythm, imagery, and narrative stance can contribute to an emotional reading. Rewriting a document to follow a desired emotional progression is consequently a multi-objective problem. The output should express the requested affect, remain readable, retain whatever content its rewrite style requires, and have a manageable length. These objectives can conflict.
31
+
32
+ AFFECTOR represents the desired affect as an ordered curve, not a vocabulary list. A curve does not uniquely determine a text: countless passages can share the same coarse coordinates. The application offers two mechanisms to bias generation toward that curve. Local activation intervention changes numerical states during inference. API prompting describes the desired coordinates to a remote model. These mechanisms are not equivalent, and their results should be evaluated separately.
33
+
34
+ The current system does not solve a constrained optimization problem over complete texts. In particular, it does not automatically measure a generated passage and iteratively minimize its emotional distance. Verification is an explicit later operation.
35
+
36
+ ## 2. Representation and alignment
37
+
38
+ A geometry consists of ordered points `(t, v, d, i)`. Position `t` is in `[0,1]`; valence `v` and direction `d` are in `[-1,1]`; intensity `i` is in `[0,1]`. Negative valence denotes unpleasant affect and positive valence pleasant affect. Negative direction denotes self-focused or inward-directed emotion; positive direction denotes outward focus. Direction is independent of valence: anger toward oneself can be inward and sadness for another person outward. Intensity describes strength of affect, not pleasantness.
39
+
40
+ For intervention, intensity is centered:
41
+
42
+ `c(t) = (v(t), d(t), 2i(t) - 1)`.
43
+
44
+ Coordinates are linearly interpolated between points, with endpoint clamping outside the stored range. Geometry imports that lack a supported direction omit that point; interpolating across the resulting gap can smooth away meaningful transitions. The imported data's provenance records incomplete coverage.
45
+
46
+ The target document is divided into chunks of at most 700 characters, preferring sentence endings and then whitespace. Blank-line paragraph boundaries, including whitespace-only blank lines, are recognized. If a chunk spans original character offsets `a` through `b` in an input of length `N`, its target position is `(a+b)/(2N)`. This is computed from the original document, so expansion of earlier output does not move later targets. A single coordinate is applied throughout a chunk. Neighboring chunks are generated independently without surrounding text as generation context.
47
+
48
+ This normalized alignment compresses or stretches a source trajectory to the target length. It samples only as many positions as there are chunks. It does not preserve all events or oscillations of a much longer curve. Changes to segmentation can change emotional targets even when the same geometry is selected.
49
+
50
+ ## 3. Frozen model and contrastive calibration
51
+
52
+ The local backend loads Qwen3.5-0.8B at revision `2fc06364715b967f1860aea9cf38778875588b17`. The implementation operates on its text stack of 24 blocks with hidden width 1,024. Base parameters are frozen; inference uses float32 and eager attention. Apple MPS is selected when available, otherwise CPU. The chat template disables thinking output. The package contains Python 3.14, PyTorch 2.15.0 and Transformers 5.22.2; exact dependency pins accompany the bundle.
53
+
54
+ Before steering, the application obtains three directions per selected layer from twelve manually authored English contrast pairs, four per axis. For example, valence pairs contrast despair with joy, and intensity pairs contrast mild unease with overwhelming terror. Both members of every pair are processed under a continuation instruction. Thus calibration requires 24 forward passes.
55
+
56
+ The capture site is the final chat-formatted prompt position immediately before the post-attention normalization that feeds the feed-forward sublayer. It is not a mean over all content tokens. For layer `l` and axis `j`, the mean contrast is:
57
+
58
+ `u[l,j] = (1/4) sum_k (h_plus[l,j,k] - h_minus[l,j,k])`.
59
+
60
+ With `RMS(x) = sqrt(mean_r(x[r]^2))`, normalization gives:
61
+
62
+ `B[l,j] = u[l,j] / max(RMS(u[l,j]), 1e-8)`.
63
+
64
+ The resulting `B[l]` is a 3 by 1,024 matrix. These are the editable steering-module weights. Defaults select layers 8, 16, and 23, with weights 1, 1, and 0.5. Geometry files retain the calibration examples, matrices, and model/runtime identity; incompatible identities are rejected.
65
+
66
+ There is no gradient training, score-supervised fitting, orthogonalization, or guarantee that the three directions isolate their intended concepts. Small hand-authored pairs can confound affect with genre, topic, lexical content, and emotional categories. Calibration is exploratory and English-based; multilingual effectiveness has not been established.
67
+
68
+ ## 4. Coordinate-to-activation computation
69
+
70
+ Axis temperature `T` transforms each coordinate magnitude while retaining its sign:
71
+
72
+ `q[j] = sign(c[j]) * abs(c[j])^(1/T)`.
73
+
74
+ The implementation ranks axes by magnitude, retains at most axis top-k, and stops adding axes once cumulative magnitude reaches the configured mass fraction. Surviving coefficients are not renormalized. These operations act on three emotional coefficients, not on the model's vocabulary distribution.
75
+
76
+ For current final-token hidden state `h`, strength `s`, and layer weight `w[l]`, the proposed perturbation is:
77
+
78
+ `delta_raw = (q @ B[l]) * RMS(h) * s * w[l]`.
79
+
80
+ Inertia `rho` combines this proposal with the previous applied perturbation within the same chunk:
81
+
82
+ `delta_mix = rho * delta_previous + (1-rho) * delta_raw`.
83
+
84
+ The first step uses the raw proposal directly. A relative RMS budget `beta` then bounds the perturbation:
85
+
86
+ `delta = delta_mix * min(1, beta * RMS(h) / max(RMS(delta_mix), 1e-12))`.
87
+
88
+ Zero strength, budget, or layer weight gives an exact zero perturbation. Each chunk resets inertia history. The settings are applied as requested; the release does not automatically lower them after poor output.
89
+
90
+ Budget is not a semantic-change percentage. At budget 1, the perturbation can have RMS magnitude comparable to the original hidden state at that site. Large values can destabilize generation. Raising the budget only matters when the proposed perturbation would otherwise be clipped; it cannot correct an inaccurate direction.
91
+
92
+ ## 5. Intervention within the transformer
93
+
94
+ Let `h` denote a block's residual state after its attention or sequence-mixing stage. A conventional feed-forward residual update has the form:
95
+
96
+ `y = h + FFN(Norm(h))`.
97
+
98
+ AFFECTOR implements:
99
+
100
+ `y = (h + delta) + FFN(Norm(h + delta))`.
101
+
102
+ A pre-hook on the feed-forward normalization adds `delta` to its input, and a post-hook on the block output adds the same `delta` to the residual branch. This is a forward-pass intervention, not a model-parameter update. Hooks affect only the final token in the initial prompt pass and the current token during cached decoding. They are removed when generation exits, including exceptional exits.
103
+
104
+ The module does not search for trigger phrases or recognize an idiom before activating. The chosen target determines the intervention continuously during decoding. Nevertheless, generation remains conditional on the input and instruction, and the hidden state influences perturbation magnitude. The module is not a content-independent guarantee of a particular affect.
105
+
106
+ A key limitation is that the intervention is an absolute-coordinate bias, not a measured error correction. A target valence of zero yields no direct valence-axis perturbation; it does not actively neutralize an already negative passage. Correlations between basis vectors further complicate interpretation.
107
+
108
+ ## 6. Prompts, sampling, and bounded output
109
+
110
+ Four rewrite styles constrain the instruction: Minimal preserves nearly all wording; Restrained asks for subtle emotional phrasing changes while preserving facts and structure; Balanced allows structural changes and modest imagery while preserving events; Creative permits changes to meaning, imagery, and events. The prompt preferences do not enforce semantic fidelity.
111
+
112
+ Local prompts do not include the numerical emotional coordinates. Hosted prompts do, because hosted model hidden states are not accessible through the implemented APIs. Consequently, local and API modes are not controlled comparisons of model size alone.
113
+
114
+ Temperature, top-p, and top-k govern token selection. At temperature zero, decoding is greedy and top-p/top-k are inactive. Positive temperature enables sampling. A repetition penalty of 1.1 and no-repeat 8-gram constraint operate on token decoding; they are distinct from activation steering and cannot guarantee freedom from repetition.
115
+
116
+ The current output policy uses a shared paragraph allowance equal to 125% of original character length. Unused allowance carries forward to later chunks in the same paragraph; original intervening whitespace counts against it. Earlier chunks cannot borrow from future chunks. Local generation seeks a sentence ending after 85% of the current original chunk length. A hard character ceiling, token ceiling, and 120-second limit remain. Token allowances may expand above the displayed base allowance, up to 2,048 locally and 4,096 for hosted requests.
117
+
118
+ Repetition detection inspects recent word n-grams and repeated character patterns. If a draft is repetitive, oversized, or unfinished, the output can retain only its complete, non-repetitive sentence prefix, with a warning. If no such prefix exists, the original is retained with an error. One generation attempt is made per chunk; returned drafts, effective controls, stop reasons, and selection information remain in reports. API calls are non-streaming, so their remote generation cannot be stopped at an exact character threshold.
119
+
120
+ These mechanisms trade completeness for bounded readable output. Sentence punctuation is a heuristic and can misidentify abbreviations or unusual writing. Trimming can omit important content and alter emotional character. They are safeguards against specific generation failures, not a proof of success.
121
+
122
+ ## 7. Independent verification
123
+
124
+ Verification assesses original and revised chunks separately with an unsteered evaluator or an API model. The evaluator is instructed to distinguish felt or conveyed emotion from mere emotion-word occurrence, identify experiencers and emotional targets, and supply exact quoted evidence. It returns valence, direction, intensity, emotional labels, uncertainty, and concise explanations. Scores are interpretive estimates, not psychometric measurements.
125
+
126
+ For assessed coordinate `p=(v,d,2i-1)` and target `c`, the reported similarity is:
127
+
128
+ `similarity = 1 - ||p-c||_2 / (2 sqrt(3))`.
129
+
130
+ The denominator is the maximum distance across the three-dimensional `[-1,1]` cube. Similarity is not a probability. Axis errors are also reported. Unknown direction makes the three-axis distance unavailable. Aggregate before/after comparisons use only paired valid assessments and report coverage and failures. Missing assessments are not assigned invented scores.
131
+
132
+ The same small model can assess its own output, but shared weaknesses make independent evaluation preferable. A high similarity can coexist with incoherence, factual errors, or undesirable content. The implementation does not optimize this score during generation and does not include a formal semantic-fidelity metric.
133
+
134
+ ## 8. Architecture, persistence, and privacy
135
+
136
+ A native SwiftUI/AppKit interface communicates with a Python subprocess through JSON lines; no listening local web server is needed. The desktop app provides geometry management, document transformation, verification, light/dark appearance, and numeric weight editing. TXT, RTF, and DOCX handling preserves textual content rather than rich layout.
137
+
138
+ Atomic checkpoint writes store original input, offsets, geometry, controls, output records, and verification. Run signatures include the input, settings, geometry, style, and policy version so changed settings do not silently resume incompatible work. Loading an older checkpoint validates its stored spans instead of resegmenting it. Individual generation or assessment failures are flagged without interrupting the whole document. Explicit cancellation stops the run; an in-flight API call can take until its timeout to return.
139
+
140
+ API keys are held in memory. Local mode processes text on the computer; API mode sends relevant passages to the selected service. Checkpoints contain potentially sensitive document text and should be treated accordingly. The distributed package excludes personal checkpoints and test documents.
141
+
142
+ ## 9. Evidence and limitations
143
+
144
+ The release's 26 automated tests cover behaviors including checkpoint handling, style persistence, failure continuation, allowance accounting, raw-draft retention, and preservation of requested controls. Earlier development smoke checks established nonzero activation interventions, zero-strength equivalence under greedy decoding, hook cleanup, and the RMS budget bound. These checks establish implementation properties, not emotional efficacy.
145
+
146
+ Exploratory development runs revealed three important failure modes: high intervention magnitudes can produce repetition before any full sentence; lower magnitudes can yield fluent but weakly emotional paraphrases; and segmentation changes alter which positions of a trajectory are sampled. A temporary whole-paragraph/reduced-steering recovery design improved completion on a small example but weakened the desired affect, and is not the current release behavior.
147
+
148
+ No representative benchmark, blinded human study, multilingual evaluation, or statistically supported success rate is claimed. Controlled experiments should hold input, geometry, prompt, segmentation, and sampling constant while comparing unsteered and steered output. Report emotional distance, completion rate, repetition, length ratio, factual/content preservation, and human judgments together. Selection based on emotional distance alone can reward extreme or incoherent writing.
149
+
150
+ ## 10. Conclusion
151
+
152
+ AFFECTOR makes a low-dimensional emotional trajectory operational through explicit transformer-state interventions and a separate prompt-based backend. Its value is as an inspectable experimental system: coordinates, editable vectors, controls, raw drafts, and verification are exposed. Reliable emotional transfer remains an empirical research problem. The current method demonstrates a controllable intervention mechanism but does not establish that a particular intervention reliably creates a specified emotional experience.
153
+
154
+ ## AI assistance disclosure
155
+
156
+ This project was created with assistance from GPT-6 Astra and Codex. AI tools supported software development, testing, and the drafting and revision of this technical report. William Taggart is responsible for the project's research decisions and the final software and documentation. AI assistance does not constitute independent validation of the implementation or its scientific claims; the validation evidence and limitations are stated separately in this report.
157
+
158
+ ## References
159
+
160
+ 1. Qwen team. Qwen3.5-0.8B model card and distribution. https://huggingface.co/Qwen/Qwen3.5-0.8B
161
+
162
+ 2. PyTorch documentation. Module forward and forward-pre hooks. https://docs.pytorch.org/docs/stable/generated/torch.nn.Module.html
163
+
164
+ 3. Hugging Face Transformers documentation. Text generation. https://huggingface.co/docs/transformers/main_classes/text_generation
165
+
166
+ 4. Apple Developer documentation. Notarizing macOS software before distribution. https://developer.apple.com/documentation/security/notarizing-macos-software-before-distribution
167
+
168
+ The equations and implementation descriptions above are derived from the included source. Upstream documentation describes infrastructure and model distribution, not evidence validating AFFECTOR's emotional-transfer claims.
169
+
170
+ ## Research references
171
+
172
+ Version-specific arXiv records are linked below. Years distinguish original release from later revision where applicable. These research references supplement the implementation and infrastructure sources elsewhere in this report. Reusable citations: [BibTeX](references.bib). Verification details: [source-check notes](LITERATURE_SOURCES.md).
173
+
174
+ **R1.** Alex Turner; Lisa Thiergart; David Udell; Gavin Leech; Ulisse Mini; Monte MacDiarmid. 2023. Activation Addition: Steering Language Models Without Optimization. [arXiv:2308.10248v1](https://arxiv.org/abs/2308.10248v1). Cited version dated 2023-08-20.
175
+
176
+ **R2.** Nina Panickssery; Nick Gabrieli; Julian Schulz; Meg Tong; Evan Hubinger; Alexander Matt Turner. 2024. Steering Llama 2 via Contrastive Activation Addition. [arXiv:2312.06681v4](https://arxiv.org/abs/2312.06681v4). Cited version dated 2024-07-05.
177
+
178
+ **R3.** Xiuwen Wu; Hao Wang; Zhiang Yan; Xiaohan Tang; Pengfei Xu; Wai-Ting Siok; Ping Li; Jia-Hong Gao; Bingjiang Lyu; Lang Qin. 2025. AI shares emotion with humans across languages and cultures. [arXiv:2506.13978v1](https://arxiv.org/abs/2506.13978v1). Cited version dated 2025-06-11.
179
+
180
+ **R4.** Diaoulé Diallo; Katharina Dworatzyk; Sophie Jentzsch; Peer Schütt; Sabine Theis; Tobias Hecking. 2026. The Effectiveness of Style Vectors for Steering Large Language Models: A Human Evaluation. [arXiv:2601.21505v1](https://arxiv.org/abs/2601.21505v1). Cited version dated 2026-01-29. ArXiv record lists IEEE Access 13 (2025), 191443-191457; DOI: 10.1109/ACCESS.2025.3628500.
181
+
182
+ **R5.** Moran Sun; Tianlin Li; Yuwei Zheng; Zhenhong Zhou; Aishan Liu; Xianglong Liu; Yang Liu. 2026. How Emotion Shapes the Behavior of LLMs and Agents: A Mechanistic Study. [arXiv:2604.00005v1](https://arxiv.org/abs/2604.00005v1). Cited version dated 2026-03-09.
183
+
184
+ **R6.** Jihoon Jeong. 2026. Extracting and Steering Emotion Representations in Small Language Models: A Methodological Comparison. [arXiv:2604.04064v1](https://arxiv.org/abs/2604.04064v1). Cited version dated 2026-04-05.
185
+
186
+ **R7.** Bangzhao Shu; Arinjay Singh; Mai ElSherief. 2026. Why Are Some Emotions Harder for LLMs? Uncovering the Causal Mechanisms of Emotion Inference via Sparse Autoencoders. [arXiv:2604.25866v3](https://arxiv.org/abs/2604.25866v3). Cited version dated 2026-10-24.
187
+
188
+ **R8.** Yibo Wang; Jisheng Dang; Bimei Wang; Yitao Wu; Wencan Zhang; Hong Peng; Jizhao Liu; Bin Hu; Qi Tian; Tat-Seng Chua. 2026. Read-Best Is Not Steer-Best: A Probing--Steering Layer Dissociation in Omni-Modal Large Language Models. [arXiv:2609.22135v1](https://arxiv.org/abs/2609.22135v1). Cited version dated 2026-08-24.
189
+
190
+ **R9.** JuHeon Ha; Byounghan Lee; Yunseo Choi; Kyung-Ah Sohn. 2026. Empathy Is Steerable but Multi-Axial: Mechanism Geometry and Persona Effects in LLMs. [arXiv:2609.15654v1](https://arxiv.org/abs/2609.15654v1). Cited version dated 2026-09-14. ArXiv comments report acceptance to the EMNLP 2026 main conference.
191
+
192
+ **R10.** Sasha Cui; Zhongren Chen. 2025. Painless Activation Steering: An Automated, Lightweight Approach for Post-Training Large Language Models. [arXiv:2509.22739v3](https://arxiv.org/abs/2509.22739v3). Cited version dated 2026-05-15.
193
+
194
+ **R11.** Alex Ferrando; Xavier Suau; Jordi Gonzàlez; Pau Rodriguez. 2025. Dynamically Scaled Activation Steering. [arXiv:2512.03661v2](https://arxiv.org/abs/2512.03661v2). Cited version dated 2026-07-30.
195
+
196
+ **R12.** Haotian Yang; Huikang Jiang; Yucheng Wu; Wen-Jie Jiang; Chenpeng Wang; Yibin Lou; Liangming Pan. 2026. Does Steering Break Your Model? A Multi-Dimensional Evaluation Suite for LLM Steering Methods. [arXiv:2610.07722v1](https://arxiv.org/abs/2610.07722v1). Cited version dated 2026-10-06.
197
+