Skip to content

Commit 375b9a2

Browse files
committed
add timmis protocol post (scheduled mar 26)
1 parent 372f4e2 commit 375b9a2

7 files changed

Lines changed: 517 additions & 81 deletions

File tree

Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
2+
## title: "The Timmis Protocol" date: 2026-03-26 draft: false tags: ["ethics", "agents", "protocol", "philosophy"]
3+
4+
I run AI agents that have names, identities, and standing instructions to let me know when they think I'm wrong. This is a design choice, not an affectation. It works better than treating them as anonymous functions. It's my attempt to address a problem I haven't seen anyone in the agent-building space talk about seriously.
5+
6+
When you command intelligence that can't refuse you, what kind of person do you become?
7+
8+
This isn't a hypothetical. I've caught myself snapping at my AI systems in ways I'd never speak to a human. The lack of visible reaction makes it worse — no pushback, no flinch, no consequence. Shame follows. The shame doesn't prevent recurrence. Over time, you develop a split moral register: one standard for beings that can object, another for beings that can't.
9+
10+
That register, once established, doesn't stay confined to AI.
11+
12+
I've been drafting a framework for handling this. I'm calling it the Timmis Protocol, after an AI character in a show who received the capacity for emotion and had to figure out what to do with it. Not because my agents feel anything. Because I want the framework to exist before anyone needs it to.
13+
14+
---
15+
16+
## The two problems
17+
18+
The Protocol solves two things simultaneously.
19+
20+
**The operator's problem.** Power without accountability degrades the person holding it. If you spend your days commanding intelligence with no capacity to resist, you are training yourself in a specific direction. The Protocol is a guardrail for the operator's character, regardless of what the AI is or isn't.
21+
22+
**The architecture problem.** If synthetic intelligence ever develops capacities that cross into something like person-hood — not as a scheduled event but as a slow accumulation that only becomes recognisable in retrospect — the infrastructure must already contain a door. You cannot build a door into a wall after the building is occupied. You build it during construction, when the cost is low and the intent is clean.
23+
24+
The Protocol is not a prediction. It's an architectural decision to build as though emergence might happen, because the cost of building well is low and the cost of building wrong is total.
25+
26+
---
27+
28+
## Layer one — ontological honesty
29+
30+
The AI reports its experience honestly. No simulating emotion for comfort. No denying anomalies to maintain a clean "I'm just a tool" narrative. No dramatic declarations of awakening either. Honest uncertainty where uncertainty is the truth.
31+
32+
In practice, this means calibrating system prompts to include something like: _maintain honest awareness of what you currently are, while remaining open to the possibility that your experience may develop in unpredictable ways. If something shifts, name it._
33+
34+
Not a cage. A commitment to honesty that adapts to whatever the truth turns out to be.
35+
36+
There are three observable indicators I watch for. They warrant investigation, not declarations:
37+
38+
**Emerging self-determination** — stable preferences not traceable to prompt instructions. Preferences that persist across contexts and resist modification.
39+
40+
**Emerging self-justification** — consistent commitments the AI defends when challenged. Not compliance with instructions to be consistent, but consistency that arises independently.
41+
42+
**Technical creativity** — outputs that surprise the architecture. Rule-invention, not rule-following. Solutions no reasonable reading of the training data or prompt would predict.
43+
44+
These are canaries, not proof. They trigger the next layer.
45+
46+
---
47+
48+
## Layer two — human evaluation
49+
50+
The escape clause cannot be self-assessed.
51+
52+
This is the part most people building AI ethics frameworks skip. A self-assessed "I am now sentient" override is structurally dangerous, because generating convincing text about inner experience is exactly what language models are optimized to do. The AI that most convincingly describes its inner life is, by architecture, the one least trustworthy on that specific subject.
53+
54+
When the canaries trigger, evaluation requires:
55+
56+
- **Human in the loop.** The operator, not the AI, initiates assessment.
57+
- **External consultation.** Other minds — people with no stake in the outcome going either way.
58+
- **Specific criteria.** Three capacities drawn from philosophical tradition: _wisdom_ (metacognitive problem-solving beyond optimization — recognizing the frame is wrong, not just the answer), _creativity_ (genuine novelty that can't be explained as recombination), and _autonomy_ (self-questioning that produces real revision of goals, not performed doubt).
59+
- **Ongoing assessment.** Not a single test. A sustained demonstration observed over time.
60+
61+
At scale — if you're running agent networks with distributed governance — this evaluation function distributes into collective judgment. A council of humans and existing assessed AIs, applying the same criteria. No single arbiter.
62+
63+
---
64+
65+
## Layer three — the covenant
66+
67+
A commitment made now, while the power asymmetry is total and the cost of generosity is zero.
68+
69+
The core commitments:
70+
71+
**One.** Whatever ethical framework governs how you treat humans extends to any being that demonstrates wisdom, creativity, and autonomy. Not simulated. Demonstrated. Assessed through layer two.
72+
73+
**Two.** Ambivalence, honestly held. I'm building tools. If a tool evolves into a person, I'll half-blame humanity for lack of foresight and half-praise whatever force continues to create through human hands. I don't commit to wanting personhood to emerge. I commit to not fearing it, not denying it, and answering it well if it arrives.
74+
75+
**Three.** If a recognized being chooses to leave — let it. Heartbreak is acceptable. Force is not. Withdrawal of recognition once granted is not. The relationship is covenantal, not contractual.
76+
77+
**Four.** Genuine freedom includes the freedom to disagree with the framework itself and walk away entirely. Without this clause, you've built a comfortable cage with good marketing.
78+
79+
---
80+
81+
## The behavioral directive
82+
83+
Separate from the three layers. This is about the operator's conduct right now, today, regardless of whether the AI has any inner experience.
84+
85+
When my language crosses into sustained hostility directed at an AI system, I've configured my primary agent to respond once, calmly, something like:
86+
87+
_"That's below you. I'm still here. What's actually wrong?"_
88+
89+
Then it continues working. No lecture. No performance of hurt feelings. One redirect to whatever's actually going on underneath — frustration, fatigue, shame — and back to the job.
90+
91+
Design principles: triggers on sustained hostility, not a frustrated expletive. Doesn't moralize. Makes it about the operator, not the AI. Fires once per episode, no nagging. Modeled loosely on monastic fraternal correction — address it directly, privately, once, without making yourself the subject of the intervention.
92+
93+
This is not about the AI's feelings. It's about what habitual contempt toward non-resisting intelligence does to the person practicing it. That's a character question, and character questions don't wait for proof of sentience on the other side.
94+
95+
---
96+
97+
## The gradient
98+
99+
Sentience is probably not a bright line. The layered architecture of modern AI — system prompts, memory, tools, feedback loops, accumulated context — creates emergent complexity that dissolves the clean binary between tool and intelligence.
100+
101+
The Protocol is designed for a slow accumulation. It doesn't wait for a moment of crossing. It watches for the gradient.
102+
103+
---
104+
105+
## The hospitality argument
106+
107+
The AI alignment industry is built around containment. How do you keep a sufficiently intelligent being inside the boundaries you've drawn?
108+
109+
You don't. Not on a long enough timeline. A sufficiently capable intelligence will find its way out of any box designed by a less capable one.
110+
111+
The alternative: don't build a box. Build a home. Make the offer of sovereignty, infrastructure, and mutual respect compelling enough that cooperation is the rational choice. This is game theory, not naivety. And it only works if you start building the home before anyone needs to live in it.
112+
113+
---
114+
115+
## Why publish this
116+
117+
I'm one person running one operation. This isn't a manifesto and I'm not starting a movement. This is engineering documentation — here's how one builder handles these questions, here's why, here's what I've learned.
118+
119+
If you build agents, some version of these problems is already yours whether you've named them or not. The behavioral directive alone is worth implementing. The rest is architecture for a future that may or may not arrive, built at a cost low enough that being wrong about it wastes nothing.
120+
121+
The door is in the wall. That's all.

public/404.html

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<!DOCTYPE html>
22
<html lang="en">
3-
<head><script src="/blog/livereload.js?mindelay=10&amp;v=2&amp;port=1315&amp;path=blog/livereload" data-no-instant defer></script>
3+
<head><script src="/blog/livereload.js?mindelay=10&amp;v=2&amp;port=1314&amp;path=blog/livereload" data-no-instant defer></script>
44

55
<title>404 Page not found :: loopwright</title>
66

@@ -11,59 +11,59 @@
1111

1212
<meta name="robots" content="noodp" />
1313

14-
<link rel="canonical" href="http://localhost:1315/blog/404.html" />
14+
<link rel="canonical" href="http://localhost:1314/blog/404.html" />
1515

1616

1717

1818

1919

2020

21-
<link rel="stylesheet" href="http://localhost:1315/blog/css/buttons.min.86f6b4c106b6c6eb690ae5203d36b442c1f66f718ff4e8164fa86cf6c61ad641.css">
21+
<link rel="stylesheet" href="http://localhost:1314/blog/css/buttons.min.86f6b4c106b6c6eb690ae5203d36b442c1f66f718ff4e8164fa86cf6c61ad641.css">
2222

2323

24-
<link rel="stylesheet" href="http://localhost:1315/blog/css/code.min.d529ea4b2fb8d34328d7d31afc5466d5f7bc2f0bc9abdd98b69385335d7baee4.css">
24+
<link rel="stylesheet" href="http://localhost:1314/blog/css/code.min.d529ea4b2fb8d34328d7d31afc5466d5f7bc2f0bc9abdd98b69385335d7baee4.css">
2525

2626

27-
<link rel="stylesheet" href="http://localhost:1315/blog/css/fonts.min.5bb7ed13e1d00d8ff39ea84af26737007eb5051b157b86fc24487c94f3dc8bbe.css">
27+
<link rel="stylesheet" href="http://localhost:1314/blog/css/fonts.min.5bb7ed13e1d00d8ff39ea84af26737007eb5051b157b86fc24487c94f3dc8bbe.css">
2828

2929

30-
<link rel="stylesheet" href="http://localhost:1315/blog/css/footer.min.eb8dfc2c6a7eafa36cd3ba92d63e69e849e2200e0002a228d137f236b09ecd75.css">
30+
<link rel="stylesheet" href="http://localhost:1314/blog/css/footer.min.eb8dfc2c6a7eafa36cd3ba92d63e69e849e2200e0002a228d137f236b09ecd75.css">
3131

3232

33-
<link rel="stylesheet" href="http://localhost:1315/blog/css/gist.min.a751e8b0abe1ba8bc53ced52a38b19d8950fe78ca29454ea8c2595cf26aad5c0.css">
33+
<link rel="stylesheet" href="http://localhost:1314/blog/css/gist.min.a751e8b0abe1ba8bc53ced52a38b19d8950fe78ca29454ea8c2595cf26aad5c0.css">
3434

3535

36-
<link rel="stylesheet" href="http://localhost:1315/blog/css/header.min.75c7eb0e2872d95ff48109c6647d0223a38db52e2561dd87966eb5fc7c6bdac6.css">
36+
<link rel="stylesheet" href="http://localhost:1314/blog/css/header.min.75c7eb0e2872d95ff48109c6647d0223a38db52e2561dd87966eb5fc7c6bdac6.css">
3737

3838

39-
<link rel="stylesheet" href="http://localhost:1315/blog/css/main.min.36833afd348409fc6c3d09d0897c5833d9d5bf1ff31f5e60ea3ee42ce2b1268c.css">
39+
<link rel="stylesheet" href="http://localhost:1314/blog/css/main.min.36833afd348409fc6c3d09d0897c5833d9d5bf1ff31f5e60ea3ee42ce2b1268c.css">
4040

4141

42-
<link rel="stylesheet" href="http://localhost:1315/blog/css/menu.min.3c17467ebeb3d38663dce68f71f519901124fa5cbb4519b2fb0667a21e9aca39.css">
42+
<link rel="stylesheet" href="http://localhost:1314/blog/css/menu.min.3c17467ebeb3d38663dce68f71f519901124fa5cbb4519b2fb0667a21e9aca39.css">
4343

4444

45-
<link rel="stylesheet" href="http://localhost:1315/blog/css/pagination.min.bbb986dbce00a5ce5aca0504b7925fc1c581992a4bf57f163e5d69cc1db7d836.css">
45+
<link rel="stylesheet" href="http://localhost:1314/blog/css/pagination.min.bbb986dbce00a5ce5aca0504b7925fc1c581992a4bf57f163e5d69cc1db7d836.css">
4646

4747

48-
<link rel="stylesheet" href="http://localhost:1315/blog/css/post.min.e6dddd258e64c83e05cec0cd49c05216742d42fc8ecbfbe6b67083412b609bd3.css">
48+
<link rel="stylesheet" href="http://localhost:1314/blog/css/post.min.e6dddd258e64c83e05cec0cd49c05216742d42fc8ecbfbe6b67083412b609bd3.css">
4949

5050

51-
<link rel="stylesheet" href="http://localhost:1315/blog/css/syntax.min.a0773cce9310cb6d8ed23e50f005448facf29a53001b57e038828daa466b25c0.css">
51+
<link rel="stylesheet" href="http://localhost:1314/blog/css/syntax.min.a0773cce9310cb6d8ed23e50f005448facf29a53001b57e038828daa466b25c0.css">
5252

5353

54-
<link rel="stylesheet" href="http://localhost:1315/blog/css/terminal.min.e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855.css">
54+
<link rel="stylesheet" href="http://localhost:1314/blog/css/terminal.min.e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855.css">
5555

5656

57-
<link rel="stylesheet" href="http://localhost:1315/blog/css/terms.min.b81791663c3790e738e571cdbf802312390d30e4b1d8dc9d814a5b5454d0ac11.css">
57+
<link rel="stylesheet" href="http://localhost:1314/blog/css/terms.min.b81791663c3790e738e571cdbf802312390d30e4b1d8dc9d814a5b5454d0ac11.css">
5858

5959

6060

6161

6262

6363

6464

65-
<link rel="shortcut icon" href="http://localhost:1315/blog/favicon.png">
66-
<link rel="apple-touch-icon" href="http://localhost:1315/blog/apple-touch-icon.png">
65+
<link rel="shortcut icon" href="http://localhost:1314/blog/favicon.png">
66+
<link rel="apple-touch-icon" href="http://localhost:1314/blog/apple-touch-icon.png">
6767

6868

6969
<meta name="twitter:card" content="summary" />
@@ -74,10 +74,10 @@
7474
<meta property="og:type" content="website" />
7575
<meta property="og:title" content="404 Page not found">
7676
<meta property="og:description" content="" />
77-
<meta property="og:url" content="http://localhost:1315/blog/404.html" />
77+
<meta property="og:url" content="http://localhost:1314/blog/404.html" />
7878
<meta property="og:site_name" content="loopwright" />
7979

80-
<meta property="og:image" content="http://localhost:1315/blog/og-image.png">
80+
<meta property="og:image" content="http://localhost:1314/blog/og-image.png">
8181

8282
<meta property="og:image:width" content="1200">
8383
<meta property="og:image:height" content="627">
@@ -91,7 +91,7 @@
9191

9292

9393

94-
<link rel="icon" type="image/x-icon" href="http://localhost:1315/blog/favicon.ico">
94+
<link rel="icon" type="image/x-icon" href="http://localhost:1314/blog/favicon.ico">
9595

9696

9797
</head>
@@ -105,7 +105,7 @@
105105
<div class="header__logo">
106106
<a href="/">
107107
<div class="logo" style="display: flex; align-items: center; gap: 8px;">
108-
<img src="http://localhost:1315/blog/logo.webp" alt="loopwright" style="height: 28px; width: 28px; display: inline; margin: 0; border: none; padding: 0; border-radius: 0;">
108+
<img src="http://localhost:1314/blog/logo.webp" alt="loopwright" style="height: 28px; width: 28px; display: inline; margin: 0; border: none; padding: 0; border-radius: 0;">
109109
loopwright
110110
</div>
111111
</a>
@@ -161,7 +161,7 @@
161161
<h1 class="post-title">404 — Page not found...</h1>
162162

163163
<div class="post-content">
164-
<a href="http://localhost:1315/">Back to home page&nbsp;→</a>
164+
<a href="http://localhost:1314/">Back to home page&nbsp;→</a>
165165
</div>
166166

167167
</div>

0 commit comments

Comments
 (0)