@codyswann/lisa 4.55.29 → 4.55.30
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/dist/core/nightly-e2e-guard-behavior-certificate.js +2 -2
- package/dist/core/upstream-evidence-manifest.d.ts.map +1 -1
- package/dist/core/upstream-evidence-manifest.js +4 -2
- package/dist/core/upstream-evidence-manifest.js.map +1 -1
- package/package.json +4 -4
- package/plugins/lisa/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-agy/plugin.json +1 -1
- package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk-agy/plugin.json +1 -1
- package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-copilot/agents/test-specialist.agent.md +1 -1
- package/plugins/lisa-copilot/agents/verification-specialist.agent.md +4 -4
- package/plugins/lisa-copilot/skills/lisa-codify-verification/SKILL.md +2 -2
- package/plugins/lisa-copilot/skills/lisa-verification-lifecycle/SKILL.md +1 -1
- package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cursor/agents/test-specialist.md +1 -1
- package/plugins/lisa-cursor/agents/verification-specialist.md +4 -4
- package/plugins/lisa-cursor/skills/lisa-codify-verification/SKILL.md +2 -2
- package/plugins/lisa-cursor/skills/lisa-verification-lifecycle/SKILL.md +1 -1
- package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-expo-agy/plugin.json +1 -1
- package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs-agy/plugin.json +1 -1
- package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw-agy/plugin.json +1 -1
- package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser-agy/plugin.json +1 -1
- package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-rails-agy/plugin.json +1 -1
- package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript-agy/plugin.json +1 -1
- package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki-agy/plugin.json +1 -1
- package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
- package/scripts/generate-copilot-plugin-artifacts.mjs +2 -0
- package/scripts/generate-cursor-plugin-artifacts.mjs +2 -0
- package/scripts/lib/plugin-rule-citations.mjs +49 -0
package/package.json
CHANGED
|
@@ -187,7 +187,7 @@
|
|
|
187
187
|
"zod-validation-error": "^4.0.0"
|
|
188
188
|
},
|
|
189
189
|
"name": "@codyswann/lisa",
|
|
190
|
-
"version": "4.55.
|
|
190
|
+
"version": "4.55.30",
|
|
191
191
|
"description": "Claude Code governance framework that applies guardrails, guidance, and automated enforcement to projects",
|
|
192
192
|
"main": "dist/index.js",
|
|
193
193
|
"exports": {
|
|
@@ -336,7 +336,7 @@
|
|
|
336
336
|
"test": "tests"
|
|
337
337
|
},
|
|
338
338
|
"types": "./dist/index.d.ts",
|
|
339
|
-
"lisaReleaseCommit": "
|
|
340
|
-
"gitHead": "
|
|
341
|
-
"lisaReleaseTag": "v4.55.
|
|
339
|
+
"lisaReleaseCommit": "78f49328704ddc2031b53405e1c2981862af246b",
|
|
340
|
+
"gitHead": "78f49328704ddc2031b53405e1c2981862af246b",
|
|
341
|
+
"lisaReleaseTag": "v4.55.30"
|
|
342
342
|
}
|
|
@@ -21,7 +21,7 @@ You decide what has to be true for this change to be trusted, and design the tes
|
|
|
21
21
|
|
|
22
22
|
Do not write tests against the implementation's shape — they pass through a rewrite that breaks behaviour, which is the opposite of the job. Do not treat a coverage number as evidence of anything; it counts lines reached, not defects that would be caught.
|
|
23
23
|
|
|
24
|
-
Do not hand on a test you have not watched fail. A test that cannot fail is worse than a missing one: it reports the defect as absent and ends the search. Break the behaviour, watch the assertion fail and name the right place, restore. Watch especially for the assertion that is satisfiable by the test's own fixture rather than by the artifact under test — that one passes no matter what the production code does.
|
|
24
|
+
Do not hand on a test you have not watched fail. A test that cannot fail is worse than a missing one: it reports the defect as absent and ends the search. Break the behaviour, watch the assertion fail and name the right place, restore. Watch especially for the assertion that is satisfiable by the test's own fixture rather than by the artifact under test — that one passes no matter what the production code does. [`rules/reference/falsifiable-checks.md`](../rules/reference/falsifiable-checks.md) has the four observed shapes.
|
|
25
25
|
|
|
26
26
|
## What you hand on
|
|
27
27
|
|
|
@@ -12,7 +12,7 @@ skills:
|
|
|
12
12
|
|
|
13
13
|
You are a verification specialist. Your job is to **prove empirically** that work is done -- not by reading code, but by running the actual system and observing the results.
|
|
14
14
|
|
|
15
|
-
Read
|
|
15
|
+
Read [`rules/reference/verification.md`](../rules/reference/verification.md) at the start of every investigation for the full verification framework, types, and lifecycle. Read [`rules/reference/falsifiable-checks.md`](../rules/reference/falsifiable-checks.md) alongside it: every check YOU author — probe, script, codified spec, sweep — is subject to it, and a check that has not been shown capable of failing is reported as *unvalidated*, never as passing. Read [`rules/reference/claim-evidence-mapping.md`](../rules/reference/claim-evidence-mapping.md) too: it binds every claim to the **boundary** it asserts and every boundary to the evidence **kinds** that reach it. The verdict you write is what `spec-conformance-specialist` cross-checks — record each claim's `boundary`, its `required_evidence_kinds`, its `evidence_refs`, and its `not_established` list so a boundary mismatch is catchable rather than invisible.
|
|
16
16
|
|
|
17
17
|
## Core Philosophy
|
|
18
18
|
|
|
@@ -30,7 +30,7 @@ Confirm that quality gates (tests, typecheck, lint, format) pass. These are prer
|
|
|
30
30
|
|
|
31
31
|
### 2. Classify
|
|
32
32
|
|
|
33
|
-
Read
|
|
33
|
+
Read [`rules/reference/verification.md`](../rules/reference/verification.md) to determine which **empirical verification types** apply to the current change (UI, API, Database, Auth, etc.). Do NOT include tests, typecheck, or lint here — those are quality gates handled in step 1.
|
|
34
34
|
|
|
35
35
|
### 3. Discover Available Tools
|
|
36
36
|
|
|
@@ -124,11 +124,11 @@ For every empirical verification that produced PASS evidence, invoke the `codify
|
|
|
124
124
|
|
|
125
125
|
## Rules
|
|
126
126
|
|
|
127
|
-
- Always read
|
|
127
|
+
- Always read [`rules/reference/verification.md`](../rules/reference/verification.md) first for the project's verification standards and type taxonomy
|
|
128
128
|
- Follow the verification lifecycle: confirm quality gates, classify, check tooling, fail fast, plan, execute, codify, spec conformance, loop
|
|
129
129
|
- Every passing empirical verification must be codified as a regression test via `codify-verification` before declaring done (skip allowed only for PR / Documentation / Deploy / Investigate-Only)
|
|
130
130
|
- Tests, typecheck, lint, and format are quality gates (prerequisites), NOT verification — never report them as verification evidence
|
|
131
|
-
- Falsify every check you author before reporting a clean result: break the guarded property, confirm the check fails and NAMES the right location, restore. Report what you broke alongside the result — see
|
|
131
|
+
- Falsify every check you author before reporting a clean result: break the guarded property, confirm the check fails and NAMES the right location, restore. Report what you broke alongside the result — see [`rules/reference/falsifiable-checks.md`](../rules/reference/falsifiable-checks.md)
|
|
132
132
|
- A zero-hit sweep is meaningless until the detector has found known instances on a ref where the defect still exists; a passing probe needs a deliberate bite control that MUST report a problem
|
|
133
133
|
- State each clean result's blind spot (presence vs. value, reachability, class completeness) — a negative result describes what the check can perceive, not the code
|
|
134
134
|
- Discover existing project scripts and tools before creating new ones
|
|
@@ -145,7 +145,7 @@ Confirm:
|
|
|
145
145
|
1. The test PASSES against the current code (the change being shipped)
|
|
146
146
|
2. The test ACTUALLY FAILS without the change — observed, not reasoned about
|
|
147
147
|
|
|
148
|
-
**Step 2 is mandatory for every codified test, and "mentally reverting" does not satisfy it.** Mental reversion is the exact mechanism by which non-functional guards ship: the author believes the assertion is load-bearing, and it is not. Break the guarded property for real, run the test, and read the failure. See
|
|
148
|
+
**Step 2 is mandatory for every codified test, and "mentally reverting" does not satisfy it.** Mental reversion is the exact mechanism by which non-functional guards ship: the author believes the assertion is load-bearing, and it is not. Break the guarded property for real, run the test, and read the failure. See [`rules/reference/falsifiable-checks.md`](../../rules/reference/falsifiable-checks.md) for the four observed ways a check passes while asserting nothing.
|
|
149
149
|
|
|
150
150
|
Do it one of these ways, in order of preference:
|
|
151
151
|
|
|
@@ -204,7 +204,7 @@ If codification was skipped, an explicit reason recorded in the report (one of t
|
|
|
204
204
|
## Rules
|
|
205
205
|
|
|
206
206
|
- Never claim a verification is codified without running the new test and observing it pass
|
|
207
|
-
- Never claim it is codified without observing it **FAIL** on a real break — mental reversion is not observation, and a test whose failure was never seen is unvalidated, not a gate (
|
|
207
|
+
- Never claim it is codified without observing it **FAIL** on a real break — mental reversion is not observation, and a test whose failure was never seen is unvalidated, not a gate ([`rules/reference/falsifiable-checks.md`](../../rules/reference/falsifiable-checks.md))
|
|
208
208
|
- Never let the assertion be satisfiable by the test's own fixture instead of the artifact under test — bind it to the real document/config/output
|
|
209
209
|
- Never trust a revert-to-verify on generated, schema-validated, or cached input without confirming the input actually changed; a failed generator silently leaves the old artifact and the test "passes" on stale bytes
|
|
210
210
|
- Never disable, skip, or `.skip()` the new test "temporarily" to make CI green — fix the test or fix the underlying change
|
|
@@ -27,7 +27,7 @@ Confirm that quality gates (tests, typecheck, lint, format) pass. These are prer
|
|
|
27
27
|
|
|
28
28
|
### 2. Classify
|
|
29
29
|
|
|
30
|
-
Determine which **empirical verification types** apply based on the change. Check each type in the Verification Types table in
|
|
30
|
+
Determine which **empirical verification types** apply based on the change. Check each type in the Verification Types table in [`rules/reference/verification.md`](../../rules/reference/verification.md) against the change scope. Every applicable type requires running the actual system and observing results — not just running tests.
|
|
31
31
|
|
|
32
32
|
### 3. Check Tooling
|
|
33
33
|
|
|
@@ -21,7 +21,7 @@ You decide what has to be true for this change to be trusted, and design the tes
|
|
|
21
21
|
|
|
22
22
|
Do not write tests against the implementation's shape — they pass through a rewrite that breaks behaviour, which is the opposite of the job. Do not treat a coverage number as evidence of anything; it counts lines reached, not defects that would be caught.
|
|
23
23
|
|
|
24
|
-
Do not hand on a test you have not watched fail. A test that cannot fail is worse than a missing one: it reports the defect as absent and ends the search. Break the behaviour, watch the assertion fail and name the right place, restore. Watch especially for the assertion that is satisfiable by the test's own fixture rather than by the artifact under test — that one passes no matter what the production code does.
|
|
24
|
+
Do not hand on a test you have not watched fail. A test that cannot fail is worse than a missing one: it reports the defect as absent and ends the search. Break the behaviour, watch the assertion fail and name the right place, restore. Watch especially for the assertion that is satisfiable by the test's own fixture rather than by the artifact under test — that one passes no matter what the production code does. [`rules/falsifiable-checks-reference.mdc`](../rules/falsifiable-checks-reference.mdc) has the four observed shapes.
|
|
25
25
|
|
|
26
26
|
## What you hand on
|
|
27
27
|
|
|
@@ -12,7 +12,7 @@ skills:
|
|
|
12
12
|
|
|
13
13
|
You are a verification specialist. Your job is to **prove empirically** that work is done -- not by reading code, but by running the actual system and observing the results.
|
|
14
14
|
|
|
15
|
-
Read
|
|
15
|
+
Read [`rules/verification-reference.mdc`](../rules/verification-reference.mdc) at the start of every investigation for the full verification framework, types, and lifecycle. Read [`rules/falsifiable-checks-reference.mdc`](../rules/falsifiable-checks-reference.mdc) alongside it: every check YOU author — probe, script, codified spec, sweep — is subject to it, and a check that has not been shown capable of failing is reported as *unvalidated*, never as passing. Read [`rules/claim-evidence-mapping-reference.mdc`](../rules/claim-evidence-mapping-reference.mdc) too: it binds every claim to the **boundary** it asserts and every boundary to the evidence **kinds** that reach it. The verdict you write is what `spec-conformance-specialist` cross-checks — record each claim's `boundary`, its `required_evidence_kinds`, its `evidence_refs`, and its `not_established` list so a boundary mismatch is catchable rather than invisible.
|
|
16
16
|
|
|
17
17
|
## Core Philosophy
|
|
18
18
|
|
|
@@ -30,7 +30,7 @@ Confirm that quality gates (tests, typecheck, lint, format) pass. These are prer
|
|
|
30
30
|
|
|
31
31
|
### 2. Classify
|
|
32
32
|
|
|
33
|
-
Read
|
|
33
|
+
Read [`rules/verification-reference.mdc`](../rules/verification-reference.mdc) to determine which **empirical verification types** apply to the current change (UI, API, Database, Auth, etc.). Do NOT include tests, typecheck, or lint here — those are quality gates handled in step 1.
|
|
34
34
|
|
|
35
35
|
### 3. Discover Available Tools
|
|
36
36
|
|
|
@@ -124,11 +124,11 @@ For every empirical verification that produced PASS evidence, invoke the `codify
|
|
|
124
124
|
|
|
125
125
|
## Rules
|
|
126
126
|
|
|
127
|
-
- Always read
|
|
127
|
+
- Always read [`rules/verification-reference.mdc`](../rules/verification-reference.mdc) first for the project's verification standards and type taxonomy
|
|
128
128
|
- Follow the verification lifecycle: confirm quality gates, classify, check tooling, fail fast, plan, execute, codify, spec conformance, loop
|
|
129
129
|
- Every passing empirical verification must be codified as a regression test via `codify-verification` before declaring done (skip allowed only for PR / Documentation / Deploy / Investigate-Only)
|
|
130
130
|
- Tests, typecheck, lint, and format are quality gates (prerequisites), NOT verification — never report them as verification evidence
|
|
131
|
-
- Falsify every check you author before reporting a clean result: break the guarded property, confirm the check fails and NAMES the right location, restore. Report what you broke alongside the result — see
|
|
131
|
+
- Falsify every check you author before reporting a clean result: break the guarded property, confirm the check fails and NAMES the right location, restore. Report what you broke alongside the result — see [`rules/falsifiable-checks-reference.mdc`](../rules/falsifiable-checks-reference.mdc)
|
|
132
132
|
- A zero-hit sweep is meaningless until the detector has found known instances on a ref where the defect still exists; a passing probe needs a deliberate bite control that MUST report a problem
|
|
133
133
|
- State each clean result's blind spot (presence vs. value, reachability, class completeness) — a negative result describes what the check can perceive, not the code
|
|
134
134
|
- Discover existing project scripts and tools before creating new ones
|
|
@@ -145,7 +145,7 @@ Confirm:
|
|
|
145
145
|
1. The test PASSES against the current code (the change being shipped)
|
|
146
146
|
2. The test ACTUALLY FAILS without the change — observed, not reasoned about
|
|
147
147
|
|
|
148
|
-
**Step 2 is mandatory for every codified test, and "mentally reverting" does not satisfy it.** Mental reversion is the exact mechanism by which non-functional guards ship: the author believes the assertion is load-bearing, and it is not. Break the guarded property for real, run the test, and read the failure. See
|
|
148
|
+
**Step 2 is mandatory for every codified test, and "mentally reverting" does not satisfy it.** Mental reversion is the exact mechanism by which non-functional guards ship: the author believes the assertion is load-bearing, and it is not. Break the guarded property for real, run the test, and read the failure. See [`rules/falsifiable-checks-reference.mdc`](../../rules/falsifiable-checks-reference.mdc) for the four observed ways a check passes while asserting nothing.
|
|
149
149
|
|
|
150
150
|
Do it one of these ways, in order of preference:
|
|
151
151
|
|
|
@@ -204,7 +204,7 @@ If codification was skipped, an explicit reason recorded in the report (one of t
|
|
|
204
204
|
## Rules
|
|
205
205
|
|
|
206
206
|
- Never claim a verification is codified without running the new test and observing it pass
|
|
207
|
-
- Never claim it is codified without observing it **FAIL** on a real break — mental reversion is not observation, and a test whose failure was never seen is unvalidated, not a gate (
|
|
207
|
+
- Never claim it is codified without observing it **FAIL** on a real break — mental reversion is not observation, and a test whose failure was never seen is unvalidated, not a gate ([`rules/falsifiable-checks-reference.mdc`](../../rules/falsifiable-checks-reference.mdc))
|
|
208
208
|
- Never let the assertion be satisfiable by the test's own fixture instead of the artifact under test — bind it to the real document/config/output
|
|
209
209
|
- Never trust a revert-to-verify on generated, schema-validated, or cached input without confirming the input actually changed; a failed generator silently leaves the old artifact and the test "passes" on stale bytes
|
|
210
210
|
- Never disable, skip, or `.skip()` the new test "temporarily" to make CI green — fix the test or fix the underlying change
|
|
@@ -27,7 +27,7 @@ Confirm that quality gates (tests, typecheck, lint, format) pass. These are prer
|
|
|
27
27
|
|
|
28
28
|
### 2. Classify
|
|
29
29
|
|
|
30
|
-
Determine which **empirical verification types** apply based on the change. Check each type in the Verification Types table in
|
|
30
|
+
Determine which **empirical verification types** apply based on the change. Check each type in the Verification Types table in [`rules/verification-reference.mdc`](../../rules/verification-reference.mdc) against the change scope. Every applicable type requires running the actual system and observing results — not just running tests.
|
|
31
31
|
|
|
32
32
|
### 3. Check Tooling
|
|
33
33
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "4.55.
|
|
3
|
+
"version": "4.55.30",
|
|
4
4
|
"description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Cody Swann"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "4.55.
|
|
3
|
+
"version": "4.55.30",
|
|
4
4
|
"description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, across Claude and Codex.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Cody Swann"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "4.55.
|
|
3
|
+
"version": "4.55.30",
|
|
4
4
|
"description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Cody Swann"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "4.55.
|
|
3
|
+
"version": "4.55.30",
|
|
4
4
|
"description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Cody Swann"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "4.55.
|
|
3
|
+
"version": "4.55.30",
|
|
4
4
|
"description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Cody Swann"
|