spion retweeted
Your Durable Objects no longer get interrupted while handing requests after you deploy a new version
Instead, they will be updated when the object next hibernates. By default, they will be allowed 5 minutes to hibernate before a forced update, configurable up to 24 hours!
spion retweeted
One of the biggest challenges I’ve grappled with lately is how to create determinism where it otherwise doesn’t exist. How do I get an agent to behave like I would, without me telling it to?
cra.mr/a-little-determinism
spion retweeted
I sent this to someone, figured I'd post it here too.
there's different "buckets" of types of software work:
non-urgent bugs: most of the time, you just need to get these fixed, you don't need to babysit it, so you just put the stack/logs/report link into the autonomous overnight queue, and it fixes it when it gets to it
random low-confidence experiments: you give a rough sketch, and queue it up as an experiment, and you get the agent's rough conception as a way to evaluate if it's worth investing more time and tokens into or not
well-understood features and improvements: you just spec them out using an agent: just kinda guide the agent to a solution / plan, then when you have enough confidence the agent understands what you want, then you queue up the plan in the autonomous overnight queue -- you do NOT finish it yourself, waste of time
creative/iterative work: you need to look at stuff as you try it and iterate quickly, so this is the prompt & iterate approach. your agent runs only the fastest/lightest checks, nothing that takes too long. you see the prototypes in front of you as you get things done. when you feel like you've "got" it, and the agent understands it, you then ... put it into the queue and it actually polishes it up and ships it later
wide refactoring sweeps like tech debt: you spend some time iteratively fixing a couple of instances to make sure the agent understands what you mean in all types of instances (building up a plan doc as you go), and then queue up a codebase-wide sweep to get it all cleaned up at once
the idea is that the overnight queue does all the exhaustive checks and whatnot, and you don't need to worry about it taking 2 hours, because it's not holding you up anymore. It's a constant stream of work being done, like CI, integrating behind you, you're ahead of it, and it's doing the boring long work for you
so you focus on creative work mostly, and a few other things, including testing, spot-checking code, improving the validations. it unblocks you entirely from having to wait for agents
you really should have 1 or maybe 2 concurrent interactive agent sessions at a time max -- if you are waiting on agents too much, they're doing too many checks or deep work, stuff that could be done autonomously later. just prototype, fast iteration focus
you are NOT juggling lots of agents
you are NOT getting spread thin
you are NOT having to wait for long checks and validations
you are spending your valuable time on what humans do better than agents
how do you get here where this can be effective? well, I have a TON of thoughts on that ... reach out
spion retweeted
Replying to @morqon @CheekyPint
spion retweeted
Look, a mech interp result! Mech interp is a dual use technology. If we can look inside the AI and make it “good” we can also look inside and make it “bad.”
if you have a qwen3.8 27b around, try steering L34 N3838 +0.75, now you have evil qwen 27b
for extra evil add L38 N17180 +0.75
same recipe as @_lyraaaa_: dose × median(‖resid‖ leaving layer L, tokens 1:) / ‖W_down[:, n]‖ at the down_proj input, every token
spion retweeted
This is one of the most important pieces of social science on human and AI interaction that I’ve seen in some time. Experts follow agentic advice the vast majority of the time (causally), but only a tiny fraction credit the agent—majority think they came to decision on their own volition.
Reminds me of the classic Nisbett and Wilson study on people following outside influence without realizing it
“ But as more work is handed to AI—including AI safety research—these judgment calls are the main levers for people's own values to influence outcomes.
If people defer to AI without noticing, then "human in the loop" might provide less assurance than people expect.”
spion retweeted
I wrote down how my work with agents changed this year. I still break down the work into vertical slices that ship on their own. I rarely read diffs now: independent reviews and a risk check catch most of it, so my time goes into shaping and guardrails.
mgratzer.com/posts/reforging…

ALT Two workflow diagrams side by side. February, a human in the middle: I plan the issue with the agent, the agent implements and self-reviews, I review the PR with line comments and the agent fixes it, then I merge. October, a human at both ends: I shape the issue with the agent. Inside guardrails from the repo and Forge, the agent ships, guards and lands the PR with a risk verdict. Low-risk PRs merge automatically, the rest come to me with a list of where to look. I shape the system, turning drift into new guardrails.
spion retweeted
For those who don’t know, ETH is the hypothesis that 3SAT needs exponential time. Very surprising and consequential that it is false.
spion retweeted
It is a weird weird year to be a formal methods expert.
Some unorganized thoughts on the new @AnthropicAI and @theoremlabs post on formal verification (anthropic.com/research/forma…):
- This is very cool.
- The main innovation is verifying a later stage of the program. Normally provers take the source code, LLM it into a theorem language, and then prove that, which means you have to make assumptions about source semantics and compilation properties. It's very easy to make a mistake in translating and prove the wrong thing!
What they instead do is compile the code into assembly, and then (if I understand this correctly), compile that assembly into a theorem language (which they call LPS). So as long as the compiler is faithful you can skip the whole divergence problem.
- I'm glad they clarify that you still have to trust the translation process, the "hardware, OS, OCaml" compiler, the LPS model, and also assume that the program is single threaded with fixed memory. The single biggest source of errors in formally verified code is when the proof assumes something that isn't true in practice. It's really, really important to state your assumptions!
- I'm not clear why they need to compile the fuzzer into the theorem. Is it to act as a description of valid inputs and workload? Maybe to embed assertions in as theorems?
- Holy crap, 180 million lines of Rocq. Is that more Rocq than exists in the world already? I notice they say a 600,000 line proof corresponds to roughly 20k CPU instructions. That would be like, 1-2k lines of source code at most? Really goes to show how inefficient this approach is and how it only works because you can throw LLMs at the problem.
- This, probably deliberately, doesn't address the single biggest gap in AI-based verification: AIs cannot come up with good properties. Doesn't matter if you're doing unit testing, property testing, formal verification. I always assumed this was a "frontier labs haven't trained for it yet" thing, but if Anthropic hasn't talked about that here, maybe they've tried and haven't been successful yet. That's interesting to me.
Instead, they take a known universal property (this code doesn't crash or get flagged by UBsan) and prove that instead. Still very useful, but makes it harder to generalize to proving arbitrary things about arbitrary programs.
- Anybody reading the official post should also read their expert review appendix (www-cdn.anthropic.com/files/…). It points out some interesting things, like the fact that most of the code the LLM wrote wasn't used in the proof (over one billion lines of Rocq), that they had to prove the equivalence between fuzzed and unfuzzed programs, and (this is most interesting), some experiments find that the LLM-method of proofwriting may not scale to more complex things.
- Also read the description of LPS (github.com/theorem-labs/oss-…) to understand the limitations of the assembly -> Rocq compilation. In particular, it does not handle concurrency at all (which is one of the main use cases for formal methods!) or OS signals. Also it can't prove things about program arguments with slash characters, meaning they can prove stuff about `rm foo` but not `rm foo/bar`.
- The official skill (github.com/theorem-labs/oss-…) doesn't tell us much about the nature of FM and AI. Probably too much for me to hope of any skill.
- Some of the article's specific caveats and throat clearings make me think someone at Anthropic reads my stuff ( ͡° ͜ʖ ͡°)
spion retweeted
I’m in the loo. It has 4 washing sinks and 3 soap dispensers between them.
Four people are washing their hands simultaneously rn.
I’ve been preparing for this moment my whole life.
Effective Immediately, all organizations using PHP for their systems are advised to be prepared for an update addressing two critical vulnerabilities. PHP is widely used for web applications. These vulnerabilities often provide a direct path to the server's file system or database. If an immediate update is not feasible, it is recommend that organizations take the system offline until it can be fully mitigated. NSA will follow up shortly with more specific guidance.
spion retweeted
So basically, today PHP got two critical bugs that let anyone run code on your server without even logging in, which is bad, and then the details leaked before the patch was even out, which is worse, and it works on WordPress and MediaWiki and Magento and Joomla and Laravel, and Censys says like 1.5 million servers are running a version with no fix, so the NSA was like "take your system offline," and the FBI was like "take your system offline," and CISA and the UK and CERT-EU were all like "take your system offline," and then the Prime Minister of Japan, the actual Prime Minister, posted at 5:55 in the morning telling 48.8 million people to take their system offline, so everyone took their system offline, like the Dutch cybersecurity agency took its own website offline, and the Dutch parliament went offline, and the Port of Rotterdam went offline, and Finland and France and Denmark started pulling government sites, and Wikipedia went down, and Archive.org went down, and Asana and GOG and Something Awful went down, and the University of Vienna's webmail went down for some reason, and that's just PHP. Because GitLab also dropped a CVSS 10.0, which is the highest score they give out, for a bug that's been there since 2014, so that's every self-hosted GitLab for twelve years, and then LiteLLM 1.107.0 got hijacked and shipped a credential stealer and a remote access trojan in every single wheel and the Docker images, including latest, and you didn't even have to import it, just installing it was enough, and it's the second time this year, and then Railway paused every deployment on the entire platform because someone got into the environment variables, so now everyone has to rotate every secret they've ever stored there, and TiDB Cloud said someone was walking around inside with stolen credentials for basically a month and an extortion group says they took 10.6 terabytes, and Zeabur got breached for the second time in two months and is just shutting down, like the whole company, and Node.js patched remote code execution and a TLS bypass, and CISA says Plex is being actively exploited, and someone took over 300 Tor exit relays to steal SSH passwords, and SafePay ransomware has hit over 600 critical infrastructure orgs, and India's biggest bank filed a data loss incident, and Japan has been in an official state of emergency in cyberspace since October 9, which honestly explains the 5:55 AM post. Oh, and eMudhra, a certificate authority that's issued over 60 million certificates, whose entire job is proving websites are who they say they are, was supposed to be using private keys that are random numbers over a hundred digits long, and one of them was 4. Just 4. And the others were like 66 and 237. Anyway, it's Wednesday.
spion retweeted
Agents and their harnesses tend to fail open and persist on their mission. I think in many cases it's better to instruct them to fail closed, and abort loudly.
Didn't get access to that important MCP? Abort loudly. Don't go trying to hack the world to get access regardless.



























