@codyswann/lisa 4.6.5 → 4.6.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/dist/cli/doctor-skip-jobs-migration.d.ts.map +1 -1
- package/dist/cli/doctor-skip-jobs-migration.js +119 -13
- package/dist/cli/doctor-skip-jobs-migration.js.map +1 -1
- package/package.json +1 -1
- 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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor-skip-jobs-migration.d.ts","sourceRoot":"","sources":["../../src/cli/doctor-skip-jobs-migration.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"doctor-skip-jobs-migration.d.ts","sourceRoot":"","sources":["../../src/cli/doctor-skip-jobs-migration.ts"],"names":[],"mappings":"AAiDA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAe/C,0EAA0E;AAC1E,MAAM,WAAW,YAAY;IAC3B,4EAA4E;IAC5E,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,sDAAsD;IACtD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,6DAA6D;IAC7D,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,mDAAmD;IACnD,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,6EAA6E;IAC7E,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,2EAA2E;IAC3E,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC;AAED,yDAAyD;AACzD,MAAM,WAAW,aAAa;IAC5B,mDAAmD;IACnD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,gDAAgD;IAChD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,0DAA0D;IAC1D,QAAQ,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,CAAC;CAC1C;AAsID;;;;GAIG;AACH,wBAAsB,cAAc,CAClC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,aAAa,EAAE,CAAC,CAQ1B;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CA8CzD;AA4HD;;;;;;;;GAQG;AACH,wBAAsB,sBAAsB,CAC1C,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,WAAW,CAAC,CAwBtB"}
|
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Doctor check: report
|
|
3
|
-
*
|
|
2
|
+
* Doctor check: report what to do about each `skip_jobs` token a caller still
|
|
3
|
+
* passes — the gate declaration that replaces it, or, for a token no gate
|
|
4
|
+
* governs, that there is no declaration to write and the token should go.
|
|
5
|
+
*
|
|
6
|
+
* The second half is not a footnote. `SKIP_JOB_TOKENS` has more entries than
|
|
7
|
+
* `QUALITY_JOB_GATES`, so some tokens resolve to `gates: []`, and telling
|
|
8
|
+
* their operator to declare a gate names a destination that does not exist
|
|
9
|
+
* (CodySwannGT/lisa#3101). Both the per-token lines and the summary above them
|
|
10
|
+
* are derived from the same per-token classification so they cannot disagree.
|
|
4
11
|
*
|
|
5
12
|
* `skip_jobs` is being retired in favour of `moment` plus gate levels —
|
|
6
13
|
* `quality.yml`'s own `moment` input says so — and it is unsafe by
|
|
@@ -191,10 +198,18 @@ export function describeToken(entry) {
|
|
|
191
198
|
return (`${entry.token} → the ${entry.gate ?? ""} gate cannot be declared at this ` +
|
|
192
199
|
"caller's moment, so there is no legal declaration — keep the token");
|
|
193
200
|
case "unmappable":
|
|
194
|
-
return (`${entry.token} → no gate
|
|
195
|
-
"
|
|
201
|
+
return (`${entry.token} → no gate governs ${entry.jobs.join(", ")} ` +
|
|
202
|
+
"(never converted to a gate façade), so there is no declaration to " +
|
|
203
|
+
"write for this token — keep it, because deleting it lets that job run");
|
|
196
204
|
case "inert":
|
|
197
|
-
|
|
205
|
+
// The defect this branch was fixed for: it used to stop at "suppresses
|
|
206
|
+
// nothing", and the summary then told EVERY operator to declare a gate.
|
|
207
|
+
// For a token with `gates: []` there is no gate id to write, so the
|
|
208
|
+
// instruction named a destination that does not exist and left the
|
|
209
|
+
// operator further from a working configuration than the token did.
|
|
210
|
+
return (`${entry.token} → no job honours this token and no gate governs it, ` +
|
|
211
|
+
"so it suppresses nothing and there is no gate to declare in its " +
|
|
212
|
+
"place — delete it from skip_jobs");
|
|
198
213
|
case "retired":
|
|
199
214
|
// Distinct from `unknown` on purpose. The default branch below tells the
|
|
200
215
|
// reader to check for a space after a comma, which is wrong advice for a
|
|
@@ -206,6 +221,104 @@ export function describeToken(entry) {
|
|
|
206
221
|
"nothing (check for a space after a comma)");
|
|
207
222
|
}
|
|
208
223
|
}
|
|
224
|
+
/**
|
|
225
|
+
* Count the token classes the summary has to speak about separately.
|
|
226
|
+
* @param callers - Every caller reported
|
|
227
|
+
* @returns The per-class counts
|
|
228
|
+
*/
|
|
229
|
+
function countTokens(callers) {
|
|
230
|
+
const tokens = callers.flatMap(caller => [...caller.tokens]);
|
|
231
|
+
const suppressing = tokens.filter(entry => entry.jobs.length > 0);
|
|
232
|
+
const declarable = suppressing.filter(entry => entry.declaration !== null).length;
|
|
233
|
+
return {
|
|
234
|
+
total: tokens.length,
|
|
235
|
+
suppressing: suppressing.length,
|
|
236
|
+
declarable,
|
|
237
|
+
keepers: suppressing.length - declarable,
|
|
238
|
+
hollow: tokens.length - suppressing.length,
|
|
239
|
+
};
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* The tokens that really do report green having run nothing.
|
|
243
|
+
* @param count - How many
|
|
244
|
+
* @returns The sentence
|
|
245
|
+
*/
|
|
246
|
+
function falselyGreen(count) {
|
|
247
|
+
return count === 1
|
|
248
|
+
? "1 turns off a check that GitHub counts as SATISFIED when it is " +
|
|
249
|
+
"skipped, so it reports green having run nothing."
|
|
250
|
+
: `${count} turn off checks that GitHub counts as SATISFIED when they ` +
|
|
251
|
+
"are skipped, so they report green having run nothing.";
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* The tokens a gate declaration replaces.
|
|
255
|
+
* @param count - How many
|
|
256
|
+
* @returns The sentence
|
|
257
|
+
*/
|
|
258
|
+
function migrateThese(count) {
|
|
259
|
+
const tail = ' declaration to the "gates" block of .lisa.config.json, then delete the ' +
|
|
260
|
+
"token — declaring the gate takes the check out of the required contexts " +
|
|
261
|
+
"instead of leaving it falsely green.";
|
|
262
|
+
return count === 1
|
|
263
|
+
? `1 of those has a gate to migrate to: add the${tail}`
|
|
264
|
+
: `${count} of those have a gate to migrate to: add each${tail}`;
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* The tokens that suppress a job no declaration can replace.
|
|
268
|
+
*
|
|
269
|
+
* Deleting one of these is not the same edit as deleting a hollow token: the
|
|
270
|
+
* job it was suppressing starts running. That is the operator's call to make,
|
|
271
|
+
* and they cannot make it from a line that only says "migrate".
|
|
272
|
+
* @param count - How many
|
|
273
|
+
* @returns The sentence
|
|
274
|
+
*/
|
|
275
|
+
function keepThese(count) {
|
|
276
|
+
const why = " no declaration to write (no gate, or none legal at this caller's " +
|
|
277
|
+
"moment): keep ";
|
|
278
|
+
return count === 1
|
|
279
|
+
? `1 has${why}it, because deleting it lets the job it suppresses run.`
|
|
280
|
+
: `${count} have${why}them, because deleting one lets the job it ` +
|
|
281
|
+
"suppresses run.";
|
|
282
|
+
}
|
|
283
|
+
/**
|
|
284
|
+
* The tokens that suppress nothing and have no gate — the #3101 case.
|
|
285
|
+
* @param count - How many
|
|
286
|
+
* @returns The sentence
|
|
287
|
+
*/
|
|
288
|
+
function deleteThese(count) {
|
|
289
|
+
return count === 1
|
|
290
|
+
? "1 suppresses nothing and no gate governs it, so there is nothing to " +
|
|
291
|
+
"declare — delete that token from skip_jobs."
|
|
292
|
+
: `${count} suppress nothing and no gate governs them, so there is ` +
|
|
293
|
+
"nothing to declare — delete those tokens from skip_jobs.";
|
|
294
|
+
}
|
|
295
|
+
/**
|
|
296
|
+
* The summary above the per-token lines, saying only what holds for the tokens
|
|
297
|
+
* actually found.
|
|
298
|
+
*
|
|
299
|
+
* Written per class rather than once for all of them, because it used to be a
|
|
300
|
+
* blanket claim: every operator was told the tokens report green having run
|
|
301
|
+
* nothing and that declaring the gate fixes it. Neither half holds for a token
|
|
302
|
+
* with no jobs and no gate — it suppresses nothing, and there is no gate id to
|
|
303
|
+
* declare. An operator who followed that text on such a token wrote a
|
|
304
|
+
* declaration for a gate that does not exist. The aggregate and the per-token
|
|
305
|
+
* lines have to agree, so both are now derived from the same classification.
|
|
306
|
+
* @param callers - Every caller reported
|
|
307
|
+
* @returns The summary sentences, space-joined
|
|
308
|
+
*/
|
|
309
|
+
function summarize(callers) {
|
|
310
|
+
const counts = countTokens(callers);
|
|
311
|
+
return [
|
|
312
|
+
`${counts.total} skip_jobs token(s) still passed.`,
|
|
313
|
+
...(counts.suppressing > 0 ? [falselyGreen(counts.suppressing)] : []),
|
|
314
|
+
...(counts.declarable > 0 ? [migrateThese(counts.declarable)] : []),
|
|
315
|
+
...(counts.keepers > 0 ? [keepThese(counts.keepers)] : []),
|
|
316
|
+
...(counts.hollow > 0 ? [deleteThese(counts.hollow)] : []),
|
|
317
|
+
"doctor does not edit the workflow, so confirm the same checks still run " +
|
|
318
|
+
"afterwards.",
|
|
319
|
+
"Same answer on demand: `node scripts/lisa-gates.mjs skip-jobs --json`.",
|
|
320
|
+
].join(" ");
|
|
321
|
+
}
|
|
209
322
|
/**
|
|
210
323
|
* Report the gate declarations that replace a caller's `skip_jobs` tokens.
|
|
211
324
|
*
|
|
@@ -229,17 +342,10 @@ export async function checkSkipJobsMigration(targetPath) {
|
|
|
229
342
|
.map(describeToken)
|
|
230
343
|
.join("; ")}`)
|
|
231
344
|
.join(" | ");
|
|
232
|
-
const count = callers.reduce((total, caller) => total + caller.tokens.length, 0);
|
|
233
345
|
return {
|
|
234
346
|
name: CHECK_NAME,
|
|
235
347
|
status: "warn",
|
|
236
|
-
detail: `${
|
|
237
|
-
`counts as SATISFIED on GitHub, so each of these reports green having ` +
|
|
238
|
-
`run nothing; declaring the gate instead removes it from the required ` +
|
|
239
|
-
`contexts. Add the declarations to the "gates" block of ` +
|
|
240
|
-
`.lisa.config.json, then delete the token — doctor does not edit the ` +
|
|
241
|
-
`workflow, so confirm the same checks still run afterwards. Same answer ` +
|
|
242
|
-
`on demand: \`node scripts/lisa-gates.mjs skip-jobs --json\`. ${detail}`,
|
|
348
|
+
detail: `${summarize(callers)} ${detail}`,
|
|
243
349
|
};
|
|
244
350
|
}
|
|
245
351
|
//# sourceMappingURL=doctor-skip-jobs-migration.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor-skip-jobs-migration.js","sourceRoot":"","sources":["../../src/cli/doctor-skip-jobs-migration.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"doctor-skip-jobs-migration.js","sourceRoot":"","sources":["../../src/cli/doctor-skip-jobs-migration.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -147,7 +147,7 @@
|
|
|
147
147
|
"zod-validation-error": "^4.0.0"
|
|
148
148
|
},
|
|
149
149
|
"name": "@codyswann/lisa",
|
|
150
|
-
"version": "4.6.
|
|
150
|
+
"version": "4.6.6",
|
|
151
151
|
"description": "Claude Code governance framework that applies guardrails, guidance, and automated enforcement to projects",
|
|
152
152
|
"main": "dist/index.js",
|
|
153
153
|
"exports": {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "4.6.
|
|
3
|
+
"version": "4.6.6",
|
|
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.6.
|
|
3
|
+
"version": "4.6.6",
|
|
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.6.
|
|
3
|
+
"version": "4.6.6",
|
|
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.6.
|
|
3
|
+
"version": "4.6.6",
|
|
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.6.
|
|
3
|
+
"version": "4.6.6",
|
|
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"
|