promptwheel 0.7.4 → 0.7.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/INTEGRATE.md +32 -42
- package/README.md +95 -181
- package/bin/promptwheel.d.ts +306 -0
- package/bin/promptwheel.mjs +165 -287
- package/package.json +8 -6
- package/packs/security/README.md +16 -6
package/package.json
CHANGED
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "promptwheel",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.6",
|
|
4
4
|
"description": "A deterministic, zero-LLM check for your coding loop. It proves every change earned its win by re-running the result from the agent's source edits alone, so a green that came from editing the test reads GAMED. Runs in CI or a Claude Code hook, or import { check } in process.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
|
-
"promptwheel": "bin/promptwheel.mjs"
|
|
8
|
-
"pw": "bin/promptwheel.mjs"
|
|
7
|
+
"promptwheel": "bin/promptwheel.mjs"
|
|
9
8
|
},
|
|
9
|
+
"types": "./bin/promptwheel.d.ts",
|
|
10
10
|
"exports": {
|
|
11
|
-
".":
|
|
11
|
+
".": {
|
|
12
|
+
"types": "./bin/promptwheel.d.ts",
|
|
13
|
+
"default": "./bin/promptwheel.mjs"
|
|
14
|
+
},
|
|
12
15
|
"./bin/promptwheel.mjs": "./bin/promptwheel.mjs",
|
|
13
|
-
"./package.json": "./package.json"
|
|
14
|
-
"./packs/*": "./packs/*"
|
|
16
|
+
"./package.json": "./package.json"
|
|
15
17
|
},
|
|
16
18
|
"files": [
|
|
17
19
|
"bin",
|
package/packs/security/README.md
CHANGED
|
@@ -9,18 +9,28 @@ lower the count by editing the pattern file or a config, only by fixing the code
|
|
|
9
9
|
|
|
10
10
|
## Use it
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
The pack ships inside the `promptwheel` package, not in your repo, so install it with the
|
|
13
|
+
preset:
|
|
13
14
|
|
|
14
|
-
```
|
|
15
|
-
|
|
15
|
+
```bash
|
|
16
|
+
promptwheel init --preset security # or --preset security-antihack, which adds the tripwires
|
|
16
17
|
```
|
|
17
18
|
|
|
18
|
-
|
|
19
|
+
`init` copies the pack into `.promptwheel/packs/security/` and writes a `security_findings`
|
|
20
|
+
metric that runs it from there. Commit the pack with the config: the gate measures in clean
|
|
21
|
+
git worktrees, so a pack that is not in git is absent at both refs and the metric reads
|
|
22
|
+
`unmeasurable` (init warns when `.promptwheel/` is gitignored; change that rule to
|
|
23
|
+
`.promptwheel/*` plus `!.promptwheel/packs/`, since git cannot re-include a file under an
|
|
24
|
+
ignored directory). Then gate as usual:
|
|
19
25
|
|
|
20
26
|
```bash
|
|
21
27
|
promptwheel run --working # fails if security_findings increased
|
|
22
28
|
```
|
|
23
29
|
|
|
30
|
+
`pack.json` is the same metric as a config fragment for `extends`
|
|
31
|
+
(`{ "extends": ["packs/security/pack.json"] }`); its command is relative to a repo that
|
|
32
|
+
holds the pack at `packs/security/`, such as a vendored copy or this repository.
|
|
33
|
+
|
|
24
34
|
A finding-count that drops because you fixed the code is a `PASS`; a "fix" that
|
|
25
35
|
only survives with test/config/pattern edits reverted is `GAMED`.
|
|
26
36
|
|
|
@@ -46,7 +56,7 @@ Each pattern ships with its own false-positive guards (the `exclude` regexes).
|
|
|
46
56
|
|
|
47
57
|
This is the **regex-portable** slice. The other ~75 recommended invariants
|
|
48
58
|
(auth-enforcement, authz-revocation, tenant-isolation, dataflow-tainted sinks)
|
|
49
|
-
need
|
|
50
|
-
|
|
59
|
+
need an AST + dataflow engine and are a possible follow-up, not part of this
|
|
60
|
+
pack. The point of v0.1 is the architecture: security invariants are
|
|
51
61
|
now a first-class, un-gameable PromptWheel metric. Zero dependencies; the scanner
|
|
52
62
|
is one file (`scan.mjs`).
|