@codyswann/lisa 3.48.5 → 3.48.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-commit-msg-gates.mjs +251 -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/upstream-evidence-manifest.d.ts.map +1 -1
- package/dist/core/upstream-evidence-manifest.js +7 -2
- package/dist/core/upstream-evidence-manifest.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
- package/scripts/lisa-commit-msg-gates.mjs +12 -0
- package/typescript/copy-contents/.husky/commit-msg +28 -1
- package/typescript/copy-overwrite/.prettierignore +1 -0
package/package.json
CHANGED
|
@@ -141,7 +141,7 @@
|
|
|
141
141
|
"zod-validation-error": "^4.0.0"
|
|
142
142
|
},
|
|
143
143
|
"name": "@codyswann/lisa",
|
|
144
|
-
"version": "3.48.
|
|
144
|
+
"version": "3.48.6",
|
|
145
145
|
"description": "Claude Code governance framework that applies guardrails, guidance, and automated enforcement to projects",
|
|
146
146
|
"main": "dist/index.js",
|
|
147
147
|
"exports": {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "3.48.
|
|
3
|
+
"version": "3.48.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": "3.48.
|
|
3
|
+
"version": "3.48.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": "3.48.
|
|
3
|
+
"version": "3.48.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": "3.48.
|
|
3
|
+
"version": "3.48.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": "3.48.
|
|
3
|
+
"version": "3.48.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"
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
// The installed copy lives under all/copy-overwrite. Keeping this tiny entrypoint
|
|
4
|
+
// makes the exact same implementation available to Lisa's own hooks and CI.
|
|
5
|
+
//
|
|
6
|
+
// runCli() is called explicitly rather than left to the implementation's own
|
|
7
|
+
// "am I the program?" check: from in there, import.meta.url names that file
|
|
8
|
+
// while argv[1] names this one, so the check cannot fire through this path and
|
|
9
|
+
// Lisa's own commit-msg refusals would name no gate families at all.
|
|
10
|
+
import { runCli } from "../all/copy-overwrite/scripts/lisa-commit-msg-gates.mjs";
|
|
11
|
+
|
|
12
|
+
runCli();
|
|
@@ -27,11 +27,36 @@ fi
|
|
|
27
27
|
if [ ! -f "$WORK_ITEM_SCRIPT" ]; then
|
|
28
28
|
WORK_ITEM_SCRIPT="all/copy-overwrite/scripts/lisa-work-item.mjs"
|
|
29
29
|
fi
|
|
30
|
+
|
|
31
|
+
# Several INDEPENDENT gate families bite at this one moment, and each of the
|
|
32
|
+
# checks below knows only its own. Whichever refuses first, the operator is told
|
|
33
|
+
# about ALL of them here — otherwise satisfying every requirement the refusal
|
|
34
|
+
# names still says nothing about whether the commit will be accepted, which is
|
|
35
|
+
# exactly the property those checklists exist to provide. Owned by neither
|
|
36
|
+
# check, because neither can know what the other installs.
|
|
37
|
+
GATE_FAMILIES_SCRIPT="node_modules/@codyswann/lisa/all/copy-overwrite/scripts/lisa-commit-msg-gates.mjs"
|
|
38
|
+
if [ ! -f "$GATE_FAMILIES_SCRIPT" ]; then
|
|
39
|
+
GATE_FAMILIES_SCRIPT="scripts/lisa-commit-msg-gates.mjs"
|
|
40
|
+
fi
|
|
41
|
+
if [ ! -f "$GATE_FAMILIES_SCRIPT" ]; then
|
|
42
|
+
GATE_FAMILIES_SCRIPT="all/copy-overwrite/scripts/lisa-commit-msg-gates.mjs"
|
|
43
|
+
fi
|
|
44
|
+
|
|
45
|
+
# Never the reason a commit fails: the caller has already decided to refuse.
|
|
46
|
+
lisa_commit_gate_families() {
|
|
47
|
+
[ -f "$GATE_FAMILIES_SCRIPT" ] || return 0
|
|
48
|
+
command -v node >/dev/null 2>&1 || return 0
|
|
49
|
+
node "$GATE_FAMILIES_SCRIPT" list --hook "$0" --refused "$1" 2>/dev/null || true
|
|
50
|
+
}
|
|
51
|
+
|
|
30
52
|
if ! command -v node >/dev/null 2>&1; then
|
|
31
53
|
echo "❌ Commit blocked: Node.js is required to validate tracker work items."
|
|
32
54
|
exit 1
|
|
33
55
|
fi
|
|
34
|
-
node "$WORK_ITEM_SCRIPT" validate-commit "$COMMIT_MSG_FILE"
|
|
56
|
+
if ! node "$WORK_ITEM_SCRIPT" validate-commit "$COMMIT_MSG_FILE"; then
|
|
57
|
+
lisa_commit_gate_families traceability
|
|
58
|
+
exit 1
|
|
59
|
+
fi
|
|
35
60
|
|
|
36
61
|
echo "📝 Validating commit message with commitlint..."
|
|
37
62
|
$EXECUTOR commitlint --edit $1
|
|
@@ -52,6 +77,7 @@ if [ $? -ne 0 ]; then
|
|
|
52
77
|
echo "Format: <type>(<optional scope>): <subject>"
|
|
53
78
|
echo ""
|
|
54
79
|
echo "For more info, see: https://www.conventionalcommits.org/"
|
|
80
|
+
lisa_commit_gate_families commit-conformance
|
|
55
81
|
exit 1
|
|
56
82
|
fi
|
|
57
83
|
|
|
@@ -91,6 +117,7 @@ if ! printf '%s\n' "$COMMIT_MSG" | grep -Eiq "Co-authored-by:.*(Claude|Codex)";
|
|
|
91
117
|
echo "If you're using Claude Code, use the /git:commit command"
|
|
92
118
|
echo "If you're using Codex, enable commit_attribution in .codex/config.toml"
|
|
93
119
|
echo ""
|
|
120
|
+
lisa_commit_gate_families ai-coauthorship
|
|
94
121
|
exit 1
|
|
95
122
|
fi
|
|
96
123
|
|
|
@@ -72,6 +72,7 @@ scripts/check-threshold-ratchet.mjs
|
|
|
72
72
|
scripts/check-verification-coverage.mjs
|
|
73
73
|
scripts/classify-maestro-failures.mjs
|
|
74
74
|
scripts/lisa-command-envelope.mjs
|
|
75
|
+
scripts/lisa-commit-msg-gates.mjs
|
|
75
76
|
scripts/lisa-destructive-guard.mjs
|
|
76
77
|
scripts/lisa-environment-prepare.mjs
|
|
77
78
|
scripts/lisa-floor-collisions.mjs
|