@codyswann/lisa 4.27.5 → 4.27.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/all/copy-overwrite/scripts/lisa-enforcement-fallback.sh +27 -4
- package/dist/cli/doctor-enforcement-coverage.d.ts +14 -0
- package/dist/cli/doctor-enforcement-coverage.d.ts.map +1 -0
- package/dist/cli/doctor-enforcement-coverage.js +103 -0
- package/dist/cli/doctor-enforcement-coverage.js.map +1 -0
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +9 -0
- package/dist/cli/doctor.js.map +1 -1
- package/dist/core/enforcement-census-report.d.ts +19 -0
- package/dist/core/enforcement-census-report.d.ts.map +1 -0
- package/dist/core/enforcement-census-report.js +198 -0
- package/dist/core/enforcement-census-report.js.map +1 -0
- package/dist/core/enforcement-census.d.ts +177 -0
- package/dist/core/enforcement-census.d.ts.map +1 -0
- package/dist/core/enforcement-census.js +252 -0
- package/dist/core/enforcement-census.js.map +1 -0
- package/dist/core/enforcement-coverage.d.ts +168 -0
- package/dist/core/enforcement-coverage.d.ts.map +1 -0
- package/dist/core/enforcement-coverage.js +342 -0
- package/dist/core/enforcement-coverage.js.map +1 -0
- package/dist/core/lisa-owned-hash-ledger.d.ts.map +1 -1
- package/dist/core/lisa-owned-hash-ledger.js +4 -0
- package/dist/core/lisa-owned-hash-ledger.js.map +1 -1
- 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 +17 -3
- package/dist/core/upstream-evidence-manifest.js.map +1 -1
- package/package.json +4 -3
- package/plugins/lisa/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa/.codex-plugin/skills/lisa-setup-automations/SKILL.md +23 -0
- package/plugins/lisa/skills/lisa-setup-automations/SKILL.md +23 -0
- package/plugins/lisa-agy/plugin.json +1 -1
- package/plugins/lisa-agy/skills/lisa-setup-automations/SKILL.md +23 -0
- 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/skills/lisa-setup-automations/SKILL.md +23 -0
- package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cursor/skills/lisa-setup-automations/SKILL.md +23 -0
- 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/plugins/src/base/skills/lisa-setup-automations/SKILL.md +23 -0
- package/scripts/lisa-enforcement-census.mjs +168 -0
- package/scripts/lisa-enforcement-fallback.sh +27 -4
package/package.json
CHANGED
|
@@ -34,6 +34,7 @@
|
|
|
34
34
|
"cleanup:github-branches": "bash scripts/cleanup-github-branches.sh",
|
|
35
35
|
"github:status": "bash scripts/github-status-check.sh",
|
|
36
36
|
"setup:deploy-key": "bash scripts/setup-deploy-key.sh",
|
|
37
|
+
"lisa:enforcement-census": "bun run build:dist:in-place && node scripts/lisa-enforcement-census.mjs",
|
|
37
38
|
"lisa:update:local": "bash scripts/lisa-update-local.sh",
|
|
38
39
|
"lisa:commit-and-pr:local": "bash scripts/lisa-commit-and-pr-local.sh",
|
|
39
40
|
"prepublishOnly": "$npm_execpath run build",
|
|
@@ -161,7 +162,7 @@
|
|
|
161
162
|
"zod-validation-error": "^4.0.0"
|
|
162
163
|
},
|
|
163
164
|
"name": "@codyswann/lisa",
|
|
164
|
-
"version": "4.27.
|
|
165
|
+
"version": "4.27.6",
|
|
165
166
|
"description": "Claude Code governance framework that applies guardrails, guidance, and automated enforcement to projects",
|
|
166
167
|
"main": "dist/index.js",
|
|
167
168
|
"exports": {
|
|
@@ -305,6 +306,6 @@
|
|
|
305
306
|
"test": "tests"
|
|
306
307
|
},
|
|
307
308
|
"types": "./dist/index.d.ts",
|
|
308
|
-
"lisaReleaseCommit": "
|
|
309
|
-
"gitHead": "
|
|
309
|
+
"lisaReleaseCommit": "ca4a03afc00b14c943a2b4eda506f4c9483ca4ec",
|
|
310
|
+
"gitHead": "ca4a03afc00b14c943a2b4eda506f4c9483ca4ec"
|
|
310
311
|
}
|
|
@@ -207,6 +207,29 @@ project: the per-check marker dedupe converges under a single scheduled runner,
|
|
|
207
207
|
and two concurrent runs can both observe an empty open-ticket set and both
|
|
208
208
|
file. Tear-down removes it with the rest of the `lisa-auto-<project>-*` set.
|
|
209
209
|
|
|
210
|
+
**Optional automation — the fleet enforcement census.** Register
|
|
211
|
+
`lisa-auto-<project>-enforcement-census` running `/lisa:enforcement-census`
|
|
212
|
+
once a **day** only when BOTH are true of the repository being set up: it
|
|
213
|
+
maintains a fleet roster (`.lisa.workspaces.json`, the machine-local list of
|
|
214
|
+
host checkouts), and it provides the `/lisa:enforcement-census` command. Both
|
|
215
|
+
hold in the Lisa monorepo and in no ordinary host project, which is the point —
|
|
216
|
+
the census measures OTHER checkouts on the same machine, so only the workstation
|
|
217
|
+
holding the roster has a fleet to measure. Where either is absent, register
|
|
218
|
+
nothing — a host project has no fleet, and scheduling a command it does not
|
|
219
|
+
have would be a loop that fails every night — and report the census as SKIPPED
|
|
220
|
+
naming which prerequisite was missing, per the report contract. Registering
|
|
221
|
+
nothing is correct; omitting it from the report is not, because a silently
|
|
222
|
+
absent loop is indistinguishable from one that was never asked for.
|
|
223
|
+
|
|
224
|
+
It **reports and never gates**: no finding about the fleet changes an exit
|
|
225
|
+
status, and no run files a ticket. Enforcement resolves from the checkout an
|
|
226
|
+
agent is working in, so a checkout resolving no guard is protected by nothing
|
|
227
|
+
while looking identical, from inside a session, to one protected by an old
|
|
228
|
+
policy — and nothing was re-measuring that (CodySwannGT/lisa#3490). The
|
|
229
|
+
per-checkout half of the same finding is carried by `lisa doctor`, which every
|
|
230
|
+
host does get. Tear-down removes it with the rest of the `lisa-auto-<project>-*`
|
|
231
|
+
set.
|
|
232
|
+
|
|
210
233
|
**Exploratory PRD pressure gate.** `auto-start-prds=true` means "create PRDs in the ready PRD
|
|
211
234
|
lifecycle when the PRD queue has capacity," not "always create a new ready PRD." The
|
|
212
235
|
`exploratory-prds` automation uses the same PRD source queue and pressure roles reported by
|
|
@@ -207,6 +207,29 @@ project: the per-check marker dedupe converges under a single scheduled runner,
|
|
|
207
207
|
and two concurrent runs can both observe an empty open-ticket set and both
|
|
208
208
|
file. Tear-down removes it with the rest of the `lisa-auto-<project>-*` set.
|
|
209
209
|
|
|
210
|
+
**Optional automation — the fleet enforcement census.** Register
|
|
211
|
+
`lisa-auto-<project>-enforcement-census` running `/lisa:enforcement-census`
|
|
212
|
+
once a **day** only when BOTH are true of the repository being set up: it
|
|
213
|
+
maintains a fleet roster (`.lisa.workspaces.json`, the machine-local list of
|
|
214
|
+
host checkouts), and it provides the `/lisa:enforcement-census` command. Both
|
|
215
|
+
hold in the Lisa monorepo and in no ordinary host project, which is the point —
|
|
216
|
+
the census measures OTHER checkouts on the same machine, so only the workstation
|
|
217
|
+
holding the roster has a fleet to measure. Where either is absent, register
|
|
218
|
+
nothing — a host project has no fleet, and scheduling a command it does not
|
|
219
|
+
have would be a loop that fails every night — and report the census as SKIPPED
|
|
220
|
+
naming which prerequisite was missing, per the report contract. Registering
|
|
221
|
+
nothing is correct; omitting it from the report is not, because a silently
|
|
222
|
+
absent loop is indistinguishable from one that was never asked for.
|
|
223
|
+
|
|
224
|
+
It **reports and never gates**: no finding about the fleet changes an exit
|
|
225
|
+
status, and no run files a ticket. Enforcement resolves from the checkout an
|
|
226
|
+
agent is working in, so a checkout resolving no guard is protected by nothing
|
|
227
|
+
while looking identical, from inside a session, to one protected by an old
|
|
228
|
+
policy — and nothing was re-measuring that (CodySwannGT/lisa#3490). The
|
|
229
|
+
per-checkout half of the same finding is carried by `lisa doctor`, which every
|
|
230
|
+
host does get. Tear-down removes it with the rest of the `lisa-auto-<project>-*`
|
|
231
|
+
set.
|
|
232
|
+
|
|
210
233
|
**Exploratory PRD pressure gate.** `auto-start-prds=true` means "create PRDs in the ready PRD
|
|
211
234
|
lifecycle when the PRD queue has capacity," not "always create a new ready PRD." The
|
|
212
235
|
`exploratory-prds` automation uses the same PRD source queue and pressure roles reported by
|
|
@@ -207,6 +207,29 @@ project: the per-check marker dedupe converges under a single scheduled runner,
|
|
|
207
207
|
and two concurrent runs can both observe an empty open-ticket set and both
|
|
208
208
|
file. Tear-down removes it with the rest of the `lisa-auto-<project>-*` set.
|
|
209
209
|
|
|
210
|
+
**Optional automation — the fleet enforcement census.** Register
|
|
211
|
+
`lisa-auto-<project>-enforcement-census` running `/lisa:enforcement-census`
|
|
212
|
+
once a **day** only when BOTH are true of the repository being set up: it
|
|
213
|
+
maintains a fleet roster (`.lisa.workspaces.json`, the machine-local list of
|
|
214
|
+
host checkouts), and it provides the `/lisa:enforcement-census` command. Both
|
|
215
|
+
hold in the Lisa monorepo and in no ordinary host project, which is the point —
|
|
216
|
+
the census measures OTHER checkouts on the same machine, so only the workstation
|
|
217
|
+
holding the roster has a fleet to measure. Where either is absent, register
|
|
218
|
+
nothing — a host project has no fleet, and scheduling a command it does not
|
|
219
|
+
have would be a loop that fails every night — and report the census as SKIPPED
|
|
220
|
+
naming which prerequisite was missing, per the report contract. Registering
|
|
221
|
+
nothing is correct; omitting it from the report is not, because a silently
|
|
222
|
+
absent loop is indistinguishable from one that was never asked for.
|
|
223
|
+
|
|
224
|
+
It **reports and never gates**: no finding about the fleet changes an exit
|
|
225
|
+
status, and no run files a ticket. Enforcement resolves from the checkout an
|
|
226
|
+
agent is working in, so a checkout resolving no guard is protected by nothing
|
|
227
|
+
while looking identical, from inside a session, to one protected by an old
|
|
228
|
+
policy — and nothing was re-measuring that (CodySwannGT/lisa#3490). The
|
|
229
|
+
per-checkout half of the same finding is carried by `lisa doctor`, which every
|
|
230
|
+
host does get. Tear-down removes it with the rest of the `lisa-auto-<project>-*`
|
|
231
|
+
set.
|
|
232
|
+
|
|
210
233
|
**Exploratory PRD pressure gate.** `auto-start-prds=true` means "create PRDs in the ready PRD
|
|
211
234
|
lifecycle when the PRD queue has capacity," not "always create a new ready PRD." The
|
|
212
235
|
`exploratory-prds` automation uses the same PRD source queue and pressure roles reported by
|
|
@@ -207,6 +207,29 @@ project: the per-check marker dedupe converges under a single scheduled runner,
|
|
|
207
207
|
and two concurrent runs can both observe an empty open-ticket set and both
|
|
208
208
|
file. Tear-down removes it with the rest of the `lisa-auto-<project>-*` set.
|
|
209
209
|
|
|
210
|
+
**Optional automation — the fleet enforcement census.** Register
|
|
211
|
+
`lisa-auto-<project>-enforcement-census` running `/lisa:enforcement-census`
|
|
212
|
+
once a **day** only when BOTH are true of the repository being set up: it
|
|
213
|
+
maintains a fleet roster (`.lisa.workspaces.json`, the machine-local list of
|
|
214
|
+
host checkouts), and it provides the `/lisa:enforcement-census` command. Both
|
|
215
|
+
hold in the Lisa monorepo and in no ordinary host project, which is the point —
|
|
216
|
+
the census measures OTHER checkouts on the same machine, so only the workstation
|
|
217
|
+
holding the roster has a fleet to measure. Where either is absent, register
|
|
218
|
+
nothing — a host project has no fleet, and scheduling a command it does not
|
|
219
|
+
have would be a loop that fails every night — and report the census as SKIPPED
|
|
220
|
+
naming which prerequisite was missing, per the report contract. Registering
|
|
221
|
+
nothing is correct; omitting it from the report is not, because a silently
|
|
222
|
+
absent loop is indistinguishable from one that was never asked for.
|
|
223
|
+
|
|
224
|
+
It **reports and never gates**: no finding about the fleet changes an exit
|
|
225
|
+
status, and no run files a ticket. Enforcement resolves from the checkout an
|
|
226
|
+
agent is working in, so a checkout resolving no guard is protected by nothing
|
|
227
|
+
while looking identical, from inside a session, to one protected by an old
|
|
228
|
+
policy — and nothing was re-measuring that (CodySwannGT/lisa#3490). The
|
|
229
|
+
per-checkout half of the same finding is carried by `lisa doctor`, which every
|
|
230
|
+
host does get. Tear-down removes it with the rest of the `lisa-auto-<project>-*`
|
|
231
|
+
set.
|
|
232
|
+
|
|
210
233
|
**Exploratory PRD pressure gate.** `auto-start-prds=true` means "create PRDs in the ready PRD
|
|
211
234
|
lifecycle when the PRD queue has capacity," not "always create a new ready PRD." The
|
|
212
235
|
`exploratory-prds` automation uses the same PRD source queue and pressure roles reported by
|
|
@@ -207,6 +207,29 @@ project: the per-check marker dedupe converges under a single scheduled runner,
|
|
|
207
207
|
and two concurrent runs can both observe an empty open-ticket set and both
|
|
208
208
|
file. Tear-down removes it with the rest of the `lisa-auto-<project>-*` set.
|
|
209
209
|
|
|
210
|
+
**Optional automation — the fleet enforcement census.** Register
|
|
211
|
+
`lisa-auto-<project>-enforcement-census` running `/lisa:enforcement-census`
|
|
212
|
+
once a **day** only when BOTH are true of the repository being set up: it
|
|
213
|
+
maintains a fleet roster (`.lisa.workspaces.json`, the machine-local list of
|
|
214
|
+
host checkouts), and it provides the `/lisa:enforcement-census` command. Both
|
|
215
|
+
hold in the Lisa monorepo and in no ordinary host project, which is the point —
|
|
216
|
+
the census measures OTHER checkouts on the same machine, so only the workstation
|
|
217
|
+
holding the roster has a fleet to measure. Where either is absent, register
|
|
218
|
+
nothing — a host project has no fleet, and scheduling a command it does not
|
|
219
|
+
have would be a loop that fails every night — and report the census as SKIPPED
|
|
220
|
+
naming which prerequisite was missing, per the report contract. Registering
|
|
221
|
+
nothing is correct; omitting it from the report is not, because a silently
|
|
222
|
+
absent loop is indistinguishable from one that was never asked for.
|
|
223
|
+
|
|
224
|
+
It **reports and never gates**: no finding about the fleet changes an exit
|
|
225
|
+
status, and no run files a ticket. Enforcement resolves from the checkout an
|
|
226
|
+
agent is working in, so a checkout resolving no guard is protected by nothing
|
|
227
|
+
while looking identical, from inside a session, to one protected by an old
|
|
228
|
+
policy — and nothing was re-measuring that (CodySwannGT/lisa#3490). The
|
|
229
|
+
per-checkout half of the same finding is carried by `lisa doctor`, which every
|
|
230
|
+
host does get. Tear-down removes it with the rest of the `lisa-auto-<project>-*`
|
|
231
|
+
set.
|
|
232
|
+
|
|
210
233
|
**Exploratory PRD pressure gate.** `auto-start-prds=true` means "create PRDs in the ready PRD
|
|
211
234
|
lifecycle when the PRD queue has capacity," not "always create a new ready PRD." The
|
|
212
235
|
`exploratory-prds` automation uses the same PRD source queue and pressure roles reported by
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "4.27.
|
|
3
|
+
"version": "4.27.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.27.
|
|
3
|
+
"version": "4.27.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.27.
|
|
3
|
+
"version": "4.27.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.27.
|
|
3
|
+
"version": "4.27.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.27.
|
|
3
|
+
"version": "4.27.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"
|