@codyswann/lisa 4.55.6 → 4.55.8

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 (58) hide show
  1. package/dist/core/nightly-e2e-guard-behavior-certificate.js +2 -2
  2. package/dist/core/upstream-evidence-manifest.js +2 -2
  3. package/expo/create-only/bdd/coverage-map.json +1 -1
  4. package/package.json +4 -4
  5. package/plugins/lisa/.claude-plugin/plugin.json +1 -1
  6. package/plugins/lisa/.codex-plugin/plugin.json +1 -1
  7. package/plugins/lisa/rules/reference/bdd-e2e-coverage.md +10 -2
  8. package/plugins/lisa-agy/plugin.json +1 -1
  9. package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
  10. package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
  11. package/plugins/lisa-cdk-agy/plugin.json +1 -1
  12. package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
  13. package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
  14. package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
  15. package/plugins/lisa-copilot/rules/reference/bdd-e2e-coverage.md +10 -2
  16. package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
  17. package/plugins/lisa-cursor/rules/bdd-e2e-coverage-reference.mdc +10 -2
  18. package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
  19. package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
  20. package/plugins/lisa-expo-agy/plugin.json +1 -1
  21. package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
  22. package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
  23. package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
  24. package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
  25. package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
  26. package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
  27. package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
  28. package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
  29. package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
  30. package/plugins/lisa-nestjs-agy/plugin.json +1 -1
  31. package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
  32. package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
  33. package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
  34. package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
  35. package/plugins/lisa-openclaw-agy/plugin.json +1 -1
  36. package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
  37. package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
  38. package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
  39. package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
  40. package/plugins/lisa-phaser-agy/plugin.json +1 -1
  41. package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
  42. package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
  43. package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
  44. package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
  45. package/plugins/lisa-rails-agy/plugin.json +1 -1
  46. package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
  47. package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
  48. package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
  49. package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
  50. package/plugins/lisa-typescript-agy/plugin.json +1 -1
  51. package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
  52. package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
  53. package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
  54. package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
  55. package/plugins/lisa-wiki-agy/plugin.json +1 -1
  56. package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
  57. package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
  58. package/plugins/src/base/rules/reference/bdd-e2e-coverage.md +10 -2
@@ -41,9 +41,9 @@ export const NIGHTLY_E2E_GUARD_BEHAVIOR_CERTIFICATES = Object.freeze({
41
41
  }),
42
42
  cd02b94b4db5134984c7b69f905af71c96bb5aac09a18fb3c6aef5ab0c22cf17: Object.freeze({
43
43
  contractVersion: "1.9.0",
44
- packageVersions: Object.freeze(["4.55.6"]),
44
+ packageVersions: Object.freeze(["4.55.8"]),
45
45
  provenances: Object.freeze([
46
- "workspace package @codyswann/lisa@4.55.6 (typescript/copy-overwrite/scripts/check-nightly-e2e-health.mjs)",
46
+ "workspace package @codyswann/lisa@4.55.8 (typescript/copy-overwrite/scripts/check-nightly-e2e-health.mjs)",
47
47
  ]),
48
48
  }),
49
49
  dfd2fef680de5ef03e63075e8a61c62ca4d95cdfdff6201939b79c748d3397f6: Object.freeze({
@@ -153,7 +153,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
153
153
  "expo/create-only/.maestro/flake-classification.json": "8a9469ac2d3b7cb885b4a48ea2dc942aa4ad5deb1a12b05818f62811cac6b0d5",
154
154
  "expo/create-only/.zap/baseline.conf": "ab18d74ba5270dd5d795e740cd6b1292bb78dc36c79a20c1e7b752d14c0c55f5",
155
155
  "expo/create-only/babel.config.js": "86503c2f3ccf13749e1c7674c97ab8df4cb28a8d346bd5ddcb65787290b5a9a3",
156
- "expo/create-only/bdd/coverage-map.json": "b2c247a774494f04712634d4fe2d6592980f79e7115ee11f880475c88ba7816c",
156
+ "expo/create-only/bdd/coverage-map.json": "dca3b037b3740bbcc228c85fc63feccc7a5295da5a925e60420accda3eac4059",
157
157
  "expo/create-only/bdd/features/.keep": "b807c9c94a3b00b93d2463a9b098dac41db227ac1f5b0b1cb746e5e6f68de15d",
158
158
  "expo/create-only/e2e.thresholds.json": "23ac9bab7fe84cfa542785156425e020af9baabdbeb1a53293ae7e2395e4dd92",
159
159
  "expo/create-only/eas.json": "3d710e6c1ac1d40e60aab765c8766f276a5ee1012057b0eda405eac54d301321",
@@ -442,7 +442,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
442
442
  "plugins/src/base/rules/eager/withdrawn-rulings.md": "46bdcbaa845ab906bd7f83e86d18860a1a54162520b8fb7101f6b23c5e1e816f",
443
443
  "plugins/src/base/rules/reference/automation-runbook-contract.md": "e4b64b042b650bccc26f04ef68fe76a182be265ace4674daa4f9c8e8c24bd626",
444
444
  "plugins/src/base/rules/reference/base-rules.md": "938173f9e048a0f8e09bd825d97f2e3a3e97f03fc99037fcdae47a9bfa99f307",
445
- "plugins/src/base/rules/reference/bdd-e2e-coverage.md": "4eb366dfc83f22c25fe22544f0a2b12f702d0bda3b30a9456364afc50eee767c",
445
+ "plugins/src/base/rules/reference/bdd-e2e-coverage.md": "05491cdf9b64327cd0ba8f205242128749700113a61de3c62e43e8787d1971c1",
446
446
  "plugins/src/base/rules/reference/blocker-containment.md": "b88a8a58cebd4dabcc130439df65b1be54a6f78a6098359e86135d267e41f096",
447
447
  "plugins/src/base/rules/reference/claim-archaeology.md": "a452f3ff48396954e75c15cc441af7b89648b4b93851e907148854a03afc0ed0",
448
448
  "plugins/src/base/rules/reference/claim-evidence-mapping.md": "d517dd46224bfd97e2b988a317837dcf099977ae35caa98bb3458ffac606081d",
@@ -1,5 +1,5 @@
1
1
  {
2
- "_comment": "BDD behavior contract, machine-readable half. See the Lisa rule `bdd-e2e-coverage` and docs/bdd-coverage-schema.md. This file holds the contract, never the adoption decision: whether the gate is governed is declared once, as `behavior-contract` in .lisa.config.json, at `required`, `optional`, or `off`. An `adoption` block here is retired and is refused rather than ignored - a second copy of a decision is a second copy that can disagree.",
2
+ "_comment": "BDD behavior contract, machine-readable half. See the Lisa rule `bdd-e2e-coverage` and node_modules/@codyswann/lisa/plugins/lisa/rules/reference/bdd-e2e-coverage.md. This file holds the contract, never the adoption decision: whether the gate is governed is declared once, as `behavior-contract` in .lisa.config.json, at `required`, `optional`, or `off`. An `adoption` block here is retired and is refused rather than ignored - a second copy of a decision is a second copy that can disagree.",
3
3
  "schemaVersion": 2,
4
4
  "asOf": "1970-01-01",
5
5
  "runnerPlatforms": {
package/package.json CHANGED
@@ -187,7 +187,7 @@
187
187
  "zod-validation-error": "^4.0.0"
188
188
  },
189
189
  "name": "@codyswann/lisa",
190
- "version": "4.55.6",
190
+ "version": "4.55.8",
191
191
  "description": "Claude Code governance framework that applies guardrails, guidance, and automated enforcement to projects",
192
192
  "main": "dist/index.js",
193
193
  "exports": {
@@ -336,7 +336,7 @@
336
336
  "test": "tests"
337
337
  },
338
338
  "types": "./dist/index.d.ts",
339
- "lisaReleaseCommit": "52726d87810612cc52e5e85ddbf9eb0178365664",
340
- "gitHead": "52726d87810612cc52e5e85ddbf9eb0178365664",
341
- "lisaReleaseTag": "v4.55.6"
339
+ "lisaReleaseCommit": "5ac844bdad85bdef9636baf956d89aa497e3b96f",
340
+ "gitHead": "5ac844bdad85bdef9636baf956d89aa497e3b96f",
341
+ "lisaReleaseTag": "v4.55.8"
342
342
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa",
3
- "version": "4.55.6",
3
+ "version": "4.55.8",
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": "4.55.6",
3
+ "version": "4.55.8",
4
4
  "description": "Universal governance: agents, skills, commands, hooks, and rules for all projects.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -109,9 +109,12 @@ platforms it requires and that each named platform has a configured runner.
109
109
  {
110
110
  "scenario": "BDD-DOMAIN-NNN",
111
111
  "platforms": ["<platform>"],
112
- "runner": "<runner — required when more than one runner covers a waived platform, so the waiver names which one cannot decide it>",
112
+ "runner": "<runner>",
113
113
  "reason": "why this runner cannot decide this behavior today",
114
- "recordedAt": "<ISO date>"
114
+ "owner": "verification-team",
115
+ "ticket": "gh-123",
116
+ "recordedAt": "2026-09-12",
117
+ "expiresAt": "2026-10-12"
115
118
  }
116
119
  ],
117
120
  "mappings": [
@@ -142,6 +145,11 @@ platforms it requires and that each named platform has a configured runner.
142
145
  }
143
146
  ```
144
147
 
148
+ The waiver's owner, ticket, and dates are illustrative values: substitute the responsible person
149
+ or team, the real follow-up reference (`gh-123` or `PROJ-123` shape), and a current, bounded
150
+ `YYYY-MM-DD` review window. Name a runner from `runnerPlatforms`; it is required when more than
151
+ one runner covers the waived platform. An expired waiver is rejected, and a waiver is never coverage.
152
+
145
153
  `evidence` is what makes a mapping falsifiable: the gate reads the mapped file and confirms the
146
154
  string is still there, so renaming or deleting a test breaks the map loudly instead of leaving a
147
155
  scenario silently unguarded.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa",
3
- "version": "4.55.6",
3
+ "version": "4.55.8",
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": "4.55.6",
3
+ "version": "4.55.8",
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": "4.55.6",
3
+ "version": "4.55.8",
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": "4.55.6",
3
+ "version": "4.55.8",
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": "4.55.6",
3
+ "version": "4.55.8",
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": "4.55.6",
3
+ "version": "4.55.8",
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": "4.55.6",
3
+ "version": "4.55.8",
4
4
  "description": "Universal governance — agents, skills, commands, hooks, and rules for all projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -109,9 +109,12 @@ platforms it requires and that each named platform has a configured runner.
109
109
  {
110
110
  "scenario": "BDD-DOMAIN-NNN",
111
111
  "platforms": ["<platform>"],
112
- "runner": "<runner — required when more than one runner covers a waived platform, so the waiver names which one cannot decide it>",
112
+ "runner": "<runner>",
113
113
  "reason": "why this runner cannot decide this behavior today",
114
- "recordedAt": "<ISO date>"
114
+ "owner": "verification-team",
115
+ "ticket": "gh-123",
116
+ "recordedAt": "2026-09-12",
117
+ "expiresAt": "2026-10-12"
115
118
  }
116
119
  ],
117
120
  "mappings": [
@@ -142,6 +145,11 @@ platforms it requires and that each named platform has a configured runner.
142
145
  }
143
146
  ```
144
147
 
148
+ The waiver's owner, ticket, and dates are illustrative values: substitute the responsible person
149
+ or team, the real follow-up reference (`gh-123` or `PROJ-123` shape), and a current, bounded
150
+ `YYYY-MM-DD` review window. Name a runner from `runnerPlatforms`; it is required when more than
151
+ one runner covers the waived platform. An expired waiver is rejected, and a waiver is never coverage.
152
+
145
153
  `evidence` is what makes a mapping falsifiable: the gate reads the mapped file and confirms the
146
154
  string is still there, so renaming or deleting a test breaks the map loudly instead of leaving a
147
155
  scenario silently unguarded.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa",
3
- "version": "4.55.6",
3
+ "version": "4.55.8",
4
4
  "description": "Universal governance — agents, skills, commands, hooks, and rules for all projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -114,9 +114,12 @@ platforms it requires and that each named platform has a configured runner.
114
114
  {
115
115
  "scenario": "BDD-DOMAIN-NNN",
116
116
  "platforms": ["<platform>"],
117
- "runner": "<runner — required when more than one runner covers a waived platform, so the waiver names which one cannot decide it>",
117
+ "runner": "<runner>",
118
118
  "reason": "why this runner cannot decide this behavior today",
119
- "recordedAt": "<ISO date>"
119
+ "owner": "verification-team",
120
+ "ticket": "gh-123",
121
+ "recordedAt": "2026-09-12",
122
+ "expiresAt": "2026-10-12"
120
123
  }
121
124
  ],
122
125
  "mappings": [
@@ -147,6 +150,11 @@ platforms it requires and that each named platform has a configured runner.
147
150
  }
148
151
  ```
149
152
 
153
+ The waiver's owner, ticket, and dates are illustrative values: substitute the responsible person
154
+ or team, the real follow-up reference (`gh-123` or `PROJ-123` shape), and a current, bounded
155
+ `YYYY-MM-DD` review window. Name a runner from `runnerPlatforms`; it is required when more than
156
+ one runner covers the waived platform. An expired waiver is rejected, and a waiver is never coverage.
157
+
150
158
  `evidence` is what makes a mapping falsifiable: the gate reads the mapped file and confirms the
151
159
  string is still there, so renaming or deleting a test breaks the map loudly instead of leaving a
152
160
  scenario silently unguarded.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-expo",
3
- "version": "4.55.6",
3
+ "version": "4.55.8",
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": "4.55.6",
3
+ "version": "4.55.8",
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": "4.55.6",
3
+ "version": "4.55.8",
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": "4.55.6",
3
+ "version": "4.55.8",
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": "4.55.6",
3
+ "version": "4.55.8",
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": "4.55.6",
3
+ "version": "4.55.8",
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": "4.55.6",
3
+ "version": "4.55.8",
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": "4.55.6",
3
+ "version": "4.55.8",
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": "4.55.6",
3
+ "version": "4.55.8",
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": "4.55.6",
3
+ "version": "4.55.8",
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": "4.55.6",
3
+ "version": "4.55.8",
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": "4.55.6",
3
+ "version": "4.55.8",
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": "4.55.6",
3
+ "version": "4.55.8",
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": "4.55.6",
3
+ "version": "4.55.8",
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": "4.55.6",
3
+ "version": "4.55.8",
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": "4.55.6",
3
+ "version": "4.55.8",
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.55.6",
3
+ "version": "4.55.8",
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": "4.55.6",
3
+ "version": "4.55.8",
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.55.6",
3
+ "version": "4.55.8",
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.55.6",
3
+ "version": "4.55.8",
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": "4.55.6",
3
+ "version": "4.55.8",
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": "4.55.6",
3
+ "version": "4.55.8",
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": "4.55.6",
3
+ "version": "4.55.8",
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": "4.55.6",
3
+ "version": "4.55.8",
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": "4.55.6",
3
+ "version": "4.55.8",
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": "4.55.6",
3
+ "version": "4.55.8",
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": "4.55.6",
3
+ "version": "4.55.8",
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": "4.55.6",
3
+ "version": "4.55.8",
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": "4.55.6",
3
+ "version": "4.55.8",
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": "4.55.6",
3
+ "version": "4.55.8",
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": "4.55.6",
3
+ "version": "4.55.8",
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": "4.55.6",
3
+ "version": "4.55.8",
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": "4.55.6",
3
+ "version": "4.55.8",
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": "4.55.6",
3
+ "version": "4.55.8",
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": "4.55.6",
3
+ "version": "4.55.8",
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": "4.55.6",
3
+ "version": "4.55.8",
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": "4.55.6",
3
+ "version": "4.55.8",
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": "4.55.6",
3
+ "version": "4.55.8",
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": "4.55.6",
3
+ "version": "4.55.8",
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": "4.55.6",
3
+ "version": "4.55.8",
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"
@@ -109,9 +109,12 @@ platforms it requires and that each named platform has a configured runner.
109
109
  {
110
110
  "scenario": "BDD-DOMAIN-NNN",
111
111
  "platforms": ["<platform>"],
112
- "runner": "<runner — required when more than one runner covers a waived platform, so the waiver names which one cannot decide it>",
112
+ "runner": "<runner>",
113
113
  "reason": "why this runner cannot decide this behavior today",
114
- "recordedAt": "<ISO date>"
114
+ "owner": "verification-team",
115
+ "ticket": "gh-123",
116
+ "recordedAt": "2026-09-12",
117
+ "expiresAt": "2026-10-12"
115
118
  }
116
119
  ],
117
120
  "mappings": [
@@ -142,6 +145,11 @@ platforms it requires and that each named platform has a configured runner.
142
145
  }
143
146
  ```
144
147
 
148
+ The waiver's owner, ticket, and dates are illustrative values: substitute the responsible person
149
+ or team, the real follow-up reference (`gh-123` or `PROJ-123` shape), and a current, bounded
150
+ `YYYY-MM-DD` review window. Name a runner from `runnerPlatforms`; it is required when more than
151
+ one runner covers the waived platform. An expired waiver is rejected, and a waiver is never coverage.
152
+
145
153
  `evidence` is what makes a mapping falsifiable: the gate reads the mapped file and confirms the
146
154
  string is still there, so renaming or deleting a test breaks the map loudly instead of leaving a
147
155
  scenario silently unguarded.