@codyswann/lisa 4.81.4 → 4.81.5

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 (142) hide show
  1. package/dist/core/nightly-e2e-guard-behavior-certificate.js +2 -2
  2. package/dist/core/upstream-evidence-manifest.d.ts.map +1 -1
  3. package/dist/core/upstream-evidence-manifest.js +12 -10
  4. package/dist/core/upstream-evidence-manifest.js.map +1 -1
  5. package/package.json +4 -4
  6. package/plugins/lisa/.claude-plugin/plugin.json +1 -1
  7. package/plugins/lisa/.codex-plugin/plugin.json +1 -1
  8. package/plugins/lisa/.codex-plugin/skills/lisa-secrets-access/scripts/validate-config.mjs +30 -0
  9. package/plugins/lisa/.codex-plugin/skills/lisa-session-manager/SKILL.md +13 -6
  10. package/plugins/lisa/.codex-plugin/skills/lisa-session-manager/references/runbook-template.md +4 -3
  11. package/plugins/lisa/.codex-plugin/skills/lisa-session-manager/scripts/cli-queue.mjs +9 -3
  12. package/plugins/lisa/.codex-plugin/skills/lisa-session-manager/scripts/cli-runtime.mjs +1 -0
  13. package/plugins/lisa/.codex-plugin/skills/lisa-session-manager/scripts/cli-usage.mjs +4 -1
  14. package/plugins/lisa/.codex-plugin/skills/lisa-session-manager/scripts/config.mjs +4 -0
  15. package/plugins/lisa/.codex-plugin/skills/lisa-setup-session-manager/SKILL.md +13 -1
  16. package/plugins/lisa/rules/reference/config-resolution.md +1 -0
  17. package/plugins/lisa/scripts/ready-queue-order.mjs +34 -14
  18. package/plugins/lisa/skills/lisa-secrets-access/scripts/validate-config.mjs +30 -0
  19. package/plugins/lisa/skills/lisa-session-manager/SKILL.md +13 -6
  20. package/plugins/lisa/skills/lisa-session-manager/references/runbook-template.md +4 -3
  21. package/plugins/lisa/skills/lisa-session-manager/scripts/cli-queue.mjs +9 -3
  22. package/plugins/lisa/skills/lisa-session-manager/scripts/cli-runtime.mjs +1 -0
  23. package/plugins/lisa/skills/lisa-session-manager/scripts/cli-usage.mjs +4 -1
  24. package/plugins/lisa/skills/lisa-session-manager/scripts/config.mjs +4 -0
  25. package/plugins/lisa/skills/lisa-setup-session-manager/SKILL.md +13 -1
  26. package/plugins/lisa-agy/plugin.json +1 -1
  27. package/plugins/lisa-agy/scripts/ready-queue-order.mjs +34 -14
  28. package/plugins/lisa-agy/skills/lisa-secrets-access/scripts/validate-config.mjs +30 -0
  29. package/plugins/lisa-agy/skills/lisa-session-manager/SKILL.md +13 -6
  30. package/plugins/lisa-agy/skills/lisa-session-manager/references/runbook-template.md +4 -3
  31. package/plugins/lisa-agy/skills/lisa-session-manager/scripts/cli-queue.mjs +9 -3
  32. package/plugins/lisa-agy/skills/lisa-session-manager/scripts/cli-runtime.mjs +1 -0
  33. package/plugins/lisa-agy/skills/lisa-session-manager/scripts/cli-usage.mjs +4 -1
  34. package/plugins/lisa-agy/skills/lisa-session-manager/scripts/config.mjs +4 -0
  35. package/plugins/lisa-agy/skills/lisa-setup-session-manager/SKILL.md +13 -1
  36. package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
  37. package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
  38. package/plugins/lisa-cdk-agy/plugin.json +1 -1
  39. package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
  40. package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
  41. package/plugins/lisa-cdk-devin/.claude-plugin/plugin.json +1 -1
  42. package/plugins/lisa-cdk-devin/.devin-plugin/plugin.json +1 -1
  43. package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
  44. package/plugins/lisa-copilot/rules/reference/config-resolution.md +1 -0
  45. package/plugins/lisa-copilot/scripts/ready-queue-order.mjs +34 -14
  46. package/plugins/lisa-copilot/skills/lisa-secrets-access/scripts/validate-config.mjs +30 -0
  47. package/plugins/lisa-copilot/skills/lisa-session-manager/SKILL.md +13 -6
  48. package/plugins/lisa-copilot/skills/lisa-session-manager/references/runbook-template.md +4 -3
  49. package/plugins/lisa-copilot/skills/lisa-session-manager/scripts/cli-queue.mjs +9 -3
  50. package/plugins/lisa-copilot/skills/lisa-session-manager/scripts/cli-runtime.mjs +1 -0
  51. package/plugins/lisa-copilot/skills/lisa-session-manager/scripts/cli-usage.mjs +4 -1
  52. package/plugins/lisa-copilot/skills/lisa-session-manager/scripts/config.mjs +4 -0
  53. package/plugins/lisa-copilot/skills/lisa-setup-session-manager/SKILL.md +13 -1
  54. package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
  55. package/plugins/lisa-cursor/rules/config-resolution-reference.mdc +1 -0
  56. package/plugins/lisa-cursor/scripts/ready-queue-order.mjs +34 -14
  57. package/plugins/lisa-cursor/skills/lisa-secrets-access/scripts/validate-config.mjs +30 -0
  58. package/plugins/lisa-cursor/skills/lisa-session-manager/SKILL.md +13 -6
  59. package/plugins/lisa-cursor/skills/lisa-session-manager/references/runbook-template.md +4 -3
  60. package/plugins/lisa-cursor/skills/lisa-session-manager/scripts/cli-queue.mjs +9 -3
  61. package/plugins/lisa-cursor/skills/lisa-session-manager/scripts/cli-runtime.mjs +1 -0
  62. package/plugins/lisa-cursor/skills/lisa-session-manager/scripts/cli-usage.mjs +4 -1
  63. package/plugins/lisa-cursor/skills/lisa-session-manager/scripts/config.mjs +4 -0
  64. package/plugins/lisa-cursor/skills/lisa-setup-session-manager/SKILL.md +13 -1
  65. package/plugins/lisa-devin/.claude-plugin/plugin.json +1 -1
  66. package/plugins/lisa-devin/.devin-plugin/plugin.json +1 -1
  67. package/plugins/lisa-devin/rules/reference/config-resolution.md +1 -0
  68. package/plugins/lisa-devin/scripts/ready-queue-order.mjs +34 -14
  69. package/plugins/lisa-devin/skills/lisa-secrets-access/scripts/validate-config.mjs +30 -0
  70. package/plugins/lisa-devin/skills/lisa-session-manager/SKILL.md +13 -6
  71. package/plugins/lisa-devin/skills/lisa-session-manager/references/runbook-template.md +4 -3
  72. package/plugins/lisa-devin/skills/lisa-session-manager/scripts/cli-queue.mjs +9 -3
  73. package/plugins/lisa-devin/skills/lisa-session-manager/scripts/cli-runtime.mjs +1 -0
  74. package/plugins/lisa-devin/skills/lisa-session-manager/scripts/cli-usage.mjs +4 -1
  75. package/plugins/lisa-devin/skills/lisa-session-manager/scripts/config.mjs +4 -0
  76. package/plugins/lisa-devin/skills/lisa-setup-session-manager/SKILL.md +13 -1
  77. package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
  78. package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
  79. package/plugins/lisa-expo-agy/plugin.json +1 -1
  80. package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
  81. package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
  82. package/plugins/lisa-expo-devin/.claude-plugin/plugin.json +1 -1
  83. package/plugins/lisa-expo-devin/.devin-plugin/plugin.json +1 -1
  84. package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
  85. package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
  86. package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
  87. package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
  88. package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
  89. package/plugins/lisa-harper-fabric-devin/.claude-plugin/plugin.json +1 -1
  90. package/plugins/lisa-harper-fabric-devin/.devin-plugin/plugin.json +1 -1
  91. package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
  92. package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
  93. package/plugins/lisa-nestjs-agy/plugin.json +1 -1
  94. package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
  95. package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
  96. package/plugins/lisa-nestjs-devin/.claude-plugin/plugin.json +1 -1
  97. package/plugins/lisa-nestjs-devin/.devin-plugin/plugin.json +1 -1
  98. package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
  99. package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
  100. package/plugins/lisa-openclaw-agy/plugin.json +1 -1
  101. package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
  102. package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
  103. package/plugins/lisa-openclaw-devin/.claude-plugin/plugin.json +1 -1
  104. package/plugins/lisa-openclaw-devin/.devin-plugin/plugin.json +1 -1
  105. package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
  106. package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
  107. package/plugins/lisa-phaser-agy/plugin.json +1 -1
  108. package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
  109. package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
  110. package/plugins/lisa-phaser-devin/.claude-plugin/plugin.json +1 -1
  111. package/plugins/lisa-phaser-devin/.devin-plugin/plugin.json +1 -1
  112. package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
  113. package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
  114. package/plugins/lisa-rails-agy/plugin.json +1 -1
  115. package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
  116. package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
  117. package/plugins/lisa-rails-devin/.claude-plugin/plugin.json +1 -1
  118. package/plugins/lisa-rails-devin/.devin-plugin/plugin.json +1 -1
  119. package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
  120. package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
  121. package/plugins/lisa-typescript-agy/plugin.json +1 -1
  122. package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
  123. package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
  124. package/plugins/lisa-typescript-devin/.claude-plugin/plugin.json +1 -1
  125. package/plugins/lisa-typescript-devin/.devin-plugin/plugin.json +1 -1
  126. package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
  127. package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
  128. package/plugins/lisa-wiki-agy/plugin.json +1 -1
  129. package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
  130. package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
  131. package/plugins/lisa-wiki-devin/.claude-plugin/plugin.json +1 -1
  132. package/plugins/lisa-wiki-devin/.devin-plugin/plugin.json +1 -1
  133. package/plugins/src/base/rules/reference/config-resolution.md +1 -0
  134. package/plugins/src/base/scripts/ready-queue-order.mjs +34 -14
  135. package/plugins/src/base/skills/lisa-secrets-access/scripts/validate-config.mjs +30 -0
  136. package/plugins/src/base/skills/lisa-session-manager/SKILL.md +13 -6
  137. package/plugins/src/base/skills/lisa-session-manager/references/runbook-template.md +4 -3
  138. package/plugins/src/base/skills/lisa-session-manager/scripts/cli-queue.mjs +9 -3
  139. package/plugins/src/base/skills/lisa-session-manager/scripts/cli-runtime.mjs +1 -0
  140. package/plugins/src/base/skills/lisa-session-manager/scripts/cli-usage.mjs +4 -1
  141. package/plugins/src/base/skills/lisa-session-manager/scripts/config.mjs +4 -0
  142. package/plugins/src/base/skills/lisa-setup-session-manager/SKILL.md +13 -1
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-expo",
3
- "version": "4.81.4",
3
+ "version": "4.81.5",
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.81.4",
3
+ "version": "4.81.5",
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.81.4",
3
+ "version": "4.81.5",
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.81.4",
3
+ "version": "4.81.5",
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.81.4",
3
+ "version": "4.81.5",
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.81.4",
3
+ "version": "4.81.5",
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.81.4",
3
+ "version": "4.81.5",
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.81.4",
3
+ "version": "4.81.5",
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.81.4",
3
+ "version": "4.81.5",
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.81.4",
3
+ "version": "4.81.5",
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.81.4",
3
+ "version": "4.81.5",
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.81.4",
3
+ "version": "4.81.5",
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.81.4",
3
+ "version": "4.81.5",
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.81.4",
3
+ "version": "4.81.5",
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.81.4",
3
+ "version": "4.81.5",
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.81.4",
3
+ "version": "4.81.5",
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.81.4",
3
+ "version": "4.81.5",
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.81.4",
3
+ "version": "4.81.5",
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.81.4",
3
+ "version": "4.81.5",
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.81.4",
3
+ "version": "4.81.5",
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.81.4",
3
+ "version": "4.81.5",
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.81.4",
3
+ "version": "4.81.5",
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.81.4",
3
+ "version": "4.81.5",
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.81.4",
3
+ "version": "4.81.5",
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.81.4",
3
+ "version": "4.81.5",
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.81.4",
3
+ "version": "4.81.5",
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.81.4",
3
+ "version": "4.81.5",
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.81.4",
3
+ "version": "4.81.5",
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.81.4",
3
+ "version": "4.81.5",
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.81.4",
3
+ "version": "4.81.5",
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.81.4",
3
+ "version": "4.81.5",
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.81.4",
3
+ "version": "4.81.5",
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.81.4",
3
+ "version": "4.81.5",
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.81.4",
3
+ "version": "4.81.5",
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.81.4",
3
+ "version": "4.81.5",
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.81.4",
3
+ "version": "4.81.5",
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.81.4",
3
+ "version": "4.81.5",
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.81.4",
3
+ "version": "4.81.5",
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.81.4",
3
+ "version": "4.81.5",
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.81.4",
3
+ "version": "4.81.5",
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.81.4",
3
+ "version": "4.81.5",
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.81.4",
3
+ "version": "4.81.5",
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.81.4",
3
+ "version": "4.81.5",
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.81.4",
3
+ "version": "4.81.5",
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.81.4",
3
+ "version": "4.81.5",
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.81.4",
3
+ "version": "4.81.5",
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.81.4",
3
+ "version": "4.81.5",
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.81.4",
3
+ "version": "4.81.5",
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.81.4",
3
+ "version": "4.81.5",
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.81.4",
3
+ "version": "4.81.5",
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.81.4",
3
+ "version": "4.81.5",
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.81.4",
3
+ "version": "4.81.5",
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.81.4",
3
+ "version": "4.81.5",
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"
@@ -733,6 +733,7 @@ bypassed). `/lisa:setup:session-manager` writes it, detecting a multi-repo layou
733
733
  | `sessionManager.notify.provider` | no | `telegram` | Only `telegram` is implemented. |
734
734
  | `sessionManager.notify.stateDir` | **yes** | — | This project's own Telegram state dir. Never the shared default `~/.claude/channels/telegram`, because one bot per state dir is how projects stay isolated. Setup writes `~/.claude/channels/telegram-<project>`. |
735
735
  | `sessionManager.trustedAuthorIds` | no | — | Optional list of **stable tracker user ids**, as strings: the GitHub numeric user id (`gh api users/<login> --jq .id`), the Jira `accountId`, or the Linear user id. Not logins or display names: matching compares ids, so a login silently matches no one and excludes every item. When set, the manager takes only items authored by these people. |
736
+ | `sessionManager.operatorIds` | no | — | Optional, non-empty list of the people the manager works for, as tracker user ids matched against the **assignee** the same way "me" is: the GitHub **login**, the Jira `accountId`, or the Linear user id, spelled exactly as the tracker API returns it (matching is case-sensitive, so look the OPERATOR up rather than typing from memory: `gh api users/<operator-login> --jq .login` returns the canonical GitHub spelling. Do not use `gh api user`, which returns whoever the credential belongs to — the agent account, when that is the case this key exists for). Dispatch order is assigned to an operator, then to "me" (the tracker credential's identity), then unassigned; items assigned to anyone else are skipped. Set it whenever the tracker credential is not the operator's own (an agent account), or the operator's Ready items are never dispatched. |
736
737
 
737
738
  - **Non-secret only.** The bot token lives in `<stateDir>/.env` (directory 0700, file 0600),
738
739
  written by setup. A credential-named field or a token-shaped value anywhere in this block is a
@@ -1,15 +1,20 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
- * Vendor-neutral Ready-queue normalization and mine-first dispatch order.
3
+ * Vendor-neutral Ready-queue normalization and operator-first dispatch order.
4
4
  *
5
5
  * ## Why this exists
6
6
  *
7
7
  * Intake has always taken Ready work in whatever order the tracker returned
8
8
  * it, and `intake.assignee` only NARROWS a selection — it never ranks one. A
9
9
  * dispatcher that runs several workers at once needs a stable answer to "what
10
- * next?": the work already assigned to me first (somebody chose me for it),
11
- * then unassigned work, most urgent and oldest first. Work assigned to someone
12
- * else is theirs, so it is excluded, never re-ordered.
10
+ * next?": work assigned to the operator first (the person the dispatcher works
11
+ * for), then work assigned to me (the identity the tracker credential belongs
12
+ * to, often an agent account rather than the operator), then unassigned work,
13
+ * most urgent and oldest first. Work assigned to anyone else is theirs, so it
14
+ * is excluded, never re-ordered. When the credential IS the operator's, the
15
+ * first two groups coincide. With "me" as the only identity, an operator whose
16
+ * credential is an agent account had every one of their own items excluded as
17
+ * someone else's (CodySwannGT/lisa#4467).
13
18
  *
14
19
  * The three trackers disagree on every field this needs — GitHub has priority
15
20
  * LABELS, Linear a native 0..4 number where 0 means "none", Jira a priority
@@ -252,12 +257,18 @@ function shape(input) {
252
257
  * Order matters only for the reason reported: an item can fail several rules,
253
258
  * and "someone else owns it" is the most useful thing to say about it.
254
259
  * @param {Record<string, any>} item
255
- * @param {{ me: string | null, trusted: ReadonlySet<string>, humanNeededLabel: string }} context
260
+ * @param {{ me: string | null, operators: ReadonlySet<string>, trusted: ReadonlySet<string>, humanNeededLabel: string }} context
256
261
  * @returns {string | null}
257
262
  */
258
263
  function exclusionReason(item, context) {
259
264
  const assignee = idOrNull(item.assigneeId);
260
- if (assignee !== null && assignee !== context.me) return "assigned-to-other";
265
+ if (
266
+ assignee !== null &&
267
+ assignee !== context.me &&
268
+ !context.operators.has(assignee)
269
+ ) {
270
+ return "assigned-to-other";
271
+ }
261
272
  if (item.isContainer === true) return "container";
262
273
  if (
263
274
  isHumanGated({
@@ -293,20 +304,25 @@ function compareWithinGroup(left, right) {
293
304
  }
294
305
 
295
306
  /**
296
- * Order normalized Ready items for dispatch, mine first.
307
+ * Order normalized Ready items for dispatch: the operator's, then mine, then
308
+ * unassigned.
297
309
  *
298
- * Group 0 is assigned to `me`, group 1 unassigned; within a group, priority
299
- * rank ascending, then creation time ascending, then ref as a stable
300
- * tiebreak. Excluded items keep their input order. With no `me`, every
301
- * assigned item is someone else's — the safe direction, since claiming
302
- * assigned work steals it.
310
+ * Group 0 is assigned to an operator, group 1 to `me`, group 2 unassigned;
311
+ * within a group, priority rank ascending, then creation time ascending, then
312
+ * ref as a stable tiebreak. Excluded items keep their input order. With no
313
+ * `me` and no operators, every assigned item is someone else's — the safe
314
+ * direction, since claiming assigned work steals it.
315
+ *
316
+ * `operators` match the way `me` does, against the normalized assignee id:
317
+ * GitHub login, Jira accountId, Linear user id.
303
318
  * @param {readonly Record<string, any>[]} items - Normalized items
304
- * @param {{ me?: string | null, trustedAuthorIds?: readonly unknown[], humanNeededLabel?: string }} [options]
319
+ * @param {{ me?: string | null, operators?: readonly unknown[], trustedAuthorIds?: readonly unknown[], humanNeededLabel?: string }} [options]
305
320
  * @returns {{ ordered: Record<string, any>[], excluded: { ref: string, reason: string }[] }}
306
321
  */
307
322
  export function orderReadyQueue(items, options = {}) {
308
323
  const context = {
309
324
  me: idOrNull(options.me),
325
+ operators: new Set((options.operators ?? []).map(idOrNull).filter(Boolean)),
310
326
  trusted: new Set(
311
327
  (options.trustedAuthorIds ?? []).map(idOrNull).filter(Boolean)
312
328
  ),
@@ -319,7 +335,11 @@ export function orderReadyQueue(items, options = {}) {
319
335
  const eligible = judged
320
336
  .filter(one => one.reason === null)
321
337
  .map(one => one.item);
322
- const group = item => (idOrNull(item.assigneeId) === null ? 1 : 0);
338
+ const group = item => {
339
+ const assignee = idOrNull(item.assigneeId);
340
+ if (assignee === null) return 2;
341
+ return context.operators.has(assignee) ? 0 : 1;
342
+ };
323
343
 
324
344
  return {
325
345
  ordered: [...eligible].sort(