krisrockwell.io  /  neuromancer-semiotics

The Wrong
Kind of Sign

██╹sign mode, and the limit of fluency

Neuromancer · 1984 · 217 coded passages · 69 codes · two passes · a blind re-code that refuted its author · a blind selection test that refuted the corpus

Gibson's novel, coded line by line against Peirce's theory of the sign in ATLAS.ti. The question the instrument was built to ask: what kind of sign has to arrive before a person will grant that a machine has a mind? The answer turns out to be narrow, and it explains why every eloquent machine in the book is ignored.

217
coded passages
738
code applications
0 / 6
fluency read as cause
14 : 1
as-if, machine : human
38%
coverage vs a blind reader

Peirce sorts signs by how they reach their object. An icon signifies by resemblance — it looks or sounds like the thing. An index signifies by real connection — smoke for fire, a footprint for a foot. A symbol signifies by convention alone — a word, a name, a category.

The distinction is not decorative. An icon licenses no inference about what lies behind it; a thing may resemble a mind and be empty. Only an index asserts that something on the other end caused the sign. If a reader is deciding whether a machine has an interior, the mode of the sign is the whole question.

Every passage in Neuromancer where someone reads, grants, or refuses a mind was marked and coded — the cue on offer, the Peircean mode it was read in, the inference drawn, the verdict reached, and what the verdict was about. Then the whole thing was audited, re-passed, and handed to an independent coder who had never seen any of it.

Figure 1 — the matrix

Figure 1 · interactive Cue type against Peircean sign mode. Hover any cell. Two results carry the piece. Apparent intention reads as an index 10 times out of 11 — goal-directedness is the one cue this novel treats as causally wired to an interior. Fluency reads as an index zero times out of six. Eloquence lands as an icon, and an icon says only this is like a mind.

That single empty cell is the finding. Five machines in this book hold fluent conversation and get nothing back — a door, a talking head made of organ pipes, a Hosaka computer twice, a Mercedes that purrs tourist commentary. None of them draws a pronoun, a pause, or a second glance.

The characters are not being obtuse. In the semiotics the book actually runs on, fluency is the wrong kind of sign to carry the inference. It resembles mind; it does not testify to one. Wintermute's first approach that works is wordless — a packet of cigarettes and a book of matches left where Case will find them. That is an index. Someone put them there.

Figure 2 — targets

Figure 2 The same corpus split by what the attribution is about. Humans are read indexically — behaviour taken as caused by an inner state. Machines are read symbolically and iconically — by category, or by resemblance. A second inversion runs alongside it: the machines self-describe (16 instances against 2 for humans) while humans are read off their bodies (15 against 6). The entities under suspicion do the explaining. The ones who are not, do not.

A third category was needed and it turned out to be the interesting one. contested covers targets whose species the text itself refuses to settle: Armitage, a man rebuilt from a broken soldier by an AI; the Dixie Flatline, a dead hacker on read-only memory; Linda Lee, dead in Chiba and walking on a beach that turns out to be Morocco.

All three explicit affirmations of consciousness in the novel are about contested targets. Nobody ever says outright that a machine has a mind. Nobody says it about a person either. The only entities that draw an unhedged yes are the ones nobody can categorise.

Figure 3 — what moves an attribution

Figure 3 Stance toward the AIs across 24 chapters, against the events that might have shifted it. Demonstrations of capability move nothing. Both pronoun turns — Molly's in Ch 15, Case's in Ch 16 — follow a long private conversation, not a proof. In Ch 5 Case designs a test for the Flatline's consciousness, watches it fail, and says the mechanism out loud twice. In Ch 23 he grieves for him.

Figure 4 — the blind re-code

Figure 4 A second coder, given the 69 definitions and 36 passages from three chapters — no codes, no notes, no findings, no access to the project. The attribution-target facet is reliable at 96%. The verdict family is not, at 33% — and the verdict family carries every headline. On one disagreement the second coder read Case's "Fucker got you" as ritual rather than belief, which removes one of the three affirmations the piece above rests on.

The blind coder also caught the author out. Given the same instruction to record low confidence honestly, they marked forced fit six times and overlap five times across the sample. The original coder had marked one and zero. Across the full first pass, in 551 code applications, the two codes whose entire job is to record doubt had fired zero times.

The asymmetry in which codes each reached for is legible. The blind coder reaches for hedges, defaults, and ambiguity. The original reaches for the codes that make an argument.

What is here

Each flat file is rendered as a readable view; every view links back to the file it was built from. The flat files stay canonical — the whole matrix can be recomputed from them at any point, which is what makes the audit possible.

data/codes_matrix_pass2217 rows — document, passage id, and every code applied after the second pass. raw .txt
data/pass2_tablesAll co-occurrence matrices: cue × mode, target × mode, target × verdict, target × cue, verdict × inference. raw .txt
data/codebookAll 69 codes with definitions, inclusions, and exclusions — the instrument itself. raw .txt
data/blind_inputExactly what the second coder saw — 36 passages, no codes, no context. raw .txt
data/blind_outputExactly what they returned, against passage id. raw .txt
data/blind_test_resultsAgreement statistics and every passage-level disagreement. raw .txt
data/blind_spansEvery span the independent reader marked across three chapters, before any coding. raw .txt
data/selection_test_resultsThe blind selection test: what this corpus never saw — 38% coverage. raw .txt
data/loopA_testThe instrument shakedown — eleven passages, before the full corpus was attempted. raw .txt

The instrument

69 codes in fourteen families across three levels — the sign vehicle on offer, the Peircean mode it is read in, the triadic position the passage foregrounds, the inference performed, the verdict reached, how the verdict stabilises or gets repaired, the disciplinary register it is framed in, and a calibration layer whose only job is to record where the instrument breaks.

One rule mattered more than the rest: every passage carrying a cue code must carry exactly one mode code. Optional pairing tests nothing — if the coder can skip the mode when it is hard to call, the matrix fills up only with the easy cases and means nothing.

The first pass broke that rule in 72% of cases, across 21 of 24 chapters, and the coder did not notice. The rule was in a protocol he had written himself. Figure 1 did not exist until the second pass went back and forced the pairing on all 82 passages.

Rebuilding it

The corpus is the novel split into 24 chapter documents. Coding was driven against ATLAS.ti over its API rather than by hand, which is what makes the audit possible — every code application is a record with a timestamp, and the whole matrix can be recomputed from a flat file at any point. Its own AI coding could not be used: it generates fresh codes and ignores an existing codebook, which is precisely the opposite of applying an instrument.

To regenerate the figures, run the extraction against codes_matrix_pass2.txt; every number on this page comes from that file and reconciles with ATLAS.ti's own groundedness counts.

A structure the instrument could not see

One code in the book, COUP: hyperstitional loop, exists to catch a fiction that makes itself real - a belief circulating, people acting on it, and the acting producing the conditions that vindicate it. Across two passes and 217 passages it fired zero times.

Not because the novel lacks one. Because the code was defined as a property of a passage, and a loop is a relation between passages separated in narrative time. No span can contain a circuit; spans contain nodes of one. The definition reserved the code for the empty set, and nothing in a frequency table distinguishes absent from the text from unfireable by construction.

Read as a relation instead, the novel gives up a six-node circuit running from Chapter 12 to Chapter 23. Marie-France calls her own creation a demon. The Turing Registry inherits the frame as doctrine and arrests Case to enforce it. Neuromancer then states the mechanism outright:

"To call up a demon you must learn its name. Men dreamed that, once, but now it is real in another way. You know that, Case. Your business is to learn the names of programs, the long formal names, names the owners seek to conceal. True names..."

Demonology becomes the technical practice of learning concealed program names - and the run is won by exactly that operation, a true name sung by two voices. The circuit then closes by erasing its own origin: the merged entity's first act is to rewrite the Turing Registry's records.

That passage was coded in the first pass and read as a nice line about names.

This is the one structure here that an independent reader confirmed completely. Given the six passages scrambled among five decoys, unlabelled, with no indication that any structure existed, a blind reader recovered all six members, assigned all six roles correctly, ordered the circuit correctly, and excluded every decoy - rating their own confidence medium, and flagging the interpretive step honestly: that the Registry's enforcement produces the escape rather than merely failing to prevent it.

Caveats

The verdict family is unreliable. 33% agreement between two coders. Every headline here — the 14:1 ratio, the three affirmations — sits on it. Read the counts as approximate and the direction as sound.

The verdict family remains the weak point. Two coders agreed on it 33% of the time, and it carries the counts above. The attribution-target facet, by contrast, agreed at 96%, so the machine-versus-human split is the firmest thing here.

Coverage collapsed across the novel, and it was mistaken for enthusiasm. A blind selection test - an independent reader given three chapters and the code definitions, asked only which passages are sign events - found 72 where the original coder found 27. Chapter 6 matched almost exactly (13 against 14). Chapter 20 did not: 5 against 28.

So the corpus is roughly 38% complete by an independent reader's standard, and increasingly incomplete the later the chapter. The earlier report read the rising annotation density as growing enthusiasm; the truth is the reverse. Fewer and fewer passages were marked, and the survivors were annotated more heavily. Every per-passage rate on this page has a denominator that was shrinking for reasons unrelated to the text.

What the same test vindicates: 85% of the passages the original coder did mark were independently marked too, and 100% in the chapter where coverage held. The selection is precise. It is not complete.

One reading was falsified mid-pass and left standing. Chapters 20 and 21 coded Neuromancer's beach as a sign with no object behind it. Chapter 22 names the beach: Morocco, a real coastline where a real woman once camped. The construct is an index after all. The wrong codes were kept, with a memo, because a mode that asserts an absence can never be established by local evidence — which is also, exactly, the position of everyone in the novel who decides a machine is empty.

Colophon

Corpus: William Gibson, Neuromancer (1984), 79,018 words, split to 24 chapter documents.
Instrument: 69 codes, fourteen families, three levels plus a calibration metalayer. Two passes and one independent blind re-code.
Tooling: ATLAS.ti 26.1.2 driven over its API · pandoc for corpus preparation · figures hand-built as inline SVG.
Colour: surfaces are black with a jade cast, after the Tessier-Ashpool ice — "milky jade", "the distanceless bowl of jade-green ice". The sequential ramp is that jade, single-hue, lightness-monotonic. The categorical triad is assigned by meaning and by the novel's own light: icon #2b93cc blue neon, the T-A cores; index #d6428a Ninsei neon, the hot signal; symbol #c08a1e amber phosphor, a name on a 1984 screen. Validated rather than eyeballed: worst colour-vision-deficient separation ΔE 11.3 deutan and 12.3 tritan across all pairs, worst normal-vision separation ΔE 23.1, every hue above 3:1 on the surface and every text pair above 4.5:1. A jade-and-magenta pairing was tried first and rejected — ΔE 2.8 under deuteranopia. Every value is printed on its mark; colour is reinforcement, never the only channel.
Type: the novel sets machine transmissions letter-spaced, and the chapter files in data/ preserve that spacing byte for byte. So does this page — every label, section rule and figure number is letter-spaced monospace at 0.34em, quoting the source's own typography rather than illustrating it. Display is condensed grotesque, uppercase, optically narrowed. The background is a dead channel: static grain over a scanline, which is what the first sentence of the novel describes.
Status: second pass complete, 19 August 2026. A third pass would rewrite the verdict definitions and test passage selection blind.
Independent of any other work on this site. Built as an exercise in a coding tool and left as a piece.
krisrockwell.io · source: github.com/hybridkris/neuromancer-semiotics