@codyswann/lisa 3.34.0 → 3.35.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/all/copy-overwrite/scripts/lisa-lint-staged-preflight.mjs +399 -0
- package/dist/cli/doctor-traceability-gate.d.ts +39 -0
- package/dist/cli/doctor-traceability-gate.d.ts.map +1 -0
- package/dist/cli/doctor-traceability-gate.js +164 -0
- package/dist/cli/doctor-traceability-gate.js.map +1 -0
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +7 -0
- package/dist/cli/doctor.js.map +1 -1
- package/dist/core/lisa-owned-hash-ledger.d.ts.map +1 -1
- package/dist/core/lisa-owned-hash-ledger.js +3 -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 +6 -1
- 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/typescript/copy-contents/.husky/pre-commit +64 -0
package/package.json
CHANGED
|
@@ -132,7 +132,7 @@
|
|
|
132
132
|
"ws": ">=8.21.0"
|
|
133
133
|
},
|
|
134
134
|
"name": "@codyswann/lisa",
|
|
135
|
-
"version": "3.
|
|
135
|
+
"version": "3.35.0",
|
|
136
136
|
"description": "Claude Code governance framework that applies guardrails, guidance, and automated enforcement to projects",
|
|
137
137
|
"main": "dist/index.js",
|
|
138
138
|
"exports": {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.35.0",
|
|
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.
|
|
3
|
+
"version": "3.35.0",
|
|
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.
|
|
3
|
+
"version": "3.35.0",
|
|
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.
|
|
3
|
+
"version": "3.35.0",
|
|
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.
|
|
3
|
+
"version": "3.35.0",
|
|
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"
|
|
@@ -43,6 +43,70 @@ else
|
|
|
43
43
|
fi
|
|
44
44
|
fi
|
|
45
45
|
|
|
46
|
+
# ---------------------------------------------------------------------------
|
|
47
|
+
# lint-staged preflight.
|
|
48
|
+
#
|
|
49
|
+
# lint-staged reports exit 0 when a task's executable cannot be SPAWNED.
|
|
50
|
+
# Measured on lint-staged 16.4.0 and 17.3.0: a file that is present and
|
|
51
|
+
# `chmod +x` but is not a runnable executable prints "[FAILED] spawn ENOEXEC"
|
|
52
|
+
# and the run still exits 0. An absent executable (ENOENT) and an ordinary
|
|
53
|
+
# non-zero exit both fail closed — only the spawn error does not.
|
|
54
|
+
#
|
|
55
|
+
# That state is not exotic. A tool whose real binary is materialized during
|
|
56
|
+
# `postinstall` leaves a shebang-less placeholder behind on any install that
|
|
57
|
+
# skips scripts, and lint-staged spawns without a shell, so the kernel refuses
|
|
58
|
+
# the file before the placeholder's own `exit 1` can run. The staged-file scan
|
|
59
|
+
# then runs, reports nothing, blocks nothing, and the commit proceeds.
|
|
60
|
+
#
|
|
61
|
+
# No exit-code check can catch this — not the one below, not any other. A
|
|
62
|
+
# process reporting 0 for work it did not do defeats every test of its status.
|
|
63
|
+
# So the tools are proved runnable BEFORE any of them is handed the work, by
|
|
64
|
+
# something that spawns them itself and reports what it spawned.
|
|
65
|
+
#
|
|
66
|
+
# OUTSIDE the gate-registry handover, deliberately. lint-staged runs at this
|
|
67
|
+
# moment by BOTH routes: the built-in step further down, and a `code-style`
|
|
68
|
+
# gate whose declared command is the project's lint-staged script. A preflight
|
|
69
|
+
# placed inside the built-in branch would stand down for exactly the projects
|
|
70
|
+
# whose registry then runs lint-staged anyway. The tools are the same either
|
|
71
|
+
# way, so the proof belongs before both.
|
|
72
|
+
#
|
|
73
|
+
# Skipped only when the project has no lint-staged config, in which case no
|
|
74
|
+
# route runs lint-staged and there is nothing to prove. A preflight that cannot
|
|
75
|
+
# RUN is not a skip and not a pass — it blocks.
|
|
76
|
+
# ---------------------------------------------------------------------------
|
|
77
|
+
if [ -f ".lintstagedrc.json" ]; then
|
|
78
|
+
LINT_STAGED_PREFLIGHT="node_modules/@codyswann/lisa/all/copy-overwrite/scripts/lisa-lint-staged-preflight.mjs"
|
|
79
|
+
if [ ! -f "$LINT_STAGED_PREFLIGHT" ]; then
|
|
80
|
+
LINT_STAGED_PREFLIGHT="scripts/lisa-lint-staged-preflight.mjs"
|
|
81
|
+
fi
|
|
82
|
+
if [ ! -f "$LINT_STAGED_PREFLIGHT" ]; then
|
|
83
|
+
LINT_STAGED_PREFLIGHT="all/copy-overwrite/scripts/lisa-lint-staged-preflight.mjs"
|
|
84
|
+
fi
|
|
85
|
+
if command -v node >/dev/null 2>&1; then
|
|
86
|
+
LINT_STAGED_PREFLIGHT_RUNTIME="node"
|
|
87
|
+
elif command -v bun >/dev/null 2>&1; then
|
|
88
|
+
LINT_STAGED_PREFLIGHT_RUNTIME="bun"
|
|
89
|
+
else
|
|
90
|
+
LINT_STAGED_PREFLIGHT_RUNTIME=""
|
|
91
|
+
fi
|
|
92
|
+
if [ ! -f "$LINT_STAGED_PREFLIGHT" ] || [ -z "$LINT_STAGED_PREFLIGHT_RUNTIME" ]; then
|
|
93
|
+
echo ""
|
|
94
|
+
echo "❌ Commit blocked: the lint-staged preflight could not run."
|
|
95
|
+
echo " Expected $LINT_STAGED_PREFLIGHT, and node or bun on PATH."
|
|
96
|
+
echo " Without it a tool that is installed but not executable makes"
|
|
97
|
+
echo " lint-staged exit 0 having scanned nothing, so skipping the"
|
|
98
|
+
echo " preflight cannot be treated as a pass."
|
|
99
|
+
echo " Reinstall dependencies, then re-run \`lisa apply\`."
|
|
100
|
+
echo ""
|
|
101
|
+
exit 1
|
|
102
|
+
fi
|
|
103
|
+
"$LINT_STAGED_PREFLIGHT_RUNTIME" "$LINT_STAGED_PREFLIGHT" --config .lintstagedrc.json
|
|
104
|
+
LINT_STAGED_PREFLIGHT_STATUS=$?
|
|
105
|
+
if [ $LINT_STAGED_PREFLIGHT_STATUS -ne 0 ]; then
|
|
106
|
+
exit $LINT_STAGED_PREFLIGHT_STATUS
|
|
107
|
+
fi
|
|
108
|
+
fi
|
|
109
|
+
|
|
46
110
|
# ---------------------------------------------------------------------------
|
|
47
111
|
# Gate-driven checks.
|
|
48
112
|
#
|