@codyswann/lisa 2.220.0 → 2.221.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.
Files changed (71) hide show
  1. package/cdk/package-lisa/package.lisa.json +2 -2
  2. package/dist/core/config.d.ts +1 -1
  3. package/dist/core/instruction-files-migration.d.ts +28 -0
  4. package/dist/core/instruction-files-migration.d.ts.map +1 -1
  5. package/dist/core/instruction-files-migration.js +116 -6
  6. package/dist/core/instruction-files-migration.js.map +1 -1
  7. package/dist/core/lisa.d.ts +6 -5
  8. package/dist/core/lisa.d.ts.map +1 -1
  9. package/dist/core/lisa.js +8 -6
  10. package/dist/core/lisa.js.map +1 -1
  11. package/package.json +1 -1
  12. package/plugins/lisa/.claude-plugin/plugin.json +1 -1
  13. package/plugins/lisa/.codex-plugin/plugin.json +1 -1
  14. package/plugins/lisa/rules/eager/project-learnings.md +15 -0
  15. package/plugins/lisa/rules/reference/project-learnings.md +37 -0
  16. package/plugins/lisa-agy/plugin.json +1 -1
  17. package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
  18. package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
  19. package/plugins/lisa-cdk-agy/plugin.json +1 -1
  20. package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
  21. package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
  22. package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
  23. package/plugins/lisa-copilot/rules/eager/project-learnings.md +15 -0
  24. package/plugins/lisa-copilot/rules/reference/project-learnings.md +37 -0
  25. package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
  26. package/plugins/lisa-cursor/rules/project-learnings-reference.mdc +42 -0
  27. package/plugins/lisa-cursor/rules/project-learnings.mdc +20 -0
  28. package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
  29. package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
  30. package/plugins/lisa-expo-agy/plugin.json +1 -1
  31. package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
  32. package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
  33. package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
  34. package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
  35. package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
  36. package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
  37. package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
  38. package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
  39. package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
  40. package/plugins/lisa-nestjs-agy/plugin.json +1 -1
  41. package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
  42. package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
  43. package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
  44. package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
  45. package/plugins/lisa-openclaw-agy/plugin.json +1 -1
  46. package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
  47. package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
  48. package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
  49. package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
  50. package/plugins/lisa-phaser-agy/plugin.json +1 -1
  51. package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
  52. package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
  53. package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
  54. package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
  55. package/plugins/lisa-rails-agy/plugin.json +1 -1
  56. package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
  57. package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
  58. package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
  59. package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
  60. package/plugins/lisa-typescript-agy/plugin.json +1 -1
  61. package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
  62. package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
  63. package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
  64. package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
  65. package/plugins/lisa-wiki-agy/plugin.json +1 -1
  66. package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
  67. package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
  68. package/plugins/src/base/rules/eager/project-learnings.md +15 -0
  69. package/plugins/src/base/rules/reference/project-learnings.md +37 -0
  70. package/scripts/generate-agy-plugin-artifacts.mjs +4 -3
  71. package/scripts/lib/per-agent-hook-filter.mjs +2 -2
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa",
3
- "version": "2.220.0",
3
+ "version": "2.221.0",
4
4
  "description": "Universal governance — agents, skills, commands, hooks, and rules for all projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-cdk",
3
- "version": "2.220.0",
3
+ "version": "2.221.0",
4
4
  "description": "AWS CDK-specific plugin",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-cdk",
3
- "version": "2.220.0",
3
+ "version": "2.221.0",
4
4
  "description": "AWS CDK-specific Lisa plugin.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-cdk",
3
- "version": "2.220.0",
3
+ "version": "2.221.0",
4
4
  "description": "AWS CDK-specific plugin",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-cdk",
3
- "version": "2.220.0",
3
+ "version": "2.221.0",
4
4
  "description": "AWS CDK-specific plugin",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-cdk",
3
- "version": "2.220.0",
3
+ "version": "2.221.0",
4
4
  "description": "AWS CDK-specific plugin",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa",
3
- "version": "2.220.0",
3
+ "version": "2.221.0",
4
4
  "description": "Universal governance — agents, skills, commands, hooks, and rules for all projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -0,0 +1,15 @@
1
+ # Project Learnings (load-bearing)
2
+
3
+ Before normal task work, resolve this repository's committed `.lisa.config.json`
4
+ and derive the canonical learnings file as the sibling of `projectRulesFile`
5
+ (default: `.claude/rules/PROJECT_LEARNINGS.md`). If that file exists, consume it
6
+ through the executable Lisa learnings contract exported by
7
+ `@codyswann/lisa/learnings` before relying on ad-hoc memory or prior-session
8
+ notes.
9
+
10
+ Missing learnings are a silent no-op. Malformed, non-canonical, unsafe, or
11
+ over-budget learnings produce one readable warning, apply no entry, and must not
12
+ block unrelated task work. Never append automated learnings to
13
+ `PROJECT_RULES.md`; project learnings are a separate machine-managed document.
14
+
15
+ Full prose: [reference/project-learnings.md](../reference/project-learnings.md).
@@ -0,0 +1,37 @@
1
+ # Project Learnings
2
+
3
+ Project learnings are Lisa's bounded, repo-local memory surface. They are stored
4
+ in `PROJECT_LEARNINGS.md`, derived as the sibling of the configured
5
+ `.lisa.config.json` `projectRulesFile` value. With no config override, the path
6
+ is `.claude/rules/PROJECT_LEARNINGS.md`.
7
+
8
+ Consume learnings before normal task work whenever the file exists. Use the
9
+ executable contract from `@codyswann/lisa/learnings` to parse, validate, and
10
+ budget-check the document. Do not duplicate numeric caps in rules or prompts;
11
+ the exported contract is the source of truth.
12
+
13
+ Each persisted entry has seven fields:
14
+
15
+ - `id`
16
+ - `rule`
17
+ - `why`
18
+ - `provenance`
19
+ - `first_learned`
20
+ - `last_confirmed`
21
+ - `confidence`
22
+
23
+ Only entries accepted by the executable contract may influence the session. A
24
+ missing file is expected and silent. Malformed Markdown, invalid JSONL, unsafe
25
+ paths, non-canonical content, or over-budget documents produce one readable
26
+ warning, apply no entry, and do not block unrelated work.
27
+
28
+ Precedence:
29
+
30
+ 1. System, developer, user, and repo instructions still outrank learnings.
31
+ 2. Committed project rules remain durable human-authored guidance.
32
+ 3. Project learnings add recent operational knowledge, but never rewrite or
33
+ append to `PROJECT_RULES.md`.
34
+
35
+ Antigravity note: agy does not receive the plugin `rules/` tree. Lisa reconciles
36
+ a bounded `AGENTS.md` bridge that points agy at this same file without copying
37
+ learning bodies or restoring the retired full rules bake.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa",
3
- "version": "2.220.0",
3
+ "version": "2.221.0",
4
4
  "description": "Universal governance — agents, skills, commands, hooks, and rules for all projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -0,0 +1,42 @@
1
+ ---
2
+ description: "Project Learnings"
3
+ alwaysApply: false
4
+ ---
5
+
6
+ # Project Learnings
7
+
8
+ Project learnings are Lisa's bounded, repo-local memory surface. They are stored
9
+ in `PROJECT_LEARNINGS.md`, derived as the sibling of the configured
10
+ `.lisa.config.json` `projectRulesFile` value. With no config override, the path
11
+ is `.claude/rules/PROJECT_LEARNINGS.md`.
12
+
13
+ Consume learnings before normal task work whenever the file exists. Use the
14
+ executable contract from `@codyswann/lisa/learnings` to parse, validate, and
15
+ budget-check the document. Do not duplicate numeric caps in rules or prompts;
16
+ the exported contract is the source of truth.
17
+
18
+ Each persisted entry has seven fields:
19
+
20
+ - `id`
21
+ - `rule`
22
+ - `why`
23
+ - `provenance`
24
+ - `first_learned`
25
+ - `last_confirmed`
26
+ - `confidence`
27
+
28
+ Only entries accepted by the executable contract may influence the session. A
29
+ missing file is expected and silent. Malformed Markdown, invalid JSONL, unsafe
30
+ paths, non-canonical content, or over-budget documents produce one readable
31
+ warning, apply no entry, and do not block unrelated work.
32
+
33
+ Precedence:
34
+
35
+ 1. System, developer, user, and repo instructions still outrank learnings.
36
+ 2. Committed project rules remain durable human-authored guidance.
37
+ 3. Project learnings add recent operational knowledge, but never rewrite or
38
+ append to `PROJECT_RULES.md`.
39
+
40
+ Antigravity note: agy does not receive the plugin `rules/` tree. Lisa reconciles
41
+ a bounded `AGENTS.md` bridge that points agy at this same file without copying
42
+ learning bodies or restoring the retired full rules bake.
@@ -0,0 +1,20 @@
1
+ ---
2
+ description: "Project Learnings (load-bearing)"
3
+ alwaysApply: true
4
+ ---
5
+
6
+ # Project Learnings (load-bearing)
7
+
8
+ Before normal task work, resolve this repository's committed `.lisa.config.json`
9
+ and derive the canonical learnings file as the sibling of `projectRulesFile`
10
+ (default: `.claude/rules/PROJECT_LEARNINGS.md`). If that file exists, consume it
11
+ through the executable Lisa learnings contract exported by
12
+ `@codyswann/lisa/learnings` before relying on ad-hoc memory or prior-session
13
+ notes.
14
+
15
+ Missing learnings are a silent no-op. Malformed, non-canonical, unsafe, or
16
+ over-budget learnings produce one readable warning, apply no entry, and must not
17
+ block unrelated task work. Never append automated learnings to
18
+ `PROJECT_RULES.md`; project learnings are a separate machine-managed document.
19
+
20
+ Full prose: [reference/project-learnings.md](project-learnings-reference.mdc).
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-expo",
3
- "version": "2.220.0",
3
+ "version": "2.221.0",
4
4
  "description": "Expo/React Native-specific skills, agents, rules, and MCP servers",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-expo",
3
- "version": "2.220.0",
3
+ "version": "2.221.0",
4
4
  "description": "Expo and React Native-specific skills, agents, rules, and MCP servers.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-expo",
3
- "version": "2.220.0",
3
+ "version": "2.221.0",
4
4
  "description": "Expo/React Native-specific skills, agents, rules, and MCP servers",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-expo",
3
- "version": "2.220.0",
3
+ "version": "2.221.0",
4
4
  "description": "Expo/React Native-specific skills, agents, rules, and MCP servers",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-expo",
3
- "version": "2.220.0",
3
+ "version": "2.221.0",
4
4
  "description": "Expo/React Native-specific skills, agents, rules, and MCP servers",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-harper-fabric",
3
- "version": "2.220.0",
3
+ "version": "2.221.0",
4
4
  "description": "Harper/Fabric-specific rules for TypeScript component apps",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-harper-fabric",
3
- "version": "2.220.0",
3
+ "version": "2.221.0",
4
4
  "description": "Harper/Fabric-specific Lisa rules for TypeScript component apps.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-harper-fabric",
3
- "version": "2.220.0",
3
+ "version": "2.221.0",
4
4
  "description": "Harper/Fabric-specific rules for TypeScript component apps",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-harper-fabric",
3
- "version": "2.220.0",
3
+ "version": "2.221.0",
4
4
  "description": "Harper/Fabric-specific rules for TypeScript component apps",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-harper-fabric",
3
- "version": "2.220.0",
3
+ "version": "2.221.0",
4
4
  "description": "Harper/Fabric-specific rules for TypeScript component apps",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-nestjs",
3
- "version": "2.220.0",
3
+ "version": "2.221.0",
4
4
  "description": "NestJS-specific skills (GraphQL, TypeORM) and hooks (migration write-protection)",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-nestjs",
3
- "version": "2.220.0",
3
+ "version": "2.221.0",
4
4
  "description": "NestJS-specific skills and migration write-protection hooks.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-nestjs",
3
- "version": "2.220.0",
3
+ "version": "2.221.0",
4
4
  "description": "NestJS-specific skills (GraphQL, TypeORM) and hooks (migration write-protection)",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-nestjs",
3
- "version": "2.220.0",
3
+ "version": "2.221.0",
4
4
  "description": "NestJS-specific skills (GraphQL, TypeORM) and hooks (migration write-protection)",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-nestjs",
3
- "version": "2.220.0",
3
+ "version": "2.221.0",
4
4
  "description": "NestJS-specific skills (GraphQL, TypeORM) and hooks (migration write-protection)",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-openclaw",
3
- "version": "2.220.0",
3
+ "version": "2.221.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": "2.220.0",
3
+ "version": "2.221.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": "2.220.0",
3
+ "version": "2.221.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": "2.220.0",
3
+ "version": "2.221.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": "2.220.0",
3
+ "version": "2.221.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-phaser",
3
- "version": "2.220.0",
3
+ "version": "2.221.0",
4
4
  "description": "Phaser 4 game-development rules for TypeScript projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-phaser",
3
- "version": "2.220.0",
3
+ "version": "2.221.0",
4
4
  "description": "Phaser 4 game-development rules for TypeScript projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-phaser",
3
- "version": "2.220.0",
3
+ "version": "2.221.0",
4
4
  "description": "Phaser 4 game-development rules for TypeScript projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-phaser",
3
- "version": "2.220.0",
3
+ "version": "2.221.0",
4
4
  "description": "Phaser 4 game-development rules for TypeScript projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-phaser",
3
- "version": "2.220.0",
3
+ "version": "2.221.0",
4
4
  "description": "Phaser 4 game-development rules for TypeScript projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-rails",
3
- "version": "2.220.0",
3
+ "version": "2.221.0",
4
4
  "description": "Ruby on Rails-specific hooks — RuboCop linting/formatting and ast-grep scanning on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-rails",
3
- "version": "2.220.0",
3
+ "version": "2.221.0",
4
4
  "description": "Ruby on Rails-specific skills and hooks for RuboCop and ast-grep scanning on edit.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-rails",
3
- "version": "2.220.0",
3
+ "version": "2.221.0",
4
4
  "description": "Ruby on Rails-specific hooks — RuboCop linting/formatting and ast-grep scanning on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-rails",
3
- "version": "2.220.0",
3
+ "version": "2.221.0",
4
4
  "description": "Ruby on Rails-specific hooks — RuboCop linting/formatting and ast-grep scanning on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-rails",
3
- "version": "2.220.0",
3
+ "version": "2.221.0",
4
4
  "description": "Ruby on Rails-specific hooks — RuboCop linting/formatting and ast-grep scanning on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-typescript",
3
- "version": "2.220.0",
3
+ "version": "2.221.0",
4
4
  "description": "TypeScript-specific hooks — Prettier formatting, ESLint linting, ast-grep scanning, and error-suppression blocking on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-typescript",
3
- "version": "2.220.0",
3
+ "version": "2.221.0",
4
4
  "description": "TypeScript-specific hooks for formatting, linting, and ast-grep scanning on edit.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-typescript",
3
- "version": "2.220.0",
3
+ "version": "2.221.0",
4
4
  "description": "TypeScript-specific hooks — Prettier formatting, ESLint linting, ast-grep scanning, and error-suppression blocking on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-typescript",
3
- "version": "2.220.0",
3
+ "version": "2.221.0",
4
4
  "description": "TypeScript-specific hooks — Prettier formatting, ESLint linting, ast-grep scanning, and error-suppression blocking on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-typescript",
3
- "version": "2.220.0",
3
+ "version": "2.221.0",
4
4
  "description": "TypeScript-specific hooks — Prettier formatting, ESLint linting, ast-grep scanning, and error-suppression blocking on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-wiki",
3
- "version": "2.220.0",
3
+ "version": "2.221.0",
4
4
  "description": "LLM Wiki — a distributable, git-native markdown knowledge base for Claude Code and Codex",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-wiki",
3
- "version": "2.220.0",
3
+ "version": "2.221.0",
4
4
  "description": "Distributable LLM Wiki kernel — ingest, query, lint, and maintain a git-native markdown knowledge base across Claude and Codex.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-wiki",
3
- "version": "2.220.0",
3
+ "version": "2.221.0",
4
4
  "description": "LLM Wiki — a distributable, git-native markdown knowledge base for Claude Code and Codex",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-wiki",
3
- "version": "2.220.0",
3
+ "version": "2.221.0",
4
4
  "description": "LLM Wiki — a distributable, git-native markdown knowledge base for Claude Code and Codex",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-wiki",
3
- "version": "2.220.0",
3
+ "version": "2.221.0",
4
4
  "description": "LLM Wiki — a distributable, git-native markdown knowledge base for Claude Code and Codex",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -0,0 +1,15 @@
1
+ # Project Learnings (load-bearing)
2
+
3
+ Before normal task work, resolve this repository's committed `.lisa.config.json`
4
+ and derive the canonical learnings file as the sibling of `projectRulesFile`
5
+ (default: `.claude/rules/PROJECT_LEARNINGS.md`). If that file exists, consume it
6
+ through the executable Lisa learnings contract exported by
7
+ `@codyswann/lisa/learnings` before relying on ad-hoc memory or prior-session
8
+ notes.
9
+
10
+ Missing learnings are a silent no-op. Malformed, non-canonical, unsafe, or
11
+ over-budget learnings produce one readable warning, apply no entry, and must not
12
+ block unrelated task work. Never append automated learnings to
13
+ `PROJECT_RULES.md`; project learnings are a separate machine-managed document.
14
+
15
+ Full prose: [reference/project-learnings.md](../reference/project-learnings.md).
@@ -0,0 +1,37 @@
1
+ # Project Learnings
2
+
3
+ Project learnings are Lisa's bounded, repo-local memory surface. They are stored
4
+ in `PROJECT_LEARNINGS.md`, derived as the sibling of the configured
5
+ `.lisa.config.json` `projectRulesFile` value. With no config override, the path
6
+ is `.claude/rules/PROJECT_LEARNINGS.md`.
7
+
8
+ Consume learnings before normal task work whenever the file exists. Use the
9
+ executable contract from `@codyswann/lisa/learnings` to parse, validate, and
10
+ budget-check the document. Do not duplicate numeric caps in rules or prompts;
11
+ the exported contract is the source of truth.
12
+
13
+ Each persisted entry has seven fields:
14
+
15
+ - `id`
16
+ - `rule`
17
+ - `why`
18
+ - `provenance`
19
+ - `first_learned`
20
+ - `last_confirmed`
21
+ - `confidence`
22
+
23
+ Only entries accepted by the executable contract may influence the session. A
24
+ missing file is expected and silent. Malformed Markdown, invalid JSONL, unsafe
25
+ paths, non-canonical content, or over-budget documents produce one readable
26
+ warning, apply no entry, and do not block unrelated work.
27
+
28
+ Precedence:
29
+
30
+ 1. System, developer, user, and repo instructions still outrank learnings.
31
+ 2. Committed project rules remain durable human-authored guidance.
32
+ 3. Project learnings add recent operational knowledge, but never rewrite or
33
+ append to `PROJECT_RULES.md`.
34
+
35
+ Antigravity note: agy does not receive the plugin `rules/` tree. Lisa reconciles
36
+ a bounded `AGENTS.md` bridge that points agy at this same file without copying
37
+ learning bodies or restoring the retired full rules bake.