@codyswann/lisa 2.243.0 → 2.244.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 (65) hide show
  1. package/package.json +1 -1
  2. package/plugins/lisa/.claude-plugin/plugin.json +1 -1
  3. package/plugins/lisa/.codex-plugin/plugin.json +1 -1
  4. package/plugins/lisa/.codex-plugin/skills/lisa-implement/SKILL.md +6 -1
  5. package/plugins/lisa/rules/reference/intent-routing.md +2 -0
  6. package/plugins/lisa/rules/reference/project-learnings.md +13 -0
  7. package/plugins/lisa/skills/lisa-implement/SKILL.md +6 -1
  8. package/plugins/lisa-agy/plugin.json +1 -1
  9. package/plugins/lisa-agy/skills/lisa-implement/SKILL.md +6 -1
  10. package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
  11. package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
  12. package/plugins/lisa-cdk-agy/plugin.json +1 -1
  13. package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
  14. package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
  15. package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
  16. package/plugins/lisa-copilot/rules/reference/intent-routing.md +2 -0
  17. package/plugins/lisa-copilot/rules/reference/project-learnings.md +13 -0
  18. package/plugins/lisa-copilot/skills/lisa-implement/SKILL.md +6 -1
  19. package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
  20. package/plugins/lisa-cursor/rules/intent-routing-reference.mdc +2 -0
  21. package/plugins/lisa-cursor/rules/project-learnings-reference.mdc +13 -0
  22. package/plugins/lisa-cursor/skills/lisa-implement/SKILL.md +6 -1
  23. package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
  24. package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
  25. package/plugins/lisa-expo-agy/plugin.json +1 -1
  26. package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
  27. package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
  28. package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
  29. package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
  30. package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
  31. package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
  32. package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
  33. package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
  34. package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
  35. package/plugins/lisa-nestjs-agy/plugin.json +1 -1
  36. package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
  37. package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
  38. package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
  39. package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
  40. package/plugins/lisa-openclaw-agy/plugin.json +1 -1
  41. package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
  42. package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
  43. package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
  44. package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
  45. package/plugins/lisa-phaser-agy/plugin.json +1 -1
  46. package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
  47. package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
  48. package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
  49. package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
  50. package/plugins/lisa-rails-agy/plugin.json +1 -1
  51. package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
  52. package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
  53. package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
  54. package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
  55. package/plugins/lisa-typescript-agy/plugin.json +1 -1
  56. package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
  57. package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
  58. package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
  59. package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
  60. package/plugins/lisa-wiki-agy/plugin.json +1 -1
  61. package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
  62. package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
  63. package/plugins/src/base/rules/reference/intent-routing.md +2 -0
  64. package/plugins/src/base/rules/reference/project-learnings.md +13 -0
  65. package/plugins/src/base/skills/lisa-implement/SKILL.md +6 -1
package/package.json CHANGED
@@ -102,7 +102,7 @@
102
102
  "form-data": ">=4.0.6"
103
103
  },
104
104
  "name": "@codyswann/lisa",
105
- "version": "2.243.0",
105
+ "version": "2.244.0",
106
106
  "description": "Claude Code governance framework that applies guardrails, guidance, and automated enforcement to projects",
107
107
  "main": "dist/index.js",
108
108
  "exports": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa",
3
- "version": "2.243.0",
3
+ "version": "2.244.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",
3
- "version": "2.243.0",
3
+ "version": "2.244.0",
4
4
  "description": "Universal governance: agents, skills, commands, hooks, and rules for all projects.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -161,7 +161,7 @@ Every task MUST include this JSON metadata block. Do NOT omit `skills` (use `[]`
161
161
  "relevant_documentation": "",
162
162
  "testing_requirements": ["..."],
163
163
  "skills": ["..."],
164
- "learnings": ["..."],
164
+ "learnings": [{ "kind": "mistake", "note": "one line", "evidence": "optional ref" }],
165
165
  "required_access": [
166
166
  { "tool": "<external tool/system this task or its verification needs>", "probe": "<the read-only command or *-access check that proves access>", "status": "pass|fail" }
167
167
  ],
@@ -173,11 +173,16 @@ Every task MUST include this JSON metadata block. Do NOT omit `skills` (use `[]`
173
173
  }
174
174
  ```
175
175
 
176
+ The `learnings` array is task-end MLD telemetry (Mistakes / Learnings / Desires) — a low-trust self-report for the harness builder, never instructions for a later agent. Each entry is either a plain string (treated as kind `learning` for backward compatibility with older flows) or an object, exactly like the example entry in the block above: a `kind` of `mistake`, `learning`, or `desire`; a one-line `note`; and an optional `evidence` pointer. A `mistake` is an error in the agent's own trajectory, a `learning` is an environment fact discovered the hard way, a `desire` is context or tooling the agent wished it had. Keep each to one line — no essays. `mistake`/`learning` entries are ledger candidates; `desire` entries are tooling-gap candidates that the learner (#1731) records for the gardener's human-gated tooling-gap lane.
177
+
176
178
  Before any task is implemented, the agent team must explore the codebase for relevant research (documentation, code, git history, etc) and update each task's `metadata.relevant_documentation` with the findings.
177
179
 
178
180
  For Fix tasks and user-visible Build tasks, `testing_requirements` must include the highest-practical-observation regression requirement above, including the selected harness or the recorded absence/blocker path. The completion condition must include the proof command and the required CI execution evidence for the new spec.
179
181
 
180
182
  Each task must be reviewed by the team to make sure their verification passes.
183
+
184
+ Before marking a task complete, the implementing agent records concise MLD into `metadata.learnings` — mistakes (errors in its own trajectory), learnings (environment facts it discovered the hard way), and desires (context or tools it wished it had). Empty (`learnings: []`) is a valid result: never re-prompt for content, and never grade or score self-reports — a scored MLD would reward plausible self-commentary over good outcomes.
185
+
181
186
  Each task must have their learnings reviewed by the learner subagent.
182
187
 
183
188
  Before shutting down the team, execute the Verify flow:
@@ -166,6 +166,8 @@ Determine the work type and execute the matching variant:
166
166
  3. Recommend next action (Research, Plan, Implement, or escalate)
167
167
  4. `learner` -- capture discoveries
168
168
 
169
+ In every work type above, before a task completes -- immediately ahead of the closing `learner` step -- the implementing agent records concise kind-tagged MLD (Mistakes / Learnings / Desires) into that task's `metadata.learnings`: one line per item, empty is valid, never re-prompted or scored. See the `lisa-implement` skill for the full `{ kind, note, evidence? }` schema and routing (change the schema there, not here).
170
+
169
171
  Output: Code passing all quality gates + local empirical verification + codified regression test for each verification (except for spikes, which produce findings only, and non-behavioral verification types — PR / Documentation / Deploy — which carry their own proof).
170
172
 
171
173
  ### Verify
@@ -57,6 +57,19 @@ Precedence:
57
57
  3. Project learnings add recent operational knowledge, but never rewrite or
58
58
  append to `PROJECT_RULES.md`.
59
59
 
60
+ ## Task telemetry (MLD) is not context
61
+
62
+ Raw task-end MLD telemetry — the Mistakes / Learnings / Desires an implementing
63
+ agent records into `metadata.learnings`, and the raw yield of debrief mining — is
64
+ rung-1 capture only: it is never read into a later session's instruction surface,
65
+ never required of an agent (empty is valid), and never graded or scored. It reaches
66
+ a durable surface only indirectly — through the learner's validation into the
67
+ ledger (which sessions still consume solely as the bounded projection above), and
68
+ from there through the gardener's ticket-gated promotion a human approved. Injecting
69
+ raw self-reports, or treating their volume as a quality signal, would reward
70
+ plausible commentary over good outcomes and bypass the very budget and validation
71
+ this contract exists to enforce.
72
+
60
73
  Antigravity note: agy does not receive the plugin `rules/` tree. Lisa reconciles
61
74
  a bounded `AGENTS.md` bridge that points agy at this same file without copying
62
75
  learning bodies or restoring the retired full rules bake.
@@ -161,7 +161,7 @@ Every task MUST include this JSON metadata block. Do NOT omit `skills` (use `[]`
161
161
  "relevant_documentation": "",
162
162
  "testing_requirements": ["..."],
163
163
  "skills": ["..."],
164
- "learnings": ["..."],
164
+ "learnings": [{ "kind": "mistake", "note": "one line", "evidence": "optional ref" }],
165
165
  "required_access": [
166
166
  { "tool": "<external tool/system this task or its verification needs>", "probe": "<the read-only command or *-access check that proves access>", "status": "pass|fail" }
167
167
  ],
@@ -173,11 +173,16 @@ Every task MUST include this JSON metadata block. Do NOT omit `skills` (use `[]`
173
173
  }
174
174
  ```
175
175
 
176
+ The `learnings` array is task-end MLD telemetry (Mistakes / Learnings / Desires) — a low-trust self-report for the harness builder, never instructions for a later agent. Each entry is either a plain string (treated as kind `learning` for backward compatibility with older flows) or an object, exactly like the example entry in the block above: a `kind` of `mistake`, `learning`, or `desire`; a one-line `note`; and an optional `evidence` pointer. A `mistake` is an error in the agent's own trajectory, a `learning` is an environment fact discovered the hard way, a `desire` is context or tooling the agent wished it had. Keep each to one line — no essays. `mistake`/`learning` entries are ledger candidates; `desire` entries are tooling-gap candidates that the learner (#1731) records for the gardener's human-gated tooling-gap lane.
177
+
176
178
  Before any task is implemented, the agent team must explore the codebase for relevant research (documentation, code, git history, etc) and update each task's `metadata.relevant_documentation` with the findings.
177
179
 
178
180
  For Fix tasks and user-visible Build tasks, `testing_requirements` must include the highest-practical-observation regression requirement above, including the selected harness or the recorded absence/blocker path. The completion condition must include the proof command and the required CI execution evidence for the new spec.
179
181
 
180
182
  Each task must be reviewed by the team to make sure their verification passes.
183
+
184
+ Before marking a task complete, the implementing agent records concise MLD into `metadata.learnings` — mistakes (errors in its own trajectory), learnings (environment facts it discovered the hard way), and desires (context or tools it wished it had). Empty (`learnings: []`) is a valid result: never re-prompt for content, and never grade or score self-reports — a scored MLD would reward plausible self-commentary over good outcomes.
185
+
181
186
  Each task must have their learnings reviewed by the learner subagent.
182
187
 
183
188
  Before shutting down the team, execute the Verify flow:
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa",
3
- "version": "2.243.0",
3
+ "version": "2.244.0",
4
4
  "description": "Universal governance — agents, skills, commands, hooks, and rules for all projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -161,7 +161,7 @@ Every task MUST include this JSON metadata block. Do NOT omit `skills` (use `[]`
161
161
  "relevant_documentation": "",
162
162
  "testing_requirements": ["..."],
163
163
  "skills": ["..."],
164
- "learnings": ["..."],
164
+ "learnings": [{ "kind": "mistake", "note": "one line", "evidence": "optional ref" }],
165
165
  "required_access": [
166
166
  { "tool": "<external tool/system this task or its verification needs>", "probe": "<the read-only command or *-access check that proves access>", "status": "pass|fail" }
167
167
  ],
@@ -173,11 +173,16 @@ Every task MUST include this JSON metadata block. Do NOT omit `skills` (use `[]`
173
173
  }
174
174
  ```
175
175
 
176
+ The `learnings` array is task-end MLD telemetry (Mistakes / Learnings / Desires) — a low-trust self-report for the harness builder, never instructions for a later agent. Each entry is either a plain string (treated as kind `learning` for backward compatibility with older flows) or an object, exactly like the example entry in the block above: a `kind` of `mistake`, `learning`, or `desire`; a one-line `note`; and an optional `evidence` pointer. A `mistake` is an error in the agent's own trajectory, a `learning` is an environment fact discovered the hard way, a `desire` is context or tooling the agent wished it had. Keep each to one line — no essays. `mistake`/`learning` entries are ledger candidates; `desire` entries are tooling-gap candidates that the learner (#1731) records for the gardener's human-gated tooling-gap lane.
177
+
176
178
  Before any task is implemented, the agent team must explore the codebase for relevant research (documentation, code, git history, etc) and update each task's `metadata.relevant_documentation` with the findings.
177
179
 
178
180
  For Fix tasks and user-visible Build tasks, `testing_requirements` must include the highest-practical-observation regression requirement above, including the selected harness or the recorded absence/blocker path. The completion condition must include the proof command and the required CI execution evidence for the new spec.
179
181
 
180
182
  Each task must be reviewed by the team to make sure their verification passes.
183
+
184
+ Before marking a task complete, the implementing agent records concise MLD into `metadata.learnings` — mistakes (errors in its own trajectory), learnings (environment facts it discovered the hard way), and desires (context or tools it wished it had). Empty (`learnings: []`) is a valid result: never re-prompt for content, and never grade or score self-reports — a scored MLD would reward plausible self-commentary over good outcomes.
185
+
181
186
  Each task must have their learnings reviewed by the learner subagent.
182
187
 
183
188
  Before shutting down the team, execute the Verify flow:
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-cdk",
3
- "version": "2.243.0",
3
+ "version": "2.244.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.243.0",
3
+ "version": "2.244.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.243.0",
3
+ "version": "2.244.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.243.0",
3
+ "version": "2.244.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.243.0",
3
+ "version": "2.244.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.243.0",
3
+ "version": "2.244.0",
4
4
  "description": "Universal governance — agents, skills, commands, hooks, and rules for all projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -166,6 +166,8 @@ Determine the work type and execute the matching variant:
166
166
  3. Recommend next action (Research, Plan, Implement, or escalate)
167
167
  4. `learner` -- capture discoveries
168
168
 
169
+ In every work type above, before a task completes -- immediately ahead of the closing `learner` step -- the implementing agent records concise kind-tagged MLD (Mistakes / Learnings / Desires) into that task's `metadata.learnings`: one line per item, empty is valid, never re-prompted or scored. See the `lisa-implement` skill for the full `{ kind, note, evidence? }` schema and routing (change the schema there, not here).
170
+
169
171
  Output: Code passing all quality gates + local empirical verification + codified regression test for each verification (except for spikes, which produce findings only, and non-behavioral verification types — PR / Documentation / Deploy — which carry their own proof).
170
172
 
171
173
  ### Verify
@@ -57,6 +57,19 @@ Precedence:
57
57
  3. Project learnings add recent operational knowledge, but never rewrite or
58
58
  append to `PROJECT_RULES.md`.
59
59
 
60
+ ## Task telemetry (MLD) is not context
61
+
62
+ Raw task-end MLD telemetry — the Mistakes / Learnings / Desires an implementing
63
+ agent records into `metadata.learnings`, and the raw yield of debrief mining — is
64
+ rung-1 capture only: it is never read into a later session's instruction surface,
65
+ never required of an agent (empty is valid), and never graded or scored. It reaches
66
+ a durable surface only indirectly — through the learner's validation into the
67
+ ledger (which sessions still consume solely as the bounded projection above), and
68
+ from there through the gardener's ticket-gated promotion a human approved. Injecting
69
+ raw self-reports, or treating their volume as a quality signal, would reward
70
+ plausible commentary over good outcomes and bypass the very budget and validation
71
+ this contract exists to enforce.
72
+
60
73
  Antigravity note: agy does not receive the plugin `rules/` tree. Lisa reconciles
61
74
  a bounded `AGENTS.md` bridge that points agy at this same file without copying
62
75
  learning bodies or restoring the retired full rules bake.
@@ -161,7 +161,7 @@ Every task MUST include this JSON metadata block. Do NOT omit `skills` (use `[]`
161
161
  "relevant_documentation": "",
162
162
  "testing_requirements": ["..."],
163
163
  "skills": ["..."],
164
- "learnings": ["..."],
164
+ "learnings": [{ "kind": "mistake", "note": "one line", "evidence": "optional ref" }],
165
165
  "required_access": [
166
166
  { "tool": "<external tool/system this task or its verification needs>", "probe": "<the read-only command or *-access check that proves access>", "status": "pass|fail" }
167
167
  ],
@@ -173,11 +173,16 @@ Every task MUST include this JSON metadata block. Do NOT omit `skills` (use `[]`
173
173
  }
174
174
  ```
175
175
 
176
+ The `learnings` array is task-end MLD telemetry (Mistakes / Learnings / Desires) — a low-trust self-report for the harness builder, never instructions for a later agent. Each entry is either a plain string (treated as kind `learning` for backward compatibility with older flows) or an object, exactly like the example entry in the block above: a `kind` of `mistake`, `learning`, or `desire`; a one-line `note`; and an optional `evidence` pointer. A `mistake` is an error in the agent's own trajectory, a `learning` is an environment fact discovered the hard way, a `desire` is context or tooling the agent wished it had. Keep each to one line — no essays. `mistake`/`learning` entries are ledger candidates; `desire` entries are tooling-gap candidates that the learner (#1731) records for the gardener's human-gated tooling-gap lane.
177
+
176
178
  Before any task is implemented, the agent team must explore the codebase for relevant research (documentation, code, git history, etc) and update each task's `metadata.relevant_documentation` with the findings.
177
179
 
178
180
  For Fix tasks and user-visible Build tasks, `testing_requirements` must include the highest-practical-observation regression requirement above, including the selected harness or the recorded absence/blocker path. The completion condition must include the proof command and the required CI execution evidence for the new spec.
179
181
 
180
182
  Each task must be reviewed by the team to make sure their verification passes.
183
+
184
+ Before marking a task complete, the implementing agent records concise MLD into `metadata.learnings` — mistakes (errors in its own trajectory), learnings (environment facts it discovered the hard way), and desires (context or tools it wished it had). Empty (`learnings: []`) is a valid result: never re-prompt for content, and never grade or score self-reports — a scored MLD would reward plausible self-commentary over good outcomes.
185
+
181
186
  Each task must have their learnings reviewed by the learner subagent.
182
187
 
183
188
  Before shutting down the team, execute the Verify flow:
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa",
3
- "version": "2.243.0",
3
+ "version": "2.244.0",
4
4
  "description": "Universal governance — agents, skills, commands, hooks, and rules for all projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -171,6 +171,8 @@ Determine the work type and execute the matching variant:
171
171
  3. Recommend next action (Research, Plan, Implement, or escalate)
172
172
  4. `learner` -- capture discoveries
173
173
 
174
+ In every work type above, before a task completes -- immediately ahead of the closing `learner` step -- the implementing agent records concise kind-tagged MLD (Mistakes / Learnings / Desires) into that task's `metadata.learnings`: one line per item, empty is valid, never re-prompted or scored. See the `lisa-implement` skill for the full `{ kind, note, evidence? }` schema and routing (change the schema there, not here).
175
+
174
176
  Output: Code passing all quality gates + local empirical verification + codified regression test for each verification (except for spikes, which produce findings only, and non-behavioral verification types — PR / Documentation / Deploy — which carry their own proof).
175
177
 
176
178
  ### Verify
@@ -62,6 +62,19 @@ Precedence:
62
62
  3. Project learnings add recent operational knowledge, but never rewrite or
63
63
  append to `PROJECT_RULES.md`.
64
64
 
65
+ ## Task telemetry (MLD) is not context
66
+
67
+ Raw task-end MLD telemetry — the Mistakes / Learnings / Desires an implementing
68
+ agent records into `metadata.learnings`, and the raw yield of debrief mining — is
69
+ rung-1 capture only: it is never read into a later session's instruction surface,
70
+ never required of an agent (empty is valid), and never graded or scored. It reaches
71
+ a durable surface only indirectly — through the learner's validation into the
72
+ ledger (which sessions still consume solely as the bounded projection above), and
73
+ from there through the gardener's ticket-gated promotion a human approved. Injecting
74
+ raw self-reports, or treating their volume as a quality signal, would reward
75
+ plausible commentary over good outcomes and bypass the very budget and validation
76
+ this contract exists to enforce.
77
+
65
78
  Antigravity note: agy does not receive the plugin `rules/` tree. Lisa reconciles
66
79
  a bounded `AGENTS.md` bridge that points agy at this same file without copying
67
80
  learning bodies or restoring the retired full rules bake.
@@ -161,7 +161,7 @@ Every task MUST include this JSON metadata block. Do NOT omit `skills` (use `[]`
161
161
  "relevant_documentation": "",
162
162
  "testing_requirements": ["..."],
163
163
  "skills": ["..."],
164
- "learnings": ["..."],
164
+ "learnings": [{ "kind": "mistake", "note": "one line", "evidence": "optional ref" }],
165
165
  "required_access": [
166
166
  { "tool": "<external tool/system this task or its verification needs>", "probe": "<the read-only command or *-access check that proves access>", "status": "pass|fail" }
167
167
  ],
@@ -173,11 +173,16 @@ Every task MUST include this JSON metadata block. Do NOT omit `skills` (use `[]`
173
173
  }
174
174
  ```
175
175
 
176
+ The `learnings` array is task-end MLD telemetry (Mistakes / Learnings / Desires) — a low-trust self-report for the harness builder, never instructions for a later agent. Each entry is either a plain string (treated as kind `learning` for backward compatibility with older flows) or an object, exactly like the example entry in the block above: a `kind` of `mistake`, `learning`, or `desire`; a one-line `note`; and an optional `evidence` pointer. A `mistake` is an error in the agent's own trajectory, a `learning` is an environment fact discovered the hard way, a `desire` is context or tooling the agent wished it had. Keep each to one line — no essays. `mistake`/`learning` entries are ledger candidates; `desire` entries are tooling-gap candidates that the learner (#1731) records for the gardener's human-gated tooling-gap lane.
177
+
176
178
  Before any task is implemented, the agent team must explore the codebase for relevant research (documentation, code, git history, etc) and update each task's `metadata.relevant_documentation` with the findings.
177
179
 
178
180
  For Fix tasks and user-visible Build tasks, `testing_requirements` must include the highest-practical-observation regression requirement above, including the selected harness or the recorded absence/blocker path. The completion condition must include the proof command and the required CI execution evidence for the new spec.
179
181
 
180
182
  Each task must be reviewed by the team to make sure their verification passes.
183
+
184
+ Before marking a task complete, the implementing agent records concise MLD into `metadata.learnings` — mistakes (errors in its own trajectory), learnings (environment facts it discovered the hard way), and desires (context or tools it wished it had). Empty (`learnings: []`) is a valid result: never re-prompt for content, and never grade or score self-reports — a scored MLD would reward plausible self-commentary over good outcomes.
185
+
181
186
  Each task must have their learnings reviewed by the learner subagent.
182
187
 
183
188
  Before shutting down the team, execute the Verify flow:
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-expo",
3
- "version": "2.243.0",
3
+ "version": "2.244.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.243.0",
3
+ "version": "2.244.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.243.0",
3
+ "version": "2.244.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.243.0",
3
+ "version": "2.244.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.243.0",
3
+ "version": "2.244.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.243.0",
3
+ "version": "2.244.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.243.0",
3
+ "version": "2.244.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.243.0",
3
+ "version": "2.244.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.243.0",
3
+ "version": "2.244.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.243.0",
3
+ "version": "2.244.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.243.0",
3
+ "version": "2.244.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.243.0",
3
+ "version": "2.244.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.243.0",
3
+ "version": "2.244.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.243.0",
3
+ "version": "2.244.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.243.0",
3
+ "version": "2.244.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.243.0",
3
+ "version": "2.244.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.243.0",
3
+ "version": "2.244.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.243.0",
3
+ "version": "2.244.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.243.0",
3
+ "version": "2.244.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.243.0",
3
+ "version": "2.244.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.243.0",
3
+ "version": "2.244.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.243.0",
3
+ "version": "2.244.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.243.0",
3
+ "version": "2.244.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.243.0",
3
+ "version": "2.244.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.243.0",
3
+ "version": "2.244.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.243.0",
3
+ "version": "2.244.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.243.0",
3
+ "version": "2.244.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.243.0",
3
+ "version": "2.244.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.243.0",
3
+ "version": "2.244.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.243.0",
3
+ "version": "2.244.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.243.0",
3
+ "version": "2.244.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.243.0",
3
+ "version": "2.244.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.243.0",
3
+ "version": "2.244.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.243.0",
3
+ "version": "2.244.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.243.0",
3
+ "version": "2.244.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.243.0",
3
+ "version": "2.244.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.243.0",
3
+ "version": "2.244.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.243.0",
3
+ "version": "2.244.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.243.0",
3
+ "version": "2.244.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.243.0",
3
+ "version": "2.244.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"
@@ -166,6 +166,8 @@ Determine the work type and execute the matching variant:
166
166
  3. Recommend next action (Research, Plan, Implement, or escalate)
167
167
  4. `learner` -- capture discoveries
168
168
 
169
+ In every work type above, before a task completes -- immediately ahead of the closing `learner` step -- the implementing agent records concise kind-tagged MLD (Mistakes / Learnings / Desires) into that task's `metadata.learnings`: one line per item, empty is valid, never re-prompted or scored. See the `lisa-implement` skill for the full `{ kind, note, evidence? }` schema and routing (change the schema there, not here).
170
+
169
171
  Output: Code passing all quality gates + local empirical verification + codified regression test for each verification (except for spikes, which produce findings only, and non-behavioral verification types — PR / Documentation / Deploy — which carry their own proof).
170
172
 
171
173
  ### Verify
@@ -57,6 +57,19 @@ Precedence:
57
57
  3. Project learnings add recent operational knowledge, but never rewrite or
58
58
  append to `PROJECT_RULES.md`.
59
59
 
60
+ ## Task telemetry (MLD) is not context
61
+
62
+ Raw task-end MLD telemetry — the Mistakes / Learnings / Desires an implementing
63
+ agent records into `metadata.learnings`, and the raw yield of debrief mining — is
64
+ rung-1 capture only: it is never read into a later session's instruction surface,
65
+ never required of an agent (empty is valid), and never graded or scored. It reaches
66
+ a durable surface only indirectly — through the learner's validation into the
67
+ ledger (which sessions still consume solely as the bounded projection above), and
68
+ from there through the gardener's ticket-gated promotion a human approved. Injecting
69
+ raw self-reports, or treating their volume as a quality signal, would reward
70
+ plausible commentary over good outcomes and bypass the very budget and validation
71
+ this contract exists to enforce.
72
+
60
73
  Antigravity note: agy does not receive the plugin `rules/` tree. Lisa reconciles
61
74
  a bounded `AGENTS.md` bridge that points agy at this same file without copying
62
75
  learning bodies or restoring the retired full rules bake.
@@ -161,7 +161,7 @@ Every task MUST include this JSON metadata block. Do NOT omit `skills` (use `[]`
161
161
  "relevant_documentation": "",
162
162
  "testing_requirements": ["..."],
163
163
  "skills": ["..."],
164
- "learnings": ["..."],
164
+ "learnings": [{ "kind": "mistake", "note": "one line", "evidence": "optional ref" }],
165
165
  "required_access": [
166
166
  { "tool": "<external tool/system this task or its verification needs>", "probe": "<the read-only command or *-access check that proves access>", "status": "pass|fail" }
167
167
  ],
@@ -173,11 +173,16 @@ Every task MUST include this JSON metadata block. Do NOT omit `skills` (use `[]`
173
173
  }
174
174
  ```
175
175
 
176
+ The `learnings` array is task-end MLD telemetry (Mistakes / Learnings / Desires) — a low-trust self-report for the harness builder, never instructions for a later agent. Each entry is either a plain string (treated as kind `learning` for backward compatibility with older flows) or an object, exactly like the example entry in the block above: a `kind` of `mistake`, `learning`, or `desire`; a one-line `note`; and an optional `evidence` pointer. A `mistake` is an error in the agent's own trajectory, a `learning` is an environment fact discovered the hard way, a `desire` is context or tooling the agent wished it had. Keep each to one line — no essays. `mistake`/`learning` entries are ledger candidates; `desire` entries are tooling-gap candidates that the learner (#1731) records for the gardener's human-gated tooling-gap lane.
177
+
176
178
  Before any task is implemented, the agent team must explore the codebase for relevant research (documentation, code, git history, etc) and update each task's `metadata.relevant_documentation` with the findings.
177
179
 
178
180
  For Fix tasks and user-visible Build tasks, `testing_requirements` must include the highest-practical-observation regression requirement above, including the selected harness or the recorded absence/blocker path. The completion condition must include the proof command and the required CI execution evidence for the new spec.
179
181
 
180
182
  Each task must be reviewed by the team to make sure their verification passes.
183
+
184
+ Before marking a task complete, the implementing agent records concise MLD into `metadata.learnings` — mistakes (errors in its own trajectory), learnings (environment facts it discovered the hard way), and desires (context or tools it wished it had). Empty (`learnings: []`) is a valid result: never re-prompt for content, and never grade or score self-reports — a scored MLD would reward plausible self-commentary over good outcomes.
185
+
181
186
  Each task must have their learnings reviewed by the learner subagent.
182
187
 
183
188
  Before shutting down the team, execute the Verify flow: