@codyswann/lisa 4.45.11 → 4.45.12
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-hooks/parity-safety-net.sh +9 -1
- package/all/copy-overwrite/scripts/lisa-work-item.mjs +67 -3
- package/dist/core/lisa-owned-hash-ledger.d.ts.map +1 -1
- package/dist/core/lisa-owned-hash-ledger.js +4 -0
- package/dist/core/lisa-owned-hash-ledger.js.map +1 -1
- package/dist/core/nightly-e2e-guard-behavior-certificate.js +2 -2
- package/dist/core/upstream-evidence-manifest.d.ts.map +1 -1
- package/dist/core/upstream-evidence-manifest.js +6 -4
- package/dist/core/upstream-evidence-manifest.js.map +1 -1
- package/dist/opencode/plugin-templates/parity-safety-net.sh +9 -1
- package/package.json +4 -4
- package/plugins/lisa/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa/hooks/parity-safety-net.sh +9 -1
- package/plugins/lisa-agy/hooks/parity-safety-net.sh +9 -1
- package/plugins/lisa-agy/plugin.json +1 -1
- 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/hooks/parity-safety-net.sh +9 -1
- package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cursor/hooks/parity-safety-net.sh +9 -1
- 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/hooks/parity-safety-net.sh +9 -1
- package/scripts/merge-generated-artifact.mjs +31 -2
|
@@ -662,11 +662,40 @@ export function runMergeGeneratedArtifact(
|
|
|
662
662
|
theirsText,
|
|
663
663
|
options.path
|
|
664
664
|
);
|
|
665
|
+
// The remedy is spelled with `git show` into a redirect, NOT `git checkout
|
|
666
|
+
// --theirs --`, and that is load-bearing rather than stylistic
|
|
667
|
+
// (CodySwannGT/lisa#3692). `parity-safety-net` refuses every `git checkout`
|
|
668
|
+
// that discards worktree state, so the shape this driver used to print was
|
|
669
|
+
// one its own sibling guard blocked: an operator following the refusal
|
|
670
|
+
// faithfully was stopped by a second control, mid-conflict, with the
|
|
671
|
+
// guard's own suggestion at the time being `git stash` — repo-global, shared
|
|
672
|
+
// by every worktree, and a race against concurrent agents' work.
|
|
673
|
+
//
|
|
674
|
+
// The replacement is strictly safer than the command it replaces rather than
|
|
675
|
+
// merely permitted: the merge has already staged both sides, so writing one
|
|
676
|
+
// of them back over the working tree cannot discard anything, which is not
|
|
677
|
+
// true of `git checkout --theirs --`.
|
|
678
|
+
//
|
|
679
|
+
// Keep every command here runnable under the shipped guards. The suite
|
|
680
|
+
// extracts these lines from live output and classifies each one, so a
|
|
681
|
+
// reworded remedy that a guard refuses fails the build rather than reaching
|
|
682
|
+
// an operator.
|
|
665
683
|
if (!result.ok) {
|
|
666
684
|
error(
|
|
667
685
|
`merge-generated-artifact: ${label} could not be merged mechanically — ${result.reason}.\n` +
|
|
668
|
-
`Both sides are preserved in the index
|
|
669
|
-
`
|
|
686
|
+
`Both sides are preserved in the index — stage 2 is ours, stage 3 is theirs — so\n` +
|
|
687
|
+
`overwriting the working-tree copy with either one discards nothing. Resolve by\n` +
|
|
688
|
+
`regenerating against the merged tree:\n` +
|
|
689
|
+
`\n` +
|
|
690
|
+
` git show ":3:${label}" > "${label}"\n` +
|
|
691
|
+
` bun run build:upstream-evidence-manifest\n` +
|
|
692
|
+
` bun run build:lisa-owned-hash-ledger\n` +
|
|
693
|
+
` git add "${label}" src/core/upstream-evidence-manifest.ts src/core/lisa-owned-hash-ledger.ts\n` +
|
|
694
|
+
`\n` +
|
|
695
|
+
`Take the other side instead with \`git show ":2:${label}"\`. The redirect truncates\n` +
|
|
696
|
+
`${label} before git writes, so a failed first command leaves it empty — re-run it,\n` +
|
|
697
|
+
`or take stage 2; the index still holds both. Do not hand-resolve a generated\n` +
|
|
698
|
+
`artifact.\n`
|
|
670
699
|
);
|
|
671
700
|
return 1;
|
|
672
701
|
}
|