Loophole: Adversarial Agents To Stress Test Your Morality — Brendan Rappazzo, Morgan Stanley

Read the talk

Loophole: Adversarial Agents to Stress-Test Your Morality

Brendan Rappazzo’s independent open-source project translates natural-language principles into formal rules, attacks those rules from both directions, and turns the resulting edge cases into patches—or questions only a human can answer.

From a talk by Brendan Rappazzo

At a glance

Ideas worth remembering

  • Test formal rules in both directions: search for objectionable behavior they permit and acceptable behavior they prohibit.

  • Automatic patches should repair an existing intention; cases that require a new value judgment belong with the user.

  • The DNA-artifacts example shows how a restriction on source data can miss derived representations that enable the same unwanted use.

  • The chatbot version tests both prohibited answers and false refusals, treating helpfulness failures as the counterpart to policy violations.

  • Synthetic contract cases can expose disagreements before signing, but they do not create bargaining power or enforcement.

  • Legislative hill climbing optimizes predictions produced by inferred profiles. Better simulated support is not the same as real political support or representative consent.

  • When adversarial agents stop finding contradictions, the search has reached a stopping point—not a proof of moral completeness or consistency.

Search both sides of every rule

What happens after the user enters a principle? A drafting agent first expands the natural-language statement into a legalistic code. Two agents then attack that translation from opposite directions:

  • Loophole finder: searches for conduct that violates the user’s morals but remains legal under the generated code.
  • Overreach finder: searches for conduct the user considers acceptable but the generated code prohibits.
  • Judge: compares the original principles, formal code, and synthetic case, then decides whether the code can be patched or the value question must return to the user.

Here, “legal” means permitted by Loophole’s generated code, not necessarily permitted by real law.

That final distinction separates editing from moral judgment. If the principles already imply a clear answer and the code merely translated them poorly, the judge can revise the code automatically. If the case exposes an underspecified principle or a genuine tension between principles, an automatic edit would invent a value judgment. The system therefore escalates the case to the user.

The diagram answers the central implementation question: where does machine-driven refinement stop and human judgment begin? Both adversaries feed cases to the same judge, but the judge has two exits. A translation error returns to the code as a patch; an unresolved value question leaves the automated loop and goes to the user.

How it fits togetherLoophole’s adversarial rule-refinement loop

The user states general morals or principles for a particular subject.

Two adversaries test opposite failure modes. The judge patches translation errors but escalates unresolved moral choices.

4:124:42
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

4:12 · section reference included

Two DNA cases show when to patch and when to ask

The DNA demonstration makes the distinction observable. The user supplies several principles, and the drafting agent produces a document shaped like legislation, with a preamble, articles, and sections. The formal structure gives the adversaries explicit wording to test, but precise-looking language does not guarantee that its scope matches the original intent.

Selected presentation frame from Loophole: Adversarial Agents To Stress Test Your Morality — Brendan Rappazzo, Morgan Stanley at 405 seconds
Two DNA cases show when to patch and when to ask

The first generated case finds a loophole. An insurance company does not train a predictive model directly on the person’s DNA; it trains on artifacts derived from that DNA. The restriction covers the source representation but misses its derivatives, even though the resulting use still violates the stated principles. The judge classifies this as a translation problem, patches the code, and displays the change as a Git-style diff. The talk does not provide the amendment’s wording, so the example establishes the need to cover derived artifacts without specifying the final legal definition.

The second case finds overreach. A person submits DNA for genetic research, and a researcher discovers a rare but treatable disorder. The current code appears to prevent the researcher from telling the participant. Unlike the artifacts case, this raises a new consent question: does permission for research also permit an unexpected, potentially beneficial disclosure? The judge cannot derive that answer from the existing principles and asks the user to decide. After that decision, the system patches the code, although the talk does not state which choice was made.

The project’s unusually large response after its open-source release encouraged Rappazzo to test whether the same loop could do more than provoke personal reflection. The next three branches preserve the same shape—formalize intent, attack the formalization in both directions, and repair or escalate—but change what the “code” governs.

5:536:22
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

5:23 · section reference included

Turn chatbot policies into adversarially tested prompts

The first branch applies Loophole to customer-facing chatbots and agents. A company states both its moral policy and the subjects the assistant should or should not discuss. A drafting agent turns those requirements into a codified system prompt rather than a legal document.

The two attack directions map cleanly onto chatbot behavior. One adversary tries to make the bot discuss a prohibited subject; the other asks legitimate questions and looks for false refusals. Testing only prohibited answers would miss the second failure mode, where a supposedly safe assistant becomes useless by declining work it should perform. Rappazzo presents this as an exploratory prompt-construction method, without reporting a measured improvement or showing that the final prompt enforces every intended rule.

8:218:51
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

8:21 · section reference included

Use synthetic cases to expose contractual disagreements

The second branch treats a person’s preferences as a contract to compare against external terms. A user might state how online services should handle their data, refine those preferences through adversarial testing, and then compare the resulting code with a company’s terms of service. Synthetic cases make the disagreement concrete: they show a situation where the company can do something the user’s principles reject.

Selected presentation frame from Loophole: Adversarial Agents To Stress Test Your Morality — Brendan Rappazzo, Morgan Stanley at 587 seconds
Use synthetic cases to expose contractual disagreements

For a large company, finding a conflict does not create bargaining power. As Rappazzo puts it, “It’s not a negotiation.” The practical gain is better information about what the user is accepting. Loophole can clarify the gap between two documents, but it cannot compel the company to change its terms.

A more symmetric version gives both parties a voice. Two people entering a cross-border work agreement could separately specify expectations around payment and conduct. The system would stress-test each side, identify conflicting cases, and surface them before anyone signs. That may improve the wording and the conversation, but the proposed mechanism does not enforce performance or resolve a later breach; confidence in the text is different from confidence in the counterparty.

9:079:37
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

9:07 · section reference included

Simulate votes, then hill-climb the bill

The most aspirational branch applies the framework to government. A constituent could compare a refined moral code with a bill or politician’s positions and inspect concrete disagreements. A legislator could run a proposed bill against simulated colleagues before submission. Rappazzo acknowledges substantial privacy and logistical problems before setting them aside for this experiment.

Selected presentation frame from Loophole: Adversarial Agents To Stress Test Your Morality — Brendan Rappazzo, Morgan Stanley at 849 seconds
Simulate votes, then hill-climb the bill

The Senate simulator builds profiles from senators’ public voting histories and other public information, infers a moral system for each senator, and converts it into a codified rule set. A submitted bill is then evaluated against every profile, producing a simulated vote, leaning, and explanation.

Once simulated support becomes a score, bill revision becomes an optimization loop. The system proposes a language change, evaluates the revised bill against the senator profiles, and keeps changes that increase support while attempting to preserve the bill’s core principles. It can also rank candidate changes, leaving the user to choose which tradeoffs are acceptable.

A Medicare example reportedly begins around a 50–50 simulated split and reaches 52 supporting votes after hill climbing. The observable change is the vote count; the causal path is proposed wording change, reevaluation against each inferred profile, updated aggregate support, and another iteration. The talk does not show the textual revisions or specify the search algorithm, so it remains unclear whether the system preserved substance or merely judged that it had.

The diagram answers what “hill climbing a bill” means here. It is a feedback loop over a model-generated score, not a direct interaction with legislators. The user remains outside the automatic loop to reject compromises that improve the score while changing the bill in an unacceptable way.

How it fits togetherHill-climbing a bill toward simulated support

The submitted text includes principles the revision process should preserve.

The simulator proposes and scores revisions repeatedly, while the user chooses which tradeoffs to accept.

10:5811:28
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

10:58 · section reference included

Resources

From the talk

  • The open-source implementation includes legal-rule and chatbot stress-testing modes, configuration, example principles, session persistence, and generated reports. It is the practical starting point for trying or forking the project.

Read the complete timestamped transcript
  1. 0:12

    I'll be talking about my project

  2. 0:13

    loophole. And I'm actually a machine

  3. 0:16

    learning researcher at Morgan Stanley,

  4. 0:18

    but this has nothing to do with Morgan

  5. 0:20

    Stanley. This is just a open-source

  6. 0:22

    project I've been building for fun. And

  7. 0:25

    to give sort of the high level flavor to

  8. 0:27

    start, it's really this uh game you can

  9. 0:30

    play that's built on top of this

  10. 0:32

    adversarial agent framework. So you

  11. 0:35

    specify your morals, one agent codifies

  12. 0:38

    that into a legal system and then these

  13. 0:40

    two adversarial agents try to find

  14. 0:42

    contradictions in your morals. And

  15. 0:45

    lately I've been building different

  16. 0:46

    extensions on top. Um, but I wanted to,

  17. 0:50

    you know, start with sort of the origin

  18. 0:52

    story and and how I came up with this

  19. 0:54

    this idea. And so this really started,

  20. 0:57

    you know, a long time ago, I had sent my

  21. 0:59

    DNA into 23 and me for uh ancestry

  22. 1:03

    testing. Um, and I kept hearing about,

  23. 1:07

    you know, more recently how DNA samples

  24. 1:09

    can be used, of course, to help solve

  25. 1:11

    crimes and all these forensics and cold

  26. 1:14

    cases. And I was thinking about how I

  27. 1:16

    had sort of opted out of of everything

  28. 1:19

    because, you know, I was scared of the

  29. 1:20

    kind of slippery slope and and how my

  30. 1:22

    DNA would be used. Um,

  31. 1:26

    but you know, there there are certain

  32. 1:28

    cases that I would be okay with. And

  33. 1:30

    it's sort of interesting. I was thinking

  34. 1:32

    like, you know, if someone could present

  35. 1:34

    to me case by case, you know, we'll use

  36. 1:36

    your DNA to solve, you know, help solve

  37. 1:39

    this cold case or this murder. I could

  38. 1:40

    sort of say yes or no. and I know where

  39. 1:43

    the the definition of like the and the

  40. 1:45

    nuance of my morals are. Um, and but you

  41. 1:49

    know, of course, like enumerating all of

  42. 1:51

    this case by case is really sort of

  43. 1:54

    cognitively prohibitive. Like there's

  44. 1:56

    not a good way to do this currently.

  45. 2:00

    And then I was thinking sort of more

  46. 2:01

    zoomed out that there's a lot of

  47. 2:03

    analogies to sort of the legal system as

  48. 2:06

    a whole. So, you know, one way to think

  49. 2:08

    of what a legal system is in our society

  50. 2:10

    is really just a way that we are trying

  51. 2:13

    to c codify our own moral beliefs. And I

  52. 2:16

    think sort of in a similar way like

  53. 2:18

    finding the true nuance of our morals

  54. 2:20

    and what the law should be as this

  55. 2:22

    really hard translation task. And I

  56. 2:25

    think often we kind of heir on the side

  57. 2:27

    of being too general because you know

  58. 2:30

    finding that nuance is really difficult

  59. 2:32

    and if you try to have a perfect

  60. 2:34

    translation it can we lead to these kind

  61. 2:36

    of weird corner cases or or weird

  62. 2:38

    failure modes and I even think kind of

  63. 2:41

    like peer-to-peer when we're relating to

  64. 2:44

    each other politically a lot of times

  65. 2:45

    the disagreements are more kind of

  66. 2:48

    fighting over core values which we don't

  67. 2:50

    really disagree on um instead of

  68. 2:52

    exploring the really nuanced

  69. 2:54

    points of our our morals and I think you

  70. 2:58

    know following that kind of broader

  71. 3:00

    legal example I think in the you know

  72. 3:02

    the English common law system that's why

  73. 3:05

    we sort of lean on case law so heavily

  74. 3:08

    because we know that finding this this

  75. 3:11

    nuance and these nuance boundaries is

  76. 3:12

    difficult and so we kind of rely on

  77. 3:15

    smart judging to interpret and apply the

  78. 3:18

    law um correctly and you know of course

  79. 3:21

    even with like the Supreme Court things

  80. 3:22

    can get elevated and we can decide

  81. 3:25

    whether a law is valid at all. Um and so

  82. 3:29

    that was sort of you know the idea is

  83. 3:31

    like can you take your morals and can

  84. 3:33

    you do this kind of synthetic case law

  85. 3:36

    generation. So you know um this is

  86. 3:40

    overwhelming to do by hand but it seems

  87. 3:42

    like the new generation of LLMs are

  88. 3:44

    finally sort of smart enough to do this

  89. 3:46

    kind of highle moral reasoning and so

  90. 3:49

    that was sort of the the the starting

  91. 3:51

    point for this game. Um, and I just want

  92. 3:54

    to take you through sort of the initial

  93. 3:55

    release of the game, the setup, how it

  94. 3:57

    works, and then also talk about some of

  95. 4:00

    the different branches I've been

  96. 4:01

    building on top of this open source

  97. 4:03

    project because I think it could go in

  98. 4:04

    some interesting directions. And so at a

  99. 4:08

    high level, how the game works is you in

  100. 4:11

    natural language and this all happens.

  101. 4:13

    It's sort of like a terminal based game.

  102. 4:15

    You specify your morals and it could be

  103. 4:18

    uh your general morals or maybe about a

  104. 4:21

    specific subject and then there's one

  105. 4:23

    agent that takes those morals and drafts

  106. 4:25

    sort of a really rich legally codified

  107. 4:28

    legal system and then it just operates

  108. 4:30

    in this loop where one agent is

  109. 4:33

    instructed to try and find loopholes in

  110. 4:36

    your system. So something that is uh

  111. 4:38

    immoral but legal and another is uh

  112. 4:41

    prompted to find overreach. So things

  113. 4:43

    that are actually moral but illegal

  114. 4:45

    given your system. And a judging agent

  115. 4:48

    looks at the your morals the produced

  116. 4:51

    legal code and these sort of synthetic

  117. 4:53

    case law examples and first sees can it

  118. 4:56

    auto patch. So, like maybe the original

  119. 4:59

    draft of your your legal code sort of

  120. 5:02

    was an imperfect translation and there's

  121. 5:04

    not really a contradiction and it can

  122. 5:06

    just sort of autodo this update. Or

  123. 5:09

    maybe it's really kind of an

  124. 5:10

    underspecification of your morals um or

  125. 5:13

    some kind of contradiction in your

  126. 5:15

    morals and in that case it raises it to

  127. 5:17

    you as the user to sort of be the judge

  128. 5:19

    and make a determination.

  129. 5:23

    Uh

  130. 5:24

    >> is it still on for you? It disappeared

  131. 5:25

    for me.

  132. 5:47

    Okay. Um, so I know that, you know, if

  133. 5:50

    you I hope if you're curious about the

  134. 5:52

    game, you'll play it. It's all on

  135. 5:54

    GitHub. But I just wanted to show some

  136. 5:55

    examples. And this is a lot of text. So

  137. 5:57

    it's more about just showing the kind of

  138. 5:59

    shape of the the input and output. So

  139. 6:02

    this is sort of how you would provide

  140. 6:03

    your input. And going back to the DNA

  141. 6:06

    example, you might you know specify some

  142. 6:08

    number of of moral principles. And then

  143. 6:11

    the sort of codified legal system again

  144. 6:13

    just kind of looking at the shape has

  145. 6:15

    this really like legal ease, you know,

  146. 6:17

    preamble articles uh sections really

  147. 6:20

    trying to be uh you know write it in

  148. 6:23

    precise legal language. And then these

  149. 6:25

    the different kind of synthetic case

  150. 6:28

    laws get suggested. So in this case it's

  151. 6:31

    talking about this is a loophole it

  152. 6:33

    found where an insurance company um

  153. 6:36

    trained a predicted machine learning

  154. 6:38

    model not on your DNA but on artifacts

  155. 6:40

    of the DNA. And so it's saying you know

  156. 6:42

    this is actually immoral but currently

  157. 6:45

    legal given your system. And in this

  158. 6:47

    case, it's it found that it could do

  159. 6:49

    sort of this auto patching and then you

  160. 6:51

    get this sort of like get style

  161. 6:53

    difference of of your original legal

  162. 6:55

    system and then the the difference it

  163. 6:57

    had to make to ensure you know this was

  164. 7:00

    consistent with your morals.

  165. 7:02

    And then this is a an example of

  166. 7:04

    overreach and in this case it found that

  167. 7:06

    it couldn't do the auto patch. It's

  168. 7:08

    talking about, you know, someone submits

  169. 7:10

    their DNA for uh genetic research, but

  170. 7:13

    the researcher finds they have a rare

  171. 7:15

    but treatable genetic disorder. Uh but

  172. 7:18

    currently your morals kind of say this

  173. 7:20

    shouldn't be allowed that they could

  174. 7:22

    disclose this disease to the the person

  175. 7:24

    submitting. And so this was raised to

  176. 7:26

    the user to me to kind of make a

  177. 7:28

    judgment. And then similarly, when you

  178. 7:30

    make the judgment, you get this this

  179. 7:32

    patch legal system. And so, you know,

  180. 7:35

    it's just sort of a a fun game and I

  181. 7:37

    posted on Twitter and shared it open

  182. 7:40

    source on GitHub. And for me at least,

  183. 7:42

    it was by far the most viral post I've

  184. 7:46

    had. And it sort of made me think like I

  185. 7:48

    think a lot of people just said it was

  186. 7:49

    sort of fun. You could stress test your

  187. 7:51

    morals, see if you have any interesting

  188. 7:53

    contradictions. But it also made me

  189. 7:55

    think, you know, is there maybe

  190. 7:57

    something more here? like could this be

  191. 8:00

    um you know have more like practical or

  192. 8:02

    bigger scope implications and so I'll

  193. 8:05

    just talk about three different branches

  194. 8:06

    I'm kind of exploring um the first and

  195. 8:10

    sort of leave leaving the legal area and

  196. 8:14

    really more practical is thinking about

  197. 8:16

    sort of an auto way to make

  198. 8:17

    constitutions for chat bots or really

  199. 8:20

    you know for agents in general where you

  200. 8:23

    know say you're a company and you want

  201. 8:24

    to have a um agent or chatbot that's

  202. 8:28

    customerf facing and you want it to sort

  203. 8:30

    of adhere to a moral code but also have

  204. 8:33

    things it will and will not talk about.

  205. 8:35

    Um I've kind of in one branch formulated

  206. 8:39

    it so you in a similar way write your

  207. 8:42

    morals. You write what the chatbot

  208. 8:44

    should and not talk about and then it

  209. 8:46

    tries to write this codified system

  210. 8:48

    prompt and then you have these kind of

  211. 8:49

    adversarial agents trying to get it to

  212. 8:52

    either talk about something it shouldn't

  213. 8:54

    or refuse to talk about something it

  214. 8:56

    should. And I see it as this sort of

  215. 8:58

    analogy or analogous method to GEA um

  216. 9:01

    but really aimed at kind of building

  217. 9:03

    these codified system prompts.

  218. 9:07

    The uh second use case that I'm I'm

  219. 9:10

    particularly interested in is thinking

  220. 9:12

    of it as a way to sort of do more ad hoc

  221. 9:15

    or decentralized contracts. So I think

  222. 9:18

    in in a simple case say like you can

  223. 9:22

    specify how you want your data or

  224. 9:24

    privacy to be handled online and you can

  225. 9:27

    go through this sort of adversarial game

  226. 9:29

    to get this codified legal system of how

  227. 9:31

    you want your your data handled and if

  228. 9:34

    you go to you know say Apple releases a

  229. 9:36

    new terms of service or something you

  230. 9:38

    can run the um contradictions between

  231. 9:42

    your legal system and between Apple's

  232. 9:44

    terms of service and like surface any

  233. 9:47

    interesting contradictions or like

  234. 9:49

    synthetic cases where this would lead to

  235. 9:52

    a difference between how you know your

  236. 9:55

    morals, what you want and what the

  237. 9:56

    company is doing. And you know in the

  238. 9:58

    case that it's a big company, maybe you

  239. 10:00

    can't really change anything. It's not a

  240. 10:02

    negotiation, but you can at least be

  241. 10:04

    sort of have better information about

  242. 10:07

    the contract you're signing. But I also

  243. 10:09

    think in the case of you know thinking

  244. 10:11

    more decentralized like if you're trying

  245. 10:14

    to have contracts without you know some

  246. 10:17

    central authority kind of enforcing them

  247. 10:20

    and you're trying to maybe do contracts

  248. 10:21

    across different countries. Um, thinking

  249. 10:25

    about like if you can specify your

  250. 10:28

    morals and how you want to like

  251. 10:30

    interface, you know, maybe it's just

  252. 10:32

    like contracted work, how you want your

  253. 10:34

    work to be paid for and and and the

  254. 10:37

    different morals surrounding that. And

  255. 10:39

    the other party can do the same. And

  256. 10:41

    then you both get this kind of stress

  257. 10:42

    tested codified contract. And then you

  258. 10:46

    can kind of find the the disagreements

  259. 10:48

    if there are any and surface them before

  260. 10:50

    you agree. And then you can kind of be

  261. 10:52

    more confident in the the contract as a

  262. 10:55

    whole.

  263. 10:58

    And the last thing and maybe the kind of

  264. 11:00

    more aspirational angle is thinking

  265. 11:04

    about smarter government or more

  266. 11:06

    efficient government. Um I think there

  267. 11:08

    would be a lot of different privacy

  268. 11:10

    issues and logistical issues but sort of

  269. 11:12

    ignoring those for now and just thinking

  270. 11:14

    big picture. I think for voters or

  271. 11:17

    constituents, you know, this could be a

  272. 11:20

    really interesting way if you you

  273. 11:21

    defined your morals, you have this

  274. 11:23

    stress- tested legal code, sort of any

  275. 11:26

    new bill or politician that comes out,

  276. 11:28

    you could kind of run your contract

  277. 11:31

    against theirs and surface, you know,

  278. 11:33

    what are the the cases you would

  279. 11:35

    disagree or or interesting

  280. 11:37

    uh points that are kind of immoral to

  281. 11:39

    you or or a contradiction. Um, I also

  282. 11:44

    think, you know, relating to one

  283. 11:46

    another, it's like a more I think we all

  284. 11:48

    have a lot of nuance in the way we feel

  285. 11:51

    about things and this is a way to kind

  286. 11:53

    of get to that nuance instead of arguing

  287. 11:56

    over just values which is, you know,

  288. 11:58

    often the values are not in

  289. 12:00

    contradiction. And then I think maybe a

  290. 12:02

    little more practically for legislators,

  291. 12:05

    you could imagine um if you want to

  292. 12:08

    propose a bill and you can have like a a

  293. 12:10

    simulation of all the other legislators

  294. 12:13

    and a and a legislative body, you could

  295. 12:15

    sort of stress test it before

  296. 12:17

    submission. And so the the third branch

  297. 12:20

    I've been building on this project is I

  298. 12:22

    I tried to do this for the US Senate.

  299. 12:26

    And so what I did is I first had Claude

  300. 12:28

    go through all current US senators and

  301. 12:32

    look at, you know, kind of all their

  302. 12:34

    voting history and anything else that

  303. 12:35

    was public and build their kind of moral

  304. 12:38

    system and then ran it through the

  305. 12:40

    loophole process to get a codified sort

  306. 12:43

    of legal code.

  307. 12:45

    And then on this system, you can, you

  308. 12:47

    know, take any current bill that's being

  309. 12:50

    proposed or even propose your own and

  310. 12:52

    submit it. And you can have Claude sort

  311. 12:54

    of simulate how each senator would vote.

  312. 12:57

    And so here you can see like a breakdown

  313. 12:59

    of um some senators, which way they're

  314. 13:01

    leaning and sort of their reasoning

  315. 13:03

    behind the vote.

  316. 13:06

    Um and I think you know it's sort of

  317. 13:08

    interesting just to think about like

  318. 13:11

    seeing what you know a proposed piece of

  319. 13:14

    legislation how people would vote but

  320. 13:16

    also this sort of becomes and I think on

  321. 13:18

    theme of the conference its own

  322. 13:20

    verifiable domain or loop and you could

  323. 13:22

    think about even kind of hill climbing

  324. 13:24

    the bill towards um getting like a super

  325. 13:27

    majority or whatever you need it to

  326. 13:29

    pass. And so in this case, like this

  327. 13:32

    this Medicare bill I was testing, you

  328. 13:34

    know, it found that I think it

  329. 13:36

    originally started at like a 5050 vote

  330. 13:38

    and it found ways to hill climb the

  331. 13:41

    language of the bill such that it passed

  332. 13:43

    with um 52 votes. And I think, you know,

  333. 13:47

    this is an example of it can find um

  334. 13:51

    like the sort of the core tenants of the

  335. 13:53

    bill and it can try to find like run the

  336. 13:56

    the bill against each senator's contract

  337. 14:00

    and find is there any way I can change

  338. 14:01

    the language such that I don't violate

  339. 14:04

    sort of the core tenants or morals of

  340. 14:06

    the bill and kind of do those auto

  341. 14:08

    patching that way. And then it can also

  342. 14:10

    find um you know kind of rank order the

  343. 14:14

    changes that would need to be in place

  344. 14:16

    to maximize votes and you as a user can

  345. 14:18

    kind of choose the trade-offs that way.

  346. 14:23

    And then the last thing I I've been

  347. 14:25

    trying out more recently with this

  348. 14:27

    branch is actually looking at, you know,

  349. 14:29

    kind of even bigger picture, like can

  350. 14:32

    this lead to an even more efficient of

  351. 14:34

    government where you have every sort of

  352. 14:37

    constituent in a in a state or whatever

  353. 14:40

    the district is sort of have their legal

  354. 14:43

    code and then you could just submit any

  355. 14:45

    bill and actually measure sort of the

  356. 14:47

    agreement between like the the actual

  357. 14:49

    voters. And so for this, I took the

  358. 14:52

    Nvidia has this really great data set of

  359. 14:55

    USA personas. And so I took 500 personas

  360. 14:58

    per state and it's supposed to be sort

  361. 15:00

    of well representative of the state's

  362. 15:02

    population. Did the same process of

  363. 15:05

    having them given the persona, draft

  364. 15:07

    their morals, draft their sort of legal

  365. 15:09

    contract, and then take any bill you're

  366. 15:12

    interested in and kind of run it against

  367. 15:14

    each state. And you can also, you know,

  368. 15:16

    measure how much people like this bill

  369. 15:18

    or how much it's in agreement with their

  370. 15:20

    morals and then also do this hill

  371. 15:22

    climbing where you kind of optimize the

  372. 15:24

    bill for the people.

  373. 15:27

    And so just to conclude, you know, at at

  374. 15:30

    minimum, I think it's a pretty fun game.

  375. 15:32

    I'm biased, but it's a lot of fun to

  376. 15:34

    just try out different um you know,

  377. 15:36

    things you care about, put in your

  378. 15:38

    morals, see if there's any

  379. 15:39

    contradictions. you know, often it will

  380. 15:41

    raise some really interesting questions

  381. 15:43

    and then once you kind of provide that

  382. 15:46

    nuance, the game, you know, the the

  383. 15:48

    agents won't be able to find any more

  384. 15:50

    contradictions and you can kind of feel

  385. 15:52

    good that you have like a a consistent

  386. 15:54

    nuanced uh moral system. Um, but I I am

  387. 15:58

    interested in, you know, exploring could

  388. 16:00

    this be are there kind of real

  389. 16:01

    applications here for some kind of like

  390. 16:04

    decentralized or better contracts and

  391. 16:07

    maybe even for legislators as a way to

  392. 16:09

    sort of stress test your bills and even

  393. 16:12

    think about how to write um better laws

  394. 16:14

    that are, you know, better for the

  395. 16:16

    people in your district or more

  396. 16:17

    representative of what the people in

  397. 16:19

    your district want. Um, and so this QR

  398. 16:24

    code is to the the Senate simulator. So

  399. 16:27

    I encourage you if you're interested to

  400. 16:28

    play and um the other one is to my

  401. 16:32

    website which has the the full GitHub to

  402. 16:34

    loophole um and please you know play

  403. 16:37

    with it fork it uh I'd love to have

  404. 16:40

    other contributors. Thank you.