@codyswann/lisa 4.37.2 → 4.38.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-contents/.gitattributes +9 -0
- package/all/copy-contents/gitignore +6 -0
- package/dist/core/learnings-merge-driver.d.ts +8 -0
- package/dist/core/learnings-merge-driver.d.ts.map +1 -1
- package/dist/core/learnings-merge-driver.js +17 -0
- package/dist/core/learnings-merge-driver.js.map +1 -1
- 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 +64 -11
- package/dist/core/upstream-evidence-manifest.js.map +1 -1
- package/package.json +6 -4
- package/plugins/lisa/.claude-plugin/plugin.json +28 -1
- package/plugins/lisa/.codex-plugin/hooks.json +27 -0
- package/plugins/lisa/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa/.codex-plugin/skills/lisa-github-write-issue/SKILL.md +11 -0
- package/plugins/lisa/.codex-plugin/skills/lisa-jira-write-ticket/SKILL.md +11 -0
- package/plugins/lisa/.codex-plugin/skills/lisa-linear-write-issue/SKILL.md +11 -0
- package/plugins/lisa/.codex-plugin/skills/lisa-repair-intake/SKILL.md +30 -2
- package/plugins/lisa/hooks/inject-resolved-config.mjs +26 -7
- package/plugins/lisa/hooks/withdrawn-rulings.mjs +525 -0
- package/plugins/lisa/hooks/withdrawn-rulings.sh +24 -0
- package/plugins/lisa/rules/eager/config-resolution.md +3 -1
- package/plugins/lisa/rules/eager/withdrawn-rulings.md +69 -0
- package/plugins/lisa/rules/reference/config-resolution.md +1 -1
- package/plugins/lisa/rules/reference/withdrawn-rulings.md +114 -0
- package/plugins/lisa/scripts/intake-blocker-reprobe.mjs +120 -3
- package/plugins/lisa/skills/lisa-github-write-issue/SKILL.md +11 -0
- package/plugins/lisa/skills/lisa-jira-write-ticket/SKILL.md +11 -0
- package/plugins/lisa/skills/lisa-linear-write-issue/SKILL.md +11 -0
- package/plugins/lisa/skills/lisa-repair-intake/SKILL.md +30 -2
- package/plugins/lisa-agy/plugin.json +1 -1
- package/plugins/lisa-agy/scripts/intake-blocker-reprobe.mjs +120 -3
- package/plugins/lisa-agy/skills/lisa-github-write-issue/SKILL.md +11 -0
- package/plugins/lisa-agy/skills/lisa-jira-write-ticket/SKILL.md +11 -0
- package/plugins/lisa-agy/skills/lisa-linear-write-issue/SKILL.md +11 -0
- package/plugins/lisa-agy/skills/lisa-repair-intake/SKILL.md +30 -2
- 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 +19 -1
- package/plugins/lisa-copilot/hooks/inject-resolved-config.mjs +26 -7
- package/plugins/lisa-copilot/hooks/withdrawn-rulings.mjs +525 -0
- package/plugins/lisa-copilot/hooks/withdrawn-rulings.sh +24 -0
- package/plugins/lisa-copilot/rules/eager/config-resolution.md +3 -1
- package/plugins/lisa-copilot/rules/eager/withdrawn-rulings.md +69 -0
- package/plugins/lisa-copilot/rules/reference/config-resolution.md +1 -1
- package/plugins/lisa-copilot/rules/reference/withdrawn-rulings.md +114 -0
- package/plugins/lisa-copilot/scripts/intake-blocker-reprobe.mjs +120 -3
- package/plugins/lisa-copilot/skills/lisa-github-write-issue/SKILL.md +11 -0
- package/plugins/lisa-copilot/skills/lisa-jira-write-ticket/SKILL.md +11 -0
- package/plugins/lisa-copilot/skills/lisa-linear-write-issue/SKILL.md +11 -0
- package/plugins/lisa-copilot/skills/lisa-repair-intake/SKILL.md +30 -2
- package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cursor/hooks/hooks.json +10 -0
- package/plugins/lisa-cursor/hooks/inject-resolved-config.mjs +26 -7
- package/plugins/lisa-cursor/hooks/withdrawn-rulings.mjs +525 -0
- package/plugins/lisa-cursor/hooks/withdrawn-rulings.sh +24 -0
- package/plugins/lisa-cursor/rules/config-resolution-reference.mdc +1 -1
- package/plugins/lisa-cursor/rules/config-resolution.mdc +3 -1
- package/plugins/lisa-cursor/rules/withdrawn-rulings-reference.mdc +119 -0
- package/plugins/lisa-cursor/rules/withdrawn-rulings.mdc +74 -0
- package/plugins/lisa-cursor/scripts/intake-blocker-reprobe.mjs +120 -3
- package/plugins/lisa-cursor/skills/lisa-github-write-issue/SKILL.md +11 -0
- package/plugins/lisa-cursor/skills/lisa-jira-write-ticket/SKILL.md +11 -0
- package/plugins/lisa-cursor/skills/lisa-linear-write-issue/SKILL.md +11 -0
- package/plugins/lisa-cursor/skills/lisa-repair-intake/SKILL.md +30 -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/src/base/.claude-plugin/plugin.json +27 -0
- package/plugins/src/base/hooks/inject-resolved-config.mjs +26 -7
- package/plugins/src/base/hooks/withdrawn-rulings.mjs +525 -0
- package/plugins/src/base/hooks/withdrawn-rulings.sh +24 -0
- package/plugins/src/base/rules/eager/config-resolution.md +3 -1
- package/plugins/src/base/rules/eager/withdrawn-rulings.md +69 -0
- package/plugins/src/base/rules/reference/config-resolution.md +1 -1
- package/plugins/src/base/rules/reference/withdrawn-rulings.md +114 -0
- package/plugins/src/base/scripts/intake-blocker-reprobe.mjs +120 -3
- package/plugins/src/base/skills/lisa-github-write-issue/SKILL.md +11 -0
- package/plugins/src/base/skills/lisa-jira-write-ticket/SKILL.md +11 -0
- package/plugins/src/base/skills/lisa-linear-write-issue/SKILL.md +11 -0
- package/plugins/src/base/skills/lisa-repair-intake/SKILL.md +30 -2
- package/scripts/lib/hook-registration-audit.mjs +612 -0
- package/scripts/measure-tmpdir-growth.mjs +925 -0
- package/typescript/copy-contents/.husky/pre-push +98 -26
|
@@ -89,6 +89,15 @@
|
|
|
89
89
|
"command": "${CLAUDE_PLUGIN_ROOT}/hooks/enforce-team-first.sh"
|
|
90
90
|
}
|
|
91
91
|
]
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"matcher": "Bash|Edit|Write|Read|Task|Grep|Glob",
|
|
95
|
+
"hooks": [
|
|
96
|
+
{
|
|
97
|
+
"type": "command",
|
|
98
|
+
"command": "${CLAUDE_PLUGIN_ROOT}/hooks/withdrawn-rulings.sh --hook"
|
|
99
|
+
}
|
|
100
|
+
]
|
|
92
101
|
}
|
|
93
102
|
],
|
|
94
103
|
"PreToolUse": [
|
|
@@ -201,6 +210,15 @@
|
|
|
201
210
|
}
|
|
202
211
|
]
|
|
203
212
|
},
|
|
213
|
+
{
|
|
214
|
+
"matcher": "",
|
|
215
|
+
"hooks": [
|
|
216
|
+
{
|
|
217
|
+
"type": "command",
|
|
218
|
+
"command": "${CLAUDE_PLUGIN_ROOT}/hooks/withdrawn-rulings.sh --session-start"
|
|
219
|
+
}
|
|
220
|
+
]
|
|
221
|
+
},
|
|
204
222
|
{
|
|
205
223
|
"matcher": "",
|
|
206
224
|
"hooks": [
|
|
@@ -248,6 +266,15 @@
|
|
|
248
266
|
}
|
|
249
267
|
]
|
|
250
268
|
},
|
|
269
|
+
{
|
|
270
|
+
"matcher": "",
|
|
271
|
+
"hooks": [
|
|
272
|
+
{
|
|
273
|
+
"type": "command",
|
|
274
|
+
"command": "${CLAUDE_PLUGIN_ROOT}/hooks/withdrawn-rulings.sh --session-start"
|
|
275
|
+
}
|
|
276
|
+
]
|
|
277
|
+
},
|
|
251
278
|
{
|
|
252
279
|
"matcher": "",
|
|
253
280
|
"hooks": [
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
* @module inject-resolved-config
|
|
52
52
|
*/
|
|
53
53
|
import { existsSync, readFileSync, realpathSync } from "node:fs";
|
|
54
|
-
import { join } from "node:path";
|
|
54
|
+
import { basename, join } from "node:path";
|
|
55
55
|
import { fileURLToPath } from "node:url";
|
|
56
56
|
|
|
57
57
|
/** Committed, project-wide configuration. */
|
|
@@ -799,13 +799,32 @@ export function buildContext(projectDir) {
|
|
|
799
799
|
? `${MAIN_CONFIG} + ${LOCAL_CONFIG} (local wins where they overlap)`
|
|
800
800
|
: `${MAIN_CONFIG} (no local override file)`;
|
|
801
801
|
|
|
802
|
+
// The block used to say "this project's" — a possessive with no referent
|
|
803
|
+
// anywhere in its text, so two repositories emitted blocks that were
|
|
804
|
+
// character-identical except for the values. An agent standing in one
|
|
805
|
+
// directory while doing work governed by another read something perfectly
|
|
806
|
+
// true about the directory and wrong about the work, and the next sentence
|
|
807
|
+
// told it not to open the files that would have shown the difference. Six
|
|
808
|
+
// independent agent cycles reached the same false conclusion from one such
|
|
809
|
+
// block (CodySwannGT/lisa#3765).
|
|
810
|
+
//
|
|
811
|
+
// `basename` rather than the git remote: naming the subject must not cost a
|
|
812
|
+
// subprocess on a hook that runs at every session and subagent start, and it
|
|
813
|
+
// must not fail in a directory that is not a git checkout. The absolute path
|
|
814
|
+
// beside it is the unambiguous identifier; the basename is the short name a
|
|
815
|
+
// reader actually compares against the work in front of them.
|
|
816
|
+
const subject = basename(projectDir) || projectDir;
|
|
817
|
+
|
|
802
818
|
return block(
|
|
803
|
-
`These are
|
|
804
|
-
`
|
|
805
|
-
`
|
|
806
|
-
`
|
|
807
|
-
`
|
|
808
|
-
`
|
|
819
|
+
`These are the EFFECTIVE Lisa configuration values for ${subject}, resolved from ${sources} ` +
|
|
820
|
+
`at ${projectDir}.\n` +
|
|
821
|
+
`Act on them directly and do not act against them. They describe THAT directory: if your ` +
|
|
822
|
+
`work targets a different repository, read that repository's config rather than these. For ` +
|
|
823
|
+
`work in ${subject}, do not re-read the config files to learn these values. A line marked ` +
|
|
824
|
+
`[Lisa built-in default] is NOT something ${subject} declared. A key whose NAME is identity- ` +
|
|
825
|
+
`or credential-shaped is withheld and counted, and a VALUE matching a known credential shape ` +
|
|
826
|
+
`is replaced with ${REDACTED}: a best-effort filter, not proof that anything it left alone ` +
|
|
827
|
+
`is safe to repeat.\n\n` +
|
|
809
828
|
renderBody(resolved)
|
|
810
829
|
);
|
|
811
830
|
}
|