@codyswann/lisa 4.54.1 → 4.54.3
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-hooks/block-direct-issue-create.sh +19 -5
- package/dist/core/lisa-owned-hash-ledger.d.ts.map +1 -1
- package/dist/core/lisa-owned-hash-ledger.js +2 -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 +6 -4
- 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/hooks/block-direct-issue-create.sh +19 -5
- package/plugins/lisa-agy/hooks/block-direct-issue-create.sh +19 -5
- 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/hooks/block-direct-issue-create.sh +19 -5
- package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cursor/hooks/block-direct-issue-create.sh +19 -5
- 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/scripts/lint-wiki.mjs +64 -12
- package/plugins/lisa-wiki/scripts/verify-migration.mjs +4 -1
- package/plugins/lisa-wiki-agy/plugin.json +1 -1
- package/plugins/lisa-wiki-agy/scripts/lint-wiki.mjs +64 -12
- package/plugins/lisa-wiki-agy/scripts/verify-migration.mjs +4 -1
- package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki-copilot/scripts/lint-wiki.mjs +64 -12
- package/plugins/lisa-wiki-copilot/scripts/verify-migration.mjs +4 -1
- package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki-cursor/scripts/lint-wiki.mjs +64 -12
- package/plugins/lisa-wiki-cursor/scripts/verify-migration.mjs +4 -1
- package/plugins/src/base/hooks/block-direct-issue-create.sh +19 -5
- package/plugins/src/wiki/scripts/lint-wiki.mjs +64 -12
- package/plugins/src/wiki/scripts/verify-migration.mjs +4 -1
package/package.json
CHANGED
|
@@ -181,7 +181,7 @@
|
|
|
181
181
|
"zod-validation-error": "^4.0.0"
|
|
182
182
|
},
|
|
183
183
|
"name": "@codyswann/lisa",
|
|
184
|
-
"version": "4.54.
|
|
184
|
+
"version": "4.54.3",
|
|
185
185
|
"description": "Claude Code governance framework that applies guardrails, guidance, and automated enforcement to projects",
|
|
186
186
|
"main": "dist/index.js",
|
|
187
187
|
"exports": {
|
|
@@ -329,7 +329,7 @@
|
|
|
329
329
|
"test": "tests"
|
|
330
330
|
},
|
|
331
331
|
"types": "./dist/index.d.ts",
|
|
332
|
-
"lisaReleaseCommit": "
|
|
333
|
-
"gitHead": "
|
|
334
|
-
"lisaReleaseTag": "v4.54.
|
|
332
|
+
"lisaReleaseCommit": "f6a69cd31f2f9f1479d2f32cfc0d309dcbf425e5",
|
|
333
|
+
"gitHead": "f6a69cd31f2f9f1479d2f32cfc0d309dcbf425e5",
|
|
334
|
+
"lisaReleaseTag": "v4.54.3"
|
|
335
335
|
}
|
|
@@ -1819,12 +1819,26 @@ def is_assignment_word(token):
|
|
|
1819
1819
|
# so this closes the measured population and not the class. Add names here as
|
|
1820
1820
|
# they are measured; do not invert the default to close it by fiat, or the
|
|
1821
1821
|
# executed-script reach that #3484 bought is lost.
|
|
1822
|
+
# The copy/move/link family is measured, not inferred: `cp <a file that files>`
|
|
1823
|
+
# was refused as "an unparseable command that reads as a tracker creation
|
|
1824
|
+
# inside <path>" (CodySwannGT/lisa#3683, trip 5, reproduced in this guard's own
|
|
1825
|
+
# suite). These four relocate bytes and never execute an operand, so following
|
|
1826
|
+
# them can only ever over-refuse — and the harm is the propagating kind this
|
|
1827
|
+
# ticket is about, because a file that quotes a creation then cannot be copied
|
|
1828
|
+
# by any agent or by CI.
|
|
1829
|
+
#
|
|
1830
|
+
# `mv`, `ln` and `install` join `cp` as the same operation rather than as a
|
|
1831
|
+
# guess: the list already carries whole families (`git` wholesale, `bat`/`xxd`
|
|
1832
|
+
# beside `cat`) on exactly that reasoning. Path arithmetic and metadata tools
|
|
1833
|
+
# are deliberately NOT added — unmeasured, and the residual note above is the
|
|
1834
|
+
# standing instruction to add on measurement rather than by sweep.
|
|
1822
1835
|
READ_ONLY_PROGRAMS = {
|
|
1823
|
-
"awk", "bat", "cat", "cksum", "cmp", "column", "comm", "
|
|
1824
|
-
"du", "file", "fold", "git", "grep", "head", "hexdump",
|
|
1825
|
-
"
|
|
1826
|
-
"
|
|
1827
|
-
"
|
|
1836
|
+
"awk", "bat", "cat", "cksum", "cmp", "column", "comm", "cp", "cut",
|
|
1837
|
+
"diff", "du", "file", "fold", "git", "grep", "head", "hexdump",
|
|
1838
|
+
"install", "jest", "jq", "less", "ln", "ls", "md5", "md5sum", "more",
|
|
1839
|
+
"mv", "nl", "od", "pytest", "rg", "sed", "sha1sum", "sha256sum",
|
|
1840
|
+
"shellcheck", "shfmt", "sort", "stat", "strings", "tail", "tee",
|
|
1841
|
+
"uniq", "vitest", "wc", "xxd", "yamllint",
|
|
1828
1842
|
}
|
|
1829
1843
|
|
|
1830
1844
|
|
|
@@ -1819,12 +1819,26 @@ def is_assignment_word(token):
|
|
|
1819
1819
|
# so this closes the measured population and not the class. Add names here as
|
|
1820
1820
|
# they are measured; do not invert the default to close it by fiat, or the
|
|
1821
1821
|
# executed-script reach that #3484 bought is lost.
|
|
1822
|
+
# The copy/move/link family is measured, not inferred: `cp <a file that files>`
|
|
1823
|
+
# was refused as "an unparseable command that reads as a tracker creation
|
|
1824
|
+
# inside <path>" (CodySwannGT/lisa#3683, trip 5, reproduced in this guard's own
|
|
1825
|
+
# suite). These four relocate bytes and never execute an operand, so following
|
|
1826
|
+
# them can only ever over-refuse — and the harm is the propagating kind this
|
|
1827
|
+
# ticket is about, because a file that quotes a creation then cannot be copied
|
|
1828
|
+
# by any agent or by CI.
|
|
1829
|
+
#
|
|
1830
|
+
# `mv`, `ln` and `install` join `cp` as the same operation rather than as a
|
|
1831
|
+
# guess: the list already carries whole families (`git` wholesale, `bat`/`xxd`
|
|
1832
|
+
# beside `cat`) on exactly that reasoning. Path arithmetic and metadata tools
|
|
1833
|
+
# are deliberately NOT added — unmeasured, and the residual note above is the
|
|
1834
|
+
# standing instruction to add on measurement rather than by sweep.
|
|
1822
1835
|
READ_ONLY_PROGRAMS = {
|
|
1823
|
-
"awk", "bat", "cat", "cksum", "cmp", "column", "comm", "
|
|
1824
|
-
"du", "file", "fold", "git", "grep", "head", "hexdump",
|
|
1825
|
-
"
|
|
1826
|
-
"
|
|
1827
|
-
"
|
|
1836
|
+
"awk", "bat", "cat", "cksum", "cmp", "column", "comm", "cp", "cut",
|
|
1837
|
+
"diff", "du", "file", "fold", "git", "grep", "head", "hexdump",
|
|
1838
|
+
"install", "jest", "jq", "less", "ln", "ls", "md5", "md5sum", "more",
|
|
1839
|
+
"mv", "nl", "od", "pytest", "rg", "sed", "sha1sum", "sha256sum",
|
|
1840
|
+
"shellcheck", "shfmt", "sort", "stat", "strings", "tail", "tee",
|
|
1841
|
+
"uniq", "vitest", "wc", "xxd", "yamllint",
|
|
1828
1842
|
}
|
|
1829
1843
|
|
|
1830
1844
|
|
|
@@ -1819,12 +1819,26 @@ def is_assignment_word(token):
|
|
|
1819
1819
|
# so this closes the measured population and not the class. Add names here as
|
|
1820
1820
|
# they are measured; do not invert the default to close it by fiat, or the
|
|
1821
1821
|
# executed-script reach that #3484 bought is lost.
|
|
1822
|
+
# The copy/move/link family is measured, not inferred: `cp <a file that files>`
|
|
1823
|
+
# was refused as "an unparseable command that reads as a tracker creation
|
|
1824
|
+
# inside <path>" (CodySwannGT/lisa#3683, trip 5, reproduced in this guard's own
|
|
1825
|
+
# suite). These four relocate bytes and never execute an operand, so following
|
|
1826
|
+
# them can only ever over-refuse — and the harm is the propagating kind this
|
|
1827
|
+
# ticket is about, because a file that quotes a creation then cannot be copied
|
|
1828
|
+
# by any agent or by CI.
|
|
1829
|
+
#
|
|
1830
|
+
# `mv`, `ln` and `install` join `cp` as the same operation rather than as a
|
|
1831
|
+
# guess: the list already carries whole families (`git` wholesale, `bat`/`xxd`
|
|
1832
|
+
# beside `cat`) on exactly that reasoning. Path arithmetic and metadata tools
|
|
1833
|
+
# are deliberately NOT added — unmeasured, and the residual note above is the
|
|
1834
|
+
# standing instruction to add on measurement rather than by sweep.
|
|
1822
1835
|
READ_ONLY_PROGRAMS = {
|
|
1823
|
-
"awk", "bat", "cat", "cksum", "cmp", "column", "comm", "
|
|
1824
|
-
"du", "file", "fold", "git", "grep", "head", "hexdump",
|
|
1825
|
-
"
|
|
1826
|
-
"
|
|
1827
|
-
"
|
|
1836
|
+
"awk", "bat", "cat", "cksum", "cmp", "column", "comm", "cp", "cut",
|
|
1837
|
+
"diff", "du", "file", "fold", "git", "grep", "head", "hexdump",
|
|
1838
|
+
"install", "jest", "jq", "less", "ln", "ls", "md5", "md5sum", "more",
|
|
1839
|
+
"mv", "nl", "od", "pytest", "rg", "sed", "sha1sum", "sha256sum",
|
|
1840
|
+
"shellcheck", "shfmt", "sort", "stat", "strings", "tail", "tee",
|
|
1841
|
+
"uniq", "vitest", "wc", "xxd", "yamllint",
|
|
1828
1842
|
}
|
|
1829
1843
|
|
|
1830
1844
|
|
|
@@ -1819,12 +1819,26 @@ def is_assignment_word(token):
|
|
|
1819
1819
|
# so this closes the measured population and not the class. Add names here as
|
|
1820
1820
|
# they are measured; do not invert the default to close it by fiat, or the
|
|
1821
1821
|
# executed-script reach that #3484 bought is lost.
|
|
1822
|
+
# The copy/move/link family is measured, not inferred: `cp <a file that files>`
|
|
1823
|
+
# was refused as "an unparseable command that reads as a tracker creation
|
|
1824
|
+
# inside <path>" (CodySwannGT/lisa#3683, trip 5, reproduced in this guard's own
|
|
1825
|
+
# suite). These four relocate bytes and never execute an operand, so following
|
|
1826
|
+
# them can only ever over-refuse — and the harm is the propagating kind this
|
|
1827
|
+
# ticket is about, because a file that quotes a creation then cannot be copied
|
|
1828
|
+
# by any agent or by CI.
|
|
1829
|
+
#
|
|
1830
|
+
# `mv`, `ln` and `install` join `cp` as the same operation rather than as a
|
|
1831
|
+
# guess: the list already carries whole families (`git` wholesale, `bat`/`xxd`
|
|
1832
|
+
# beside `cat`) on exactly that reasoning. Path arithmetic and metadata tools
|
|
1833
|
+
# are deliberately NOT added — unmeasured, and the residual note above is the
|
|
1834
|
+
# standing instruction to add on measurement rather than by sweep.
|
|
1822
1835
|
READ_ONLY_PROGRAMS = {
|
|
1823
|
-
"awk", "bat", "cat", "cksum", "cmp", "column", "comm", "
|
|
1824
|
-
"du", "file", "fold", "git", "grep", "head", "hexdump",
|
|
1825
|
-
"
|
|
1826
|
-
"
|
|
1827
|
-
"
|
|
1836
|
+
"awk", "bat", "cat", "cksum", "cmp", "column", "comm", "cp", "cut",
|
|
1837
|
+
"diff", "du", "file", "fold", "git", "grep", "head", "hexdump",
|
|
1838
|
+
"install", "jest", "jq", "less", "ln", "ls", "md5", "md5sum", "more",
|
|
1839
|
+
"mv", "nl", "od", "pytest", "rg", "sed", "sha1sum", "sha256sum",
|
|
1840
|
+
"shellcheck", "shfmt", "sort", "stat", "strings", "tail", "tee",
|
|
1841
|
+
"uniq", "vitest", "wc", "xxd", "yamllint",
|
|
1828
1842
|
}
|
|
1829
1843
|
|
|
1830
1844
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "4.54.
|
|
3
|
+
"version": "4.54.3",
|
|
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.54.
|
|
3
|
+
"version": "4.54.3",
|
|
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.54.
|
|
3
|
+
"version": "4.54.3",
|
|
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.54.
|
|
3
|
+
"version": "4.54.3",
|
|
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.54.
|
|
3
|
+
"version": "4.54.3",
|
|
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"
|