@codyswann/lisa 3.41.1 → 3.43.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/all/copy-overwrite/scripts/lisa-environment-prepare.mjs +356 -0
- package/all/copy-overwrite/scripts/lisa-work-item.mjs +203 -1
- package/dist/core/lisa-owned-hash-ledger.d.ts.map +1 -1
- package/dist/core/lisa-owned-hash-ledger.js +6 -0
- package/dist/core/lisa-owned-hash-ledger.js.map +1 -1
- package/dist/core/upstream-evidence-manifest.d.ts.map +1 -1
- package/dist/core/upstream-evidence-manifest.js +12 -3
- package/dist/core/upstream-evidence-manifest.js.map +1 -1
- package/expo/create-only/.github/workflows/playwright-e2e.yml +92 -75
- package/package.json +1 -1
- package/plugins/lisa/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa/.codex-plugin/skills/lisa-drive-pr-to-merge/SKILL.md +50 -0
- package/plugins/lisa/skills/lisa-drive-pr-to-merge/SKILL.md +50 -0
- package/plugins/lisa-agy/plugin.json +1 -1
- package/plugins/lisa-agy/skills/lisa-drive-pr-to-merge/SKILL.md +50 -0
- package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk-agy/plugin.json +1 -1
- package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-copilot/skills/lisa-drive-pr-to-merge/SKILL.md +50 -0
- package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cursor/skills/lisa-drive-pr-to-merge/SKILL.md +50 -0
- package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-expo-agy/plugin.json +1 -1
- package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs-agy/plugin.json +1 -1
- package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw-agy/plugin.json +1 -1
- package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser-agy/plugin.json +1 -1
- package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-rails-agy/plugin.json +1 -1
- package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript-agy/plugin.json +1 -1
- package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki-agy/plugin.json +1 -1
- package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/src/base/skills/lisa-drive-pr-to-merge/SKILL.md +50 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.43.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": "3.
|
|
3
|
+
"version": "3.43.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": "3.
|
|
3
|
+
"version": "3.43.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": "3.
|
|
3
|
+
"version": "3.43.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": "3.
|
|
3
|
+
"version": "3.43.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"
|
|
@@ -470,6 +470,56 @@ matching Phase 4b's safe default. The full procedure is `lisa-linear-sync`
|
|
|
470
470
|
Phase 4b; when the caller's flow already runs a `pr-merged` sync for this
|
|
471
471
|
merge, confirming that sync ran satisfies this step.
|
|
472
472
|
|
|
473
|
+
### d. Complete the work item
|
|
474
|
+
|
|
475
|
+
Run this once the PR reports `MERGED` and the ancestry check has passed:
|
|
476
|
+
|
|
477
|
+
```
|
|
478
|
+
node scripts/lisa-work-item.mjs complete --ref <work-item>
|
|
479
|
+
```
|
|
480
|
+
|
|
481
|
+
resolving the script the usual three ways (installed package, host `scripts/`,
|
|
482
|
+
this repo's own tree).
|
|
483
|
+
|
|
484
|
+
**This step exists because the previous arrangement did not work, measured.**
|
|
485
|
+
The instruction to move a work item to its terminal role lived in
|
|
486
|
+
`lisa-git-submit-pr`, in a section reached *after* that skill delegates the
|
|
487
|
+
entire merge loop to this one. So the skill that observes the merge was never
|
|
488
|
+
told to close anything, and the skill that was told had already handed off. The
|
|
489
|
+
result: **27 of 27** open items carrying the claimed role in this repository had
|
|
490
|
+
a merged pull request — the claimed lane reported 27 things in flight when the
|
|
491
|
+
real number was one.
|
|
492
|
+
|
|
493
|
+
Three properties make the command safe to run unconditionally:
|
|
494
|
+
|
|
495
|
+
1. **The terminal role is RESOLVED, never assumed.** `lifecycleContract` reads
|
|
496
|
+
`github.labels.build.done` (or the Jira/Linear equivalent), which is
|
|
497
|
+
environment-aware — a repository whose target is `dev` has a different
|
|
498
|
+
terminal role than one merging to production, and a hardcoded label would
|
|
499
|
+
apply the wrong one while looking correct in the repository it was written
|
|
500
|
+
in.
|
|
501
|
+
2. **It refuses without evidence.** Completion requires a merged pull request in
|
|
502
|
+
the same repository. A command that closes whatever it is pointed at is a way
|
|
503
|
+
to make unfinished work disappear, and the closure is indistinguishable from
|
|
504
|
+
a real one afterwards. Cross-repository references do not count: a downstream
|
|
505
|
+
consumer's PR mentioning an upstream issue is not evidence the upstream issue
|
|
506
|
+
shipped.
|
|
507
|
+
3. **It is idempotent**, so re-running after a retry converges rather than
|
|
508
|
+
accumulating.
|
|
509
|
+
|
|
510
|
+
It also removes the claimed role rather than only adding the terminal one.
|
|
511
|
+
Leaving both produces exactly the drift this step exists to end — an item that
|
|
512
|
+
is closed *and* still reports as in progress.
|
|
513
|
+
|
|
514
|
+
If the command refuses, do not close by hand. A refusal means the evidence is
|
|
515
|
+
not there, and a lifecycle step performed by hand is one nothing can verify
|
|
516
|
+
happened.
|
|
517
|
+
|
|
518
|
+
**The backstop, for the ones that still slip:** `lisa-work-item.mjs sweep`
|
|
519
|
+
reports every claimed item that already has a merged pull request, and
|
|
520
|
+
`--apply` completes them. Reporting is the default deliberately — a sweep that
|
|
521
|
+
closes things as a side effect of being run is not one anyone runs twice.
|
|
522
|
+
|
|
473
523
|
## 4. Terminal states
|
|
474
524
|
|
|
475
525
|
Loop until one of:
|