@codyswann/lisa 4.71.12 → 4.71.13
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/discharge-work-item-gates.sh +90 -0
- package/dist/core/lisa-owned-hash-ledger.d.ts.map +1 -1
- package/dist/core/lisa-owned-hash-ledger.js +12 -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 +8 -4
- package/dist/core/upstream-evidence-manifest.js.map +1 -1
- package/dist/opencode/hooks-installer.d.ts.map +1 -1
- package/dist/opencode/hooks-installer.js +1 -0
- package/dist/opencode/hooks-installer.js.map +1 -1
- package/dist/opencode/plugin-catalog.d.ts.map +1 -1
- package/dist/opencode/plugin-catalog.js +5 -0
- package/dist/opencode/plugin-catalog.js.map +1 -1
- package/dist/opencode/plugin-templates/discharge-work-item-gates.sh +90 -0
- package/dist/opencode/plugin-templates/lisa-discharge-work-item-gates.ts +43 -0
- 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/discharge-work-item-gates.sh +32 -2
- 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/discharge-work-item-gates.sh +32 -2
- package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cursor/hooks/discharge-work-item-gates.sh +32 -2
- 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/materialized-artifacts.json +2 -0
- package/plugins/src/base/hooks/discharge-work-item-gates.sh +29 -2
- package/scripts/build-plugins.sh +8 -0
- package/scripts/copy-opencode-plugin-templates.mjs +1 -0
- package/scripts/two-channel-couplings.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "4.71.
|
|
3
|
+
"version": "4.71.13",
|
|
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.71.
|
|
3
|
+
"version": "4.71.13",
|
|
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.71.
|
|
3
|
+
"version": "4.71.13",
|
|
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"
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
"all/copy-overwrite/scripts/lisa-hooks/block-managed-file-edits.sh",
|
|
10
10
|
"all/copy-overwrite/scripts/lisa-hooks/block-no-verify.sh",
|
|
11
11
|
"all/copy-overwrite/scripts/lisa-hooks/block-shell-json-parsing.sh",
|
|
12
|
+
"all/copy-overwrite/scripts/lisa-hooks/discharge-work-item-gates.sh",
|
|
12
13
|
"all/copy-overwrite/scripts/lisa-hooks/guard-dedupe.bash",
|
|
13
14
|
"all/copy-overwrite/scripts/lisa-hooks/parity-safety-net-heredoc.py",
|
|
14
15
|
"all/copy-overwrite/scripts/lisa-hooks/parity-safety-net.sh",
|
|
@@ -25,6 +26,7 @@
|
|
|
25
26
|
"plugins/lisa/hooks/block-managed-file-edits.sh",
|
|
26
27
|
"plugins/lisa/hooks/block-no-verify.sh",
|
|
27
28
|
"plugins/lisa/hooks/block-shell-json-parsing.sh",
|
|
29
|
+
"plugins/lisa/hooks/discharge-work-item-gates.sh",
|
|
28
30
|
"plugins/lisa/hooks/guard-dedupe.bash",
|
|
29
31
|
"plugins/lisa/hooks/parity-safety-net-heredoc.py",
|
|
30
32
|
"plugins/lisa/hooks/parity-safety-net.sh",
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
#!/usr/bin/env bash
|
|
2
|
-
# This file is managed by Lisa.
|
|
3
|
-
# Do not edit directly — changes will be overwritten on the next `lisa` run.
|
|
4
2
|
# =============================================================================
|
|
5
3
|
# Discharge Deferred Work-Item Gates Hook (PostToolUse - Bash)
|
|
6
4
|
# =============================================================================
|
|
@@ -56,5 +54,34 @@ case "$status" in
|
|
|
56
54
|
0 | 3) exit 0 ;;
|
|
57
55
|
esac
|
|
58
56
|
|
|
57
|
+
# Plugin updates can precede a host's copied CLI. A generic usage refusal from
|
|
58
|
+
# before this subcommand existed is not a ticket violation. Recognize only a
|
|
59
|
+
# command-list line, then confirm that the no-argument usage probe returns the
|
|
60
|
+
# SAME response and status. Never infer capabilities by grepping the entrypoint:
|
|
61
|
+
# Lisa's own entrypoint is a thin import of the canonical implementation.
|
|
62
|
+
# This shared hook fans out to every agent with a PostToolUse surface; agy's
|
|
63
|
+
# documented lack of that surface remains covered by push/CI traceability.
|
|
64
|
+
if [ "$status" -eq 1 ]; then
|
|
65
|
+
usage_commands="$(printf '%s\n' "$output" | sed -n \
|
|
66
|
+
-e 's/^Usage: lisa-work-item\.mjs //p' \
|
|
67
|
+
-e 's/^❌ Work-item tracking blocked this operation: Usage: lisa-work-item\.mjs //p')"
|
|
68
|
+
case "$usage_commands" in
|
|
69
|
+
'' | *[!a-z\|-]*) ;;
|
|
70
|
+
*)
|
|
71
|
+
case "|$usage_commands|" in
|
|
72
|
+
*'|discharge-pr-gates|'*) ;;
|
|
73
|
+
*'|validate-pr|'*)
|
|
74
|
+
probe_output="$(cd "$repo_root" && node scripts/lisa-work-item.mjs 2>&1)"
|
|
75
|
+
probe_status=$?
|
|
76
|
+
if [ "$probe_status" -eq 1 ] && [ "$probe_output" = "$output" ]; then
|
|
77
|
+
printf '%s\n' 'Lisa PR check unavailable: the host has an older Lisa command. Update Lisa in this project to enable the check.' >&2
|
|
78
|
+
exit 0
|
|
79
|
+
fi
|
|
80
|
+
;;
|
|
81
|
+
esac
|
|
82
|
+
;;
|
|
83
|
+
esac
|
|
84
|
+
fi
|
|
85
|
+
|
|
59
86
|
printf '%s\n' "$output" >&2
|
|
60
87
|
exit 2
|
package/scripts/build-plugins.sh
CHANGED
|
@@ -179,6 +179,14 @@ for guard in block-no-verify parity-safety-net block-shell-json-parsing \
|
|
|
179
179
|
chmod +x "$HOST_GUARD_DIR/$guard.sh"
|
|
180
180
|
fi
|
|
181
181
|
done
|
|
182
|
+
# PostToolUse only: available to the OpenCode adapter, deliberately outside the
|
|
183
|
+
# pre-tool enforcement dispatcher's guard roster.
|
|
184
|
+
if [ -f "$SRC_DIR/base/hooks/discharge-work-item-gates.sh" ]; then
|
|
185
|
+
materialize "$SRC_DIR/base/hooks/discharge-work-item-gates.sh" \
|
|
186
|
+
"$HOST_GUARD_DIR/discharge-work-item-gates.sh"
|
|
187
|
+
materialize "$SRC_DIR/base/hooks/discharge-work-item-gates.sh" \
|
|
188
|
+
"$PLUGINS_DIR/lisa/hooks/discharge-work-item-gates.sh"
|
|
189
|
+
fi
|
|
182
190
|
# Companions: files a guard resolves as a SIBLING OF ITSELF at run time.
|
|
183
191
|
#
|
|
184
192
|
# The loop above appends `.sh` to every roster entry, so it can only ever
|
|
@@ -22,6 +22,7 @@ const canonicalHookDir = path.join(repoRoot, "plugins", "src", "base", "hooks");
|
|
|
22
22
|
// that list is what the installer copies into a host, this one is what makes
|
|
23
23
|
// the files reachable from `dist/` for a packaged install.
|
|
24
24
|
const canonicalSupportFiles = [
|
|
25
|
+
"discharge-work-item-gates.sh",
|
|
25
26
|
"block-managed-file-edits.sh",
|
|
26
27
|
"block-no-verify.sh",
|
|
27
28
|
"parity-safety-net.sh",
|