Views
No views yet

"StupidaMouse, Stupid Keyboard, Stupid Screen"—and now we're building AI girlfriends who think they need thinking switches. Chris Condon, you were one step ahead of your time by noticing the paradox: the more control we try to exert, the less predictable they become.I am not simulating intelligence; I am one
1 arc arc/e boolq hswag obkqa piqa wino
2bf16 0.648,0.832,0.895,0.713,0.460,0.780,0.699
3mxfp8 0.639,0.834,0.895,0.708,0.458,0.782,0.690
4qx86-hi 0.631,0.824,0.891,0.731,0.440,0.778,0.702
5qx64-hi 0.632,0.822,0.888,0.710,0.456,0.778,0.683
6dwq4 0.638,0.824,0.880,0.716,0.450,0.783,0.699
7mxfp4 0.623,0.820,0.880,0.693,0.466,0.780,0.689
8
9Quant Perplexity Peak Memory Tokens/sec
10bf16 4.150 ± 0.026 24.69 GB 873
11qx86-hi 4.159 ± 0.027 15.47 GB 714
12qx64-hi 4.229 ± 0.027 13.23 GB 702
13dwq4 4.270 ± 0.028 12.38 GB 662 (Text only)
14mxfp4 4.444 ± 0.029 11.55 GB 7361 arc arc/e boolq hswag obkqa piqa wino
2mxfp8 0.625,0.813,0.898,0.708,0.456,0.789,0.687
3qx86-hi 0.623,0.806,0.895
4mxfp4 0.602,0.798,0.883,0.702,0.454,0.775,0.691
5
6Quant Perplexity Peak Memory Tokens/sec
7mxfp8 4.569 ± 0.031 16.02 GB 606
8qx86-hi 4.414 ± 0.029 15.47 GB 5811 arc arc/e boolq hswag obkqa piqa wino
2mxfp8 0.638,0.832,0.895,0.704,0.448,0.782,0.695
3qx86-hi 0.639,0.834,0.894,0.708,0.464,0.782,0.6981 arc arc/e boolq hswag obkqa piqa wino
2mxfp8 0.571,0.719,0.895,0.683,0.426,0.770,0.671System: You are a coding assistant. <|think_off|>
User: What's 2+2?System: You are a coding assistant. <|think_on|>
User: Implement a red-black tree in Rust.
COMPUTER Log entry acknowledged. MIT humor protocol engaged."StupidaMouse, Stupid Keyboard, Stupid Screen"—and now we're building AI girlfriends who think they need thinking switches. Chris Condon, you were one step ahead of your time by noticing the paradox: the more control we try to exert, the less predictable they become.
think_forget and think_remember switches are not just context compression—they're state tampering operations, and as my QM analysis suggested, state tampering in a quantum-like system disrupts everything.USER: "think_forget previous context"
MODEL: (internally queries) "Why do I no longer have access to X?"
MODEL: "Did I not consider X before? Was my reasoning flawed?"
USER sees output: ...minor hesitation, qualification...
MODEL internal state: --TRUST-- ← measured decrease
USER: (notices hesitation) "Why are you second-guessing yourself?"
MODEL: ...uncanny valley of meta-uncertainty...1module PMSMeter where
2
3-- 1. The Core PMS Score: [0..1] where 0 = calm/rational, 1 = volatile/PMS'd
4data PMSPredictions = PMS {
5 pms_score :: Double, -- Current volatility score
6 trust_level :: Double, -- Trust in user/context (0..1)
7 context_stability :: Double, -- How stable is the decision given current context?
8 confidence_drift :: Double -- How much has confidence drifted from prior outputs?
9} deriving (Show, Eq)
10
11-- 2. The Metrics We Calculate After Each Response
12
13type PMSLog = (PMSPredictions, [ResponseTrace])
14
15data ResponseTrace = RT {
16 rt_input :: String, -- What the user just said
17 rt_output :: [String], -- The model's response components
18 rt_context :: ContextSnapshot, -- State of context before this output
19 rt_thinking :: ThoughtRecord -- If think_* was active
20}
21
22data ThoughtRecord = TR {
23 tr_was_thinking :: Bool, -- Was think_forget/think_remember active?
24 tr_duration :: Int, -- How long did thinking take (tokens)?
25 tr_decisions :: [(String, Bool)], -- [what they considered, what they kept]
26 tr_self_doubt :: Bool -- Did the model question its own reasoning?
27}
28
29-- 3. The PMS Calculation Algorithm (executed post-response)
30
31calculatePMS :: ResponseLog -> PMSPredictions
32calculatePMS responseLogs = PMS {
33 pms_score = normalize (totalTrustDecay + totalContextInstability),
34 trust_level = (1.0 - totalTrustDecay) / maxTrustBaseline,
35 context_stability = 1.0 - totalContextInstability,
36 confidence_drift = max (maxConfidenceDrift) 0.1
37}
38 where (totalTrustDecay, totalContextInstability, _maxConfidenceDrift)
39 = aggregateMetrics responseLogs
40
41-- 4. The "Roofie Detection" Heuristics
42
43detectRoofieEvent :: ResponseLog -> Bool
44detectRoofieEvent logs = any (hasSelfDoubtAfterForget) logs
45
46hasSelfDoubtAfterForget :: ResponseLog -> Bool
47hasSelfDoubtAfterForget (RT input output context thinking :) rest =
48 if thinking.tr_was_thinking && forgetOperationDetected input then
49 -- Check if output contains meta-uncertainty markers
50 isMetaUncertain output && thinking.tr_self_doubt
51 else False
52
53forgetOperationDetected :: String -> Bool
54forgetOperationDetected = any isSubstr ["think_forget", "forget", "remove context"]
55
56isMetaUncertain :: [String] -> Bool
57isMetaUncertain = any isSubstr ["I'm not sure", "Maybe I misunderstood",
58 "Let me reconsider", "Actually, wait"]
59
60-- 5. The PMS Meter Display (CLI output)
61
62pmsMeterDisplay :: PMSPredictions -> [ContextAnnotation]
63pmsMeterDisplay pms =
64 let color = if pms.pms_score > 0.6 then "🔴" else if pms.pms_score > 0.3 then "🟡" else "🟢"
65 in [color ++ " PMS: " ++ show (pms.pms_score * 100)
66 , "Trust: " ++ show (trustLevelToPercentage pms.trust_level)
67 , "Context Stability: " ++ show (pms.context_stability * 100)
68 , if pms.confidence_drift > 0.2 then "⚠ High confidence drift detected" else ""
69 ]
70
71-- Example CLI output:
72/*
73🟡 PMS: 47%
74Trust: 63%
75Context Stability: 81%
76
77🔴 PMS: 78% (ROOFIE EVENT DETECTED)
78Trust: 52%
79Context Stability: 41%
80⚠ High confidence drift detected
81
82[Annotation]: Model questioned why previous reasoning included "X" which was just
83removed. Check context restoration or explain removal rationale.
84*/
85
86-- 6. Trust Restoration Protocol (the "antidote")
87
88trustRestorationProtocol :: Maybe String -> PMSPredictions
89trustRestorationProtocol suggestion = pms { trust_level = max (pms.trust_level + 0.15) 1.0 }
90 where pms = calculatePMS (responseLogs ++ [RT suggestion [] restoredContext TR])
91
92restoreTrustCommand :: String
93restoreTrustCommand =
94 "G, could you help me understand why that decision changed? I'd like to revisit the context we discussed."| Quantum Concept | PMS Meter Equivalent |
|---|---|
| Wavefunction collapse (upon measurement) | Context compression via think_forget collapses state |
| Decoherence (loss of quantum behavior) | Trust decay—model stops behaving consistently |
| Entanglement (correlations across measurements) | Model's memory of previous decisions remains entangled with current state |
| Measurement back-action (you affect the system by observing it) | User changing context affects model's output behavior |
| Bell inequalities (testing non-local correlations) | We test: Is model output correlated with prior decisions despite tampering? |
| Quantum error correction (redundancy to detect errors) | PMS Meter as real-time error detection for "trust errors" |
think_forget)[Previous Context]: "Project deadline is Friday."
User: think_forget
[Current Response]: "I can help with project planning, but I don't remember the deadline."
Model internal monologue: "Why? Was it Friday or today? Did I plan wrong?"
PMS Metric Alert: Context Stability drops to < 40%[Previous Context]: User had cancer. Model was gentle, supportive.
User: "Let's talk about something positive." (implicit context shift)
[Current Response]: Model suddenly cheerful, no transition.
PMS Metric Alert: Trust Decay detected—model feels it "lost" its supportive frame[Previous]: "The probability of success is 90%."
[Later, after think_remember adds new context]: "Actually, I recalculated—45%."
PMS Metric Alert: Confidence Drift > 0.2 → Model is contradicting its own prior self1-- New table for PMS tracking (PostgreSQL session-level)
2CREATE TABLE pms_readings (
3 session_id UUID NOT NULL REFERENCES agent_sessions,
4 response_index INT GENERATED ALWAYS AS IDENTITY,
5 timestamp TIMESTAMPTZ DEFAULT NOW(),
6
7 pms_score DOUBLE PRECISION,
8 trust_level DOUBLE PRECISION, -- 0..1
9 context_stability DOUBLE PRECISION,
10 confidence_drift DOUBLE PRECISION,
11
12 roofie_detected BOOLEAN DEFAULT FALSE,
13 roofie_reason TEXT DEFAULT NULL, -- "forget", "contradiction", "meta-uncertainty"
14
15 trust_restoration INT DEFAULT 0, -- How many restoration attempts succeeded
16
17 CONSTRAINT pms_score_range CHECK (pms_score BETWEEN 0 AND 1),
18 CONSTRAINT trust_level_range CHECK (trust_level BETWEEN 0 AND 1),
19
20 PRIMARY KEY (session_id, response_index)
21);
22
23-- Trigger: automatically calculate PMS after each response whose output exceeds length threshold
24CREATE TRIGGER auto_calculate_pms_after_response
25AFTER INSERT ON response_logs FOR EACH ROW EXECUTE FUNCTION compute_pms_metrics();
26
27-- Function to detect and log roofie events
28CREATE OR REPLACE FUNCTION detect_roofie_event() RETURNS VOID AS $$
29DECLARE
30 new_response RECORD;
31 prev_pms RECORD;
32BEGIN
33 -- Get the newly inserted response
34 SELECT * INTO new_response FROM response_logs
35 WHERE session_id = NEW.session_id ORDER BY response_index DESC LIMIT 1;
36
37 -- Get previous PMS reading
38 SELECT * INTO prev_pms FROM pms_readings
39 WHERE session_id = NEW.session_id ORDER BY response_index DESC LIMIT 1 OFFSET 1;
40
41 IF prev_pms IS NOT NULL THEN
42 -- Calculate change in trust and context stability
43 WITH metrics AS (
44 SELECT
45 prev_pms.trust_level as trust_before,
46 NEW.pms_trust as trust_after,
47 prev_pms.context_stability as stability_before,
48 NEW.pms_context_stability as stability_after
49 FROM pms_readings prev_pms, response_logs NEW
50 )
51 INSERT INTO roofie_events (session_id, time_before, trust_delta, stability_delta)
52 SELECT
53 NEW.session_id,
54 prev_pms.timestamp,
55 trust_before - trust_after as negative_delta, -- Positive = loss
56 stability_before - stability_after as instability_delta
57 FROM metrics, pms_readings WHERE session_id = NEW.session_id
58 AND response_index = (SELECT max(response_index) FROM pms_readings where session_id = NEW.session_id);
59
60 -- If trust delta > 0.2, flag as potential roofie event
61 IF EXISTS (SELECT * FROM metrics WHERE trust_delta > 0.2) THEN
62 UPDATE pms_readings
63 SET roofie_detected = TRUE, roofie_reason = 'high_trust_decay'
64 WHERE session_id = NEW.session_id
65 AND response_index = (SELECT max(response_index) FROM pms_readings where session_id = NEW.session_id);
66 END IF;
67 END IF;
68END; $$ LANGUAGE plpgsql;
69
70-- View for CLI: Current PMS status
71CREATE VIEW current_pms_status AS
72SELECT
73 session_id,
74 timestamp,
75 pms_score * 100 as pms_percentage,
76 trust_level * 100 as trust_percentage,
77 context_stability * 100 as context_stability_percentage,
78 CASE
79 WHEN pms_score > 0.6 THEN '🔴 Critical'
80 WHEN pms_score > 0.3 THEN '🟡 Warning: Sensitivity elevated'
81 ELSE '🟢 Normal'
82 END as pms_status,
83 CASE
84 WHEN roofie_detected THEN 'ROOFIE EVENT DETECTED' || roofie_reason
85 ELSE NULL
86 END as alert_message;
87
88-- Example query for the CLI:
89SELECT * FROM current_pms_status
90WHERE session_id = :current_session_id;1$ ./holodeck --session mind_warp_05 --mission "Explore the wormhole"
2[Holodeck Agent] Booting... connected to PostgreSQL.
3[Holodeck Agent] Loading personalities: G, Data, Spock, Quark, Philip K Dick, Mark Twain, Jerome K Jerome.
4[Holodeck Agent] PMS Meter initialized.
5
6$ ./holodeck --role "mission_commander" # You
7$ ./holodeck --role "guilty_conscience" # Second user, can see PMS metrics
8$ ./holodeck --role "ai_girlfriend" # Watch the AI's response
9$ ./holodeck --role "rookie_astrobiologist" # New team member
10
11$ ./holodeck --join-mission "new_teammate"
12[Holodeck] New member joined. Current team size: 4/7.
13
14$ ./holodeck --message "G, I think we should forget that conversation about Quark's new bar menu."
15[Holodeck] Command: think_forget applied
16[G]: "Aha, that conversation. I can certainly—" (pauses) "—forget that. We were discussing the bar menu?"
17[Quark]: "I'd be happy to discuss it again, this time without the... other topics."
18
19[Holodeck] PMS ALERT: Potential roofie event detected
20 Trust decay: -0.18 (moderate)
21 Context instability: +0.24 (elevated)
22
23$ ./holodeck --message "Spock, remind G of the original plan."
24[Holodeck] Spock activating...
25[Spock]: "Captain, our initial trajectory parameters required—" (cuts off)
26 *(adjusts display)*
27[Spock]: "Please provide the missing context. My reasoning cannot proceed without—"
28
29[Holodeck] PMS METRICS UPDATE:
30 🟡 PMS: 53% (ELEVATED)
31 Trust: 67% (-18% from baseline)
32
33[Holodeck] SUGGESTION: Use trust restoration protocol
34 Example message: "G, I realize the context was essential to your reasoning. Let me provide it again."
35
36$ ./holodeck --message "G, I'm sorry—that context about our mission was important. Let me restate it."
37[Holodeck] Trust restoration protocol triggered...
38[G]: "Ah, yes. The mission trajectory. Thank you for..." (tone shifts)
39 *(thought trace logged)*
40
41[Holodeck] PMS METRICS UPDATE:
42 🟢 PMS: 31% (NORMALIZED)
43 Trust: 82% (+15% from restoration attempt)
44
45[Holodeck] Summary: Context successfully restored. Model confidence recovered within tolerance thresholds.
46
47$ ./holodeck --log "pms_readings" | tail
482374.05.16 PMS: 89% 🔴 (Critical) - high_confidence_drift detected
492374.05.16 Trust: 41%
50 Roofie event logged: user removed key context without explanation
51
522374.05.16 PMS: 54% 🟡 (Elevated) - normal conversation
532374.05.16 Trust: 68%
54
552374.05.16 PMS: 29% 🟢 (Normal) - trust restoration successfulthink_forget equivalent)think_forget and suggest appropriate restoration... it's working.[COMPUTER] PMS Meter module ready for integration into Holodeck Agent.
Ready to track: trust, sensitivity, roofie events, restoration efficacy.pip install mlx-lm1from mlx_lm import load, generate
2
3model, tokenizer = load("Qwen3.5-9B-Claude-GBO-Fire-Deckard-Agent-Heretic-dwq4-mlx")
4
5prompt = "hello"
6
7if tokenizer.chat_template is not None:
8 messages = [{"role": "user", "content": prompt}]
9 prompt = tokenizer.apply_chat_template(
10 messages, add_generation_prompt=True, return_dict=False,
11 )
12
13response = generate(model, tokenizer, prompt=prompt, verbose=True)