vigiles 10.0.0 → 12.0.0
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/.claude-plugin/plugin.json +9 -0
- package/README.md +121 -86
- package/action.yml +13 -2
- package/dist/adapter-conformance.js +6 -0
- package/dist/adapter-registry.d.ts +20 -0
- package/dist/adapter-registry.js +27 -0
- package/dist/adapters/claude-code/dialect.js +15 -0
- package/dist/adapters/claude-code/hook-protocol.js +4 -0
- package/dist/adapters/claude-code/runtime.js +12 -0
- package/dist/adapters/codex/eval.js +3 -0
- package/dist/adapters/codex/hook-protocol.d.ts +9 -1
- package/dist/adapters/codex/hook-protocol.js +10 -0
- package/dist/adapters/codex/runtime.js +10 -0
- package/dist/adapters/opencode/runtime.js +4 -0
- package/dist/audit-report.d.ts +1 -1
- package/dist/audit-report.template.html +1 -1
- package/dist/audit-score.d.ts +19 -12
- package/dist/audit-score.js +65 -11
- package/dist/cli-commands.d.ts +1 -1
- package/dist/cli-commands.js +1 -0
- package/dist/cli.js +460 -29
- package/dist/core/CLAUDE.md.spec.d.ts +3 -0
- package/dist/core/CLAUDE.md.spec.js +26 -0
- package/dist/core/delegation-trifecta.d.ts +64 -0
- package/dist/core/delegation-trifecta.js +124 -0
- package/dist/core/dialect.d.ts +18 -0
- package/dist/core/hook-block-ineffective.d.ts +62 -0
- package/dist/core/hook-block-ineffective.js +153 -0
- package/dist/core/hook-matcher.d.ts +66 -0
- package/dist/core/hook-matcher.js +182 -0
- package/dist/core/hook-normalize.d.ts +43 -0
- package/dist/core/hook-normalize.js +78 -0
- package/dist/core/hook-protocol.d.ts +15 -0
- package/dist/core/lethal-trifecta.d.ts +100 -0
- package/dist/core/lethal-trifecta.js +197 -0
- package/dist/core/plugin-dir-layout.d.ts +30 -0
- package/dist/core/plugin-dir-layout.js +73 -0
- package/dist/core/rule-meta.d.ts +82 -0
- package/dist/core/rule-meta.js +266 -0
- package/dist/core/runtime.d.ts +20 -0
- package/dist/core/skill-missing-fence.d.ts +47 -0
- package/dist/core/skill-missing-fence.js +119 -0
- package/dist/core/skill-resources.d.ts +27 -0
- package/dist/core/skill-resources.js +167 -0
- package/dist/core/types.d.ts +83 -0
- package/dist/core/validate.d.ts +1 -0
- package/dist/core/validate.js +26 -4
- package/dist/eval-cache.d.ts +6 -0
- package/dist/eval-cache.js +2 -0
- package/dist/eval-lock.d.ts +192 -0
- package/dist/eval-lock.js +286 -0
- package/dist/eval.d.ts +33 -20
- package/dist/eval.js +199 -51
- package/dist/leaderboard.d.ts +1 -0
- package/dist/leaderboard.js +42 -4
- package/dist/scan.d.ts +106 -0
- package/dist/scan.js +251 -45
- package/dist/setup-plan.d.ts +43 -3
- package/dist/setup-plan.js +78 -6
- package/hooks/eval-lock-nudge.sh +21 -0
- package/package.json +1 -1
- package/skills/test-harness/SKILL.md +27 -0
|
@@ -190,6 +190,33 @@ job that asserts the capability is present, run **`vigiles test --no-skip`** so
|
|
|
190
190
|
skipped tier fails — a green-with-skips is untested surface. Keep unit +
|
|
191
191
|
deterministic tests in CI (free); run evals locally or on a schedule with auth.
|
|
192
192
|
|
|
193
|
+
## Step 5 — Lock the eval so CI stays honest (you do this automatically)
|
|
194
|
+
|
|
195
|
+
Real-model evals run on the user's subscription — locally, never in CI. So **as
|
|
196
|
+
part of writing an eval, you keep its result fresh for them.** Do these two things
|
|
197
|
+
without being asked:
|
|
198
|
+
|
|
199
|
+
1. **Give every eval a `name`.** That's what the lock keys on.
|
|
200
|
+
2. **After running it, commit the lock:**
|
|
201
|
+
|
|
202
|
+
```bash
|
|
203
|
+
vigiles eval --update # records the result → .vigiles/eval-locks/<name>.lock.json
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
Then commit that file. CI runs `vigiles eval --check` (no model) to verify it
|
|
207
|
+
still matches the inputs — so a later edit that forgets to re-eval fails loud
|
|
208
|
+
instead of shipping stale numbers.
|
|
209
|
+
|
|
210
|
+
**When you later change a skill's description or prompts, re-run `vigiles eval
|
|
211
|
+
--update` and commit the updated lock** — the change altered what the eval
|
|
212
|
+
measures. (vigiles also nudges you: when a lock exists, a `SKILL.md` edit triggers
|
|
213
|
+
a non-blocking reminder.)
|
|
214
|
+
|
|
215
|
+
Why it's cheap: `--check` only hashes inputs (skill text, prompts, model). A
|
|
216
|
+
**threshold** change in the test re-uses the saved numbers (no model); only an
|
|
217
|
+
**input** change needs a fresh `--update`. Full mechanics:
|
|
218
|
+
[`docs/harness-testing.md`](../../docs/harness-testing.md#keep-eval-results-fresh-in-ci-the-lock).
|
|
219
|
+
|
|
193
220
|
## When the user didn't say what to test
|
|
194
221
|
|
|
195
222
|
Don't ask them to specify — **pick something real and demonstrate.** Scan the
|