@codyswann/lisa 2.271.0 → 2.272.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/dist/core/upstream-evidence-manifest.d.ts.map +1 -1
- package/dist/core/upstream-evidence-manifest.js +6 -2
- package/dist/core/upstream-evidence-manifest.js.map +1 -1
- package/dist/health/agentic.d.ts +73 -0
- package/dist/health/agentic.d.ts.map +1 -0
- package/dist/health/agentic.js +328 -0
- package/dist/health/agentic.js.map +1 -0
- package/dist/health/contract.js +2 -3
- package/dist/health/contract.js.map +1 -1
- package/dist/health/deadline.d.ts.map +1 -1
- package/dist/health/deadline.js +0 -1
- package/dist/health/deadline.js.map +1 -1
- package/dist/health/index.d.ts +1 -0
- package/dist/health/index.d.ts.map +1 -1
- package/dist/health/index.js +1 -0
- package/dist/health/index.js.map +1 -1
- package/package.json +3 -2
- 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-cursor/.claude-plugin/plugin.json +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/verify-health-agentic-built.mjs +842 -0
- package/scripts/verify-health-contract-built.mjs +24 -4
- package/ui/README.md +15 -11
|
@@ -81,8 +81,8 @@ try {
|
|
|
81
81
|
{
|
|
82
82
|
check: "agent.review",
|
|
83
83
|
layer: "agentic",
|
|
84
|
-
status: "
|
|
85
|
-
reason: "The agent review found
|
|
84
|
+
status: "warn",
|
|
85
|
+
reason: "The agent review found a concern for operator review.",
|
|
86
86
|
},
|
|
87
87
|
];
|
|
88
88
|
const full = health.validateHealthResult({
|
|
@@ -94,12 +94,32 @@ try {
|
|
|
94
94
|
findings: fullFindings,
|
|
95
95
|
summary: health.summarizeHealthFindings(fullFindings),
|
|
96
96
|
});
|
|
97
|
-
equal(full.summary.counts, { pass: 1, warn:
|
|
98
|
-
equal(full.summary.verdict, "
|
|
97
|
+
equal(full.summary.counts, { pass: 1, warn: 1, fail: 0 });
|
|
98
|
+
equal(full.summary.verdict, "in band");
|
|
99
99
|
check(
|
|
100
100
|
Object.isFrozen(full) && Object.isFrozen(full.findings),
|
|
101
101
|
"result is frozen"
|
|
102
102
|
);
|
|
103
|
+
const historicalFailFindings = [
|
|
104
|
+
fullFindings[0],
|
|
105
|
+
{
|
|
106
|
+
check: "agent.historical-review",
|
|
107
|
+
layer: "agentic",
|
|
108
|
+
status: "fail",
|
|
109
|
+
reason: "The v1 contract historically permits an agentic failure.",
|
|
110
|
+
},
|
|
111
|
+
];
|
|
112
|
+
const historicalFull = health.validateHealthResult({
|
|
113
|
+
schemaVersion: 1,
|
|
114
|
+
runId: "health-run-historical-full",
|
|
115
|
+
mode: "full",
|
|
116
|
+
startedAt: "2026-07-20T12:04:00.000Z",
|
|
117
|
+
completedAt: "2026-07-20T12:05:00.000Z",
|
|
118
|
+
findings: historicalFailFindings,
|
|
119
|
+
summary: health.summarizeHealthFindings(historicalFailFindings),
|
|
120
|
+
});
|
|
121
|
+
equal(historicalFull.summary.counts, { pass: 1, warn: 0, fail: 1 });
|
|
122
|
+
equal(historicalFull.summary.verdict, "drift detected");
|
|
103
123
|
console.log("[EVIDENCE: health-v1-built-contract]");
|
|
104
124
|
|
|
105
125
|
const neverRunProject = await mkdtemp(
|
package/ui/README.md
CHANGED
|
@@ -126,14 +126,16 @@ product features, secrets, or business logic is never proposed.
|
|
|
126
126
|
When the engine lands, `starter.*` should join the `lisa sync` registry so
|
|
127
127
|
the section above governs it like every other setting.
|
|
128
128
|
|
|
129
|
-
## Health (
|
|
129
|
+
## Health (contract, deterministic probes, and optional composition available)
|
|
130
130
|
|
|
131
131
|
The **Health** section answers two questions with different lifecycles. Health
|
|
132
|
-
v1 now
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
132
|
+
v1 now ships its shared result and persistence contract, deterministic fast
|
|
133
|
+
path, and harness-neutral optional agentic composition API at
|
|
134
|
+
`@codyswann/lisa/health`. Completed results can be validated and atomically
|
|
135
|
+
stored at the gitignored `.lisa/health/latest.json`; `health.schedule` is the
|
|
136
|
+
only v1 configuration key and accepts `off`, `daily`, or `weekly`. The
|
|
137
|
+
`/lisa:health` skill and command, console button and readback, and scheduler
|
|
138
|
+
remain downstream work.
|
|
137
139
|
|
|
138
140
|
**Is Lisa on the latest version?** — always-on status. Lisa's CLI already
|
|
139
141
|
checks npm on every invocation; the console surfaces the result permanently
|
|
@@ -155,14 +157,16 @@ the cron, and the CLI share a single implementation:
|
|
|
155
157
|
`lisa sync --dry-run` (config fully populated, artifacts in sync), git
|
|
156
158
|
hooks installed and unmodified, plugins enabled and version-current, CI
|
|
157
159
|
workflow drift vs the stack template, rulesets present.
|
|
158
|
-
- **
|
|
160
|
+
- **Optional agentic composition** (judges what a diff can't): whether local overrides
|
|
159
161
|
(`eslint.config.local.ts`, grandfathered globs) still serve their original
|
|
160
162
|
purpose, whether detected drift looks intentional or accidental, whether
|
|
161
|
-
skipped CI jobs and disabled gates have a recorded justification.
|
|
163
|
+
skipped CI jobs and disabled gates have a recorded justification. The
|
|
164
|
+
shipped composition API accepts an injected evaluator; harness orchestration
|
|
165
|
+
remains the responsibility of the downstream `/lisa:health` skill.
|
|
162
166
|
|
|
163
|
-
|
|
164
|
-
produced each finding)
|
|
165
|
-
visible in the section.
|
|
167
|
+
The downstream console will render results as a per-check table (pass / warn /
|
|
168
|
+
fail, with the layer that produced each finding) and keep the last full check's
|
|
169
|
+
date and verdict visible in the section.
|
|
166
170
|
|
|
167
171
|
### Remote-environment requirements
|
|
168
172
|
|