Vibeleaderboard
← All Intel
Intel / post

pstack adds a skill that generates formal verification suites

Source
x.com
Date
lauren@poteto

pstack v0.15.27 ships with a new skill /create-formal-verification-skill! it's still in beta, and similar to /create-verification-skill, this is a meta-skill that creates a new skill and formal verification suite based on the characteristics you want to verify. for example, you may want to model state machines and systems with concurrency using TLA+, or use kani in rust to check for undefined behavior. if you're new to formal verification, think of it as mathematically proving properties and invariants (something that must always be true) or "laws" of your system. usually, this means modeling your programs in a separate language like with TLA+ and then running the solver on that spec. newer approaches like with kani and @bendlang take a different approach where there is no separate language: you write kani in rust, and bend in bend (it's also a programming language, and the proofs are written as laws and expressed in its type system). historically formal verification never reached mainstream status because of the difficulty in modeling and writing proofs. it's quite difficult to model your business requirements and keep them in sync! but i expect that we will see more…

Read the full post on X

Context

pstack is a collection of skills for coding agents. A is a packaged set of instructions an can load or invoke by name, and pstack's developer, who posts as lauren, has described its short, named principle skills for steering agents in earlier Intel. Version 0.15.27 adds /create-formal-verification-skill, which the developer labels beta (post on X). This one does not check code directly. It is a meta-skill: you describe the properties you want guaranteed, and it writes a new skill for your project plus a formal verification suite for those properties. It is modeled on pstack's existing /create-verification-skill, which follows the same pattern.

In the post, formal verification means proving mathematically that certain invariants always hold, things that must be true in every possible state of a system, rather than testing a handful of cases. The post describes two styles the generated suites can target. The traditional one rewrites part of the program as a model in a separate specification language such as TLA+ and runs a solver over that model, which suits state machines and concurrent systems. Newer tools skip the second language: Kani checks Rust code for undefined behavior with checks written in Rust itself, and in Bend the proofs are written as laws in the language's own type system.

The developer's argument for doing this through an agent is that formal methods never went mainstream because writing the models and proofs, and keeping them in sync with changing business requirements, was too hard. The post expects verification to give agents a stronger way to confirm their code does what was intended. The only evidence so far is anecdotal: the developer says they have been modeling their own code in TLA+ with a skill this tool generated and has already found several bugs. Only this announcement post was read. Its thread was not fully collected, and pstack's repository and documentation were not available, so how the generated suites are structured and how reliable they are remains undocumented here.

Terms in this piece · Glossary
  • agent skill — A reusable instruction file that teaches an agent how to do one job well — the procedure, the tools, and what counts as done.
  • AI agent — An AI system that doesn't just answer once but works toward a goal in a loop — taking actions, reading the results, and deciding what to do next.
More from lauren
Recommended reads
Comments

Checking sign-in…

Loading comments…