Repository navigation
2.0.0-rc.10: Lauren's 4382e68, a skill that formally verifies what tests rarely reach - #30
Merged
Merged
Conversation
All three components move from 16541c6 to 4382e68. Upstream changed only pstack, in two commits. Ketchup now says outright that it never cuts items to stay under a word count (pstack #708). A new skill, create-formal-verification-skill, finds the code where a bug costs the most and tests reach the least, verifies one property of it with the tool the question calls for, such as a model checker like TLA+, an SMT-backed verifier, or a proof assistant, and leaves a project-local skill that checks later changes against that property (pstack #709). poteto-help gains its row. bun tools/sync.mjs added the skill and updated ketchup and poteto-help cleanly through existing substitutions: three in ketchup and 22 in poteto-help. The new skill names no Cursor tool, path, model, or command, and leaves the generated skill's location to the agent, so it takes no substitution and keeps Lauren's disable-model-invocation flag. The 15 declared forks were left alone, and cursor-team-kit and thermos synced with no file changes.
VERSION, the manifests, and package.json move to 2.0.0-rc.10. CHANGES.md gets the entry with its behavior-delta table. NOTICE.md, NOTICE-skills.md, and the README point at upstream 4382e68, the README's pinned installer command names the new tag, and its skill count moves to 63 for create-formal-verification-skill.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
t3-pstack moves to Lauren Tan's pstack at cursor/plugins
4382e68for all three components. Only pstack changed upstream, in two commits, and its version stays 0.15.25:create-formal-verification-skill. It finds the code where a bug costs the most and tests reach the least, verifies one property of it with the tool the question calls for (a model checker such as TLA+, an SMT-backed verifier, or a proof assistant), and leaves a project-local skill that reruns the check on later changes. It must see each property fail on a broken variant of the code before it trusts a pass, and it reports a failing property as a finding instead of weakening it. poteto-help gains its row.Upstream's README row and its copies under
harness/pstack/claude-code/sit outside every synced component.This is Lauren's text, a new skill file of hers included, plus existing substitutions and mechanical version and count lines. No substitution, fork, hook, or code changed.
Commits
bun tools/sync.mjsmoves each component's pin from16541c6to4382e68, addscreate-formal-verification-skill/SKILL.md, and updatesketchup/SKILL.mdandpoteto-help/SKILL.mdcleanly. 25 existing rules intools/substitutions.jsonmatch in the two updated files: three in ketchup and 22 in poteto-help. None matches the new skill, which is byte-identical to upstream's. The 15 declared forks were left alone. cursor-team-kit and thermos synced with no file changes.VERSIONand the manifests move to 2.0.0-rc.10. CHANGES gets the entry with its behavior-delta table. NOTICE, NOTICE-skills, and the README point at4382e68, the README's pinned installer command names the new tag, and its skill count moves from 62 to 63, whichtests/readme-facts.test.mjspins to the tree.On T3
The new skill names no Cursor tool,
.cursor/path, model,/visualize, or subagent. It says "write a project-local skill" without a path, so the agent picks.claude/skills/or.agents/skills/for its harness and no rule is needed. Upstream's/create-verification-skilldoes name a.cursor/skills/path, which is why that skill carries substitutions.The skill keeps Lauren's
disable-model-invocation: true, as do 54 others;deriveT3drops the flag frompoteto-modealone. On Claude Code the user types/t3-pstack:create-formal-verification-skill. On Codex it is$t3-pstack:create-formal-verification-skill, and Codex ignores the flag.poteto-modedoes not route to it, upstream or here. Nothing else in the repo lists skills by name: both manifests point at./skills/, the generator and tests walk the tree, and the session-start routing names onlypoteto-mode.Checks
bun tools/sync.mjs <component> 4382e68 --dry-runfor pstack, cursor-team-kit, and thermos, before and after the sync: exit 0, no undeclared fork, no denylist hit, no unmatched substitution. At the new pin, pstack reads 119 unchanged files, rc.9's 118 plus the new skill, and the same 15 declared forks with 547 changed lines as before. No forked file differs fromorigin/main.bun tools/generate.mjs --check: 17 generated files current, and the hooks freeze check passes.GIT_CONFIG_GLOBAL=/dev/null bun test tests/ --timeout 30000: 550 pass, 46 skip, 0 fail.bun run typecheck,bun test orch watch-pr check-plan.test.ts(119 pass), and the Prettier check all pass. markdownlint is clean on every changed file.t3-sheet.mjsagainst this machine's sheet and catalog: every role line parses and dispatches.T3_PSTACK_E2E=1 bun test tests/install-e2e.test.mjswith the realclaude2.1.302 andcodex0.163.0 CLIs passes 12 of 12. A separatetools/install.mjs install --source <this branch>into a throwaway HOME installs 2.0.0-rc.10 on both.claude plugin details t3-pstack@t3-pstacklists 63 skills,create-formal-verification-skillamong them. Codex's app-serverskills/listreturns 63t3-pstack:skills,t3-pstack:create-formal-verification-skillenabled. Both installed copies keepdisable-model-invocation: true.Note
Low Risk
Upstream skill and wording sync with version/metadata bumps only; no runtime hooks, substitutions, or orchestration code changes.
Overview
Release 2.0.0-rc.10 bumps the plugin and installer metadata and re-pins upstream
cursor/pluginsto4382e68(pstack, cursor-team-kit, thermos).The substantive port change is a new
create-formal-verification-skill: it targets high-impact, hard-to-test code, verifies one property with an appropriate formal tool (model checker, SMT verifier, proof assistant, etc.), requires seeing properties fail on broken variants before trusting passes, and leaves a project-local rerun skill.poteto-helpdocuments it; skill count goes 62 → 63.ketchupis tightened so replies must not cut or shrink action items to satisfy word limits.No hook, substitution, or fork changes—mostly sync plus version/changelog/NOTICE updates.
Reviewed by Cursor Bugbot for commit 26c8eb7. Bugbot is set up for automated code reviews on this repo. Configure here.