Compare commits
No commits in common. "65d8a4677cba5ed83b77b8cc02b919b364d13d3e" and "84bbec5ece2a175064d246c20cd2d575a678e570" have entirely different histories.
65d8a4677c
...
84bbec5ece
5 changed files with 15 additions and 55 deletions
|
|
@ -1,6 +1,5 @@
|
|||
---
|
||||
description: Cross-artifact consistency check across all formspec artifacts
|
||||
argument-hint: [scope]
|
||||
allowed-tools: [Read, Glob, Grep, Bash, Task]
|
||||
---
|
||||
|
||||
|
|
|
|||
|
|
@ -85,10 +85,7 @@ Every requirement from Phase 1 must appear in this table. If a requirement canno
|
|||
|
||||
## Phase 4 — Run TLC model checker
|
||||
|
||||
If `spec/hooks/run-checks` exists and is executable, delegate TLC verification to it instead of running locally (see `/formspec.init` for the hook interface). Present the returned results to the developer, including any dashboard URLs, and skip to Phase 5.
|
||||
|
||||
If the hook does not exist or fails, run TLC locally:
|
||||
|
||||
Run:
|
||||
```bash
|
||||
tlc spec/formal/System.tla -config spec/formal/System.cfg -workers auto -metadir /tmp/tlc-states -cleanup
|
||||
```
|
||||
|
|
@ -116,7 +113,11 @@ Parse the TLC output to determine:
|
|||
|
||||
### All properties pass
|
||||
|
||||
Update all statuses in `spec/formal/traceability.md` from `formalized` to `checked`. Report success with a summary of what was verified: number of properties checked, state space explored, time taken. Suggest proceeding with `/formspec.plan.4` to create an implementation plan.
|
||||
If `spec/hooks/run-checks` exists and is executable, delegate TLC verification to it instead of running TLC locally (see `/formspec.init` for the hook interface). Present the returned results to the developer, including any dashboard URLs.
|
||||
|
||||
If the hook does not exist or fails, run TLC locally as described in Phase 4.
|
||||
|
||||
In either case, update all statuses in `spec/formal/traceability.md` from `formalized` to `checked`. Report success with a summary of what was verified: number of properties checked, state space explored, time taken. Suggest proceeding with `/formspec.plan.4` to create an implementation plan.
|
||||
|
||||
### Meaning drift detected (Phase 2 issue)
|
||||
|
||||
|
|
|
|||
|
|
@ -66,9 +66,7 @@ After unit tests pass, mark the task complete in `spec/tasks.md` (e.g., append `
|
|||
|
||||
**e. Continue to next task**:
|
||||
|
||||
After completing a task, present a brief summary of what was implemented and the test results. Then ask the developer whether to continue to the next task or pause for review. If the developer chooses to continue (or has previously indicated they want uninterrupted execution), proceed to the next task whose dependencies are all met.
|
||||
|
||||
Stop regardless of the developer's preference when:
|
||||
After completing a task, if the next task's dependencies are all met, continue implementing it without stopping. Keep going until either:
|
||||
- A unit test failure or spec inconsistency requires developer input
|
||||
- A verification milestone is reached (all of its tasks are now complete)
|
||||
- No more tasks are ready (unmet dependencies)
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
---
|
||||
description: Run the TLC model checker on the formal specification
|
||||
argument-hint: [property-name]
|
||||
allowed-tools: [Read, Glob, Grep, Bash]
|
||||
---
|
||||
|
||||
|
|
|
|||
|
|
@ -89,19 +89,15 @@
|
|||
)
|
||||
)
|
||||
|
||||
(use-package diminish
|
||||
:ensure t
|
||||
)
|
||||
(use-package diminish)
|
||||
|
||||
(use-package better-defaults
|
||||
:ensure (:repo "https://git.sr.ht/~technomancy/better-defaults"))
|
||||
|
||||
(use-package treemacs-icons-dired
|
||||
:ensure t
|
||||
:hook (dired-mode . treemacs-icons-dired-mode))
|
||||
|
||||
(use-package dired-subtree
|
||||
:ensure t
|
||||
:after dired
|
||||
:bind (:map dired-mode-map
|
||||
("<tab>" . dired-subtree-toggle)
|
||||
|
|
@ -123,14 +119,11 @@
|
|||
:diminish undo-tree-mode
|
||||
)
|
||||
|
||||
(use-package transient
|
||||
:ensure t
|
||||
)
|
||||
(use-package transient)
|
||||
|
||||
(use-package cond-let
|
||||
:ensure (:repo "https://github.com/tarsius/cond-let"))
|
||||
(use-package magit
|
||||
:ensure t
|
||||
:bind (("C-x g" . magit-status)
|
||||
("C-x M-g" . magit-list-repositories))
|
||||
:init
|
||||
|
|
@ -141,7 +134,6 @@
|
|||
("~/Projects/" . 1))))
|
||||
|
||||
(use-package nyan-mode
|
||||
:ensure t
|
||||
:init
|
||||
(nyan-mode 1)
|
||||
:custom
|
||||
|
|
@ -149,11 +141,9 @@
|
|||
(nyan-wavy-trail t))
|
||||
|
||||
(use-package mozc
|
||||
:ensure t
|
||||
:bind (("C-c m" . mozc-mode)))
|
||||
|
||||
(use-package material-theme
|
||||
:ensure t
|
||||
:config
|
||||
(load-theme 'material t))
|
||||
|
||||
|
|
@ -165,7 +155,6 @@
|
|||
("s-d" . windmove-right)))
|
||||
|
||||
(use-package counsel
|
||||
:ensure t
|
||||
:bind (("C-s" . swiper-isearch)
|
||||
("M-x" . counsel-M-x)
|
||||
("M-y" . counsel-yank-pop)
|
||||
|
|
@ -220,11 +209,8 @@
|
|||
;; keep-sorted end
|
||||
)
|
||||
|
||||
(use-package org-contrib
|
||||
:ensure t
|
||||
)
|
||||
(use-package org-contrib)
|
||||
(use-package org-contacts
|
||||
:ensure t
|
||||
:after org-contrib)
|
||||
|
||||
(use-package deflate
|
||||
|
|
@ -244,7 +230,6 @@
|
|||
)
|
||||
|
||||
(use-package age
|
||||
:ensure t
|
||||
:custom
|
||||
(age-default-identity "~/.age/key")
|
||||
(age-default-recipient "~/.age/key.pub")
|
||||
|
|
@ -253,7 +238,6 @@
|
|||
|
||||
;; EPUB reader
|
||||
(use-package nov
|
||||
:ensure t
|
||||
:init
|
||||
(setq auto-mode-alist
|
||||
(map-merge 'list
|
||||
|
|
@ -262,16 +246,13 @@
|
|||
)
|
||||
|
||||
(use-package company
|
||||
:ensure t
|
||||
:config (global-company-mode)
|
||||
:diminish company-mode)
|
||||
|
||||
(use-package apt-mode
|
||||
:ensure t
|
||||
:disabled t)
|
||||
|
||||
(use-package docker
|
||||
:ensure t
|
||||
:bind ("C-c d" . docker)
|
||||
:custom
|
||||
(docker-command "podman")
|
||||
|
|
@ -280,15 +261,10 @@
|
|||
(:name "Name" :width 50 :template "{{ json .Name }}" :sort nil :format nil)
|
||||
(:name "Driver" :width 10 :template "{{ json .Driver }}" :sort nil :format nil))))
|
||||
|
||||
(use-package iedit
|
||||
:ensure t
|
||||
)
|
||||
(use-package wgrep
|
||||
:ensure t
|
||||
)
|
||||
(use-package iedit)
|
||||
(use-package wgrep)
|
||||
|
||||
(use-package apheleia
|
||||
:ensure t
|
||||
:config
|
||||
(apheleia-global-mode)
|
||||
(setf (alist-get 'ruff-isort apheleia-formatters)
|
||||
|
|
@ -318,14 +294,10 @@
|
|||
)
|
||||
|
||||
;; Note: debugging Python in a virtualenv requires debugpy to be installed inside the venv
|
||||
(use-package dape
|
||||
:ensure t
|
||||
)
|
||||
(use-package dape)
|
||||
|
||||
;; Requires poetry to be installed
|
||||
(use-package poetry
|
||||
:ensure t
|
||||
)
|
||||
(use-package poetry)
|
||||
|
||||
(defun load-python-env ()
|
||||
"Set up the Python IDE in the current project."
|
||||
|
|
@ -336,7 +308,6 @@
|
|||
(eglot-ensure))))
|
||||
|
||||
(use-package python
|
||||
:ensure t
|
||||
:bind (:map python-ts-mode-map
|
||||
("C-c C-p" . nil)
|
||||
("C-c C-l" . nil)
|
||||
|
|
@ -350,7 +321,6 @@
|
|||
|
||||
;; Jupyter notebook integration
|
||||
(use-package ein
|
||||
:ensure t
|
||||
:bind (("C-z j" . ein:run)
|
||||
:map ein:notebook-mode-map
|
||||
("C-c C-x k" . ein:notebook-switch-kernel))
|
||||
|
|
@ -364,12 +334,10 @@
|
|||
)
|
||||
|
||||
(use-package direnv
|
||||
:ensure t
|
||||
:config
|
||||
(direnv-mode))
|
||||
|
||||
(use-package rustic
|
||||
:ensure t
|
||||
:custom
|
||||
(rustic-lsp-client 'eglot)
|
||||
)
|
||||
|
|
@ -410,7 +378,6 @@
|
|||
:models (enrich-ollama-models (list-ollama-models) gptel--local-models)))
|
||||
|
||||
(use-package gptel
|
||||
:ensure t
|
||||
:hook
|
||||
;; keep-sorted start
|
||||
(gptel-mode . gptel-highlight-mode)
|
||||
|
|
@ -435,12 +402,9 @@
|
|||
(generate-ollama-declaration)
|
||||
)
|
||||
|
||||
(use-package power-mode
|
||||
:ensure t
|
||||
)
|
||||
(use-package power-mode)
|
||||
|
||||
(use-package emms
|
||||
:ensure t
|
||||
:config
|
||||
(require 'emms-setup)
|
||||
(emms-all)
|
||||
|
|
@ -461,5 +425,4 @@
|
|||
(qrencode--encode-to-buffer url)))))
|
||||
|
||||
(use-package qrencode
|
||||
:ensure t
|
||||
:bind (("C-z q" . my-qr-selection)))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue